리눅스나 맥에서 터미널로 제공되는 쉘은 엄청난 편의성을 제공해준다. 윈도우즈 유저로 가장 부러운 부분. git을 직접 다운받아 설치하면 git bash가 깔리는데 요게 꽤 쏠쏠했기에 더 찾아봤다. 일단, MS가 공식적으로 지원하는걸로 WSL(Windows Subsystem for Linux)가 있다. 리눅스 터미널 쉘을 가장 근접해서 느낄 수 있고, 공식지원이라 좋지만, exe를 실행하려면 확장자까지 써줘야하고 환경변수 공유등 좀 복잡했다. git bash가 좀…
[글쓴이:] batmask
Design pattern: Singleton
singleton 패턴은 인스턴스가 단 하나만 존재해야할 때 사용한다. 관련예는 쉽게 찾아볼 수 있다. preference를 다루는 경우 그 자체가 global 성격을 가지기 때문에 쓸 수 있다. 게임개발에선 audio manager같은경우, 오디오 입출력을 단일화 하기위해 사용한다. 모바일기기의 HW 제어같은 경우 물리적으로 하나만 존재하기 때문에, singleton사용이 이상적이다. 사용방법은 좀 다르지만 안드로이드 공용자원인 시스템 서비스들 (LocationManager, NotificationManger, ConnectivityManager, LayoutInflater 등)의…
Design Pattern: Chain of Responsibility
Chain of Responsibility는 핸들러를 가진 객체가 요청을 받으면 자신이 처리할 요청인지 확인 후, 맞다면 처리하고 아니라면 다음 객체에게 전달한다. 전달받은 객체도 동일한 핸들러 인터페이스를 갖고 있으며, 전달받은 요청을 확인 후 마찬가지로 처리한다. 이렇게 핸들러들이 체인처럼 엮여서 마치 필터를 거치듯 필요한 객체까지 전달되어 처리되는 방식이 Chain of Responsibility Pattern이다. 이 패턴을 사용하는 곳은 아주 흔하게 보이는데,…
Design Pattern: Template Method
디자인 패턴 공부하면서 제일 중요하게 생각하고 있는 점이 실제 사용예이다. 제일 엿같은점이 커피머신이니, 스파게티니, 공구상점이니 이딴 개같은 예제들을 끌어와 설명하고 있는 부분이라서. 아니, 반복해서 마주치는 문제를 OOP로 설계하는 보편적인 방법들을 설명하면서 어떻게 실사용예 없이 그럴수가 있지? 그냥 오픈소스라도 좀 끌어와서 설명해야하는거 아니냐. Template Method도 실제 예가 없으면 그냥 가상클래스 상속받아 사용하는 generalization이 전부다. 의미부여가 안된다고….
DB에 발가락만 담가보자
개발경력이 대부분 모바일 환경이다보니, 오랜 경력에도 DB를 만져본적이 별로 없다. 안드로이드 앱만 개발해도 sqlite는 쓸텐데, 좀 심각하네. 대학때 배웠던 기억을 되살려보며 아주 간단한 사항만 기록해보려한다. 일단은 다루기쉬운 sqlite3만 고려한다. sqlite를 공부하기 좋은 곳은 tutorialspoint. 어 머야, 어설픈 튜토리얼 사이트보다 sqlite 개쩌는 튜토리얼 사이트가 있었네. https://www.sqlitetutorial.net/ 그냥 비교대상이 없다. 최고라서 살짝 추가함 ㅋ DB 생성 sqlite3를…