유용한 팁 14

앱과 정보 보안

APP에서 일반 텍스트나 다른 데이터들을 읽기 쉽도록 모바일 디바이스에 저장하는 일은 되도록 삼가 - APP에서 어떤 유형의 데이터를 저장, 생성, 교환할 것인가를 결정 - APP에서 재사용 가능한 암호화 루틴을 몇가지 보유(AES 등). 프로젝트 내에서 포함할 수 있도록 분리된 라이브러리 형태로 유지 - 각각의 애플리케이션에서 다른 키를 생성한다.길고 예측하기 어려운 비밀 키 생성 알고리즘을 통해 키를 생성 - 데이터를 생성하거나 저장할 때 암호화한다.

유용한 팁 2014.12.03

함수의 선언과 정의의 차이점

1. 선언의 형식반환형 함수이름(매개변수들); 2. 정의의 형식반환형 함수이름(매개변수들){ 내용;} 3. 선언은 그러한 함수가 있다고 알리는 것이고 정의는 그 함수의 실제 내용을 만드는 것입니다.4. 정의는 선언을 겸합니다.5. 정의되어 있지 않은 함수를 선언하고 호출하는 코드가 포함된 프로그램을 빌드하면 컴파일은 됩니다만 링크 시에 해당 함수의 실체를 찾을 수 없으므로 링크 오류가 발생합니다.6. 함수가 정의되어 있더라도 선언되어 있지 않으면 이를 호출할 수 없습니다. 이는 컴파일 오류를 발생시킵니다.여기서 상기할 것은 정의는 선언을 겸한다고 한 것입니다.즉, 선언 또는 정의한 곳 이후의 위치에서 해당 함수를 호출할 수 있다는 의미입니다.예를 들면, 함수를 별도로 선언하는 것이 귀찮을 때 main 함..

유용한 팁 2012.11.27

[스크랩]GPL/LGPL/MPL/BSD 라이선스

출처 : http://yundarz.egloos.com/9142824 GPL GPL(General Public License)은 MPL이 나오기 이전에 가장 널리 사용되던 공개 소프트웨어 라이선스였다. GPL은 OSS의 가장 대표적인 라이선스로 GNU 프로젝트 소프트웨어를 배포할 때 사용되는 것이었지만 이후에는 GNU 프로젝트로 시작된 것이 아닌 다른 소프트웨어에도 광범위하게 사용되고 있다. GPL은 리차드 스톨만에 의해 만들어졌고 자유 소프트웨어 재단의 철학을 반영하고 있다. 소프트웨어를 복제하거나 유통하는데 제약은 없지만 몇 가지 조건을 만족시켜야 한다. 사용자가 소스 코드를 쉽게 사용할 수 있어야 하며 배포되는 소프트웨어에는 GNU GPL이 포함되어 있어야 한다. 그리고 쌍방향 프로그램의 경우 프로..

유용한 팁 2012.09.19

오버로딩과 오버라이딩

오버로딩 -한 클래스 내에서 같은 이름의 매서드를 여러개 정의하는 것을 오버로딩-기존에 없는 새로운 매서드를 정의, 한 객체가 상황에 따란 다른 의미를 가질 수 있도록 하는 것-매서드의 이름이 같아야 하고, 매개변수의 개수 또는 타입이 달라야 하며, 배개변수 명이 같고리턴 타임이 다른 경우는 오버로딩이 성립되지 않는다-오버로딩된 매서드들은 매개변수에 의해서만 구별 오버라이딩 -상속받은 매서드의 내용을 변경하는 것-주로 서브클래스에 맞게 고쳐서 사용, 상속된 메소드와 동일한 이름, 인자를 가진 메소드를 정의하여 덫어 씌움-오버라이드를 하기 위해서는 상위 클래스의 메소드와 이름이 같아야 하고, 매개변수 타입과 개수, 리턴타임이같아야 하며, 상위 클래스보다 좁은 접근지정자를 사용할 수 없다. http://bl..

유용한 팁 2012.09.17

[프로그래밍] 프로세스와 스레드

http://blog.naver.com/elecengine?Redirect=Log&logNo=80048364012 http://ask.nate.com/knote/view.html?num=3557610http://blog.naver.com/jsj776655?Redirect=Log&logNo=60163128190 프로세스(Process) 컴퓨터 내에서 실행중인 프로그램, 할당받은 자신만의 자원을 가지고,CPU가 기계어 명령들을 실행함에 따라 끊임없이 변화하는 동적인 존재.코드(Code),데이터(Data),힙(Heap),스택(Stack) 스레드(Thread) 실제적으로 명령어가 CPU를 사용하여 실행되어지는 객체의 단위.하나의 프로세스에서 여러개의 스레드가 실행될 수 있으면 최초에 프로세스가 생성될때 메인 스..

유용한 팁 2012.09.06

XML, JSON, BSON, MSGPACK 장,단점 비교

* 출처 : 포씨소프트(http://www.4csoft.com)사내 게시판 [XML] * 장점 1. 나온지 10년이 넘어 엄청나게 널리 쓰이고 있음 * 단점 1. 의미를 확인하기 위한 불필요한 TEXT(시작태그 및 닫는태그 등)가 포함 됨2. DTO를 사용하기 위해선 반드시 파싱과정을 거쳐야 함 [JSON] * 장점 1. 대부분의 언어별 lib지원 2. 불필요한 XML대비 TEXT가 없어 패킷용량 감소 3. 대부분의 언어의 기본 Collection type으로 바로 사용 가능 [BSON] * 장점 1. JSON 내용을 Binary로 변환하여 패킷용량 감소 * 단점 1. 아직 JSON이나 XML만큼의 다양한 언어 LIB는 지원하지 않음 [MSGPACK] * 장점 1. JSON보다 훨씬 빠른 속도(BJON비..

유용한 팁 2012.09.05

[JAVA]HashMap

http://iilii.egloos.com/4457500 HashMap란? (Hap인터페이스의 한종류로써 Key와 Value 값으로 데이터를 저장하는 형태) [참고] 1. Map인터페이스 key,value 를 매핑하는 객체로 List 형태의 조상2. Map종류 : Hashtable, HasMap, LinkedHasMap, SortedMap, TreeMap 장점 : -해싱(hashing)이란 검색 방법을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보여줌. 1) 해싱 (Hashing)의 정의- 해싱 함수 (Hashing Function)를 이용하여 레코드키에 대한 해시 테이블 (Hash Table) 내이 홈 주소 (Home Address)를 계산하여 주어진 레코드에 접근하는 방식이다..

유용한 팁 2012.09.05

[JAVA] 내부 클래스(inner class)

내부클래스(inner class) 1.내부클래스(inner class)란? (클래스 내에 선언된 클래스) 클래스에 다른 클래스를 선언하는 이유 : 두 클래스가 서로 긴밀한 관계이 있기 때문 내부클래스의 장점- 내부클래스에서 외부클래스의 멤버들을 쉽게 접근할 수 있다.- 코드의 복잡성을 줄일 수 있다.(외부에는 불필요한 클래스를 감춤) [참고] 내부 클래스는 JDK 1.1버전 이후에 추가된 개념이다. 2.내부클래스의 종류(변수의 선언위치에 따른)와 특징 1)인스턴스클래스(instance class) -외부 클래스의 멤버변수 선언위치에 선언, 외부클래스의 인스턴스멤버처럼 다루어짐.-외부 클래스의 인스턴스 멤버들과 관련된 작업에 사용될 목적으로 선언. 2)스태틱클래스(static class) -외부 클래스의 ..

유용한 팁 2012.09.05