본문 바로가기
[실용주의 프로그래머] 가역성 [실용주의 프로그래머] 가역성 -당신이 가진 생각이 딱 하나밖에 없다면, 그것만큼 위험한 것은 없다. - 에밀 사르티에 -무언가를 구현하는 방법에는 여러 가지 길이 있고, 보통 하나의 솔루션에는 여러 벤더의 제품이 존재한다."이것은 이 방법으로만 해결할 수 있어"와 같은 근시안적인 생각을 갖고 프로젝트에 참여한다면 아마도 예상치 못했던 경우에 의해 한숨지을 일이 많을 것이다.많은 프로젝트 팀들이 프로젝트를 진행하면서 어쩔 수 없이 고통스럽게 그들의 근시안을 조금씩 수정하게 된다. 가역성 -유연하고, 적응 가능한 소프트웨어를 만드는 방법은 DRY 원리, 결합도 줄이기, 메타데이터 사용하기 등이 있다.이들을 따른다면 중요하면서도 되돌릴 수 없는 결정을 가능한 한 줄일 수 있게 될 것이다.이는 우리가 프로젝트.. 2018. 10. 1.
[실용주의 프로그래머] 직교성 [실용주의 프로그래머] 직교성 -설계, 빌드, 테스트 그리고 확장하기에 쉬운 시스템을 만드는 데에 있어 직교성(Orthogonality)은 매우 중요한 개념이다. 직교성이란 -컴퓨팅에서 이 용어는 일종의 독립성(independence)이나, 결합도 줄이기(decoupling)을 의미한다.하나가 바뀌어도 나머지에 어떤 영향도 주지 않으면 서로 직교한다고 할 수 있다. 비직교적인 시스템 직교성의 장점 -시스템의 컴포넌트들이 고도로 상호의존적인 경우, 특정 국지적 부분만 수정하는 방법이란 없다. “” 관련 없는 것들 간에 서로 영향이 없도록 하라. “” -컴포넌트들이 각기 격리(isolate)되어 있으면 어느 하나를 바꿀 때 나머지 것들을 걱정하지 않아도 된다.해당 컴포넌트의 외부 인터페이스를 바꾸지 않는 한.. 2018. 9. 30.
[실용주의 프로그래머] 중복의 해악 [실용주의 프로그래머] 중복의 해악 -대부분의 사람들은 유지보수가 버그를 고치고 기능을 개선하는 것을 의미하기 때문에, 앱이 출시되었을 때 비로소 유지보수가 시작된다고 믿는다.우리는 이들이 틀렸다고 생각한다.프로그래머들은 늘 유지보수 모드에 있다. 유지보수는 별개의 활동이 아니며, 전체 개발 과정의 일상적인 부분이다. -소프트웨어를 신뢰성 높게 개발하고, 개발을 이해하고 유지보수하기 쉽게 만드는 유일한 길은 우리가 DRY 원칙이라 부르는 것을 따르는 것뿐이라 생각한다.DRY 원칙이란 이것이다. "모든 지식은 시스템 내에서 단일하고, 애매하지 않고, 정말로 믿을만한 표현 양식을 가져야 한다." DRY 는 반복하지 마라, Don’t repeat yourself 의 약자이다. -똑같은 것이 두 군데 이상에 표.. 2018. 9. 29.
통신 3사 (SKT, KT, LGU+) USIM 다운로드 방법 통신 3사 (SKT, KT, LGU+) USIM 다운로드 방법 -USIM 다운로드 중간에 전원이 나가면 USIM 이 맛탱이가 갈 수 있으니단말에 충분한 배터리를 확보하던지, 충전기를 꽂고 진행하는 것을 추천한다. -OEM Dialer (전화앱) 을 실행시킨다.후후나 T전화 같은 앱에서 특별히 지원을 한다면 가능하겠지만 지원하지 않을 확률이 높다. -USIM 의 통신사에 맞게 아래 번호를 입력한다. SKT : #758353266#646#KT : *147359*682*LGU+ : #5487587#682# -입력이 완료되면 "USIM 을 다운로드하시겠습니까?" 라는 팝업이 나온다."예" 를 선택하면 다운로드와 재부팅을 알아서 진행한다.완료될 때까지 폰을 건드리지 않는 것이 좋다. kt, kt usim down.. 2018. 9. 12.
[암호학] RSA 에 대해 간단히 알아보자 [암호학] RSA 에 대해 간단히 알아보자 -RSA 는 공개키 암호시스템의 하나로, 암호화 & 전자서명에 대한 최초의 알고리즘이다. -RSA 는 이 알고리즘을 체계화한 세 사람의 이니셜을 딴 것이다. -RSA 는 키 생성, 암호화 이 두가지가 핵심 과정이다. -(구체적인 내용은 모르겠지만) RSA 암호쳬게의 안정성은 큰 숫자를 소인수 분해하기 어렵다는 것이 기반을 둔다.그래서 큰 수의 소인수 분해를 획기적으로 빠르게 할 수 있는 알고리즘이 발견되면 이 암호 체계는 가치가 떨어질 것이다.( 양자 컴퓨터 시대가 도래하면 가장 크게 위기를 맞을 암호 체계라고 한다. RSA 768bit 은 2009년도에 깨졌다고 한다. ) -RSA 는 두 개의 키를 사용한다.키는 메시지를 암호화하는 상수(Public Key)와.. 2018. 5. 12.
[보안] 디지털 서명 ( Digital Signature ) [보안] 디지털 서명 ( Digital Signature ) -공용 키 시스템에서 송신자의 신원을 증명하는 방법으로송신자가 자신의 비밀키로 암호화한 메시지를 수신자가 송신자의 공용 키로 해독하는 것을 이야기한다. -디지털 서명은 보통 3개의 알고리즘으로 구성된다. 공개 키 쌍을 생성하는 생성 알고리즘 서명자의 개인 키를 사용하여 서명을 생성하는 알고리즘 서명자의 공개키를 이용하여 서명을 검증하는 알고리즘. 2018. 5. 3.
[network] SSL 에 대해 알아보장~ [network] SSL 에 대해 알아보장~ 기본 개념 -SSL 은 Secure Sockets Layer 의 약자 -SSL 은 서버 인증 (Server Authentication), 클라이언트 인증 (Client Authentication) 그리고 데이터 암호화(Data Encryption) 이렇게 3가지 기능을 제공하는 프로토콜이다.Netscape 사에서 만들었다. -SSL 을 사용하는 URL 은 https 라는 스킴을 사용한다. -SSL 3.0 의 업그레이드 버전부터는 TLS 로 이름이 바뀌었다.TLS 는 Transport Layer Security 의 약자. -1. 웹브라우저가 SSL 로 암호화된 페이지를 요청한다. (https scheme 사용)2. 웹 서버가 public key 를 인증서와 함께.. 2018. 5. 2.
[보안] MAC, DAC, RBAC [보안] MAC, DAC, RBAC MAC -강제적 접근통제라고 불리며, 영문으로는 Mandatory Access Control 이다. -사용자들은 자원에 대한 권한을 관리자로부터 부여받는다. -> 이것은 보안 레이블(Security Label)에 써진다.그리고 오직 관리자만이 객체와 자원들에 대한 권한을 할당할 수 있다.또한 관리자만이 객체의 보안 레벨 또는 사용자 보안등급을 수정할 수 있다. -정보 시스템 내에서 어떤 주체가 어떤 객체에 접근하려 할 때 보안레이블 정보에 기초하여 높은 보안을 요하는 정보가 낮은 보안수준의 주체에게 노출되지 않도록 접근을 제한하는 접근 통제 방법 -DAC 에 비해 향상된 보안방법이기는 하지만,객체단위 세밀한 권한 설정이 어렵다. DAC -임의적 접근 통제라고 불리며, .. 2018. 5. 1.
starUML 에서 static method or static field 마킹하는 방법 starUML 에서 static method or static field 마킹하는 방법 UML 에서 static method 나 static field 는 underline 처리되어 표시된다. starUML 에서 static 으로 마킹하고 싶은 method 나 field를 선택하고, [Properties] - [Detail] - [OwnerScope] 를 INSTANCE 에서 CLASSIFIER 로 바꿔주면 된다. classifier, detail, instance, ownerscope, properties, StarUML, staruml static field, starUML 에서 static method or static field 마킹하는 방법, static field, static method, .. 2018. 4. 2.
반응형