본문 바로가기
[Effective Java] 라이브러리를 배우고 사용하자. [Effective Java] 라이브러리를 배우고 사용하자. - 표준 라이브러리를 사용하면, 그것을 작성한 전문가들의 지식과 더 앞서 사용한 사람들의 경험을 이용하는 것이다. - 라이브러리를 사용하면 해결책을 작성하는 쓸데없는 시간을 낭비할 필요가 없다. - 라이브러리를 사용하면 우리의 노력 없이도 라이브러리의 성능이 지속적으로 개선된다. 또 새로운 기능이 계속 추가된다. - 라이브러리를 사용하면 우리 코드를 주류에 둠으로써 많은 개발자들에 의해 더욱 가독성이 좋아지고, 유지보수 가능하며, 재 사용 가능하게 된다. - 라이브러리를 사용하면 많은 장점이 있지만 많은 개발자들이 그렇게 하지 않는다. 원하는 기능이 라이브러리에 있는지 모르기 때문일 것이다. - 라이브러리는 너무 커서 모든 문서를 파악하기는 어.. 2017. 1. 30.
[라오스 방비엥] 또 다른 하이라이트!! 블루라군 #1 [라오스 방비엥] 또 다른 하이라이트!! 블루라군 #1 아침시장에서 롱안과 롱꽁을 신나게 까먹은 우리는,또 다른 라오스의, 그리고 방비엥의 하이라이트인 블루 라군으로 향한다. 블루라군의 라군은 원래 한국어로 "석호" 라고 하며,사주나 사취( 모래가 쌓여서 만드는 길 또는 벽) 의 발달로 바다와 격리된 호수를 가르키는 말이다. 즉 블루라군은 그런 형태의 파란 호수를 다 가리킬 수 있는 말인데,라오스의 블루라군은 고유명사로서 한 지역을 가르키는 것처럼 되었다. 그래서 그 의미에 충실한, 제 2의 블루라군이 방비엥에 생겼지만,아직은 제 1의 블루라군이 가장 인기가 좋은 것 같다. 블루라군에 가려면 남쏭(쏭 강)을 다리를 통해 건너야 하는데,방비엥 시내쪽에서 건널 때 한번에 통행료 왕복 티켓을 끊는 방식이다. .. 2017. 1. 12.
[Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 [Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 * 4.4.1. HTML 에서의 폼 -HTTP 프로토콜 중 폼에서 사용할 수 있는 HTTP 메소드는 GET 과 POST 뿐이다.장고는 이 중에서도 폼 처리에는 POST 방식만을 사용하고 있다.추가적으로 장고는 보안을 강화하기 위해 CSRF 방지 기능을 제공한다. * 4.4.2. 장고의 폼 기능 -장고는 폼 처리를 위해 다음 3가지 기능을 제공한다. 폼 생성에 필요한 데이터를 폼 클래스로 구조화하기 폼 클래스의 데이터를 랜더링하여 HTML 폼 만들기 사용자로부터 제출된 폼과 데이터를 수신하고 처리하기 -장고의 모델 클래스가 데이터베이스 테이블의 논리적인 구조 및 동작 기능, 우리에게 보여지는 방식들을 기술.. 2016. 12. 15.
[Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #1 [Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #1 -책을 읽으며 Remind 하는 내용, 핵심 내용, 모르던 내용을 정리한 것입니다. 예문 및 자세한 설명은 책을 구매하여 보세요~ * 4.1.1. 데이터 입력 및 수정 * 4.1.2. 필드 순서 변경하기 -테이블 데이터 변경이 아닌 테이블을 보여주는 UI 양식 변경은 admin.py 파일을 변경하면 된다.아래와 같이 순서에 대해 정의하는 admin.ModelAdmin 을 상속하는 녀석을 만들고, register 할 때 이 class 를 함께 전달하면 된다. class QuestionAdmin(admin.ModelAdmin): fields = [‘pub_date’, ‘qestion_text’].. 2016. 12. 13.
[Django] 파이썬 웹 프로그래밍 - Django 웹 프레임워크 #2 [Django] 파이썬 웹 프로그래밍 - Django 웹 프레임워크 #1 -프로젝트란 개발 대상이 되는 전체 프로그램을 의미하며,프로젝트를 몇 개의 기능 그룹으로 나누었을 때, 프로젝트의 하위 서브 프로그램을 앱이라 말한다.즉 서브 프로그램인 앱을 개발하고, 이들을 모아 프로젝트 개발을 완성하게 되는 것이다. 이런 개념으로 프로젝트 디렉토리와 앱 디렉토리를 구분하고,코딩하는 파일도 프로젝트 파일인지 앱 파일인지 구분해서 적절한 위치에 저장해야 한다. -중요한 점은 하나의 앱이 여러 개의 프로젝트에 포함될 수 있기 때문에,앱을 한 번만 개발하고 이를 다른 프로젝트에 재사용하여 개발의 생산성을 높일 수 있다.앱 단위로 이들을 모아 프로젝트로 만들고,프로젝트를 모아서 더 .. 2016. 12. 12.
[Effective Java] 가급적 상속(inheritance) 보다는 컴포지션(composition)을 사용하자. 가급적 상속(inheritance) 보다는 컴포지션(composition)을 사용하자. - 상속은 코드를 재사용하는 강력한 방법이다. 그러나 일을 하는데 가장 좋은 도구는 아니다. 잘못 사용하면 부실한 소프트웨어를 초래한다. - 동일 프로그래머가 서브 클래스와 수퍼 클래스의 구현을 관장하는 같은 패키지 내에서 상속을 사용하는 것은 안전하다 상속을 위해 특별히 설계되고 문서화된 클래스를 확장(extends) 하기 위해 상속을 사용하는 것도 안전하다. 그러나 다른 패키지에 걸쳐 일반적인 실체 클래스로부터 상속을 받는 것은 위험하다. - 상속은 캡슐화(encapsulation) 을 위배한다. 올바른 동작을 위해 서브 클래스는 자신의 수퍼 클래스가 구현하는 상세 내역에 의존한다. 수퍼 클래스의 구현 내역은 소프.. 2016. 10. 27.
[iOS Study] UITableView 와 UITableViewController [iOS Study] UITableView 와 UITableViewController 출처 : 아론 힐리가스의 iOS 프로그래밍 -UITableView 는 여러 행을 가질 수 있는 단일 열에 데이터를 보여준다. -UITableView 의 dataSource 는 UITableViewDataSource 프로토콜을 따르는 한 어떠한 Objective-C 객체든 될 수 있다. -UITableViewController 클래스의 인스턴스는 뷰 컨트롤러, 데이터 소스, 델리게이트의 세 가지 역할을 다 할 수 있다. -UITableViewController 는 UIViewController 의 하위 클래스이기 때문에 view 프로퍼티를 가진다.UITableViewController 의 view 는 언제나 UITable.. 2016. 2. 20.
[Effective Java] 불필요한 객체의 생성을 피하자. 불필요한 객체의 생성을 피하자. - 기능적으로 동일한 객체를 필요할 때마다 매번 새로 생성하기보다는 하나의 객체를 재사용하는 것이 좋을 때가 많다. 재사용을 하면 객체 생성에 소요되는 비용(시간과 자원)이 절감되어 실행 속도가 더 빨라지고 코드도 보기 좋게 작성할 수 있다. 불변(immutable) 객체는 항상 재사용이 가능하다. - 불 필요한 객체 생성을 막기 위한 첫번째 좋은 방법은 static 팩토리 메소드를 사용하는 것이다. - 불변객체가 아닌 가변객체더라도 상태가 변경되지 않는 것이 보장되면 재사용 가능하다. - 재사용을 막기 위한 static 팩토리 메소드에서 늦 초기화 ( lazy initialization ) 을 하는 경우가 있는데, 후에 다루겠지만 두드러진 성능 개선이 나타나진 않고, 오.. 2015. 4. 30.
황사마스크 효과, 가격, 세탁, 폐질환 예방 황사마스크 효과, 가격, 세탁, 폐질환 예방 중국에서 오는 초미세먼지 때문에 요즘 우리 나라가 곤욕을 겪고 있죠?미세먼지는 봄철에 날아오는 황사보다 훨씬 미세하여 호흡기에 더 치명적이라고 합니다.그래서 미세먼지를 방지하기 위해 마스크를 찾게 되는데...일반 마스크로는 황사는 물론 미세먼지를 막을 수 없다고 합니다. 일반 마스크는 보통 "방한용 마스크" 라고 불리며 찬 공기가 입 안으로 들어오는 것을 막아주는 정도 + 입자가 큰 먼지를 막아주는 역할만 해주죠. 황사 마스크라고 쓰여있는 녀석이여야 황사는 물론 미세먼지를 차단해준다고 합니다.단, 황사 마스크라고 쓰여 있어도, 식약의약품안전청에서 인정한 제품이여야 합니다.황사 마스크는 일반 방한마스크와는 달리 마스크에 정전기 효과가 있어마스크에서 미세먼지를 끌.. 2014. 3. 24.
반응형