목록분류 전체보기 (104)
juuuding
1. 구조체의 정의와 typedef 선언 1. typedef 선언 typedef 선언은 기존에 존재하는 자료혀으이 이름에 새 이름을 부여하는 것을 목적으로 하는 선언이다. typedef int INT // int의 또 다른 이름 INT 부여 즉, 자료형의 이름 int에 INT라는 이름을 추가로 붙여준다는 의미다. 따라서 위의 선언 이후로는 다음 형태로 int형 변수를 선언할 수 있다. INT num; //int num; 과 동일한 선언 그리고 typedef로 정의되는 자료형의 이름은 대문자로 시작하는 것이 관례이다. 2. 구조체의 정의와 typedef 선언 대부분 구조체 이름을 대상으로 struct 선언의 생략을 위한 typedef 선언이 등장한다. typedef struct point { int xpo..
*람다식은 객체 지향 언어인 자바에서 함수형 프로그래밍 방식을 쓸 수 있게 해주는 문법 요소다. 람다식은 최근 자바 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이라는 이름의 구조체를..