본문 바로가기

분류 전체보기

(98)
ec2 로그 실시간 확인하기 ec2로그 확인해보려 한다.ec2로 접속해서 명령어로 실시간 로그 확인하기-> ec2접속 방법 (터미널창으로)터미널창 키고 명령어 입력1. ssh -i {~/Downloads/my-key.pem} {ec2-user}@{52.76.225.186}  pem파일 위치랑이름/ 사용자이름 / ec2인스턴스 퍼블릭ip주소  2. docker logs -f {컨테이너 이름}컨테이너 이름 확인하기 : docker ps
CORS 가 무엇인지, 문제 해결은 어떻게? CORS : Cross Origin Resource Sharing다른 출처 리소스 공유 출처란? 예를들어, https://www.podo.com/users?sort=asc&page=1#foo 이때, 출처는  https://www.podo.com 여기 까지 이다. 뒤에 :80 , :443 같은 포트번호까지 포함(있으면)프로토콜(Scheme) + 호스트   SOP : Same Origin Policy같은 출처에서만 리소스 공유할수 있다는 정책이것의 예외 조항이 CORS -> 이걸로 다른 출처의 리소스 요청 허가됨 출처의 동일여부 구분 기준?-> 두 URL의 Scheme, host, port 이 세개만 동일하면 OK 그런데 이걸 비교하는 로직은 애초에 브라우저에 심어져있는 스펙이다 즉, 브라우저 단에서 적용되..
내가 이해한 배포개발환경 vs 로컬개발환경 비유를 들자면,서버개발자는 음악가이고, 음악가는 개인 작업실에서 작업을 함. 음악이 완성 되어서, 콘서트장에서 음악을 연주하려고 함.여기서 음악가 개인작업실의 악기, 음향시스템 등이 로컬개발환경 이고,콘서트장의 악기, 음향시스템 등이 배포 개발환경임. 배포 개발환경은 주로 Linux 임.그리고 AWS EC2 는 콘서트장을 제공해주는 업체 또는 중개업체 . 콘서트장에서 발매된 음악을 똑같이 연주하기 위해선 개인작업실과 환경을 맞춰야 함그러기 위해 음향팀 외주업체를 고용함(세팅해주는)만약 고용하지 못한다면 음악가 스스로 일일히 세팅을 다 해야함여기서 외주업체가 Docker 임. Dockerfile :외주업체 에게 주는 매뉴얼. 내가 원하는 음향시스템과 세팅방법을 상세히 적은 설명서. 이걸 바탕으로 외주업체가..
github action을 이용한 CICD 파이프라인 자동화 CICD : Continuous Integration Contiuous Deployment(Delivery) 지속적인 통합과 배포 깃허브액션 이해하기! github acton - docker - aws ec2 깃헙에서러너 라는 가상컴퓨터(가상머신)를 빌려준다. 거기다가 내가 구동시킬 코드나, 데이터들을올린다. 코드가, 러너라고 하는 컴퓨터 위에서 동작해서 여러가지 자동화된 처리를 할 수 있다 이 가상컴퓨터를 빌려주는 서비스 기능이 바로 깃헙 액션이다.    파이프라인이뭐야 ChatGPT의 말:ChatGPT**파이프라인(Pipeline)**은 **CI/CD(CI: Continuous Integration, CD: Continuous Delivery 또는 Continuous Deployment)**에서 소프..
Docker와 컨테이너, 오케스트레이션? 개발 os는 윈도우 배포 os는 리눅스 -> environment dispariy 도커가 이 문제점을 해결해준다 도커를 양쪽에 설치하고 도커가 연결다리 역할 해줌 도커 컨테이너 : 하나의 같은 서버에서 각기 다른 환경의 컨ㅌㅔ이너 생성 가능 즉, 새로운 서버 매번 새로 사고, 설정하고 할 필요없이 컨테이너 수를 늘리면 됨. 컨테이너 오케스트레이션 -> 대규모 애플리케이션 배포할 수 있도록 컨테이너의 관리를 자동화해주는 프로세스   1. 도커를 설치한다 (개발환경os와 서버os에 둘다)2. 도커파일을 만들고, 원하는 환경설정을 세팅한다 그러면 도커는 이를 어떤머신이든 해당 환경을 설정해준다3. 컨테이너 는 독립적이기 때문에 원하는 환경설정 마다 모듈식으로 관리 가능!   Docker의 주요 개념:도커 이미..
성능개선 (N+1문제) ORM : object relatonal mapping  N+1 문제란?ORM 기술에서  특정 개체를 대상으로 수행한 쿼리가 해당 객체가 가지고 있는 연관관계 또한 조회하게 되면서 N번의 추가적인 쿼리가 발생하게 되는 문제 -> 성능저하 발생  원인 :  RDBM와 객체지향 언어간의 패러다임 차이. 객체는 연관관계를 통해 래퍼런스를 가지고 있으면 언제든지 메모리 내에서 random access 를 통해 연관 객체에 접근 가능, but RDB의 경우 select 쿼리를 통해서면 조회가 가능하기 때문!
JVM 자바의 철학 한번 작성하면 어디서나 실행된다를 위해 java virtual machine 가 있다 자바 프로그램이 OS위에서 실행될 수 있도록 중간에서 메모리 관리와 실행 환경을 제공하는 가상머신!자바와 os사이의 가상os로써, 자바프로그램이 실행될 수 있도록 한다 JVM의 주요 역할은1. 메모리관리 자바 프로그램이 사용하는 하드웨어 메모리(힙, 스택, 메소드영역 등) 를 관리한다자바 App이 실행될 때 필요한 메모리를 OS로부터 할당받아, 그 안에서 객체생성, 메서드실행, 변수저장 등 작업 수행Garbage Collection을 통해 불필요한 메모리를 자동으로 해제 해준다2. 하드웨어 및 OS추상화운영체제와 하드웨어의 차이를 추상화하여 자바 프로그램이 플랫폼 독립성을 갖도록 도와준다. 이때문에 자바 프..
JAVA 8 버전부터 추가된 Stream for 문 으로 배열/컬렉션인스턴스 에서 요소 꺼내는거 단점보완버전 컬렉션 프레임워크 -> 자바 라이브러리 이다- 다수의 데이터를 쉽고 효율적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스 집합- 자료구조와 알고리즘을 구조화하여 클래스로 구현해 놓은 다수의 데이터를 효율적으로 관리,저장 할 수 있는 자료구조를 제공함인터페이스와 클래스로 구성각 데이터 구조와 특징에 따라 다양한 클래스 사용Set, List, Queue 등 하위 인터페이스들이 Collection을 상속받음  List - 중복 가능, 순서 있는 데이터 집합- ArrayList : 특정 원소의 조회가 많은 경우 사용배열이용하여 만든 리스트인덱스로 조회 가능, 인덱스만 알면 해당 데이터 빠르게 조회가능삽입, 삭제 하면 그 뒤의 데이터를 밀거..