기타52 CS스터디 - 4주차 Network 4주차(8/14) - NetworkIP 주소는 무엇이며, 어떤 기능을 하고 있나요?IP란ip란 Internet protocol의 약자로 인터넷을 주고 받을때 사용되는 통신규약으로서 네트워크라고 하면 단골로 등장하는 OSI 7계층중 3번째 layer이다.IP는 데이터를 패킷으로 나누어 전송하고, 받는쪽에서는 해당 패킷들을 다시 조립하여 원래의 데이터로 변화한다.IP주소란?IP는 프로토콜이고, IP 주소는 IP 통신을 하기 위해 각 기기들을 구분하는 주소이다.고정 IP 주소기기에 할당된 IP 주소가 변하지 않고 항상 동일한 주소를 가진다.웹 서버, 이메일 서버 등 인터넷 서비스를 제공하는 기기에 사용된다.(안정적인 통신)유동 IP 주소기기에 할당된 IP 주소가 일정 시간이 지나면 변경된다.유동 IP 주소는 .. 2024. 8. 15. [Stomp] - Spring 일대일 채팅 구현하기 (1) Stomp란Stomp란 The Simple Text Oriented Messaging Protocol 이다클라이언트와 서버의 메시징을 지원하는 프로토콜로 웹소켓 위에서 동작한다.WebSockets를 통해 웹 애플리케이션에서 메시지를 주고받을 때 자주 사용된다. 주요특징 텍스트 기반 프로토콜: STOMP 메시지는 사람이 읽을 수 있는 텍스트 형식으로 구성되어 있어 디버깅과 이해가 용이합니다.경량: STOMP는 단순하고 가벼운 프로토콜로 설계되어 있어, 메시징에 필요한 최소한의 오버헤드만 제공합니다.언어 독립적: 다양한 프로그래밍 언어와 프레임워크에서 사용할 수 있으며, 이는 다수의 클라이언트 라이브러리가 존재함을 의미합니다.호환성: 다양한 메시징 브로커와 호환됩니다. 예를 들어, Apache ActiveM.. 2024. 6. 14. [Git] intellij, eclipse jsp 프로젝트 Git 협업하기 이클립스와 인텔리제이로 jsp 프로젝트 협업을 하기로 했는데 패키지 구조가 달라서 막히게 되었다. 이클립스는 src > main > java, wepapp 이지만 인텔리제이는 src, web으로 구조와 폴더명이 다르다. 해결 1. 이클립스에서 프로젝트를 생성한후 git에 올린다. 2. 인텔리제이에서 해당 레포지토리를 clone 해온다. 3. clone 해온 프로젝트에 Add Framework Support를 통해 web을 추가해준다. 이클립스의 프로젝트를 클론했기 때문에 구조가 이크립스와 동일하다. Add Framework Support를 통해 web을 추가해주면 web 폴더가 생긴다. 톰캣 설정을 해주자. web 폴더 대신 webapp 폴더로 기본 설정을 변경해주자. *.iml 파일에 들어가자. (없으.. 2024. 4. 11. [Java] intellij에서 jsp 프로젝트 만들기 intellij에서 jsp 프로젝트 만들기빈프로제트를 만든후 Add Framework Support을 통해 web application을 추가해주자 프로젝트 클릭후 shift 2번을 눌러서 Add Framework Support을 검색해주자 ( 인터넷에 검색하다 보면 프로젝트를 우클릭해서 Add Framework Support 를 찾던데 없어서 이 방법으로 해결함) Web Application을 추가해 주자 web 파일이 생겼다 Project Settings > Libraries > From Maven 을 통해서 javax.servlet을 추가해주자 Apply > OK jar 파일 라이브러리 추가 하기 jar 파일을 추가하고 싶으면 여기서 from maven이 아니라 java를 선택한뒤 jar 파.. 2024. 4. 11. [Git] git협업 하기 - git flow git flow 방식 master, develop, feature (release, hotfix 는 필요 없을것 같아서 생략함) master, develop 만듬 -> clone 해옴 => $ git clone (저장소) (feature/기능이름) 브랜치 생성 -> 코드 작성 -> add, commit -> git push origin (브랜치 이름) github 들어가서 pull request 보내기 (좌 상단 Pull requests -> New pull request -> base: develop, compare: 내가 만든 브랜치) pr 올린 코드 확인하고 conflict 해결하고 merge 브랜치 생성 : $ git branch (새로운 브랜치) 브랜치 변경 : $ git switch (해당 브.. 2024. 4. 9. 동기/비동기 & 블로킹/논블로킹 동기(Synchronous) / 비동기(Asynchronous) 동기 - 리턴값을 기다리거나, 완료가 안되고 리턴값을 받더라도 작업완료 여부를 계속 확인한다. 리턴값을 기다린다: 작업을 실행하면 그 작업이 완료될 때까지 다음 코드로 진행하지 않고, 해당 작업의 결과값을 기다립니다. 즉, 작업이 완료될 때까지 대기합니다. 완료가 안되고 리턴값을 받더라도 작업완료 여부를 계속 확인한다: 작업이 완료될 때까지는 다른 작업을 수행하지 않고, 작업 완료 여부를 주기적으로 확인합니다. 작업이 완료될 때까지는 다음 코드로 진행하지 않습니다.비동기 - 리턴값을 신경쓰지 않고 따로 동작한다. 즉, 순차적으로 실행되고, 각 작업이 완료될 때까지 기다리는 방식이다.코드가 간단하고 직관적이지만, 작업이 완료될 때까지 다음 작.. 2024. 3. 11. REST API 면접관 : REST api 개발 경험이 있다고 하셨는데 REST api의 동작 원리에 대해 설명해주세요.면접관 : MSA를 사용해서 구현한건 아니라는 말씀이시죠? 얼마전 면접에서 REST API에 대한 질문을 받았고 잘 대답하지 못했다.그래서 API, REST API에 대해 내가 알고있던내용, 잘못알고있던 내용이 있는것 같아서 정리를 하려고한다.API란?API는 "Application Programming Interface"의 약어로, 응용 프로그램 간에 상호 작용할 수 있도록 설계된 인터페이스를 나타냅니다. 간단히 말해, 소프트웨어 애플리케이션들이 서로 통신하고 상호 작용할 수 있도록 하는 규칙 세트를 제공하는 도구나 메커니즘입니다. 클라이언트와 서버 사이의 데이터 전송 통신을 위한 규칙이나 룰, 방.. 2024. 1. 29. [HTTP] HTTP 버전 별 차이, UDP기반 프로토콜을 사용하는 HTTP/3, https://bangbaeking.tistory.com/95 [HTTP] HTTP 통신 과정 HTTP란? HTTP(Hyper Text Transfer Protocol) HTML 문서를 주고 받는데 쓰이는 통신프로토콜(통신규약)이며, TCP 와 UDP 를 사용하여 통신하며 80번 포트를 사용한다 HTTP의 통신 과정 URL 입력후 해당 URL을 바탕으 bangbaeking.tistory.com 최근에 HTTP 통신 과정 정리를 했는데 HTTP 프로토콜에서 UDP를 사용한다는데 내가 정리한 내용에는 UDP에 관련된 내용이 없어서 좀더 찾아보게 되었다. 실시간 스트리밍 일단 내가 생각헀던 내용은 실시간 스트리밍의 경우 빠른 속도가 필요하고 실시간 방송을 진행할때 간혹 패킷손실이 일어나서 화질이 깨지는 경우가.. 2024. 1. 19. Web Server 와 WAS Web Server 클라이언트로 부터 HTTP 요청을 받아 정적인 웹페이지,이미지, 스크립트 파일등을 제공하는 서버이다. 동적인 요청이 들어오면 해당 요청을 WAS에게 요청한다. 아파치, 엔진엑스 등 WAS 마찬 가지로 클라이언트로 부터 HTTP 요청을 받을수 있다. 정적 페이지 뿐만 아니라 동적 페이지도 처리가 가능하다 DB조회, 다양한 로직 처리가 가능하다. 톰캣, 제이보스 등 WAS는 정적, 동적 컨텐츠를 모두 처리 할수있는데 Web Server는 사용하지 않고 WAS만 사용해도 되는거 아닌가? ⭢ 정적 콘텐츠와 동적 콘텐츠 요청에 대한 책임을 분할하여 서버 부하를 방지해야한다. 즉, 정적 콘텐츠는 Web Server가, 동적 콘텐츠는 WAS가 담당한다. 로드밸런싱과 여러대의 WAS 로드밸런싱을 사.. 2024. 1. 17. 이전 1 2 3 4 ··· 6 다음