전체 글(101)
-
[Docker] Docker 정리 (3) - 이미지로 컨테이너 만들기
도커 이미지는 응용프로그램을 실행하는 데 필요한 모든것을 포함 필요한 것 컨테이너 시작 시 실행되는 명령어 run kakaotalk 파일 스냅샷 컨테이너에서 카톡을 실행하고 싶다면 카카오톡 파일(카카오톡 실행하는 데 필요한 파일) 스냅샷 이미지로 컨테이너 만드는 순서 Docker클라이언트에 docker run 입력해줍니다. 도커 이미지에 있는 파일 스냅샷을 컨테이너 하드디스크에 옮겨줍니다. 이미지에서 가지고 있는 명령어 (컨테이너가 실행될 때 사용될 명령어)를 이용해 kakaotalk을 실행 시켜줌 이미지의 스냅샷과 명령어(run kakaotalk)으로 컨테이너를 만들고 컨테이너 안에서 프로그램(kakaotalk)을 실행합니다 컨테이너를 '격리' 시킬 수 있는 이유는 리눅스의 CGroup과 네임스페이스를..
2023.04.08 -
[Docker] Docker 정리 (2) - Docker와 기존 가상화 기술 차이
도커와 기존 가상화 기술과 차이를 통해 컨테이너 이해 가상화 기술 나오기 전 한 대의 서버를 하나의 용도로만 사용 남는 서버 공간은 그대로 방치됨 하나의 서버에 하나의 OS, 하나의 프로그램만을 운영... 안정적이지만 But 비효율적 하이퍼 바이저 기반의 '가상화' 출현 논리적으로 공간을 분할해 '가상머신(VM)'이라는 독립적인 가상 환경의 서버 이용 가능 하이퍼 바이저는 호스트시스템(윈도우, 리눅스 등등이 될 수 있죠)에서 여러 개의 게스트OS를 구동할 수 있게 해주는 개꿀 소프트웨어입니다. 그리고 하드웨어를 가상화하며 하드웨어와 각 VM을 모니터링하는 중간 관리자입니다. 하이퍼바이저와 도커 하이퍼바이저와 도커는 가상화 기술을 이용해서 컴퓨터 시스템의 자원을 효율적으로 사용할 수 있도록 도와주는 기술입..
2023.04.08 -
스프링과 객체지향, SOLID
스프링 프레임워크 핵심 기술 스프링 DI 컨테이너, AOP, 이벤트 , 등 웹 기술 스프링 mvc , 스프링 webflux 데이터 접근 기술 트랜잭션 처리, JDBC, ORM지원, XML지원 기술 통합 캐시 , 이메일, 원격접근, 스케줄링 테스트 스프링 기반 테스트 지원 언어 자바, 코틀린, 그루비 스프링 부트 프레임워크 최근 스프링부트를 사용해 스프링 프레임워크의 기술들을 편리하게 사용. 최근엔 기본으로 많이 사용한다 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 tomcat같은 웹서버를 내장함. 그래서 별도 웹 서버를 설치할 필요 없다. 손쉬운 빌드 구성을 위한 starter 종속성 제공 스프링과 3rd parth(외부) 라이브러리 자동 구성 관례에 의한 간결한 설정 '스프링'..
2023.03.28 -
Go를 시작하려는 이유 및 Golang Mac 설치
node.js와 Javascript로 개발을 하다 프롭테크 스타트업에서 빠르게 성장하며 재밌게 개발을 하다가 스타트업 + 부동산 도메인으로 갑작스럽게 회사 대부분의 인력이 정리되면서 1월부터 쉬어가는 시간을 가지게되었습니다! (타의적인 ㅜ) 기술스택에 대한 고민은 항상 커리어를 시작하면서 일을 하면서도 있었지만, 이런 저런 핑계로 흘러가는 데로 하고 싶은 공부를 하면서 진행하고 있었던 것 같았습니다... 쉬면서 Flutter , Spring등 2달동안 진짜 놀면서? 해보고 싶었던 기술이나 프레임워크 등을 다 써보면서 즐거웠는데 실제 시장에서 Javascript기반으로 개발을 하던 제가 spring백엔드로 가는 건 좀 쉽지 않겠다 느꼈습니다. 백엔드 개발자라 하지만 비지니스 로직을 작성하고 코드에 집중하면..
2023.02.28 -
REST API 와 URI 설계
REST (Representational State Transfer : 자원의 상태 전달) - 네트워크의 아키텍처 특징 1. client, server client와 server가 독립적으로 분리 되어 있어야 한다. 2. Stateless 요청에 대해서 client의 상태를 서버에 저장하지 않는다. 3. Cache client는 서버의 응답(response)를 Cache(임시저장) 할 수 있어야 한다. client가 Cache를 통해 response를 재사용! 할 수 있어야 하고, 이를 통해 서버의 부하(오버헤드)를 낮춘다. (서버에서도 캐싱해서 부하를 낮추기도한다. ex) redis cache같은?) 4. 계층화된 시스템 ( Layered System) server와 client 사이에 방화벽, Gat..
2023.02.11 -
[kotlin] null-safety / 예외처리
kotlin에서의 null 안정성을 정리 널 안정성 (null-safety) 1. null참조의 위험성 프로그래밍 언어에서 가장 많이 발생하는 예외 유형은 NullPointerException - 줄여서 NPE null을 발명한 토니호어는 1965년 null을 발명 후 수십년간 수십억 달러의 시스템 오류 및 피해가 발생해 null을 개발한 게 1조 짜리 실수였다고 고백함... ㅜㅜ >> 자바는 NPE을 줄이기 위해 Optional을 지원 >> 자바의 Optional은 값을 래핑하기 위해 때문에 객체 생성에 따른 오버헤드(미미하지만) 발생하고, 컴파일 단계에서 null가능성을 검사하지 않음 ㅜ >> 코틀린을 비롯한 최신 언어에선 null가능성을 컴파일러가 감지해서 NPE가능성을 줄일 수 있음! fun ge..
2023.02.02