본문 바로가기

항해 시절

(16)
TCP/IP 4계층, 송수신 과정 공부 중 TCP 송수신 관련하여 유튜브를 보다가 네트워크 TCP/IP 4계층에 대한 정리를 한번 해놓고 가려고 한다. ​ 4계층 - Application Layer 응용프로그램들 즉, 웹서비스나 메일같은 서비스를 할 수 있도록 표준적인 인터페이스를 제공한다. HTTP 프로토콜이 있는 계층, 현재는 HTTP/1.1을 주로 사용 ​ 3계층 - Transport Layer 통신 노드 간의 연결을 제어하고, 자료의 송수신을 담당 정확한 패킷 전송을 보장하는 TCP와, 그렇지 않은 UDP 프로토콜이 있음 ​ 2계층 - Internet Layer 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅 기능을 담당 TCP의 Buffer(메모리)에서 데이터가 Segment로 분해되는데 각 Segment를 패킷(포장을 뜻함)으로 ..
코딩 시작 부터 항해99 느낀점, 장단점 개발자가 되기로 마음먹기까지 ​ 처음 코딩을 접했을 때는 대학교 수업때였다. python을 통해 미분과 적분 등 수학적 문제를 해결하는 수업을 했었고, 재밌었지만 나는 기계공학과니깐 코딩은 더 깊게 공부할 필요는 없다고 생각하고 그저 그렇게 지나쳤었다. ​ 그 뒤로 코딩을 전혀 접하지 않고 살아왔었는데, 취업하고 측정 Data를 정리하는일이 많아지면서 요즘 시대에 이걸 하나하나 데이터를 옮기면서 정리하는게 맞나 싶은 생각이 들었었다. 대학교 때 python이란 걸 배웠던거 같은데.. 이런 생각과 더불어 나는 코딩을 통해 자동화를 시킬 수 있지 않을까 생각하여 코딩을 공부를 시작하였다. 생활코딩과 여러 유튜브를 열심히 보고 결국 python을 통해 데이터정리를 자동화 해주는 실행파일을 만들었고, 동료들에게..
자료 구조 공부 중 부끄럽게도 프로젝트를 몇번 진행하면서도 자료구조에 대해 공부할 필요성을 크게 느끼지 못했다. 자료구조에 대한 큰 고민 없이 배운대로 만든 기능들은 잘 작동하였고 느리지도 않았기 때문이다. ​ 하지만 작동하는 코드를 만드는 것 뿐 을 넘어서 코드의 퀄리티를 높이고 효율적인 코드를 만드는 것에도 신경을 쓰는 좋은 개발자가 되고싶다면 자료구조 공부는 필수적이다. ​ 코드를 하면서 몇번 들어보기만 했던 여러 자료구조에 대해 다시 공부하고 정리를 해보려 한다 ------------------------------------------------------------------------------------------------------------------------------------------ 시간복잡도..
Travis CI, CodeDeploy에 대해서.. 지금 까지는 EC2 서버 재배포를 할 때, gradle를 통해 build한 jar파일을 가지고 AWS EC2 서버에 직접 넣고 구동(배포)을 시켰는데. ​ Travis를 통해 자동 빌드와 CodeDeploy를 사용한다면 배포자동화를 할 수 있게 된다. ​ Travis CI란? Travis CI는 Travis에서 만든 CI(Continuous Integeration) 즉 지속적인 통합을 위한 툴이다. Travis CI 웹페이지에서 우리가 사용 중인 GitHub Repository와 연동을 하고 난 뒤에, 해당 레포지토리에 푸쉬를 하게되면 자동 빌드 및 테스트를 진행 해준다. ​ Travis CI와 비슷한 서비스를 해주는 것들에는 Jenkins, Github Action, Buildbot 등등 존재한다 젠킨..
스프링 서버 HTTPS(Nginx, letsencrypt 활용) 적용 2022 03.27 항해 프로젝트를 진행하면서 (스프링) 프로젝트에 HTTPS 적용 한 것에 대해 기록을 남기고자 한다. ​ (이미지나 기타 설명은 여유되면 추가적으로 넣겠음) ​ 사용한 것 ​ 1.EC2 우분투 서버 18.04 프리티어 버전 2. 가비아 도메인 사용 (어디 사이트는 상관없음 HTTPS 적용을 위해 도메인은 필요) 3. Nginx 서버로 SSL 인증을 통해 HTTPS 적용 (letsencrypt 인증서를 certbot를 통해 받을 것) ----------------------------------------------------------------------------------------------------------------- ​ 1. EC2 인스턴스 생성 ​ 1) 우분투 18...
스프링 복습 및 Logback에 대해서 (항해 10주차 회고록) (출처는 김영한 강사님 유튜브 : https://youtu.be/xs44Ty_Kerk ) ​ ​ 스프링이란? ​ 1. 스프링이라고 하면 뭘 뜻하지? 스프링이라는 단어는 문맥에 따라 다르게 해석된다 1). 스프링 DI 컨테이너 기술 2). 스프링 프레임 워크 ->스프링 프레임 워크란? 스프링 DI컨테이너, AOP 등 핵심 기술과 스프링MVC 등과 같은 웹기술, ORM지원 같은 데이터 기술 등 여러 기술 등을 통 틀어 스프링 프레임워크라 한다. 3). 스프링 부트, 스프링 프레임 워크를 포함한 스프링 생태계 -> 스프링 부트란​? 스프링 프레임워크 및 스프링 시큐리티 등 스프링 생태계를 편리하게 사용할 수 있게 해주는 기술임, Tomcat 같은 웹 서버를 내장하고 있음 -> 스프링 생태계에는 스프링 프레임워..
https 공부 (항해 9주차 회고록) (이 자료는 생활코딩을 참조해서 작성되었습니다. 출저 https://www.opentutorials.org/course/228/4894) 1. HTTPS란? 쓰는 이유는?🤔 HTTP는 Hypertext Transfer Protocol의 약자로, HTML을 전송하기 위한 통신 규약이다. HTTPS에서 S는 Over Secure Socket Layer의 약자로 보안이 강화된 HTTP라는 것을 짐작 할 수 있다. HTTPS를 쓰는 이유는 간단히 얘기하면 우리가 어느 페이지에서 로그인을 하려고 할 때 우리가 입력한 아이디, 비밀번호가 암호화되지않고 그대로 서버까지 전송하게되면 누군가 중간에 가로채서 훔쳐볼 수 있는 위험이 있기 때문이다. HTTPS를 쓰게 되면 우리가 입력한 아이디, 비밀번호가 암호화되어 서버로..
Linux, Ubuntu,Docker 공부 (항해 8주차 회고록) 실전 프로젝트 첫 주 기간에 자주 들었고 사용도 하고있는 Ubuntu에 대해 잘 모른다는 생각이 들어 공부를 하면서 정리를 해보려고 한다 Docker는 실전프로젝트에서 Webrtc를 기반으로 한 Openvidu 라이브러리를 써보려고 구글링 하였을 때 Docker 얘기가 자주 언급되어 같이 정리 해본다. ​ ​ Linux는 커널(kernel) 이다 커널이란? 컴퓨터 과학에서 커널(kernel)은 컴퓨터 운영 체제의 핵심이 되는 컴퓨터 프로그램으로, 시스템의 모든 것을 완전히 통제한다. 운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다. 핵심이라고도 한다. Linux 커널은 오픈 소스로 이를 통해 커스텀 OS(운영체제)를 만들 수 있다고 한다. ​ 리눅스는 운영체제 중 하나..

728x90
반응형