목록전체 글 (103)
juuuding
*람다식은 객체 지향 언어인 자바에서 함수형 프로그래밍 방식을 쓸 수 있게 해주는 문법 요소다. 람다식은 최근 자바 API에서 제공하는 여러 메서드의 매개변수로 자주 사용되는 중이니 꼭 익히는 것이 좋다. 람다식 람다식은 함수형 프로그래밍 기법을 지원하는 자바의 문법 요소다. 람다식을 알기에 앞서 함수와 메서드의 정의를 정확히 알아두고 가는 것이 좋다. 함수: 기능 또는 동작을 정의한 일련의 명령 모음 void abc() { //기능 및 동작 } 메서드: 클래스 또는 인터페이스 내에 정의된 함수 class A { void abc() { //기능 및 동작 } } 객체 지향형 프로그래밍에서 함수는 항상 클래스 내부에 메서드로 존재해야 하고, 메서드를 사용하기 위해서는 클래스의 객체를 먼저 생성한 후에 메서드..
문제 [문제 링크] https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net [문제] 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. [입력] 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. [출력] 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. [예제 입출력] [예제 입력 1 복사] 2143 [예제 출력 1 복사] 4321 [예제 입력 2 복사] 999998999 [예제 출력 2 복사] 999999998 [예제 입력 3 복사] 6..

* 스프링 빈(Spring Bean)이란? - Spring IOC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부른다. IOC(Inversion Of Control)의 정의와 특징은 다음과 같다. [IOC의 정의와 특징] 1) 처음 배우는 자바 프로그램에서는 각 객체들이 프로그램의 흐름을 정하고 각 객체를 직접 생성하고 조작하는 작업(객체를 직접 생성하여 메소드 호출)을 했다. 즉, 모든 작업을 사용자가 제어하는 구조였다. 2) 하지만 IOC가 적용된 경우, 객체의 생성을 특별한 관리 위임 주체에 맡긴다. 이 경우 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 된다. 즉, 사용자의 제어권을 다른 주체에게 넘기는 것을 IOC(제어의 역전)이라고 한다. 컴포넌트..

비즈니스 요구사항 - 데이터: 회원 ID, 이름 - 기능: 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) [일반 웹 web application 계층 구조] - 컨트롤러: 웹 MVC의 컨트롤러 구현 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: database에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등 주로 DB에 저장하고 관리됨 * 도메인의 사전적 정의는 "A domain is a field of study that defines a set of common requirements, terminology, and functionality for any software program constructe..

정적 컨텐츠 - 파일에 프로그래밍 같이 어떤 것을 하는 거 없이 그대로 넘겨주는 것 MVC와 템플릿 엔진 MVC: Model View Controller Model, Controller -> 내부 처리(서버 뒷단) 집중, business logic View -> 화면을 그리는데 역량 집중 [Controller] @Controller public class HelloController { @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model){ model.addAttribute("name", name); return "hello-template"; } } - @RequestParam은 par..
Data communications traffic volume * 5 계층(5 Layers) L1 : pyhsical layer L2: Data link layer L3: Network layer L4: Transport layer L5: Application layer L1은 우리가 손댈 수 X 1. Technological Advancement - Driving Force [네트워크 수송의 종류] (1) Bandwidth or latency-sensitive application -real-time entertainment: 인터넷 전화 (VoIP), 비디오 회의, 온라인 게임, real-time streaming -Web browsing: 상호적 온라인 활동, social network (2) lo..

1. 구조체란 무엇인가? 1. 구조체의 정의 '구조체'란 하나 이상의 변수(포인터 변수, 배열 포함)를 묶어 새로운 자료형을 정의하는 도구이다. 독립된 정보가 아닌 함께 있어야 의미를 지니는 변수들을 묶기 위해 등장한 것이 구조체이며, 다음과 같이 구조체를 정의함으로써 여러 변수를 하나로 묶을 수 있게 된다. struct person { char name[20]; char phoneNum[20]; int age; }; 이 때 person이라는 이름이 int나 char과 같은 자료형의 이름이 되는 것이다. 이는 기본 자료형은 아니며 기본 자료형 변수를 묶어서 새로운 자료형을 만든 것이다. 이를 가리켜 '사용자 정의 자료형'이라 한다. 2. 구조체 변수의 선언과 접근 위에서 person이라는 이름의 구조체를..
문제 [문제 링크] https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net [문제] 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 ..