Programming

    Composable function

    구성 가능한 함수는 @Composable이라는 주석이 달린 일반 함수이다. 이렇게 하면 함수가 내부에서 다른 @Composable 함수를 호출할 수 있습니다. Greeting 함수를 @Composable로 어떻게 표시하는지 확인할 수 있습니다. 이 함수는 지정된 입력(String)을 표시하는 UI 계층 구조를 생성합니다. Text는 라이브러리에서 제공하는 구성 가능한 함수입니다.

    [Keras] AttributeError: 'Sequential' object has no attribute 'predict_classes'

    tensorflow 버전 2.6이후로 predict_classes가 없기 때문에 발생하는 오류이다. 따라서 predict_classes 대신 다음 코드로 대체하면 된다. # 오류 발생 predicted = model.predict_classes(y_test, verbose=0) # 오류 해결 y_prob = model.predict(y_test, verbose=0) predicted = y_prob.argmax(axis=-1)

    [Android] RecyclerView

    RecyclerView vs ListView RecyclerView는 ListView의 확장판으로 ListView 보다 향상된 성능을 제공하며, Adpater의 ViewHolder를 이용, RecyclerView 내의 View를 재활용하여 사용한다. ListView 는 사용자가 스크롤 할 때마다 위에 있던 뷰는 삭제되고, 맨 아래의 뷰는 생성되길 반복하여 cost가 매우 높아지게 되는 반면, RecyclerView에서는 아이템이 100000개를 넘어가더라도 화면에 보이는 정도의 View만 생성하고, 스크롤 할 때마다 삭제하지 않고 가장 아래의 아이템쪽으로 객체를 이동시켜 재사용하게 된다. RecyclerView는 상하 뿐만 아니라 좌우로도 스크롤이 가능하고(ListView에서는 불가능) 스크롤을 부드럽게..

    [Android] SharedPreferences

    안드로이드 앱 개발을 진행하다 보면 앱의 데이터들을 저장하여 관리해야 할 상황이 존재한다. 데이터의 양이 많거나 중요 데이터의 경우 서버나 DB에 저장해야겠지만, 간단한 설정 값이나 문자열 같은 데이터를 저장하기 위해 DB를 사용하기는 부담스럽기 때문에 SharedPreferences를 사용하는 것이 적합하다. SharedPreferences의 특징 보통 초기 설정값이나 자동 로그인 여부 등 간단한 값을 저장하기 위해 사용 Application에 파일 형태로 데이터를 저장한다. Application이 삭제되기 전까지 저장한 데이터가 보존된다. Key-value 방식 MODE의 종류 MODE_PRIVATE : 생성한 Application에서만 사용 가능하다. MODE_WORLD_READABLE : 외부 A..

    [Android] 유저 알림(Toast, Vibration, Beep)

    Toast 메세지 Toast는 사용자에게 짧은 메시지 형식으로 정보를 전달하는 팝업을 의미한다. 메시지를 표시할 공간만 차지하고 시간이 지나면 자동으로 사라지는 메시지이다. 메시지에 대한 사용자의 응답을 필요하지 않고 단순히 사용자에게 정보를 전달할 용도로 많이 사용된다. Toast 사용법 기본 Toast 메세지 출력 Toast 클래스의 makeText() 메서드를 통해 Toast 객체를 생성한뒤 makeText() 메서드의 매개변수 현재 context 정보, 토스트 메시지에 보여줄 문자열, 토스트 메시지의 지속 시간을 파라미터로 전달하여 객체를 생성한 후에 show() 메서드를 호출하여 토스트 알림을 표시한다. Toast.makeText(getApplicationContext(), "Toast Mess..

    [Android] Permission

    안드로이드에는 두 종류의 권한이 있다. 첫번째는 사용자에게 따로 권한 승인 여부를 묻지 않고, 설치 시간에 권한을 부여받을 수 있는 설치 시간 권한(Install-time permissions)이다. 이 종류에 해당하는 권한들은 Manifest에 선언하기만 하면 앱 설치와 동시에 사용할 수 있는 권한들이다. 두번째는 다이얼로그를 통해 사용자에게 직접 권한 승인을 요청하여 권한을 부여받는 런타임 권한(Runtime-permission)이다.주로 개인정보에 접근할 수 있는 권한을 런타임 권한으로 분류하고 있다. 주요 권한 종류 ACCESS_FINE_LOCATION : 정확한 위치 정보 액세스 ACCESS_NETWORK_STATE : 네트워크에 대한 정보 액세스 ACCESS_WIFI_STATE : 와이파이 네..

    [Kotlin] Data Class

    [Kotlin] Data Class

    data class는 일반 class와 달리, 다양한 메소드를 자동으로 생성해주는 클래스이다. Data Class 생성 시 같이 만들어지는 함수들 - hashCode() - copy() - equals() - toString() - componentsN() 또한 아래와 같은 여러 가지 다양한 특징을 갖고 있다. 기본 생성자에 1개 이상의 파라미터가 있어야 함 기본 생성자의 파라미터가 val 또는 var 로 선언해야 함 다른 클래스를 상속받을 수 없음 (슈퍼 클래스를 가질 수 없음)단, sealed 클래스는 상속받을 수 있으며, 인터페이스는 구현할 수 있음 abstract, open, sealed, inner 등 키워드를 붙일 수 없음 자동으로 생성한 메소드를 오버라이딩할 경우, 오버라이드 된 메소드 사용..