본문 바로가기 메뉴 바로가기

개발자 박진 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

개발자 박진 블로그

검색하기 폼
  • 분류 전체보기 (173)
    • 내 정보 (1)
    • 회고 (1)
    • 개발 언어 (104)
      • 코틀린 (42)
      • 자바 (1)
      • NodeJS (21)
      • 파이썬 (6)
      • 기타 웹개발 지식 (34)
      • Vibe-Coding (0)
    • 프레임워크 (7)
      • 스프링 & 스프링 부트 (7)
    • 개발도구 (6)
      • 도커(Docker) (1)
      • k8s (1)
      • aws (4)
    • 디자인 패턴 (22)
    • 독서 (12)
      • 오브젝트 (5)
      • 객체지향의 사실과 오해 (7)
    • 기타 북마크 (13)
    • 이사 (4)
    • 기타 암거나 (2)
  • 방명록

코틀린 (31)
코틀린 고급편 - 어노테이션 & 리플렉션 활용

20강. 코틀린의 어노테이션어노테이션이란?어노테이션을 붙여 개발자에게 의견을 알리거나 특별한 일이 일어나도록 할 수 있음어노테이션 만드는 방법annotation class Shapeannotation class Shape( val test: String, val number: Int, val clazz: KClass)KClass코드로 작성한 클래스를 표현하는 클래스val kClass: KClass = Annotation::class@Retention우리의 어노테이션이 저장되고 유지되는 방식을 제어@Retention(AnnotationRetention.RUNTIME)annotation class ShapeRetention의 종류SOURCE: 어노테이션이 컴파일때만 존재BINARY: 어노테이..

개발 언어/코틀린 2024. 7. 18. 20:32
인프런 - 코틀린 고급편 (4) 연산자 오버로딩 & DSL

17강. 연산자 오버로딩연산자 오버로딩 특징operator키워드가 fun앞에 붙음함수의 이름과 파라미터가 정해져있음예시 - Pointdata class Point ( val x: Int, val y: Int) { fun zeroPointSymmetry() = Point(-x, -y)}fun main() { val point = Point(20, -10) println(point.zeroPointSymmetry())}zeroPointSymmetry() 메서드를 통해 점대칭을 구하고 있음하지만, 연산자 오버로딩을 통해 좀더 간단히 사용 가능unaryMinus(): 단항 마이더스 연산자data class Point ( val x: Int, val y: Int) { o..

개발 언어/코틀린 2024. 7. 11. 22:36
인프런 - 코틀린 고급편 (3) 함수형 프로그래밍 활용

13강. 고차 함수와 함수 리터럴고차함수파라미터로 함수를 받거나 함수를 반환하는 함수두 수를 연산하는 함수파라미터에 함수를 받고있음, 즉 고차함수임fun compute(num1: Int, num2: Int, op: (Int, Int) -> Int): Int { return op(num1, num2)}compute를 호출하는 방법람다식, 익명함수를 함숫값 또는 함수 리터럴이라고 함리터럴: 소스 코드의 고정된 값을 나타내는 방법fun main() { // 람다식 compute(5, 3) { a, b -> a + b } // 익명함수 compute(5, 3, fun(a: Int, b: Int) = a + b) // 익명함수 + 타입추론 compute(5, 3, fun(a, b..

개발 언어/코틀린 2024. 7. 4. 08:53
인프런 - 코틀린 고급편 (2) 지연과 위임

8강. lateinit, lazy()class Person( private val name: String) { val isKim: Boolean get() = this.name.startsWith("최") // 홍길동 -> 홍** val maskingName: String get() = name[0] + (1 until name.length).joinToString("") { "*" }}fun main() { val person = Person("홍길동")}클래스 인스턴스화가 이뤄지며 name에 '홍길동'이 들어감만약, 인스턴스화 시점과 프로퍼티 초기화 시점을 분리하고 싶다면?테스트 코드 작성테스트 코드의 특징은 각 테스트 메소드가 Person을 각각 ..

개발 언어/코틀린 2024. 7. 1. 07:31
인프런 - 코틀린 고급편 (1) 제네릭

1강 제네릭과 타입 파라미터Cage 클래스동물을 넣거나 꺼낼 수 있음methodsgetFirst() - 첫번째 동물을 가져옴put(animal) - 동물을 넣는다.moveFrom(cage) - 다른 cage에 있는 동물을 모두 가져온다.Codeclass Cage { private val animals: MutableList = mutableListOf() fun getFirst(): Animal { return this.animals.first() } fun put(animal: Animal) { this.animals.add(animal) } fun moveFrom(cage: Cage) { this.animals.addAll(cage..

개발 언어/코틀린 2024. 7. 1. 07:29
코틀린 & Spring Boot 2.1

개발 환경 Intelli J java 8 kotlin 1.2.71 mysql spring boot 2.1 spring data jpa gradle 설정 Intelli J 최신버전으로 유지해줘야 원활한 개발이 가능합니다. (사용 버전: 2019.1.3) Intelli J 코틀린 플러그인 설치 https://plugins.jetbrains.com/plugin/6954-kotlin/ Kotlin - Plugins | JetBrains The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. plugins.jetbrains.com 코틀린 프로젝트 생성 Intelli J → File → New Project → Spring I..

개발 언어/코틀린 2019. 6. 27. 15:07
이전 1 2 3 4 ··· 6 다음
이전 다음
250x250
최근에 올라온 글
최근에 달린 댓글
TAG
  • Coroutine
  • DevOps
  • 코틀린
  • 일기
  • CoroutineScope
  • nodejs
  • 웹개발
  • kotlin
  • Docker
  • 오브젝트
  • 파이썬
  • Spring Boot
  • 객체지향
  • 디자인패턴
  • 운동
  • async
  • 비동기프로그래밍
  • git
  • 자바스크립트
  • structured concurrency
more
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바