본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


전체 글674

구글 마켓 정책 변경(2019) 얼마전 뉴스에서 아래와 같은 글이 실렸다. "구글 앱스토어 일방삭제 관련된 불공정 약관을 삭제한다." 와..개발자 입장에서는 얼마나 흥분되는(?) 소식인가. ​실제로 앱을 만들다 보면 버그나 기능 문제보다도..앱스토어에 등록 하였을 때 앱이 일방적으로 제거되는 상황을 더 자주 만났던 것 같다. 마켓에 잘 올려놨던 앱이 갑자기 제거되면서..메일로 아주 간단하게 "문제있으니 고치세요" 라는 메일을 받는게 전부였었는데.. 이번에 약관이 계정되면서 그런식으로 앱을 단번에 제거하는 것이 아니라, 먼저 문제를 알려주고 시정할 시간을 준다고 하니깐, 약간의 시간을 번 듯 하다. ​ * 구글 개발자 정책 https://play.google.com/intl/ko/about/developer-content-policy/#.. 2019. 5. 2.
디자인패턴 - 프로토타입 패턴 프로토타입 패턴은 한번 생성 된 객체가 자주 바뀌지 않고 공유되며 사용 될 때 주로 쓰인다. Cloneable 인터페이스를 상속 받은 추상 클래스를 1개 만들고 해당 추상클래스를 상속받는 클래스를 만든다. 그리고 상속받은 클래스를 관리하는 클래스를 1개 더 만들어 사용한다. 즉, A라는 Cloneable 인터페이스를 상속받은 클래스를 B, C 클래스가 구현하고 그러한 B,C를 D라는 클래스가 객체를 관리해서 사용하는 패턴이다. //상속받아 사용 할 클래스(A) abstract class Type implements Cloneable { public String text; //문자 public int number; //숫자 abstract void printer(); @Override public Obje.. 2019. 5. 2.
디자인패턴 - 빌더 패턴 빌더패턴은 필요한 변수, 옵션적인 변수를 골라 받기위한 패턴이다. 즉, 어떠한 기능을 가진 클래스가 필수적으로 받아야할 변수와 옵션형태(있던지 없던지)로 존재하는 변수를 사용자가 쉽게 적용하기 위한 패턴이다. 특히 이러한 패턴은 안드로이드 개발을 하다보면 자주 볼 수 있다. public class MyBuilder { private String must_important; //반드시 존재해야 되는 변수 private String text; //옵션 private String desc; //옵션 private int number; //옵션 //private로 new 로 객체가 생성되는 것을 방지 private MyBuilder(String must,String txt,String des, int num){.. 2019. 5. 2.
디자인패턴 - 싱글톤 패턴 싱글톤 패턴은..고정된 메모리 영역을 얻으면서 new를 한번만 실행하여 원하는 클래스를 사용하는 것을 의미한다. 이러한 싱글톤 패턴은..메모리 낭비를 방지할 수 있고 전역 객체이기 때문에 다른 클래스들이 데이터를 공유하기 쉽다. 또한 처음 이후에 다음번 이용시부터는 객체 로딩 시간이 현저하게 줄어 성능이 좋아지는 장점이 있다. 조심할 것은 멀티쓰레드환경에서 동기화처리를 안하면 인스턴스가 두개가 생성된다든지 하는 경우가 발생할 수 있다라는 점이다. 대표적인 싱글톤 모습으로는 그 유명한 Calendar 클래스가 되겠다. 그리고 스프링 프레임워크나 전자정부 프레임워크가 이러한 방식으로 빈객체를 관리한다. 싱글톤 객체를 활용하는 방법은 아래 예제와 같다. public class DesignPtn2 { stati.. 2019. 5. 2.
디자인패턴 - 팩토리 패턴 디자인 패턴은 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴으로 알려져 있으며 실제 자바, php, node.js 등등 여러 개발언어에서 자주 사용되는 개발방식이다. 그중 팩토리 패턴은 객제를 생성하는데 쉽고 편리하게 제공해주는 방법이라고 나와있다. 예제코드를 보면, public class DesignPtn1 { interface Body { //부모 void whoAreYou(); } static class Arm implements Body{ //자식1 @Override public void whoAreYou() { System.out.println("This is Arm"); } } static class Leg implements Body{ //자식2 @Ov.. 2019. 5. 2.
파라미터와 함께 파이썬 실행 사실, 파이썬 프로그래밍은 아~~주 예전에 opencv인가 한번 해보겠다고 겁없이 덤볐다가 포기한 기억이있는 언어였다. 파이썬으로 만들어진 어떠한 분석 프로그램을 돌리는 경우가 생겼는데.. 해당 분석프로그램을 만드신분이 개발자가 아닌(?)경우가 생겨서 어쩔수 없이 파이썬 쪽 개발지원을 하게 되었다. 파이썬으로 만든 프로그램을 파라미터와 함께 동작시키는 경우가 있었는데, 자바나 Node.js처럼 띄어쓰기로 파라미터를 구분하는 방식이어서 간단하였다. import sys if len(sys.argv) > 1: //바로 요부분 argv가 파라미터이다. try: if sys.argv[1] is not None : print(sys.argv[1]); except : print("An exception occurre.. 2019. 5. 2.