728x90

개발 287

[Java] 검색

Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 3-1 검색 알고리즘 배열에서 검색하기 1. 선형 검색: 무작위로 늘어놓은 데이터 모임에서 검색을 수행 2. 이진 검색: 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행 3. 해시법: 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색 수행 - 체인 법: 같은 해시 값의 데이터를 선형 리스트로 연결하는 방법 - 오픈 주소법: 데이터를 위한 해시 값이 충돌할 때 재해시하는 방법 3-2 선형 검색 선형 검색 class SeqSearch { static int seqSearch(int[] a, int n, int key) { int i = 0; while(true) { if (i == n) return -1; //검색 실패 ..

[Java] 기본 자료구조

Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 2-1 배열 자료구조 - 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 - 데이터 단위는 데이터를 구성하는 한 덩어리 - 자료구조는 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법을 뜻함 배열 배열 요소의 최댓값 구하기 class MaxofArray { static int maxOf(int[] a) { int max = a[0]; for (int i = 1; i max) { max = a[i]; } } return max; } public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9..

[Java] 기본 알고리즘

Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 1-1 알고리즘이란? 세 값의 최댓값 - 3개의 값중 최대값 찾기 class Max3 { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); int c = scan.nextInt(); int max = a; if (b > max) max = b; if (c > max) max = c; System.out.println("최대값은 : " + max + "이다."); } - 연습문제 Q1 네 값의 최댓값을 구하는 max4 메소드 작성 static int max4(int a, int b, int c, int d) { int max = a; if (..

[Javascript] 함수 호출 방식에 의해 결정되는 this

모던 자바스크립트 Deep Dive 정리 - 자바스크립트의 함수는 호출될 때, 매개변수로 인수, arguments 객체, this를 전달 받는다. function square(number) { console.log(arguments); console.log(this); return number * number; } square(2); - 자바스크립트는 this에 바인딩되는 객체는 한가지가 아니라 해당 함수 호출 방식에 따라 this에 바인딩되는 객체가 달라진다. 함수 호출 방식과 this 바인딩 - 함수를 호출할 때 함수가 어떻게 호출되었는지에 따라 this에 바인딩할 객체가 동적으로 결정된다. - 함수의 호출 방식 1. 함수 호출 2. 메소드 호출 3. 생성자 함수 호출 4. apply/call/bin..

[Javascript] 매개변수 기본값, Rest 파라미터, Spread 문법, Rest/Spread 프로퍼티

모던 자바스크립트 Deep Dive 정리 1. 매개변수 기본값 - 함수 호출 시 매개변수 갯수 만큼 인수를 전달하는 것이 일반적 - 매개변수보다 인수의 갯수가 적어도 에러는 발생하지 않고, 그 매개변수는 undefined의 값을 가짐 - 매개변수를 확인할 필요가 있음 // 일반적인 표현 function sum(x, y) { // 매개변수의 값이 falsy value인 경우, 기본값을 할당한다. x = x || 0; y = y || 0; return x + y; } console.log(sum(1)); // 1 console.log(sum(1, 2)); // 3 // 간단한 표현 function sum2(x = 0, y = 0) { return x + y; } console.log(sum2(1)); // ..

SMTP 서버에 보안 연결이 필요하거나 클라이언트가 인증되지 않았습니다. 서버 응답: 5.7.0 Authentication Required. Learn more at

gmail을 이용한 메일 서비스가 어느 순간 에러를 뱉으면서 되지 않았다. 아무래도 구글 정책에 변화가 있던거 같아서 구글링 해본 결과 2단계 인증을 사용해서 앱 비밀번호를 생성해서 개발한 애플리케이션의 smtp 설정 쪽에 비밀번호 대신 앱 비밀번호를 넣어주면 된다고 해서 진행했다. 성공!

개발/ETC 2022.07.06

[Javascript] let, const와 블록 레벨 스코프

모던 자바스크립트 Deep Dive 정리 1. 함수 레벨 스코프(Function-level scope) - 함수의 코드 블록만을 스코프로 인정 - for 문의 변수 선언문에서 선언한 변수를 for 문의 코드 블록 외부에서 참조 가능 2. var 키워드 생략 허용 - 암묵적 전역 변수를 남발할 가능성 3. 변수 중복 선언 허용 - 의도하지 않은 변수값의 변경이 일어날 가능성 4. 변수 호이스팅 - 변수를 선언하기 이전에 참조 가능 이러한 단점을 보완하기 위해 var 대신 let, const 사용 1. let 1.1 블록 레벨 스코프 - 함수 레벨 스코프(Function-level scope) 함수 내에서 선언된 변수는 함수 내에서만 유효하며 함수 외부에서는 참조할 수 없다. 즉, 함수 내부에서 선언한 변수..

[HTTP] HTTP 메시지

HTTP 완벽가이드 읽은 후 정리 - 메시지 흐름 - HTTP 메시지 구성 - 요청, 응답 메시지 차이 - 요청 메시지가 지원하는 메소드 - 응답 메시지가 반환하는 상태 코드 - HTTP 헤더들이 하는 일 메시지의 흐름 - HTTP 메시지는 HTTP 애플리케이션 간에 주고 받은 데이터의 블록들 - 클라이언트, 서버, 프록시 사이에서 흐름 메시지는 원 서버 방향을 인바운드로 하여 송신 - 메시지가 원 서버로 향하는 것은 인바운드로 이동 - 모든 처리가 끝난 후 메시지가 사용자 에이전트로 돌아오는 것은 아웃바운드 - 다운스트림으로 흐르는 메시지 - 모든 메시지는 다운스트림으로 흐른다 - 발송자는 수신자의 업스트림 메시지의 각 부분 - 메시지는 시작줄, 헤더 블록, 본문 세 부분으로 이루어짐 - 시작줄은 어떤..

개발/ETC 2022.07.06

[Spring] 스프링 시큐리티 (2)

7.4 스프링 시큐리티의 기본 구조 7.4.1 SecurityContext, Authentication, GrantedAuthority - SecurityContext는 인증, 인가 정보를 관리하는 오브젝트 - SecurityContext는 Authentication 오브젝트를 소유하고 있음 - GrantedAuthority는 인가 정보를 나타내는 오브젝트 7.4.2 AuthenticationManager와 AccessDecisionManager - AuthenticationManager 오브젝트는 인증 처리를 실시하는 오브젝트 인증: 사용자의 신원을 검증하는 행위로서 보안 프로세스에서 첫 번째 단계 - AccessDecisionManager는 인가 처리를 실시하는 오브젝트 인가: 사용자에게 특정 리소스..

[HTTP] URL과 리소스

HTTP 완벽가이드 읽은 후 정리 목차 - URL 문법, 여러 URL 컴포넌트가 어떤 의미를 가지며 무엇을 수행하는지 - 여러 웹 클라이언트가 지원하는 상대 URL과 확장 URL 같은 단축 URL에 대해서 - URL의 인코딩과 문자규칙 - 여러 인터넷 정보 시스템에 적용되는 공통 URL 스킴 - 기존 이름은 유지하면서 객체들을 다른 장소에 옮기는 것을 가능하게 해주는 URN을 포함한 URL의 미래 인터넷의 리소스 탐색하기 - http는 url의 스킴 - www.joes-hardware.com은 서버의 위치 - /tools.html은 리소스의 경로 - url은 http프로토콜이 아닌 다른 프로토콜도 사용 가능 - mailto: ~ - ftp: ~ - rtsp: ~ URL 문법 스킴: 사용할 프로토콜 - h..

개발/ETC 2022.07.05
728x90