-
빌더 패턴을 사용한 객체의 생성Java 2023. 3. 18. 16:50
빌더 패턴은 객체를 생성할 때 쓰이는 유용한 패턴입니다. 하지만 빌더에 대한 추가적인 구현이 필요해서 인지, 생각보다 많은 사람들이 빌더가 필요한 상황에서도 복잡한 생성자를 사용해서 객체를 생성합니다. 그리고 그에 대한 댓가로, 개발자의 파라미터 입력 실수에 의한 오류를 접합니다. 이 글에서는 Java 환경에서 생성자와 점층적 생성자, 그리고 빌더에 대해서 알아봅니다. 그리고 계층적 클래스 구조에서 빌더를 사용하는 방법에 대해서 설명하고자 합니다. 객체의 생성 빌더에 대해서 이야기 하기 전에, 먼저 객체를 생성하는 여러가지 방법에 대해서 알아보겠습니다. 생성자 가장 많이 사용하는 방법은 생성자를 통해 객체를 생성하는 것입니다. 생성자는 정의되어 있는 class 를 기반으로 객체를 생성하는 기본적인 방법이..
-
[Django + Celery + Redis] 비동기 태스크 구현하기Python 2019. 5. 15. 00:16
Redis 설치 공식 Redis 홈페이지의 메뉴얼에 따라 Redis를 다운로드하고 컴파일합니다. 컴파일이 정상적으로 완료되었는지 확인하고 싶다면 테스트를 진행해볼 수도 있습니다. $ wget http://download.redis.io/redis-stable.tar.gz $ tar xvzf redis-stable.tar.gz $ cd redis-stable $ make $ make test # optional 컴파일이 성공하였으면 설치를 진행합니다. 이 때, 설치는 PATH 환경변수가 /usr/local/bin 이라는 가정하에 진행됩니다. 그렇지 않다면, Option 2와 같은 방식으로 직접 복사를 하시면 됩니다. # Option 1 $ sudo make install # Option 2 $ sudo c..
-
[안드로이드] native c++ 컴파일 관련 정리Android 2019. 2. 16. 17:53
툴체인 선택 표 1. 다양한 명령 집합에 대한 APP_ABI 설정 아키텍처 툴체인 이름 ARM 기반 arm-linux-androideabi- x86 기반 x86- MIPS 기반 mipsel-linux-android- ARM64 기반 aarch64-linux-android- X86-64 기반 x86_64- MIPS64 기반 mips64el-linux-android- Sysroot 선택 SYSROOT=$NDK/platforms/android-21/arch-arm 컴파일러 호출 간단한 호출 다음은 NDK 내에 미리 빌드 되어있는 arm-linux-androideabi-4.8 툴체인을 이용한 빌드 방법이다. export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebu..
-
[MySQL] MySQL 5.7 table 생성, record 삽입, select 출력데이터베이스 2017. 11. 4. 23:12
먼저 mysql을 계정으로 접속해서 database를 생성하고, 생성한 database에 계정이 연결된 상태에서 명령어를 쉘에 입력한다. create table student( ID char(5), name varchar(20), dept_name varchar(20), tot_cred int, primary key(ID)); takes -> student, takes-> section 인 foreign key를 각각 가지므로, 이에 맞는 foreign key 설정 구문을 추가해주어야 한다. create table takes( ID char(5), course_id char(5), sec_id varchar(5), semester varchar(10), year year, grade varchar(2) ..
-
[MySQL] MySQL 5.7 user 생성, 권한 부여데이터베이스 2017. 11. 4. 20:51
localhost 기준으로, insert into user(host, user, authentication_string, ssl_cipher, x509_issuer, x509_subject) values('localhost', '계정', password('비밀번호'), '', '', ''); 127.0.0.1 기준으로, insert into user(host, user, authentication_string, ssl_cipher, x509_issuer, x509_subject) values('127.0.0.1', '계정', password('비밀번호'), '', '', ''); 외부접속을 기준으로, insert into user(host, user, authentication_string, ssl_ci..