일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 블로그 이전했어요
- MapReduce 실습
- 문자열 조작
- leetcode 561
- leetcode 121
- docker로 airflow 설치하기
- Hadoop
- 머신러닝
- Hortonworks Sandbox
- leetcode 819
- 컴퓨터구조
- leetcode 15
- 데이터레이크와 데이터웨어하우스
- leetcode 234
- leetcode
- webcrawler
- leetcode 5
- leetcode 937
- Python
- leetcode 238
- airflow docker
- 배열
- leetcode125
- wargame.kr
- ctf-d
- leetcode 49
- 올바른 변수명 짓기
- 스파크 완벽 가이드
- 빅데이터를 지탱하는 기술
- leetcode 344
- Today
- Total
목록Programming (18)
HyeM

WebCrawler1_ 학교 홈페이지 웹크롤러 == 기능 == 학과 전공이 모여있는 학교 홈페이지에서, 학과&전공의 이름과, 학과 홈페이지 링크를 출력해준다. 학과 홈페이지가 없는 경우에는 '홈페이지가 존재하지 않음'을 띄우고, 있는 경우에는, 해당 홈페이지 링크를 출력해준다. 학과 홈페이지의 링크를 얻기 위해선, 학교 홈페이지(www.swu.ac.kr/www/swuniversity.html) 에 있는 각 학과 버튼을 통해, 페이지 이동이 필요하다. ↑ 크롤링 할 페이지 : www.swu.ac.kr/www/swuniversity.html ↑ 코드를 통해 접근해야 하는 페이지↑ == 코드 == https://github.com/KimHyeMin0207/Web-Crawler/blob/master/swuWeb..
UP&Down 게임 == 규칙 == 프로그램 시작시, 이전 기록을 불러온다. 프로그램 실행시, 게임시작과 기록확인 게임종료 의 총 3가지 메뉴가 뜬다. 2번 기록확인은 그 동안의 게임 기록을 확인할 수 있다. 1번 게임시작을 누르면, 10번의 기회동안 1~100까지의 숫자를 맞추면 된다. 입력한 숫자에 따라, UP과 Down을 처리해주고, 입력할 숫자 범위를 알려준다. ( 범위를 벗어난 값 입력시, 다시 입력받는다. ) 성공했을 때, 이전 기록보다 최고 기록일 경우 "최고기록 갱신이라는 메시지를 출력과 함께,닉네임을 입력받는다. 그러면 컴퓨터는 닉네임과 최고점수를 저장한다. 게임을 종료하면 txt 파일에 그 동안의 게임 기록을 저장한다. == 사용한 기능 == 1. 함수이용 2. 파일 입출력 == 코드 ..
>>> x=[1,2,3] >>> x.append(4) >>> x [1, 2, 3, 4] >>> x.append([5,6,7,8,9,10]) >>> x [1, 2, 3, 4, [5, 6, 7, 8, 9, 10]] append : 리스트의 마지막에 인자값을 추가한다. 어떤 자료형도 추가 가능하다.(리스트도 가능) >>> x=[4,3,5,1,2] >>> x.sort() >>> x [1, 2, 3, 4, 5] >>> >>> x=['a','c','e','f','b'] >>> x.sort() >>> x ['a', 'b', 'c', 'e', 'f'] sort : 리스트 정렬함수 - 숫자면 오름차순 정렬 - 알파벳은 알파벳 순서로 정렬 (a, b, c ...) >>> x=['a','c','b','e','d'] >>> ..
문자개수 출력함수 >>> w="I want to eat apple" >>> print(w.count('p')) >>> print(w.count('q')) 2 0 count : 문자 개수를 세는 함수 - 문자가 있다면 : (개수) - 문자가 없다면 : 0 문자 위치 출력함수 >>> w="I want to eat apple" >>> print(w.find('w')) 2 >>> print(w.find('q')) -1 >>> >>> print(w.index('w')) 2 >>> print(w.index('q')) Traceback (most recent call last): line 8, in print(w.index('q')) ValueError: substring not found find : 문자 위치를 ..
More Effective C++의 항목 16에서 20까지를 문서화함.
More Effective C++의 항목 16에서 20까지를 문서화 한 파일이다.
항목 14 : 예외지정 기능은 냉철하게 사용하자 예외지정 : Java처럼 그 함수가 발생시킬 예외를 미리 지정하는 기능 > 장점 1. 코드보기 수월 2. 예외사용을 적절히 제약해줌 예외지정에 일관성이 없으면 컴파일러가 컴파일 도중에 발견해 줌. > 단점 - 함수가 예외 지정 리스트에 없는 예외를 발생시킬 경우, 런타임 에러가 발생하면서 unexpected라는 특수함수가 자동으로 호출됨 -> 결국, 프로그램이 멈추고, 활성 스택 프레임에 만들어진 지역변수는 없어지지 않는다. * unexpected 함수는 terminate를 호출하여, 멈춰버린다. - 다른 호출 측 함수에서 예외처리 코드가 준비된 상황에서조차도 unexpected가 호출될 수 있다. 예외 지정 불일치 피하기 방법 1. ( 보통 타입 인자를 ..

항목 13 : 발생한 예외는 참조자로 받아내자 catch문 작성시, 예외객체가 전달되는 방식 1 포인터 2 값 3 참조자에 의한 전달(예외받기) TIP! : 문제점 : 해결점 1. 포인터 예외를 포인터로 발생시, 객체의 복사 X 위의 코드는 완벽하지 않다. 프로그램 흐름이 떠나더라도, 예외 객체가 그대로 남아 있을 수 있는 방법이 필요하다. 이에 대한 대안은 힙 객체를 새로 만들고, 그 객체의 포인터를 예외로 발생시킨다. 이로써 위의 문제는 해결되지만, catch문으로 들어온 포인터를 삭제하느냐 마느냐의 문제가 생긴다. 만약 예외객체가 원래부터 힙에 할당되지 않은 것이면, 메모리 해제를 해선 안된다. 하지만 이를 알 수 있는 방법이 없으므로, 이런 경우는 피하는 것이 좋다. 또한 '포인터에 의한 예외잡기..