본문 바로가기

공부17

Python - 멤버 변수를 출력하는 다양한 방법 Python에서 클래스의 멤버 변수들을 출력하는 방법들이 있다.보통 dir함수를 많이 사용한다.class MyClass: def __init__(self): self.a = 1c = MyClass()print(dir(c))하지만 출력결과를 보면 참담하다. 내가 만든 a라는 프로퍼티 외에도 다른 것들이 출력되고 있다.['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__re.. 2024. 6. 17.
Python - 데코레이터(decorator)를 알아보자 파이썬에 ‘@’키워드가 뭔지 궁금했다. 알고보니 데코레이터라는 거라고 한다.데코레이터란?@classmethod, @staticmethod, @property과 같이 ‘@’키워드가 붙은 건 전부 파이썬의 데코레이터이다.또, 데코레이터는 함수를 장식할 수 있다는 특징이 있다.데코레이터는 fastapi로 서버를 만들때나 discord봇을 만들 때 사용하는 걸 봤다. getter, setter를 구현할때도 쓰인다. 앞으로 많이 사용할 것 같으니 그 원리를 정확하게 이해하고 가자!이 데코레이터라는 것을 한번 만들어보자.def log(func): def wrapper(*args, **kwargs): print(f'start {func.__name__} function') func(*a.. 2024. 6. 17.
Android - android:exported=”true”는 무엇일까? AndroidManifest.xml 파일에서 컴포넌트 코드를 보면 종종 exported속성이 설정 되어 있는 것을 볼 수 있다. 도대체 android:exported=”true”는 뭘까? 이번 포스팅에서 알아보자. ... Android 공식 문서에 보면 다음과 같이 나와있다.android:exported 속성은 다른 애플리케이션의 구성요소에서 실행할 수 있는 구성요소(활동, 서비스, broadcast receiver 등)인지를 설정합니다.true인 경우 모든 앱이 활동에 액세스할 수 있고 활동의 정확한 클래스 이름으로 활동을 실행할 수 있습니다.false인 경우 같은 애플리케이션에 있는 구성요소나 동일한 사용자 ID를 가진 애플리케이션 또는 권한이 있는 시스.. 2024. 6. 15.
Android - 인텐트(Intent) 완전 정복 인텐트란 무엇인가?지난 글에서 컴포넌트(Component)는 독립적이고 그렇기 때문에 이 컴포넌트는 시스템에 의해 실행된다고 말했다. 컴포넌트에서 다른 컴포넌트를 직접적으로 제어하지 않는다는 말이다.이때 시스템에게 ‘OO컴포넌트 좀 제어해주세요~’라고 메세지를 보내야 하는데 이 메세지가 바로 인텐트(Intent)이다. 인텐트에 데이터를 담아서 다른 컴포넌트로 보낼 수도 있다.인텐트 사용해보기인텐트를 사용하기 전에 두 액티비티를 만들어주자. 두 액티비티 간의 화면 전환에서 인텐트를 사용할 것이기 때문이다. 화면은 어떻게 만들든 상관없지만 나는 MainActivity에 화면 전환용 버튼을 그렸다.코드는 버튼을 클릭하면 (1) 인텐트 생성 후 (2) startActi.. 2024. 6. 14.