하루플스토리
Home
  • 전체보기 (253)
    • 개발 (104)
      • Android (68)
      • IOS (1)
      • 코딩테스트 (34)
      • 딥러닝 (1)
    • 블로그 (9)
      • 공지사항 (4)
      • 이슈, 유머 (5)
    • 일상 (17)
      • 일상 (9)
      • 전자제품 (7)
      • 사진 (1)
    • 메이플 (120)
      • 메이플스토리 (120)
Home
  • 전체보기 (253)
    • 개발 (104)
      • Android (68)
      • IOS (1)
      • 코딩테스트 (34)
      • 딥러닝 (1)
    • 블로그 (9)
      • 공지사항 (4)
      • 이슈, 유머 (5)
    • 일상 (17)
      • 일상 (9)
      • 전자제품 (7)
      • 사진 (1)
    • 메이플 (120)
      • 메이플스토리 (120)
블로그 내 검색
Github

하루플스토리

안드로이드 개발자 하루플 입니다 GitHub 놀러와주세요!😊

  • 개발/Android

    [이펙티브 코틀린] 상속보다는 컴포지션을 사용하라

    상속보다는 컴포지션을 사용하라 상속은 굉장히 강력한 기능으로 is-a 관계의 객체 계층 구조를 만들기 위해 설계되었다. 상속은 하나의 클래스만을 대상으로 할 수 있다. 상속을 사용해 행위를 추출하다 보면 많은 함수를 갖는 거대한 Base 클래스를 만들게 되고, 굉장히 깊고 복잡한 계층 구조가 만들어진다. 상속은 클래스의 모든 것을 가져오므로 불필요한 함수를 갖는 클래스가 만들어 질 수 있다. 상속은 코드를 이해하기 어렵게 할 수 있다. 슈퍼클래스를 여러번 확인해야할 수 있다. 그래서 대표적인 대안으로 컴포지션이 있다. 컴포지션을 사용한다는 것은 객체를 프로퍼티로 갖고, 함수를 호출하는 형태로 재사용하는 것을 의미한다. 상속은 슈퍼 클래스의 메서드, 제약, 행위 등 모든 것을 가져온다. 따라서 상속은 객체..

    2023. 4. 27.

  • 개발/Android

    [이펙티브 코틀린] API 안정성을 확인하라

    API 안정성을 확인하라 API가 변경되고, 개발자가 이를 업데이트 했다면 여러 코드를 수동으로 업데이트 해야한다. 많은 요소가 이 API에 의존하고 있다면 이는 큰 문제가 된다. 라이브러리의 작은 변경은 이를 활용하는 다른 코드들의 많은 부분을 변경하게 할 수 있다. 그래서 이전 라이브러리를 유지하는 경우가 있다. 오래된 라이브러리는 버그와 취약성이 발생할 수 있기 때문에 안정적인 라이브러리로 업데이트 하는 것을 두려워하면 안된다. 처음부터 안정적이지 않은 모듈을 많이 공부하는 것보다 안정적인 모듈부터 공부해보는게 좋다. API의 일부가 불안정하면 이를 개발자에게 명확히 알려줘야한다. 외부 API를 wrap 해서 사용하라 API 설계자가 안전하지 않다고 하거나 우리가 그것을 제대로 신뢰할 수 없다면, ..

    2023. 4. 18.

  • 블로그/공지사항

    [메이플러] 문의하기

    안녕하세요, 메이플러 개발자 하루플입니다. 메이플러 앱과 관련한 문의는 해당 게시글 댓글에 작성해주세요. 타 유저에게 문의 내용을 밝히기 싫은 경우 비밀 댓글 기능을 사용해주세요. 감사합니다.

    2023. 4. 15.

  • 개발/Android

    [이펙티브 코틀린] 추상화 설계

    4장 추상화 설계 OOP (객체지향 프로그래밍)에서 추상화는 세 가지 주요 개념 중에 하나이다. (추상화, 캡슐화, 상속) 추상화를 간단하게 표현하면 ‘복잡성을 숨기기 위해 사용되는 단순한 형식’ 을 의미한다. 인터페이스는 클래스라는 복잡한 것에서 메서드와 프로퍼티만 추출해서 간단하게 만들었으므로, 클래스의 추상화라고 할 수 있다. 많은 개발자는 프로그래밍에서 하는 모든 일이 추상화라는 것을 종종 잊는다. 숫자를 입력하면 내부에서 0, 1의 복잡한 형식으로 표현된다. 문자열은 UTF-8과 같은 복잡한 형식의 집합으로 표현된다. 이러한 것들이 모두 추상화 되어 있기 때문에 우리가 쉽게 사용할 수 있는 것이다. 강력한 프로그래밍 언어들이 당연히 갖고 있는 기능 중 하나는 공통 패턴에 이름을 붙여서 추상화를 ..

    2023. 4. 11.

  • 개발/Android

    [이펙티브 코틀린] 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라

    일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라 프로퍼티 위임을 사용하면 일반적인 프로퍼티의 행위를 추출해서 재사용 할 수 있다. 대표적인 예로 지연 프로퍼티가 있다. lazy는 이후에 처음 사용하는 요청이 들어올 때 초기화되는 프로퍼티다. val value by lazy { createValue() } 프로퍼티 위임으로 observable패턴을 쉽게 만들 수 있다. 프로퍼티 위임 메커니즈으로 다양한 패턴을 만들 수 있다. 좋은 예로 뷰, 리소스 바인딩, 의존성 주입, 데이터 바인딩 등이 있다. 일반적으로 이런 패턴을 사용할 때 자바 등에서는 어노테인션을 활용해야 하지만 코틀린은 프로퍼티 위임을 사용해 간단하고 type-safe하게 구현할 수 있다. private val button: Button b..

    2023. 4. 10.

  • 개발/Android

    [Kotlin] 안드로이드스튜디오 다양한 형식의 자료형 Intent 활용 방법

    안녕하세요, 하루플입니다. 여러 클래스간 데이터 공유는 Application을 활용하거나 ViewModel을 활용하는 등 여러가지 방법이 있습니다. 일반적으로 Activity에서 Activity 혹은 Fragment간 데이터 전송을 위해 Intent를 사용합니다. 흔히 사용하는 기본적인 자료형인 String, Boolean, Int 등은 Intent를 활용해서 다른 클래스로 쉽게 데이터를 전송할 수 있습니다. 일반 자료형 전송 방법 val intent = Intent(this, OtherClass::class.java) intent.putExtra("NUMBER_KEY", number) startActivity(intent) 데이터를 전송할 클래스에 putExtra 로 데이터를 넣어줍니다. 흔히 사용하는..

    2023. 4. 6.

  • 일상/일상

    [3월에 읽은 도서] 부동산 투자 필독서 30

    이번달도 어김없이 매달 책읽기 미션을 완수했다..! 매달 한 권씩 읽는게 생각보다 힘들군.. 예전에 부동산 한참 볼 적에 사두고 못보고 있었는데 드디어 봤다. 이걸 샀던 이유는 부동산 관련한 책이 시중에 널렸는데 사실 공부용으로는 내용이 다 거기서 거기라 볼만한 부분은 봤다고 생각했다. 내용이 겹치는거도 너무 많다. 부동산 정보 관련 내용을 주면 좋겠는데 삶에 대한 이야기나 자기계발서 느낌의 내용이 많이 나와서 다 읽고 싶지는 않았다. 여기서 거의 날먹급으로 책별로 내용이 정리되어 있길래 재미있어 보였다. 목차를 보면 알 수 있듯이 진짜 날먹이다. 똑같은 부동산, 돈 관련한 책이지만 사람들의 가치관이 다 달랐다. 한데 모아보니 더 차이가 느껴졌다. 누구는 경매로, 아파트로, 청약으로, 재건축으로, 빌라,..

    2023. 3. 28.

  • 개발/Android

    [Android] 이펙티브 코틀린 3장 재사용성

    3장 재사용성 안드로이드 뷰를 만드는 작업은 굉장히 간단하다. 이는 안드로이드가 복잡한 코드를 API로 간단하게 만들어주기 때문이다. 누군가 이러한 것을 한번 만들어 놓으면, 필요할 때 활용할 수 있는 것. 이것이 바로 프로그래밍 언어의 핵심 특징이라고 할 수 있는 재사용성이다. knowledge를 반복하여 사용하지 말라 프로젝트에서 이미 있던 코드를 복사해서 붙여넣고 있다면, 무언가가 잘못된 것이다. 프로그래밍에서 knowledge는 넓은 의미로 ‘의도적인 정보’를 뜻한다. 로직 : 프로그램이 어떠한 식으로 동작하는지와 프로그램이 어떻게 보이는지 공통 알고리즘 : 원하는 동작을 하기 위한 알고리즘 knowledge반복은 프로젝틑의 확장성을 막고 쉽게 깨지게 만든다. 단일 책임 원칙 : 코드를 추출해도 ..

    2023. 3. 20.

이전
1 2 3 4 5 6 ··· 32
다음
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
하루플스토리

티스토리툴바