Programming (19) 썸네일형 리스트형 [Spring] 스프링 전체 Flow Diagram 전체 Flow를 아니?선임님과의 점심식사 후 산책 중이였다. 현재 나는 회사에서 angular로 프로젝트를 진행하고 있는데 선임님께서 불쑥 질문을 던지셨다.angular의 전체 flow를 알고 있니?사실 angular로 개발을 하고 있지만 각잡고 공부한 상태로 들어가지 않았거니와 기존 소스를 차용해서 개발하는데에도 문제가 없었기에 전체 flow를 생각해보지는 않았다. 문득 내가 주로 사용하고 있는 Spring Framework에 대해서 전체 Flow를 설명할 수 있나?라는 생각이 스쳐지나갔다. 한 번 정리를 해두면 좋을 것 같다는 생각이 들어 해당 게시글을 포스팅한다. (angular 얘기는 정말 뜬금없지만..) 위 두 안은 내용이 동일하다.1. Filter2. Security3. Spring M.. [Server] 빌드와 배포 컴파일된 코드를 실행가능한 형태로 만들어서 사용자가 웹 어플리케이션을 이용할 수 있게한다. 어느날 비개발직군인데 개발자와 일을 같이 하는 친구가 저에게 물어보았는데요'도대체 빌드랑 배포가 뭐야?'저는 이에 즉시 대답할 수가 없었습니다. 어렴풋이 추상적으로는 알고 있지만 설명하려니 정확하게는 모르는 상태였습니다.이번 포스팅 작성을 통해 좀 더 정확하게 알고자합니다. 1. 빌드.java 파일에 작성된 소스들은 사람이 작성한, 사람이 이해할 수 있게 작성된 코드입니다.당연히 컴퓨터는 이런 형태의 소스 코드들을 이해할 수가 없습니다.그래서 컴퓨터가 이해할 수 있는 언어인 이진 바이너리코드로 번역하는 과정(.class)을 컴파일 이라고 합니다. 컴파일된 파일(.class)들을 하나의 압축 파일로 패키징하고 이.. [Server] Docker란? Docker는 Host와의 격리를 통해 독립된 개발 환경을 제공한다.도커는 컨테이너를 기반으로 한 가상화 도구입니다. 그렇다면 가상화는 무엇이고 왜 필요한 것일까요?1. 가상화성능이 좋은 서버에 쇼핑몰 사이트 서비스를 구축해 놓은 상태라고 가정해봅시다.이 서버에 반려동물 관리 플랫폼 서비스를 구축하려고 하니,기존의 쇼핑몰 사이트를 위해 구축한 환경과 맞지 않는 상황을 맞닥뜨렸는데요. 이럴 경우 반려동물 관리 플랫폼을 위한 서버를 추가 비용을 들여 새로 사는 방법이 최선일까요? 이미 성능이 좋은 서버가 있는데도 불구하고 활용하지 못하는 것은 자원 낭비가 되겠죠! 이 때, 서버의 성능을 나눠서 사용하면기존의 문제가 해결되지 않을까해서 등장한게 바로 가상화 입니다. 이렇게 하나의 서버를 가상화를 통해 여러대.. [OS/운영체제] Synchronization(동기화) 2024.09.16 - [Programming/OS[운영체제]] - [OS/운영체제] 공유자원 경쟁상태 (Synchronization 사전 지식) [OS/운영체제] 공유자원 경쟁상태 (Synchronization 사전 지식)동기화를 통해 여러 프로세스나 쓰레드가 동시에 같은 자원에 접근할 때 발생할 수 있는 오류나 비정상적인 결과를 방지할 수 있습니다.Synchronization 포스팅에 앞선 선수 지식에 대한 포스팅입니tete-all.tistory.com공유자원 경쟁 상태에 대해서 아직 선수가 되어있지 않으신 분들은 이 글로! 1. Mutex(Mutual exclusion) - 상호배제책 : 임계 영역(공유 자원)크루 : 프로세스 또는 쓰레드사서 : mutex lock 이라고 가정해보고 진행하겠습니다... [OS/운영체제] 공유자원 경쟁상태 (Synchronization 사전 지식) 동기화를 통해 여러 프로세스나 쓰레드가 동시에 같은 자원에 접근할 때 발생할 수 있는 오류나 비정상적인 결과를 방지할 수 있습니다.Synchronization 포스팅에 앞선 선수 지식에 대한 포스팅입니다.1. 멀티 태스킹 방식프로세스는 CPU의 자원이 있어야만 일을 수행할 수 있습니다.멀티 태스킹 환경에서 프로세스1과 프로세스2는 Context Switch를 통해 CPU 자원을 번갈아가며 얻어가면서 각각의 코드 실행과 대기를 반복하게 됩니다.2. 멀티 프로세서 방식멀티 프로세서 환경에서하나의 프로세스에는 하나의 CPU 자원이 할당되게 되어 코드를 동시에 실행하게 됩니다.3. 멀티 쓰레딩 방식 프로세스는 메모리 내에서 작업하는 하나의 작은 단위인데요하나의 프로세스 내에서 여러개의 쓰레드(실행 흐름)로 나뉩.. [Server] CORS SOP 정책을 위반해도 CORS 정책을 따르면 다른 출처의 리소스라도 허용한다. 1. SOP(Same Origin Policy)SOP는 직역하면 동일 출처 정책 입니다. 도통 무슨 소리인지 감을 잡을 수 없죠 이 의미를 알려면 먼저 Origin(출처)에 대해서 알아보아야합니다. Origin이란 URL 구성 요소에서 Scheme + Hostname + Port 부분을 뜻합니다.SOP란 이런 Origin의 동일성과 관련된 정책이라는 의미를 내포하고 있겠죠!즉, 동일하지 않은 출처의 자원을 허용하지 않는 정책입니다. 브라우저는 최초의 정적 파일을 렌더링한 Web Server(http:daon-world.com)를 Origin으로 정의합니다.다음 요청에서 브라우저가 API Server(Origin : http:.. [Server] WebServer와 Web Application Server (WAS) WebServer는 정적 콘텐츠(HTML, JavaScript, CSS 등)을 전달하고,Web Application Server는 동적 컨텐츠를 전달한다.1. WebServer의 역할웹서버는 브라우저(클라이언트)의 요청을 받고 응답하는 역할을 합니다. 웹 서버가 응답할 수 있는 것은 HTML, JavaScript, Css 등과 같은 정적 콘테츠 입니다.웹 서버는 브라우저로부터 요청(URL)이 오면 요청된 경로를 찾아가 해당 파일을 반환하게 됩니다. 이 때 요청과 응답은 HTTP 프로토콜 형식으로 주고 받습니다.HTTP 프로토콜은 클라이언트와 서버간의 통신을 위한 양식을 말합니다. 서로 다른 양식을 사용한다면 서로가 보낸 정보의 의도를 서로가 알 수 가 없겠지요. 2. Web Application Ser.. [Spring]@Autowired - 의존 자동 주입 필드에 @Autowired 어노테이션이 붙어 있으면 스프링이 해당 타입의 빈 객체를 찾아서 필드에 할당한다.앞선 글에서 설정 클래스 파일을 이용해서 빈 객체를 생성하고 주입하는 방법을 알아봤습니다.https://tete-all.tistory.com/3 [Spring]스프링 DI(Dependency Injection) - 의존 주입'의존하다'라는 표현은 한 클래스가 다른 클래스의 메서드를 실행하는 것을 의미합니다.1. '의존하다' 의 의미public class MemberRegistService { private MemberDao memberDao = new MemberDao(); public void regist(RegisterRetete-all.tistory.com 이번 글에서는 의존 대상을 설정에서 .. 이전 1 2 3 다음