반응형
안녕하세요. 오늘은 Spring이 MVC 일까? 에 대해 다루어보고 저의 생각을 녹여볼까 합니다. **주의 : 본 포스팅은 견해가 포함되어 있습니다. ** 물론 MVC 패턴이 맞습니다. 하지만 의문이 드는 점이 있어 해당 포스팅을 준비하게 되었으니 여러분들의 의견도 적극적으로 댓글 남겨주시면 감사하겠습니다. 여러분들이 사용하고 있는 Spring은 어떤 패턴을 가지고 있나요?? 스크롤을 내리기 전에 속으로 대답해 주세요. 아마 대부분 MVC 패턴이라고 말씀해 주셨을 거라 생각합니다. 그럼 여러분이 알고 있는 MVC 모델에 대해 말씀해 보시고 M, V, C 가 어떤 역할을 하는지에 대해 설명해 보세요!!! MVC 패턴이란 아래와 같이 설명됩니다. Model, View, Controller로 이루어진..
안녕하세요. 많은 분들이 프로젝트를 진행하며 SQL 관계형 데이터 베이스와 NoSQL 사용에 있어 다양한 고민이 있을 것이라 생각합니다. 여러분들은 언제 RDB를 선택하고 언제 NoSQL를 선택하시나요?? 단순히 조회가 많다면 NoSQL를 사용해야 한다고 생각하시는 분들도 있으리라 생각합니다. 지금부터 NoSQL과 SQL의 차이를 알아보고 언제 어떤 것을 선택하는 것이 더욱 적합한지 최적화 방식은 없는 것인지에 대해 알아보겠습니다. 오늘은 두 개의 데이터 베이스 중 관계형 데이터 베이스에 대해서 자세히 알아보도록 하겠습니다. 먼저 DBMS에 대해 알아볼까요? DBMS는 DB를 사용하기 위해 사용되는 소프트웨어입니다.대표적으로 MySQL, Oracle 등이 존재합니다...
안녕하세요. 혹시 여러분들은 env에 대해 자세히 알고 계신가요? 웹 개발자 분들이라면 프런트엔드 프레임워크에서 보신 분들도 있을 것이고 서버를 개발해 보셨다면 Dockerfile을 작성하시거나 nginx에서 설정할 때 그리고 그 외 등등에서 보신 분들이 다수 존재하실 거라고 생각합니다. 웹 개발자 관점에서 다음과 같은 고민을 하시다가 해당 포스팅에 들어오셨으리라 생각합니다. (다른 관점에서도 작성되었으니 끝가지 봐주시면 감사하겠습니다.) 과연, FE 프레임워크에서 작성하는 env에 API_KEY를 저장해도 되는 걸까요? 정답부터 말씀드리면 "안된다" 입니다. 해결 방안에 대해서는 아래에서 자세하게 다루어 보도록 하겠습니다. 그전에 env 파일이 무엇을 하는 파일인지 알아볼까요? env는 key-valu..
안녕하세요. 여러분은 Docker의 -p 옵션에 대해 얼마나 잘 알고 계신가요?? 아래와 같이 docker run -p8080:8081을 하게 된다면 어떤 일이 이루어지는지 알고 계신 만큼 속으로 답변해 보세요. 혹시 -p 옵셥이 port의 옵셥으로 알고 계시진 않나요?? 잘 알고 계시겠지만 사실, port가 아닌 Pulish의 약자이며 --publish의 약어로-p를 사용하고 있는 것입니다. Docker Publish란 Docker 이미지를 실행시킬 때 함께 사용할 수 있는 옵션으로 아래와 같이 사용할 수 있습니다. docker run -p 8080:8081 exampleImage 해당 명령어를 세세하게 뜯어보면 애플리케이션에서 실행 중인 8081 포트와 호스트의 8080 포트를 연결해 주겠다는 의미입..
안녕하세요. 오늘은 동시성과 병렬성에 대해 알아보도록 하겠습니다. 동시성 병렬성 혹시 구분이 가능하신가요??? 그럼 동기와 비동기, 동시성과 병렬성을 명확하게 구분하실 수 있으신가요?? 속으로 충분히 생각하고 스크롤을 내려보세요. 동시성과 병렬성을 이야기를 하기 이전에 싱글 코어와 멀티 코어에 대한 이해가 필요합니다. 싱글 코어와 멀티 코어는 아래의 이미지처럼 동작하게 되는데요. 좀 더 자세히 알아볼까요? 쉽게 병렬성의 경우 2개 이상의 Core에서 동시에 작업을 처리하는 것을 의미합니다. 아래 보이는 자료 처럼 2개의 코어가 각각의 스레드를 배치하여 안정적으로 처리가 가능한 모습을 확인할 수 있습니다. 실제로 2개의 작업을 동시에 처리할 수 있게 되는 것이죠. (병렬적으로 처리가 가능) 그럼 동시성에 ..
안녕세요. 오늘은 단일, 다중 스레드에 대해 알아보도록 하겠습니다. 프로그래밍을 하거나, 운영체제 학습하다 보면 자주 들었을 스레드 알고 있는 만큼 충분히 고민해 보시고 스스로 답해보세요. 아마 아래와 같은 키워드 "다중 스레드", "단일 스레드" , "동시성", "병령성" 등 명확하게 구분이 가능하신가요? 하나하나 자세히 알아보도록 하겠습니다. 먼저 스레드가 무엇인지에 대해 알아볼 필요가 있습니다. 스레드란 "실행 중인 프로그램의 작업 단위"를 의미합니다. 각각의 스레드는 독립적으로 실행될 수 있으며, 하나의 프로세스 내에서 여러 스레드가 동시에 작업을 수행할 수 있습니다. 스레드는 프로세스 내의 리소스를 공유하며, 스레드 간의 통신이나 데이터 공유가 간단하는 특징을 가지고 있습니다. 스레드의 동작 방..