분류 전체보기 396

Travis CI + S3 + Codeplay

1. Travic CI 가입(서드파티 활성화) 2. travis.yml 추가 -> 깃헙과 트래비스 연동깃헙 푸쉬시 travis 반응 확인3. travis- AWS s3 연동IAM 발급 (액세스 키 별도생성)travis ci에 키 등록(.travis.yml에서 사용가능)S3 버킷 생성.travis.yml에 버킷 추가(git push -> travis CI) -> "s3"에 zip 생성되는 흐름 확인4. CODEDEPLOY EC2가 받을 수 있게 IAM 역할 추가ec2 터미널에서 codedeploy 에이전트 설치codedeploy -> ec2 권한codedeploy, 그룹 생성 + ec2태그 매치 5. 조립appspec.yml 에 ec2 경로 설정.travis.yml에 codedeploy provider추가..

EC2 배포

메인서브1. EC2에 git 설치maven / java / javac 추가 설치 2. 배포 스크립트 만들기gradle -> maven 컴파일 명령어 변경nohup 오류 처리java 환경변수 / sudo us 권한git pull부터 전부 하지말고 디버깅하듯이 한줄로 배포 검증하기  3. 스프링부트 프로젝트로 RDS 접근  - 1. 배포 스크립트 작성책에서 gradle -> maven은 빌드가 아닌 package임 주의 원본 참조 : https://velog.io/@shawnhansh/AWS-EC2%EC%97%90-SpringBoot-gradle-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8jar-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0#!/bin/bashREPO..

터미널 명령어

(공통)mkdir ~/app/cd ~/apprm엘엘 -> 현재 디렉토리 chmod +x (파일) -> 퍼미션 부여 (ec2에 깃)sudo yum install gitgit —versiongit clone (깃헙 https 리포지토리 주소)git pull (vim)vim ~/ -> 자동 만들어짐파일 내부 s -> 편집 모드esc -> 보기 모드:wq -> 저장 후 빠져나옴:q -> 그냥 빠져나옴ec2에 java (maven)sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.reposudo sed -i s/\$releasever/6/g..

EC2 RDS 연결

1. RDS 인스턴스 생성 EC2와는 연결 바로 하지 않고 나중에 하기  2. 파라미터 셋업  편집에서 time_zone 맙추기  슬래쉬로 해야 완성  Character 6개 : utf8mb4 -> 이모지 쓸수있게 변경collation도 변경해줘야횜 파라미터 그룹 후 별도 적용해야함 수정 -    https://repost.aws/ko/questions/QU7w-RT1AHRr6JiZPrsteGHQ/rds-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-time-zone-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EB%B3%80%EA%B2%BD%EB%B6%88%EA%B0%80 https://superuser.com/questions/635269/cant-find-..

EC2 개설

1. 인스턴스 생성2. elastic ip 연동해주기3. pem키 다운 및 config 설정4. 터미널에서 실행 -> ec2모드 진입5. 자바 설치  6. 타임존 맞추기  7. ip 대신 HOSTNAME으로 표시되도록 설정 ->  vim -> s를 눌러야 insert 모드로 진입함맥북에서 파일을 터미널에 끌어오면 주소 복사됨pem key로 connecting할때 해당 메세지는 오류가 ㅏㅇ님 커넥션 등록 후 한번 더 실행할것 비둘기는 아니다.

자바 기본

💡 Java의 특징을 설명해주세요.1 Java는 객체지향 프로그래밍 언어입니다.  기본 자료형을 제외한 모든 요소들이 객체로 표현되고,  객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다.자바의 장점 JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다. GabageCollector를 통한 자동적인 메모리 관리가 가능하다.   -   JV(M의) - GC 장첨자바의 단점 느리고, 제약이 많습니다  JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다. 다중 상속이나 타입에 엄격하며, 제약이 많다.💡 JVM의 역할에 대해 설명해주세요. Java Byte Code를 OS에 맞게 해석 해주는 역할을 하고  가비지컬렉션을 통해 자동적인 메모리 관리를 해줍니다. JVM..

CS : HTTP 1 -> 3 / HTTPS / SSL/TLS

HTTP 1.0?기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었습니다. 이는 RTT 증가를 불러오게 되었습니다 RTT 증가 이유?서버로부터 파일을 가져올 때마다 TCP의 3-way 핸드쉐이크를 계속해서 열어야 하기 때문에 RTT가 증가하는 단점RTT? Round Trip Time패킷 왕복 시간을 말합니다. 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는 시간RTT의 해결 방법?이미지 스플리팅 코드 압축 이미지 Base64 인코딩이미지 스플리팅?많은 이미지를 다운로드받게 되면 과부하가 걸리기 때문에 많은 이미지가 합쳐 있는 하나의 이미지를 다운받고,   background-img의 position을 이용하여 이미지를 표현하는 방법코드 압축?개행 문자, 빈 칸을 없애서 코드의 크기를 ..

CS : 네트워크 기기 / IP / NAS

네트워크 기기의 처리 범위?계층별로 처리 범위를 나눕니다.  상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가합니다.  예를 들어 L7 스위치는 애플리케이션 계층을 처리한느 기기로, 그 밑 모든 계층의 프로토콜을 처리할 수 있으나 AP는 물리 계층밖에 처리하지 못합니다. 계층별 대표 기기를 말하라애플리케이션 계층 : L7 스위치 인터넷 계층 : 라우터, L3 스위치 데이터 링크 계층 : L2위치, 브리지 물리 계층 : NIC, 리피터, AP가 있습니다.스위치?여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비입니다. L7 스위치?어플리케이션 계층의 대표 기기입니다.  로드밸런서라고 하며 서버의 부하를 분산시..

CS : PDU / 네트워크 프로토콜 / 캡슐화 등

PDU란?네트워크의 어떠한 계층에서 계층으로 데이터가 전달될떄 한 덩어리의 데이터 단위를 프로토콜 데이터 유닛이라고 합니다 Protocol Data Unit 의 구성 제어 관련 정보들이 포함된 헤더 데이터를 의미하는 페이로드로 구성되어 있습니다 PDU의 명칭 계층마다 부르는 명칭이 다릅니다  애플리케이션 계층에서는 메세지 전송 계층에서 TCP는 세그먼트, UDP는 데이터그램 인터넷 계층에서는 패킷 링크 : 데이터 링크 계층에서는 프레임. 물리 계층에서는 비트입니다.  그래서 HTTP 헤더를 까보면 모두 문자열입니다.PDU 효율?가장 아래 계층인 비트로 송수신하는것이 모든 PDU 중 가장 빠르고 효율성이 높으나 APPLICATION 계층에서는 string을 기반으로 송수신을 합니다.  헤더에 authori..

CS : 네트워크 기본

OSI 7계층과 TCP/IP 4계층의 차이점은 무엇인가요? OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층 물리 계층으로 나눠서 설명하는 것이 다르며  인터넷 계층을 네트워크 계층으로 부른다는 점이 다릅니다.  O... 많네 -> 7 애셋 링 -> 데링 물 인네HTTP 2와 1의 차이점? 지연 시간을 줄이고 응답 시간을 더 빠르게 할 수 있으며,  멀티플렉싱,  헤더 압축,  서버 푸시,  요청의 우선순위 처리 를 지원하는 프로토콜입니다.멀티플렉싱?HTTP2의 장점으로, 여러 개의 스트림을 사용하여 송수신한다는 것입니다/  이를 통해 특정 스트림의 패킷이 손실되었다고 하더라도 해당 스트림에만 영향을 미치고 나머지 스트림은 멀쩡하게 동작할 수 있습니다.서버 푸시?HTTP 1..