전체 글

전체 글

    day 8. 코틀린의 함수형 프로그래밍

    https://mangkyu.tistory.com/111 [프로그래밍] 함수형 프로그래밍(Functional Programming) 이란? 1. 함수형 프로그래밍(Functional Programming)에 대한 이해 [ 프로그래밍 패러다임(Programming Paradigm) ] 프로그래밍 패러다임(Programming Paradigm)은 프로그래머에게 프로그래밍의 관점을 갖게 하고 코드를.. mangkyu.tistory.com https://medium.com/@sket8993/kotlin-%ED%95%A8%EC%88%98%ED%98%95-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%B4%88%EA%B0%84%EB%8B%A8-%EC%9D%B4%ED%95%..

    코틀린 행렬 만들기

    val board : Array = Array(8) { row -> Array(8) { col -> null } } val dp = Array(prices.size) { Array(3) { 987654321 } } 배열 val array = Array(100 - 2 + 1, { i -> i + 2 }) //2~100 배열 생성

    day 7 클래스 상속

    return this.file == other.file && this.rank == other.rank 체스 만드는건데 이거 가지고 클래스 상속을 코틀린에서 연습해봤다. 어제 다른사람이 한거 따라해서 try catch로 예외처리도 해봤음. enum으로 상수 처리를 할 수 있다는데 이건 몰라서 안했다. 내일 잘 봐야지. 어제꺼 정규표현식 정규표현식 기초 https://poqw.tistory.com/26 "코딩용으로 monospaced font 고정폭 글꼴을 한 번 찾아보세요. 공개된게 많이 있습니다." import java.util.regex.Pattern if(Pattern.matches("[A-H][0-9]->[A-Z][1-8]", input)){ enum string으로 사용하는 방법 등 '\u265..

    day 6 xml, html parser 만드는데 너무 어려웠음

    정규식 참고 사이트 튜토리얼 형식 https://regexone.com/lesson/introduction_abcs 디버깅 (제일 좋았음) https://regex101.com/ 쉽게 그림으로 보여준다고 함 https://regexper.com/ XML은 어떤 구조인가 http://tcpschool.com/xml/xml_basic_structure 피어세션 when String의 first() 메소드 Stack은 간단하니까 직접 구현 가능. 초기 pointer -1로 하고 더하고 빼주고 mutablelist에서 add, pop 사용 가능하니까 .iterator(), hasNext 공백 지우기 trim() \t makespace 정의해서 만들기 visited를 통해 i를 얼마나 하네 마네 할 필요 없다. ..

    폴더 만들기

    os.makedirs(SAVE_FOLDER, exist_ok=True) import os from datetime import datetime from pytz import timezone now_str = datetime.now(timezone('Asia/Seoul')).strftime("%Y-%m-%d_%H-%M-%S") SAVE_FOLDER = os.path.join("exp", now_str) os.makedirs(SAVE_FOLDER, exist_ok=True)

    day4. 공간 할당의 어려움..

    그냥 어려웠음.. map을 도배하면서 만들었는데 정석은 아닌 것 같다. 함수가 끝나면 stack에 있는 내용들은 다 사라진다. heap에는 남음. 그래서 연결되어 있지 않은데 heap에 남아있는 애들은 garbage collection으로 회수한다. 스스로 확인할 사항 구현한 각 함수 동작이 정상적으로 동작하는지 확인하기 위해서 어떤 방식으로 테스트했는지 정리한다. 여러가지 예시 직접 넣어보고 예상대로 동작하는지 확인했다. 안되면 디버그해서 변수는 어떻게 변하는지, list엔 내가 의도했던대로 값이 들어가있는지 등.. 일반적인 프로세스 메모리 모델에 대해 학습하고 정리한다. JVM에서 가비지 콜랙터(Garbage Collector)에 대해 학습한다. memory heap 구간에서 연결이 끊어져있는거면 사..

    Day3. 코틀린 외부 라이브러리 불러와서 해보기.

    dependencies에 내가 사용하고 싶은 외부 라이브러리를 적으면 오른쪽 위에 새로고침하는게 뜨는게 그거 누르면 설치되는 것 같다. 그럼 import해서 쓰면 된다. 관련 내용은 공식 document를 참고하거나 검색해서 사용하면 된다. 참고로 위의 것은 Jsoup이니까 https://jsoup.org/ 여길 참고하면서 작성했다. 피어세션 하면서.. 처음부터 함수로 쪼개는게 힘들면 일단 만들어놓고 나누는 방법도 있다. data class도 있다. 요구사항 잘 보기. 함수 이름 잘 정하자. 의도에 따라 제목을 다르게. MutableLIst 말고 LinkedList도 있다. 실행시간이 더 짧다고 하니까 한번 써봐야겠다. class 파일로 만들어서 구분. private fun 주석하는거 class 위에 정..

    웹 크롤러 / 스크래핑 , bot management

    크롤러란 무엇인가 https://www.cloudflare.com/ko-kr/learning/bots/what-is-a-web-crawler/ 그냥 브라우저로 들어오는 사람과 달리 http 요청해서 받는 도구?. 요청하면 html 들어오니까 이거 이용하는 거겠지. bot management는 뭔가 https://www.cloudflare.com/ko-kr/learning/bots/what-is-bot-management/ 검색엔진이 사이트가 검색했을 때의 해당 정보를 담고있는지 아닌지 알아내야 하는데 주변에서 가장 많이 링크되어있는 사이트를 신뢰할 수 있는 사이트라고 판단하고 탐색하는 등 자기만의 방법으로 어떤 사이트인지 알아내는게 bot. 근데 좋은 bot과 나쁜 bot이 있음. 좋은 bot은 유저 성..

    shell로 되는거

    변수 저장 가능 매개변수 받기 가능 조건문 가능 명령실행 가능 (실행한걸 변수로 저장하는 것도 가능) 다른 명령 실행해서 그 결과 저장 가능 정도 인듯. 더 많은것 같다. 사실상 유사 언어가 아닌가. 1. 변수 저장 기능, 2. 매개변수 받기 가능 3. 조건문 가능 4. 명령 실행 가능, 5. 다른 명령 실행해서 그 결과 저장 가능 이 외에도 빈 파일을 만드는 touch, 이전 실행 출력이 다음 실행의 입력이 되는 pipe ( | grep .. ), 키보드 입력받는 read, 반복, 비교, 문자열 비교/패턴, 파일/디렉터리/문자열 테스트(진짜 있는지, 문자열이 있는지, 권한이 있는지), 등 많다. 필요할 때 이게 가능한가? 싶으면 여기 와서 검색하며 확인해보자.