본문 바로가기
728x90

전체 글410

HTTP의 기본 HTTP(HyperText Transfer Protocol) 웹(www) 상에서 정보를 주고받을 수 있는 프로토콜 http 메시지에 모든 것을 전송한다 HTML, TEXT 이미지, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버 간 데이터 송수신도 대부분 HTTP를 사용 지금은 HTTP의 시대 HTTP 역사 HTTP:/0.9 : GET 메서드만 지원, HTTP 헤더 x HTTP/1.0 : 메서드, 헤더 추가 HTTP/1.1 : 가장 많이 사용, 중요함 HTTP/2 : 성능 개선 HTTP 3 : TCP 대신에 UDP 사용, 성능 개선 기반 프로토콜 TCP : HTTP/1.1, HTTP/2 UDP : HTTP/3(점점 사용 증가 중) 2022. 10. 21.
PORT PORT IP가 목적지의 서버를 찾는다면 PORT는 같은 IP 내에서 프로세스(애플리케이션)를 구분함 이해를 위한 비유 : IP가 아파트이면, PORT는 몇동 몇호인가를 나타내는 주소이다. 0 ~ 65535 할당 가능 0 ~ 1023 : 잘 알려진 포트로 사용하지 않는 것이 좋다. Example FTP - 20, 21 TELNET - 23 HTTP - 80 HTTPS - 443 2022. 10. 20.
IP(인터넷 프로토콜) IP(인터넷 프로토콜)의 역할 지정한 IP 어드레스에 데이터를 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 프로토콜의 한계 비연결성 : 패킷을 받을 대상의 수신 가능 여부를 확인하지 않고 일단 패킷 전송 비신뢰성 : 중간에 패킷이 사라지거나, 순서대로 오지 않는다면? 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면? 2022. 10. 20.
정규표현식을 이용한 문자열에서 숫자 분리 String str1 = str1.replaceAll("[^0-9]", ""); // 문자열에서 숫자를 제외한 모든 값(공백 포함 )을 지움 String str2 = str2.replaceAll("[0-9]", ""); // 문자열에서 숫자를 지움 String str3 = str3.replaceAll("[0-9a-zA-Z]", ""); // 문자열에서 숫자, 대문자, 소문자를 모두 지움(공백이 없다는 가정 하에 특수문자만 남음) 2022. 10. 20.
바빌로니아 법(The Babylonian Method) 바빌로니아 법(The Babylonian Method) 임의의 수의 제곱근에 빠르게 수렴하는 수열을 만들어 근사값을 구하는 방법 => 제곱근을 구하는 점화식을 코드로 구현 static double sqrt(int num) { int PRECISION_COUNT = 10; // 임의의 자연수로 이 값이 클수록 더 정확한 근사값을 구할 수 있다. double x = num / 2.0; for (int i = 0; i < PRECISION_COUNT; i++){ x = (x + (num / x)) / 2; // xn+1 = (xn + (num / xn)) / 2 } return x; } 2022. 10. 20.
Integer로 표현할 수 있는 최대값과 최소값 int min = Integer.MIN_VALUE; // -2147483648 int max = Integer.MAX_VALUE; // 2147483647 2022. 10. 20.
코드 스테이츠 백엔드 부트캠프 2달 차 후기 스프링의 지옥에 오신 걸 환영합니다. 스프링(Spring)의 개발자는 추운 겨울과도 같았던 자바 진영에 드디어 봄이 왔다는 의미로 스프링이라고 이름을 지었다고 한다. 그러나, 내 입장에서는 반대이다. 그동안 봄이었고, 이제 겨울 아니 지옥이다. 그냥 지옥... 자바 스프링 백엔드 개발자 부트캠프는 T자형 커리큘럼이라고 할 수 있다. 6개월간의 커리큘럼 기간 동안 첫 2달여 기간은 T자의 ' ㅡ ' 윗부분(자바와 기초 cs 지식)을 배운다. 쉽게 말하면 기초 공사이다. 이제 아래로 쭉 내려갈 일만 남았는데 윗부분이 부실하면 절대 아래로 내려갈 수 없다. (근데, 윗부분을 잘 알고 있다고 해도 쉽게 아래로 내려갈 수 없다ㅋㅋ) 'ㅣ' 아래 부분(스프링)은 이해하기 어려운 내용으로 가득하다. 스프링을 공부해보.. 2022. 10. 19.
스프링 부트(Spring Boot)란? 스프링 부트(Spring Boot) 스프링 프레임워크의 편리함과는 별개로 설정의 복잡함으로 인해 스프링 기반 애플리케이션 개발을 시작하기도 전에 어려움을 겪는 문제점을 해결하기 위해 생겨난 스프링 프로젝트 중 하나이다. 스프링 부트를 사용해야하는 이유 XML 기반의 복잡한 설계 방식 지양 의존 라이브러리 자동 관리 애플리케이션 설정의 자동 구성 프로덕션급 애플리케이션의 손쉬운 빌드 내장된 WAS를 통한 손쉬운 배포 WAS(Web Application Server) WAS는 구현된 코드를 빌드해서 나온 결과물을 실제 웹 애플리케이션으로 실행되게 해주는 서버이다. Java진영에서 사용되는 대표적인 WAS에는 Tomcat이 있다. Java 기반의 웹 애플리케이션을 배포하는 일방적인 방식은 개발자가 구현한 애플.. 2022. 10. 12.
728x90