Time does not change us. It just unfolds us.

분류 전체보기 131

[IPC]Semaphore 함수

세마포어 관련 함수 기능 함수원형 세마포어 생성 int semget(key_t key, int nsems, int semflg); 세마포어 제어 int semctl(int semid, int semnum, int cmd, ...); 세마포어 연산 int semop(int semid, struct sembuf *sops, size_t nsops); 세마포어 생성: semget(2) 세마포어를 사용하려면 세마포어 식별자를 생성해야 합니다. 세마포어 식별자는 semget 함수를 사용해 생성한다. #include #include #include int semget(key_t key, int nsems, int semflg); key: IPC_PRIVATE 또는 ftok 함수로 생성한 키 nsems: 생성할 세마..

Etc 2021.10.22

[Web]WAS

WAS란 Web Application Server약자로 웹서버와 웹컨테이너가 결합된 개념이다. 일종의 미들웨어로, 클라이언트의 요청 중 보통 웹 애플리케이션이 동작하도록 지원하는 목적을 가진다. 즉, 동적 페이지 제공. WAS는 Servlet(HttpServlet을 상속받은 클래스)을 사용하여 동적인 페이지를 생성할 수 있다. Web Container 유무로 WEB 서버와 WAS를 구분할 수 있다. 또 다른 차이로는 WEB 서버는 HTML 문서와 같은 정적 컨텐츠를 처리하는 것이고 (HTTP를 통해 읽힐 수 있는 문서), (정적 데이터) WAS는 asp,php,jsp 등 개발 언어를 읽고 처리하여 동적 컨텐츠, 웹 응용 프로그램 서비스를 처리한다. (동적 데이터) 따라서 DB와 연결되어 데이터를 주고 받..

Web/Else 2021.10.22

[Web]RESTful

REST란? HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미 REST는 Representational State Transfer라는 용어의 약자로서 웹의 장점을 최대한 활용할 수 있는 아키텍처 최근의 서버 프로그램은 다양한 브라우저와 안드로이폰, 아이폰과 같은 모바일 디바이스에서도 통신을 할 수 있어야 한다. REST 아키텍처는 Hypermedia API의 기본을 충실히 지키면서 범용성을 보장한다. REST의 특징 1. Uniform (유니폼 인터페이스) Uniform Interface는 URI로 지정한 리..

Web/Else 2021.10.22

[Web]MSA

MSA란 마이크로 서비스 아키텍처(Micro Service Architecture)의 약자로 단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법이다. MSA는 API를 통해서만 상호작용할 수 있다. 즉, 마이크로 서비스는 서비스의 end-point(접근점)을 API 형태로 외부에 노출하고, 실질적인 세부 사항은 모두 추상화한다. 내부의 구현 로직, 아키텍처와 프로그래밍 언어, 데이터베이스, 품질 유지 체계와 같은 기술적인 사항들은 서비스 API에 의해 철저하게 가려진다. vs MSA 장점 기존 monolithic architecture과 비교해보면 빌드/테스트 시간이 길다. 선택적 확장이 불가능 (전체 확장필요) 하나의 서비스가 모든 서비스에 영향 한 Framework와 언어에..

Web/Else 2021.10.22

[Web]Spring Boot 관련 개념 참고 링크

이번 프로젝트를 진행하면서 사용한 기능들의 기본 개념이해를 위해 참고한 링크들이다. 구동 시점에 특정 코드 실행 https://www.daleseo.com/spring-boot-runners/ ApplicaitionRunner : SpringBootApplication이 포함된 프로그램에서 특정 Bean을 Application 실행 후 실행하도록 하는 인터페이스 https://jinseongsoft.tistory.com/238 스프링 어플리케이션 시작 종료 시 https://zepinos.tistory.com/41 [Spring Boot] 애플리케이션 실행 후 특정 코드를 수행하는 방법 (Application Runner 사용법) 들어가며 필요에 따라 스프링부트 애플리케이션이 처음 실행되고 난 시점에 특..

Web/Else 2021.10.22

[Web]ResponseEntity

HTTP(HyperText Transfer) 프로토콜 구조 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 TCP/IP 기반 protocol(통신 규약). 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 "통신 형식" 혹은 "통신 구조" Stateless 요청/응답 (request/response) 구조 start line / headers / body 로 구성 headers : general / request / entity header 로 구성 https://velog.io/@teddybearjung/HTTP-%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%9A%94%EC%86%8C Web에서 HTTP 프로토콜..

Web/Else 2021.10.22

[Web]Feign Client

이번 프로젝트에서 FeignClient를 이용하여 개발해서 개념을 이해하고자 공부해보았다. 특히 공통 헤더를 추가하기 위해 커스터마이즈한 Configuration을 설정하는 부분에 대해 정리하였다. Feign Client란? 1) Feign Client는 web service 클라이언트를 보다 쉽게 작성할 수 있도록 도와줌. 2) interface를 작성하고 annotation을 붙여주면 세부적인 내용 없이 사용할 수 있기 때문에 코드 복잡도가 낮아짐. 3) Netflix 에서 만들어진 Http client binder 4) spring-cloud-starter-openfeign으로 스프링 라이브러리에서 사용할 수 있음. feign client 라이브러리 넣기 org.springframework.clou..

Web/Front 2021.10.22

[BFS]04-백준 2178 미로탐색

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include using namespace std; int N, M;//N :행 개수, M : 열 개수 int arr[101][101];//칸 정보 bool visit[101][101] = { 0, };//방문 여부 int cnt = 1;//최소의 칸 수 int xc[4] = { -1,1,0,0 }; int yc[4] = { 0,0,-1,1 }; bool MNcheck = false;//도착 시 종료를 위한 b..

Coding Test 2019.10.02

[BFS]03-백준 1012 유기농 배추

**5백준1012번 유기농배추** https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. ( www.acmicpc.net 정답 코딩 #include #include using namespace std; int M,N;//..

Coding Test 2019.09.28

[BFS]02-백준 1697 숨바꼭질

**5백준1697번 숨바꼭질 ** https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 www.acmicpc.net 576번 대표적인 정답 코딩 #include #include using namespace std; int..

Coding Test 2019.09.24

[BFS]01-백준 7576 토마토

** 백준 7576번 대표적인 BFS 기초 문제 ** https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토들의 정보가 주어진다. 즉, 둘째 줄부터 N개의 줄에는 상자에 담긴 토마토의 정보가 주어진다. 하나의 줄에는 상자 가로줄에 들어있는 토마토의 상태가 M개의 정수로 주어진다. 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마 www.acmicpc.net 정답 코딩 #include #include using namespace std; in..

Coding Test 2019.09.24