분류 전체보기

    객체지향의 특징

    이거 진짜 무조건 머리에 박고 있어야됨 추상화: 클래스들의 공통적인 특성을 따로 정의해둔 것예를 들어, Rabbit, Bear, Dog 클래스에 모두 run() 메소드를 따로 쓰지 말고, Animal() 클래스를 따로 정의해서 공통되는 특성을 미리 정의해두고, 각 클래스에서 쓸 때는 오버로딩 오버라이딩 해서 쓰는 거다.추상클래스, 인터페이스로 구현 가능. 추상 클래스 vs 인터페이스공통 특징- 그안에 정의된 모든 추상메서드를 구현해야됨!(다만 추상메서드가 추상메서드를 상속하면 구현안해도됨) 추상클래스 특징- 일부 구현을 포함 가능!!!! -> 공통 기능 구현 가능- 단일 상속만 가능!! 인터페이스 특징- 보통 동작을 선언만 해놓은 청사진으로만 사용 원래 메소드 구현자체가 안됐는데 자바8 이후부터는 def..

    스프링 프레임워크와 스프링 부트 개념

    스프링 프레임워크핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트 등웹 기술: 스프링 MVC, 스프링 WebFlux데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원기술 통합: 캐시, 이메일, 원격접근, 스케줄링테스트: 스프링 기반 테스트언어: 코틀린, 그루비 등스프링 부트: 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용단독으로 실행가능한 스프링 애플리케이션 생성Tomcat같은 웹 서버를 내장해서, 별도의 웹서버를 설치할 필요 X옛날에는 웹서버를 따로 깔아서 연결해야 했음손쉬운 빌드 구성을 위한 starter dependency 제공스프링과 서드파티 라이브러리 자동구성 (버전관리까지 다 해줌)메트릭, 상태확인, 외부구성 같은 프로덕션 준비 기능 제공 (모니터링)관례에..

    [Next.js] 프로젝트 때 쓸 프론트 라이브러리들

    1. radix ui https://www.radix-ui.com/ Radix UI Components, icons, and colors for building high‑quality, accessible UI. Free and open-source. www.radix-ui.com 많이 쓰는 컴포넌트들(Dialog, 프로필, 메뉴바 등등)을 지원하되 가볍고 개발중심적. 커스텀도 자유로움 2. class-variance-authority https://cva.style/docs cva Class Variance Authority cva.style 재사용가능한 ui 생성 3. fort awesome https://fortawesome.com/ Fort Awesome Custom Icons Want to ad..

    [AWS] EC2 Hibernate 모드, EBS

    EC2 Hibernate (절전 모드) 기존에 쓰던 것들 - Stop: disk의 데이터(EBS)가 다시 시작할 때까지 유지됨 - Terminate: 지우도록 설정한 EBS volumes들은 다 삭제됨. 남기도록 설정한거만 남음 다시 시작할 경우 - OS 부팅 & EC2 User Data Script도 돌아감 - OS 부팅 끝 (boot up) -> 애플리케이션 실행 -> 캐시 구성 시작 => 시간이 걸림 Hibernate - RAM에 있던 in-memory state는 보존 (EBS volume에 덤프되고, EC2에서는 RAM이 사라지는 원리. 다시 시작하면 EBS volume에 있던 RAM을 다시 인스턴스에 올림) - OS가 완전히 중지되는 게 아니라서 인스턴스 부팅이 빨라짐 - RAM에 기록되었던 ..

    [AWS] 스팟, IP, 배치그룹, ENI

    EC2 spot instance 작동 과정 1. max spot price (spot instance에 대해 지불가능한 최대 spot 가격) 정의 2. 인스턴스의 spot 가격이 우리가 정한 max spot price보다 낮으면 해당 인스턴스 유지 2-1. hourly spot price: offer과 capacity에 따라 달라짐 2-2. 현재 spot 가격이 max spot price 초과할경우 1 인스턴스를 중지(stop)하고 spot 가격이 max spot price 아래로 내려가면 중단했던 곳부터 인스턴스 다시 시작 2 인스턴스에서 state가 필요하지 않다면 걍 인스턴스 끄면 (terminate) 됨. grace period 2분 주어짐,, - batch 작업, 데이터분석, failure로부터..

    [AWS] EC2 Security Group, 클래식 포트, SSH, EC2 시작

    EC2 인스턴스 주변 방화벽 - Security Groups는 AWS의 네트워크 보안의 핵심 - EC2 인스턴스에 들어오고 나오는 트래픽 통제 - Allow rules만 포함: 출입이 허용된 것 알려줌 - IP주소나 security group 참조해 규칙 생성 (즉 내컴퓨터 위치나 다른 security group 참조. 그룹끼리 서로 참조도 가능) ex) 컴퓨터에서 공공인터넷 이용해 EC2 인스턴스에 액세스 -> EC2 주변에 security group 생성해야됨 (이게 방화벽임) -> 그 security group은 *규칙을 가지게 됨 * 규칙: 인바운드 트래픽 여부를 결정. 외부에서 EC2 인스턴스로 들어오는게 (inbound 트래픽) 허용되면 EC2 인스턴스에서 인터넷으로 다시 가는것(outboun..

    [AWS] EC2 기초

    EC2란 : Elastic Compute Cloud = IaaS (Infrastructure as a Service) - AWS에서 젤 인기있는 거중 하나 EC2에서 할수있는거 - EC2에서 가상 머신 rent 가능 (빌려온 EC2는 EC2 Instance라고 함) - 데이터를 가상 드라이브 (EBS)에 저장 - ELB로 로드를 분산(distribute) - Auto-Scaling Group (ASG) 써서 서비스 scaling(확장) 가능 => EC2 사용법을 아는 것은 클라우드의 동작을 이해하는데 필수!!!!! EC2 운영체제 옵션 - 리눅스, 윈도우, 맥OS - 이 가상머신에 사용할 컴퓨터 성능, 코어 양 (CPU) - Random Access Memory(RAM) 양 - storage(용량) ex..

    Application Architecture

    Application Architecture

    개발자의 입장에서 봤을 때, 서버에서 요청을 처리하려면 개발자가 먼저 코드를 빌드, 배포해야한다. 물론 서버 컴퓨터에도 디스크가 있지만 한계가 있으므로, 데이터베이스처럼 storage를 분리해서 네트워크로 연결시키는 경우가 많고, 이를 distributed storage라고 한다. 사용자 입장에서 보면, 사용자 브라우저가 서버에 요청해서 프론트의 경우 JS 코드를 반환할 거고 백엔드의 경우 API요청을 해서 데이터를 JSON 등의 형태로 받을 것이다. 그런데 사용자가 많아진다면, 서버가 병목현상때문에 느려지거나, 메모리 용량에 한계가 있을 수도 있다. 그래서 하나의 해결책으로 해당 서버컴 하나의 CPU나 메모리를 좋게 할 수 있는데, 이를 vertical scaling이라고 한다. 하지만, 컴퓨터 한대..