일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 참새과
- 직박구리과
- 한국의 새
- 솔딱새과
- keras
- 비둘기과
- IBK기업은행 인턴
- 한국의새
- 비둘기목
- AI역량평가
- 백로과
- SimpleCraft
- 기러기목
- 가마우지과
- 흰날개해오라기
- 딥러닝공부
- 오리과
- 맑은소리 스피치학원
- 생일문제
- 딱다구리과
- AI전략게임
- 참새목
- 딥러닝 공부
- python3
- structured_array
- django
- 계수정렬
- Birthday paradox
- ADsP
- Python
- Today
- Total
목록전체 글 (121)
진박사의 일상
생일 문제 (Birthday Pradox) n명의 사람이 있을 때 그 중에서 같은 생일이 있는 사람이 있을 확률은 얼마나 될까? 생일은 365일 (윤년을 고려해도 366)일이므로 367명이 있어야 최소 한명은 확실하게 같은 날짜가 있다고 장담할 수 있을 것이다. 그러나 실제로는 그보다 훨씬 적은 인원에서도 같은 생일을 찾을 수 있다. 2명이 있을 때 그 중에 같은 생일이 있을 확률은 1 - (364/365) = 0.002739726027397249 3명이 있을때는 1 - (364/365)*(363/365) = 0.008204165884781345 이다. 이런식으로 파이썬으로 직접 계산을 해보았다. >>> p = 1.0 >>> for i in range(1,366): p *= (365-i)/365 prin..

Pointer subterfuge(포인터 속임수) == 포인터 값 변경 - 데이터 주소값이 변경되면 공격자가 원하는 코드가 실행되도록 바꿀 수 있음. Data Locations - 버퍼오버플로우로 포인터 덮어씌우기 가능 : 방지 (upper bound, lower bound, Hi, Lo, special marker(null같은) 제한) - 공격 가능 조건 : (1) 함수/데이터 포인터가 동일 세그먼트에 할당 or (2) 메모리 주소보다 낮은 위치에 존재 (3) 바운드체킹x Data declaration & Process memory organization UNIX의 메모리는 여러 세그먼트로 나뉨. 실행 가능은 data영역과 BSS영역 - data 세그먼트는 초기화된 전역변수랑 상수 포함 / BSS 영역..
10강 - SQL commands (INSERT, DELETE, UPDATE, View&Indexes) INSERT Statement - table에 new tupe을 추가 (table을 변경) - 타입 : 하나의 튜플 추가, 여러 튜플 추가 - 하나의 튜플 추가 : INSERT INTO VALUES(); - attribute value list의 순서는 table의 attribute 순서에 맞춰서 넣어줘야 함. EX) INSERT INTO EMPLOYEE VALUES ('Richard','K','Marini', '123456789', '1962-12-30', '98 Oak Foreast, Karty, TX', 'M', 37000,'987654321', 4); - 일부의 attribute만 넣어줄 수 있..
복잡한 SQL - Nested Queries - Aggregate Functions - Grouping Nested Queries(중첩 쿼리) - 하나의 쿼리의 WHERE절 안에 또다른 완전한 하나의 쿼리가 있는 경우. - WHERE 절 안에 있는 걸 'Inner query', 밖에 있는 걸 'Outer query'라고 함. - multiple level로 중첩 가능 - but 남용하면 perfomance 문제가 발생됨. - nested queries는 항상 un-nested(중첩 해제)할 수 있다. Q : last name이 Smith인 사람이 직원으로 참여하는 프로젝트이면서 프로젝트의 담당 부서의 매니저로서 참가하는 모든 프로젝트의 번호를 출력하시오. A : SELECT DISTINCT Pnumber..

Buffer Overflow - 매우 흔한 Attack Mechanism(1998년 Morris Worm부터 널리 이용) - 방지 기법이 잘 알려져 있음 -> 그럼에도 불구하고 OS 레거시 코드 또는 개발자의 부주의 때문에 여전히 문제 2004년까진 MS에 공격이 잦았으나 시큐어 코딩을 강조하고 자동 업데이트 덕분에 줄어들음 -> 대신 Flash나 Acrobat, 아래아한글 등 Application에 공격 Buffer Overflow/Buffer Overrun 정의 - 더 많은 input data를 buffer에 입력하여 그 주변의 데이터를 overwriting시키는 상태. 이를 이용하여 시스템을 crash시킬 수도 있고 해당 시스템을 조작하기 위해 설계된 코드를 삽입할 수도 있다. - 기본 : 고정 사..
문자열을 앞뒤로 번갈아가며 출력하는 프로그램을 작성하시오. [Java] import java.io.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); while(!input.equals("")){ System.out.print(input.charAt(0)); StringBuffer bf = new StringBuffer(input.substring(1, input.length())); input = bf.reverse().toString();..