본문 바로가기
반응형

지식22

Resolved org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter '인자' for method parameter type String is not present Required request parameter 'memberNum' for method parameter type String is not present 모든 @RequestParam에서 생기는 오류 메세지는 아니다. @Operation(summary = "학교 정보", description = "학교명 검색") @GetMapping("/info") public EduResponseDTO getSchoolInfo(@RequestParam String schoolName) { SchoolInfoRequestDTO param = new SchoolInfoRequestDTO(); param.setSchoolName(schoolName); return schoolService.getSchoolInfo(para.. 2023. 4. 14.
TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. TLSv1 was negotiated. Please update server and client to use TLSv1.2 at minimum. 서버에서 TLSv1(TLS 1.1)을 사용 중이다. 권장되는 버전은 최소 TLSv1.2(TLS1.2)이라고 로그를 남기며, 업데이트 하라고 알려주고 있다. TLS는 현재 1.1, 1.2, 1.3, 1.4(최신) 총 4가지 버전이 존재한다. 이 중 구 버전인 TLS 1.0, TLS 1.1 은 POODLE과 BEAST 같은 여러 공격에 취약하다고 한다. POODLE(Padding Oracle On Downgraded Legacy Encryption) 취약점: 구식 암호화 기법을 악용할 수 있게 하는 프로토콜 다운그레이드 취약점 BEAST(Browser Exploit.. 2023. 3. 23.
Error parsing HTTP request header 에러 오류 Error parsing HTTP request header 에러, 오류 웹서버에서 로그를 확인 하는 중 HTTP method names must be tokens 라는 문구를 발견했다. 일단 JAVA에서 알려주는 로그이며, 해당 API 요청 시 http가 아닌 https로 요청을 해서 생기는 메세지다. API 요청 시 http로 요청을 하게 되면 해당 문구는 더이상 생기지 않는다. 일반적인 원인은 이렇다. Java WAR로 배포한 Web Application에서 검색조건에 특수문자를 강제한 경우 인터넷 익스플로러(IE)에서는 에러 발생 및 에러페이지 호출 크롬에서는 자동으로 인코딩이 된다고 한다. 2023. 3. 23.
웹 사이트에 접속 과정 일 👋 브라우저에 google.com을 입력하면? 요약 DNS 서버에 도메인에 해당하는 IP주소를 요청 -> 수신한 IP 주소에 해당하는 웹 서버에 접속 조금 더 자세하게 1. 브라우저에 URL을 입력 2. url에서 도메인 name에 해당하는 ip 주소를 찾아 url 정보와 함께 전달 - 도메인 name : DNS에 등록된 이름 ex) www.naver.com 3. DNS 서버에서 해당 domain name에 해당하는 ip 주소를 찾아 url 정보와 함께 전달 4. 웹페이지 url 정보와 전달받은 ip 주소는 http 프로토콜을 사용해 http 요청 메세지를 생성 - HTTP 프로토콜이란? > 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜 이다. > 애플리케이션 레벨의 프로토.. 2023. 3. 23.
RESTful API 의미 예제 예시 이해 명세서 👉 API가 무엇인가? Application Programming Interface의 줄임말 API를 통해서 클라이언트와 서버가 통신 할 수 있게 해주고, 서버와 DB와 통신을 주고 받아 사용자가 원하는 화면을 보여준다. 👉 REST란? HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미 👉 RESTful은? REST를 REST답게 쓰기 위한 방법, REST 원리를 따르는 시스템을 RESTful이란 용어로 부르는 것 예시 - api/user [GET] user 리스트 출력 - api/user [POST] use.. 2023. 3. 23.
컴파일 언어와 스크립트 언어 차이 컴파일 언어와 스크립트 언어 차이 컴파일을 하는 언어를 컴파일 언어, 인터프릿을 하는 언어를 인터프리터 언어 혹은 스크립트 언어라고 한다. C, C++, Java와 같은 컴파일 언어는 코드를 작성한 후 컴파일을 하면, 컴파일러에 의해 기계어로 변환된 파일이 생성되고 컴퓨터는 그 파일을 실행한다. Python과 Javascript와 같은 스크립트 언어는 별도의 파일 생성 없이 소스 코드가 작성될 때마다 인터프리터가 해당 코드를 기계어로 번역하고 실행한다. 컴파일 언어는 이미 기계어로 번역된 파일을 컴퓨터가 실행하므로 스크립트 언어에 비해 빠르고 소스코드에 문법적 오류가 있으면 컴파일 에러를 발생시켜 디버깅이 수월하다. 하지만 일반적으로 문법적 제약이 많아 작성이 비교적 어렵고, 운영체제마다 사용하는 기계어.. 2023. 3. 22.
데이터베이스 DB 정규화 역정규화 정규화 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화(Normalization) 라고 한다. (출처 Wikipedia) > 여러 테이블에 동일한 데이터가 관리되지 않도록 설계 > 정규화는 정규형이 높을수록 이상현상이 줄어들지만, 연산시간이 증가하여 데이터 조회비용을 증가시킨다는 단점 > 정규화를 함으로써, 데이터의 일관성을 높일 수 있고 모델의 응집도를 높여 객체지향 설계 가능 역정규화 정규화된 데이터베이스에서 성능을 개선하기 위해 사용되는 전략을 역정규화(Denormalization)라고 한다. (출처 Wikipedia) > 비정규화는 데이터의 무결성을 떨어트리지만, 관계형 데이터베이스의 읽기 성능을 향상 > 성능 향상을 위해 데이터를 중복된 상태로 설계 > 역정.. 2023. 3. 22.
HTTP와 HTTPS의 차이 다른점 HTTP HTTP는 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)의 약자입니다. 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜입니다. HTTPS HTTPS는 하이퍼 텍스트 전송 프로토콜 보안(Hypertext Transfer Protocol Secure)의 약자입니다. HTTPS는 SSL 또는 TLS 위에 HTTP 프로토콜을 얹어 보안된 HTTP 통신을 하는 프로토콜입니다. HTTPS 프로토콜은 SSL(보안 소켓 계층)을 사용함으로써 이 문제를 해결했습니다. SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아줍니다. HTTP vs HTTPS.. 2023. 3. 22.
멀티 프로세스 Multi-Process 멀티 스레드 Multi-Thread 멀티 프로세스 (Multi-Process), 멀티 스레드 (Multi-Thread) 프로세스(Process) - 프로그램이 실행되어 메모리에 올라가 있는 상태, 이 상태를 프로세스라고 부른다. - 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. - 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. - 각 프로세스는 별도의 주소 공간에서 실행되며, 다른 프로세스에 접근이 불가하다. 쓰레드(Thread) - 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. - 스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code, Data, Heap 영역은 공유한다. - 한 스레드가 프로세스 자원을 변경하면, 다른 .. 2023. 3. 22.
OOP 객체지향 예제 예시 이해 의미 특징 OOP, 객체지향이란? 👉 실제 사물을 프로그래밍으로 옮겨와 모델링 하는 것 ✍️ 객체 지향의 4대 특징 1. 캡슐화 캡슐화는 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 은닉하는 것입니다. 객체의 직접적인 접근을 막고 외부에서 내부의 정보에 직접접근하거나 변경할 수 없고 객체가 제공하는 필드와 메소드를 통해서만 접근이 가능합니다. 2. 상속 자바에서의 상속은 하나의 클래스가 부모클래스의 속성과 행동을 얻게 되는 방법입니다. 상속은 코드의 재사용성과 유지보수를 위해 사용됩니다. 상속을 사용하기 위해서는 extends 키워드를 상속 받을 클래스에 명시하여 사용할 수 있습니다. 상속되는 클래스는 super 클래스라 부르고 새롭게 생성된 클래스를 sub 클래스라 합니다. 상.. 2023. 3. 22.
반응형