목록전체 글 (49)
Today I Learned
퀵 정렬 30,35,50,45,10,20,70 ㄴ 피벗 : 30 -피벗이 제자리를 잡도록 하여 정렬하는 방식- 분할 후 : 왼쪽 부분배열의 모든 값

분할 - 배열을 동일한 크기의 두개의 부분배열로 분할 정복 - 각각의 부분배열을 순환적으로 정렬한 후 결합 - 정렬된 두 부분배열을 합병하여 하하나의 정렬된 배열을 만듦 합병정렬 -주어진 배열을 동일한 크기의 두 부분 배열로 분할 -정렬된 두부분 배열을 합쳐서 하나의 정렬된 배열을 만듦 순서 절반으로 나누고 왼쪽 먼저 다 해결하고 오른쪽 함 더이상 나눌 수 없을 때까지 나누고 그다음 합병 주어진 배열이 하나가 될때까지 분할만 이루어짐 그다음 단계는 합병이 수행됨 데이터를 정렬하기 위해서는 입력데이터 개수 n만큼의 추가 저장장소가 필요하다 /이런 알고리즘 : 제자리정렬알고리즘이 아님
욕심쟁이 알고리즘 여러단계를 거칠 때 각 단계에서 최선의 선택을 함 욕심쟁이 방법으로 해를 구할 수 없는 문제도 많다 "물체를 쪼개서 넣을 수 있다" 라는 가정이 있어야 욕심쟁이 알고리즘을 사용해서 해결할 수 있다. 배낭문제 어떻게 몇개를 넣어야 배낭의 물건의 이익의 합이 최대가 되겠는가? -> 물체의 무게는 적으면서도 이익이 가장 큰 물체부터 골라서 욕심을 내어 최대한 넣는다 -> 단위 무게당 이익이 가장 큰 물체부터 최대한 배낭에 넣은 과정을 반복 -> 남은 배낭의 용량만큼 물체를 쪼개서 넣는다 ex) M = 10 n=4 (p1,p2,p3,p4)=((14,15,20,9) (w1,w2,w3,w40=(4,3,5,3) 단위 무게당 이익 구하기 -> 이익/무게 순서 대로 배낭에 넣기 0/1배낭문제 : 물체를..
함수 : 특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램 표준 함수 : C언어에서 자체적으로 제공하는 함수 사용자 정의 함수 : 사용자가 정의하여 사용하는 함수 표준 출력함수 : 자료의 출력을 위해 C언어에서 제공하는 함수 표준 입력함수 : 자료의 입력을 위해 C언어에서 제공하는 함수 1.표준입출력함수 - 표준함수 : c언어 자체에서 제공하는 함수 - 사용자 정의함수 : 사용자가 정의하여 사용하는 함수 : 화면에 출력 printf() putchar() puts() : 키보드를 통해 입력 scanf() getchar() gets()
2강 상수(constant) : 값이 한번 정해지면 그 값을 변경할 수 없는 수 변수(variable) : 프로그램 실행도중 변할 수 있는 값이 저장되는 기억공간을 의미 자료형(data type) : 사용하는 자료의 형태 초기화 : 선언된 변수에 특정 값을 부여하는 것 선행처리기 : 컴파일하기 전에 미리 수행되어야 할 처리기 ----------------------------------------------------------- 1. 상수와 변수 2.자료형과 변수 선언 3.선행처리기 : 컴파일러를 하기 전 단계, 용도와 기능 1. 상수와 변수 - 자료형 : -프로그램에서 사용하는 자료의 형태 -상수와 변수로 구분하여 사용 -프로그램에서 자료처리를 위해서는 - 자료의 생성과 저장,처리과정이 필요 - c프..

jsp에서 데이터 저장시 공유하는 영역 - 언제까지 가지고 있는지 페이지 : 해당 page에서만 유지 / page객체 잘 안쓰는 이유 - 변수쓰면 되서, 저장기간이 너무 짧아서 안씀 request : 클라이언트의 요청이 처리되는 동안 / 두세페이지 정도 유지 Session : 세션이 유지되는 동안 / 없애지 않는 한 살아있고 로그아웃하거나 브라우저끄거나 브라우저 바꾸거나 하면 저장내용 없어짐 Application :서버가 꺼질때까지 계속 유지됨. 브라우저를 끄든 브라우저를 바꾸든 유지되고, 서버가 꺼질때까지 계속 저장 - 이런 이유로 사용하기 위험하고, 저장기간이 너무 길어서 안씀 - 서버 꺼질 때 까지 영역에 저장이 유지 되어야하는 경우 씀 / 서버에 저장 되는 객체이기 때문에 session과 사용법 ..
프로그래머스 스쿨 sql 고득점 Kit 문제 https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit select #1. 문제 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요 SELECT TO_CHAR(SALES_DATE, 'YYYY-MM-DD'..

Spring Security 는 입력 값을 SHA-256 알고리즘을 사용하는 해시 함수를 이용하여 암호화 시켜 준다. - input 값을 넣으면 어떤 계산에 의해 output 을 반환하는 것이 해시 함수(Hash Function) 이다. - 이때 output 은 해시(Hash) 이라고 한다. - Hash 는 output 을 통해서 input 을 추론할 수 없다. 이것을 우리는 “비가역적” 이라고 한다. - 객체화 하는 방식, 빈으로 등록하는 방식 - spring sequrity에서는 같은 평문을 넣어도 각기 다른 해쉬문을 반환한다(sault) - 그래서 입력된 평문이 맞는지 확인하기 위해서는 제공되는 메서드를 사용 해야 한다. 단방향 암호화 sha-256 1234로 넣으면 이상한 글자로 알려줌 : 원문을..

build란? 개발한 소스를 실행 가능한 프로그램으로 변환하는 작업 우리는 지금까지 한번도 톰캣을 실행한 적이 없음, 실제 빌드를 한게 아님 - 복사해서 임시파일에 저장해놓고 쓰는 방식이었다. 개발이 다 끝나고 나면 실제 동작할 수 있는 와르 war파일을 만든다. 실제로 톰캣에서 동작해봐야 끝! 1. 맥북으로 톰캣 실행하기 경로 들어가기 cd apache-tomcat-9.0.62/bin 명령어 입력 $sudo ./startup.sh 참고 블로그 : https://jjam89.tistory.com/61 2. 종료하기 명령어 입력 : sudo sh 비밀번호 입력 /톰캣폴더 위치/apache-tomcat-9.0.62/bin/shutdown.sh 참고 블로그 : https://wickedmagic.tistory..
Scheduler 주기적인 반복작업을 위해 사용(스레드는 편리하나 구현하는데 다소 복잡할 수 있다, 특히 반복주기를 ms로만 정해야해서 요일 등의 주기를 잡기가 어렵다) 별도 라이브러리 없이 스프링에서 제공 실행과 중지를 마음대로 할 수 없다. 사용 방법 1. appservlet폴더 밑에 설정파일 추가 (요청이 들어오면 할거니까) - new - Spring Bean Configuration File - bean, task에 체크 *두가지 방식을 혼용하는 것은 위험하다* 어노테이션 방식 : 편하지만 수정할 때 번거롭다. 스케쥴 내용이 고정된다면 어노테이션 방식을 사용하는게 훨씬 편함. 빈 등록 방식 : 스케쥴 내용이 수시로 바뀌는건 빈 등록이 더 편하고,엔지니어에게 수정 요청하기 편함. 이 방법을 많이 ..