Exponetial-e
-
JVM (Java Virtual Machine), GC (Garbage Collection)CS/DS & OOP 2021. 6. 22. 17:40
매번 면접 전 개념을 다시 정리하고 공부하는 두 가지입니다. 많은 설명을 참고하고 공부하고 있지만, 눈으로 직접 볼 수 없기에 여전히 제게는 꽤나 추상적으로 느껴집니다. JVM 자바 bytecode를 실행할 수 있는 주체 자바 bytecode는 플랫폼 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 bytecode를 실행 모든 자바 프로그램은 CPU나 운영 체제의 종류와 무관하게 동일하게 동작할 것을 보장 '플랫폼 독립적이다'라는 특징은 자바를 사용하는 가장 큰 이유입니다. 물론 자바도 환경 변수 설정은 해야 합니다. 근데 그 과정이 상당히 간단하고, 이렇게만 하면 어떤 OS든 간에 코드를 따로 건드릴 필요 없이 잘 작동합니다. 다들 아시겠지만, bytecode는 자바의 코드가..
-
환경의 날을 맞아.. (6월 5일)Daily 2021. 6. 5. 15:01
오랜만에 일상 관련 글을 씁니다. 최근 어떤 회사 면접에서 지원 동기에 대한 질문을 받았습니다. 이 회사에서 개발하고 있는 A, B, C 등의 기술들이 미래 지향적이며, 특히 기술 A는 이러이러한 이유 때문에 환경 보전을 위한 다양한 기여를 하고 있다고 생각했다. 저 또한 환경을 중요하게 생각하는 만큼 이러한 활동을 함께하고 싶은 마음이 커 지원하게 됐다. 특히, 요즘 많은 기업에서 ESG 경영을 선도하며 탄소 줄이기에 동참하고 있는데 이러한 행동에 공감하고 환경 문제에 대해 경감식을 갖고 나도 책임을 함께하고 싶었다. 라고 답변 했습니다. 더 길게 열심히 입을 털은 것 같긴한데, 기억나는 것은 이정도네요. ㅎㅎ 이 답변에 이어 한 면접관님이 "그린피스 활동도 하시냐?"라고 물으셨고, 저는 "그건 아니지..
-
Process Memory AreaCS/OS 2021. 5. 27. 17:52
2021.01.17 - [Other CS/OS] - Process & Thread (OS) Process & Thread (OS) 기본기의 중요성은 항상 느끼고 있는데요. 막상 제대로 알고 있는가 생각했을 때 그렇진 않은 것 같아 하나씩 정리합니다. Process 운영체제로부터 자원을 할당받은 작업의 단위 Thread 프로세스가 exponential-e.tistory.com Process는 Code, Data, Heap, Stack의 영역으로 이루어져 있다는 것을 앞선 포스팅에서 알아봤습니다. Thread에 대해서도 함께 알아봤죠. 이번에는 프로세스에 존재하는 각 영역에 대해 좀 더 자세히 알아보려 합니다. 각 영역은 프로세스의 메모리에 존재합니다. Memory 란 기억이란 의미를 가지죠. 마찬가지로 컴..
-
EC2 :: Elastic Compute CloudBack-end Developer/Cloud 2021. 5. 3. 18:13
어떤 서버를 개발 했을 때, 지속적인 요청/응답을 유지시키기 위해선, 개발한 App을 실행한 채 두어야합니다. 근데 본인 컴퓨터를 계속 켜두고 유지하는 것은 힘들겠죠..ㅠ 백그라운드 실행을 하더라도 실행중인 App으로 인한 성능 저하, 전깃세 문제 등등.. 이를 위해서 계속 켜둘 수 있는 가상 서버 공간을 제공하는 인프라가 EC2 입니다. Elastic Compute Cloud AWS의 중앙부를 이루며, 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행 가능 사용자가 AMI(Amazon Machine Image)로 부팅하여 아마존이 "인스턴스"라 부르는 가상 머신을, 원하는 소프트웨어를 포함하여 구성할 수 있게 하는 웹 서비스를 제공 사용 시간 비례 지불 설명에 써 두었듯 ..
-
VPC :: Virtual Private CloudBack-end Developer/Cloud 2021. 4. 9. 17:29
VPC란 AWS 계정 내에 구성되는 사설 IP 기반 가상 네트워크 서비스입니다. VPC에 우리가 사용할 인스턴스 등 다양한 IT 서비스 및 인프라를 구성할 수 있습니다. 단, Cloud Front, S3 등은 VPC 외부에 배치됩니다. VPC VPC는 AWS 클라우드의 논리적으로 분리된 섹션을 *프로비저닝 하여 사용자에게 가상 프라이빗 클라우드를 제공하는 상용 클라우드 컴퓨팅 서비스 VPC의 특징 Subnet을 통해 서비스 계층에 따라 분리하고 외부 통신 및 내부 통신이 가능 Security Group을 이용해 출입하는 트래픽을 선택적으로 제어 외부(인터넷 / on-premise) 연동 및 방화벽과 같은 접근 제어 설정도 가능 하나의 Region 내에서 여러 AZ에 걸쳐 사용 가능 논리적 개념이기 때문에..
-
Spring Web MVCBack-end Developer/Server, Spring 2021. 4. 7. 18:46
MVC는 다들 아실 텐데... Spring MVC는 뭘까요? MVC 패턴을 모르신다면, 검색해서 간략히 알아보시길 바랍니다 단순히 생각해보면 Spring 에서 MVC 패턴 구성을 위해 지원하는 기능들이라 볼 수 있겠습니다. Spring MVC는 Dispatcher Servlet이 중심이 되어 구성됩니다. 두 용어의 정의를 알아보고 실제 구성은 어떻게 되고 어떻게 동작하는지 알아보도록 하죠. Spring MVC 'Model-View-Controller'의 약자로 기본 시스템 모듈을 MVC로 나누어 구현 및 처리 Dispatcher Servlet을 중심으로 구성되어 있으며 사용자로부터 들어오는 요청을 핸들러에 매핑하고, 뷰로 반환하는 등의 작업을 지원 Dispatcher Servlet Servlet Cont..
-
Cloud ComputingBack-end Developer/Cloud 2021. 4. 7. 14:13
Cloud Computing 그중에서도 제가 많이 써본 AWS에 관련한 내용을 정리해보려 합니다. 종류는.. AWS, GCP, NCP 등 많은데, 그나마 잘 아는 것으로 선택했습니다. ㅎㅎ 이 글에선 여기저기서 '클라우드 클라우드..' 하는데 클라우드가 도대체 무엇인지부터 알아보겠습니다. Cloud Computing 클라우드 컴퓨팅은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것을 말한다. 이해를 위해 일상생활에서 비교를 통해 설명을 드리겠습니다. 코로나 때문에 여행을 못가니 친구들과 계곡으로 여행을 가는 상상을 해보겠습니다. 계곡에 가기 위해 필요한 것들을 구매할 수 있겠지만,..
-
MSABack-end Developer/Server, Spring 2021. 3. 24. 14:56
MSA...MS.... Micro soft..? 이번 포스팅은 MSA 관련 개념과 왜 필요한지 알아보려 합니다. MSA (Microservice Architecture) 단일 응용 프로그램을 나누어 작은 서비스의 조합으로 구축하는 방법 비즈니스 도메인을 중심으로 모델링된 소규모 자율 서비스 모음으로서 애플리케이션을 구성하는 아키텍처 스타일 어떤 의미인지 완벽하게 와닿진 않습니다만, 'Micro'한 'Service'를 의도한다는 것 쯤은 알 수 있습니다. 왜 MicroService가 등장하게 되었는지, 기존엔 어떤 방식이었는지 하나씩 알아 보겠습니다. 기존 서비스는 MonolithicService 입니다. Monolithic의 사전적 정의는 아래와 같습니다. 1. 하나의 암석으로 된 2. 단일체의, 한 덩..