전체 글

전체 글

    [게시판 서버] 기본 게시판 기능 및 jwt

    https://github.com/sglee487/isolia-spring-api/tree/179da382bbc0f72b721e2a3a2570c0c69ab12b52 GitHub - sglee487/isolia-spring-api: change FastAPI to Spring boot change FastAPI to Spring boot. Contribute to sglee487/isolia-spring-api development by creating an account on GitHub. github.com 한 가지 문제가 있는데, 게시판을 작성하려면 로그인을 해야되고, 로그인을 기억해야 한다. 난 jwt를 사용했다. 그래서 jwt관련 코드 먼저 작성하려 했던 것 같다. 회원가입이나 로그인할 때 jwt..

    [게시판 서버] 기본 유저 기능

    https://github.com/sglee487/isolia-spring-api/tree/a361bbd46efc06231fce326236405b9300784743 GitHub - sglee487/isolia-spring-api: change FastAPI to Spring boot change FastAPI to Spring boot. Contribute to sglee487/isolia-spring-api development by creating an account on GitHub. github.com 일단 프로젝트 구조는 https://www.inflearn.com/course/java-to-kotlin-2/dashboard 실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java..

    [게시판 서버] 기존 서버 구조 파악하기

    https://github.com/sglee487/isolia_api GitHub - sglee487/isolia_api Contribute to sglee487/isolia_api development by creating an account on GitHub. github.com FastAPI로 만든 기존 서버를 Spring boot로 변환하는 작업이기에, 일단 기존 서버의 구조부터 파악해야 했다. 뭐가 있는가? jwt를 통한 자동로그인 구현용 /token/(은 귀찮아서 구현 안할거임), 기본적인 유저 회원가입, 로그인, 업데이트를 위한 /user/, 게시물 작성, 불러오기를 위한 /board/, 댓글 달기를 위한 /comment/ 로 4개가 있다(ws_router는 지뢰찾기를 위한 web socke..

    [게시판 서버] spring boot kotlin 서버 만든 과정 기록할라고 함

    https://isolia.shop/ Isolia isolia.shop https://github.com/sglee487/isolia GitHub - sglee487/isolia: https://isolia.shop/ https://isolia.shop/. Contribute to sglee487/isolia development by creating an account on GitHub. github.com https://github.com/sglee487/isolia_api GitHub - sglee487/isolia_api Contribute to sglee487/isolia_api development by creating an account on GitHub. github.com https://..

    부록 E. 코루틴과 Async/Await

    https://kotlinlang.org/docs/coroutines-guide.html Coroutines guide | Kotlin kotlinlang.org https://speakerdeck.com/taehwandev/kotlin-coroutines Kotlin coroutines Jetbrains day in seoul 2018 speakerdeck.com 비동기는 알면 유용하게 쓰인다... 코루틴은 원래 코틀린 기능이 아니었지만 1.3버전에서 정식 채용된 플러그인. # 수도코드 generator countdown(n) { while(n>0) { yield(n) n -= 1 } } for i in countdown(10) { println(i) } yield를 실행해서 실행하던걸 멈추고 메인루틴..

    11. DSL 만들기

    11장에서 다루는 내용 - 영역 특화 언어 만들기 - 수신 객체 지정 람다 사용 - invoke 관례 사용 - 기존 코틀린 DSL 예제 확장함수를 사용해서 함수를 자연어처럼 쓰는건 멋지긴 한데... 잘 안쓸것 같다. 근데 이것이 진짜 코틀린처럼 쓰는거라며 언어 제작자가 미는 느낌. 나중에 쓰게 된다면 그때 자세히 보는걸로 11.1 API에서 DSL로 일반 구문 간결한 구문 사용한 언어 특성 StringUtil.capitalize(s) s.capitalize() 확장 함수 1.to("one") 1 to one 중위 호출 set.add(2) set += 2 연사자 오버로딩 map.get("key") map["key"] get 메서드에 대한 관례 file.use({ f -> f.read() }) file.us..

    10. 애노테이션과 리플렉션

    (잘 이해가 안되서 이해한 부분 위주로만 작성한다. 나중에 코틀린에 익숙해지면 다시 읽고 오자) 10장에서 다루는 내용 - 애노테이션 적용과 정의 - 리플렉션을 사용해 실행 시점에 객체 내부 관찰 - 코틀린 실전 프로젝트 예제 실전 프로젝트란 https://github.com/yole/jkid GitHub - yole/jkid: JSON serialization/deserialization library for Kotlin data classes JSON serialization/deserialization library for Kotlin data classes - GitHub - yole/jkid: JSON serialization/deserialization library for Kotlin dat..

    9. 제네릭스

    9장에서 다루는 내용 - 제너릭 함수와 클래스를 정의하는 방법 - 타입 소거와 실체화한 타입 파라미터 - 선언 지점과 사용 지점 변성 기본적인 제너릭 개념과 타입끼리도 상하 관계가 있고, 함수 내에서만 자식용으로 쓰인다던지 역전된다던지 하는 아주 개판이다. 클래스를 많이 다뤄야지 이해할 수 있고 의미가 있는 장인 것 같다. 나중에 다시 와서 읽으라고 9.1 제너릭 타입 파라미터 는 자바와 비슷한 개념임. val readers1: MutableList = mutableListOf() val readers2 = mutableListOf() 위의 두 코드는 같다. 안에 element를 쥐어주면 컴파일러가 알아서 타입을 추론하지만, 빈 리스트일 경우는 추론할 만한게 없다보니 직접 타입을 지정해줘야 한다. 제너릭..

    8. 고차 함수: 파라미터와 반환 값으로 람다 사용

    8장에서 다루는 내용 - 함수타입 - 고차 함수와 코드를 구조화할 때 고차 함수를 사용하는 방법 - 인라인 함수 - 비로컬 return과 레이블 - 무명 함수 함수의 인자로 함수를 넘길 수 있는것과 람다에 대해 좀 더 알아보는 장이다. 8.1 고차 함수 정의 함수도 변수마냥 타입 지정해서 넘길 수 있다. 주로 람다 사용하는게 편해서 람다를 넘기는 거고. fun twoAndThree(operation: (Int, Int) -> Int) { val result = operation(2, 3) println("The result is $result") } twoAndThree { a, b -> a + b } // The result is 5 twoAndThree { a, b -> a * b } // The r..

    7. 연산자 오버로딩과 기타 관례

    7장부터 Part 2로 코틀린답게 사용하기가 시작된다.. 별개로 여기 장에서 중간에 나오는 철학이 일단 보기 편하게 작성하고, 확장해야할 때 그때 수정하자가 나온다. 0. 7장에서 다루는 내용 - 연산자 오버로딩 - 관례: 여러 연산을 지원하기 위해 특별한 이름이 붙은 메서드 - 위임 프로퍼티 기본적인 것들은 1부에서 다 했으니 고급 기본 알려주는 느낌? 7.1 산술 연산자 오버로딩 에 들어가기 전에 알아야 개념은 코틀린은 자바의 타입을 가져다 쓰며 자바를 홰손하지 않기 위해 코틀린으로 가져와 확장 함수 형태로 만들어 사용한다. +, -, +=, -=, ++, -- 이런것들 이런것들을 사용하려면 함수 앞에 저 기호를 사용하게 한다는 operator를 써야 한다. data class Point(val x:..