본문 바로가기
[도서 정리] 06. 보안을 확보해야 하는 것 - 보안의 기본 06. 보안을 확보해야 하는 것 - 보안의 기본 * 보안을 확보해야 하는 이유 -1. 법으로 정해져 있다.2. 계약 사항에 들어 있기 때문에 이행해야 할 필요가 있다.3. 경제적 손해나 브랜드 이미지 훼손이 일어나지 않기 위해4. 자신을 보호하기 위해 * 보안이 확보되어야 하는 구체적인 예 -1. 개인정보, 주민등록번호2. 회사나 단체의 기밀 정보3. 회사가 운영하는 시스템4. 자신이 이용하는 은행의 결제 정보나 시스템의 인증 정보5. 등등 * 비지니스나 생활에 대한 영향을 고려한 보안 확보를 한다. -보안이 중요하다는 것은 많이 이야기하지만 ‘보안을 확보함으로써 불편해진다’ 또는 ‘본래 해야 할 것을 할 수 없게 된다’와 같은 상황에 빠져서는 주객이 전도되었다고 할 수 있다.실제 비지니스나 생활에 악영.. 2019. 10. 7.
Efficient Android Threading #4 메모리 관리 Efficient Android Threading #4 메모리 관리 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.6.1. 가비지 컬렉션 -각 프로세스(결과적으로 각 앱)는 자신만의 VM 과 가비지 컬렉터를 가진다. -진저브레드까지 안드로이드의 가비지 컬렉션은 메모리가 회수되는 동안 앱 실행이 중지되는 순차적 실행이었다.이는 UI rendering 의 일시적 멈춤으로 이어질 수 있었다.허니컴부터 GC 는 앱 스레드를 중지하지 않고 자체 스레드에서 동시적으로 실행된다. -달빅 GC 는 mark & swap 이라는 일반적인 두 단계 메커니즘을 사용한다.마크 단계는 객체 트리를 탐색하고 다른 객체에 의해 참조되지 않는 모든 미사.. 2018. 3. 20.
[Java Concurrency] 작업 실행 [Java Concurrency] 작업 실행 - 앱이 해야 할 일을 "작업"이라는 단위로 분할하면 프로그램의 구조를 간결하게 잡을 수 있고, 트랜잭션의 범위를 지정함으로써 오류에 효과적으로 대응할 수 있고, 작업 실행 부분의 병렬성을 자연스럽게 극대화 할 수 있다. 6.1. 스레드에서 작업 실행 - 프로그램에서 일어나는 일을 작업이라는 단위로 재구성하고자 한다면 가장 먼저 해야 할 일은 작업의 범위를 어디까지로 할 것인지 정하는 일이다. 원론적으로 보자면 작업은 완전히 독립적인 동작을 말한다. 독립성이 갖춰져 있어야 병렬성을 보장할 수 있다. 작업을 스케쥴링하거나 부하 분산(load balancing)을 하고자 할 때 폭넓은 유연성을 얻으려면 각 작업이 앱의 전체적인 업무 내용 가운데 충분히 작은 부분을.. 2017. 4. 24.
[Effective Java] Serializable 인터페이스를 분별력 있게 구현하자. [Effective Java] Serializable 인터페이스를 분별력 있게 구현하자. - 객체 직렬화(object serialization) API 는 객체를 바이트 스트림으로 인코딩하고, 인코딩된 바이트 스트림으로부터 객체를 복원(디코딩) 하는 프레임워크이다. - 객체를 바이트 스트림으로 인코딩하는 것을 직렬화(serializing)이라 하고, 그 반대의 절차를 역직렬화(deserializing)이라고 한다. - 객체가 일단 직렬화되면, 인코딩된 객체는 향후에 역직렬화 하기 위해 하나의 실행 중인 VM 에서 다른 VM 으로 전송되거나 디스크에 저장될 수 있다. 직렬화는 원격 통신을 위한 표준 통신 회선 수준의 객체 표현을 제공한다. 직렬화 프록시는 effective java 의 직렬화 주제중 가장 .. 2017. 3. 21.
[Effective Java] 잘 판단해서 최적화하자 [Effective Java] 잘 판단해서 최적화하자 - 최적화에 대한 명언이 있다. 더 많은 컴퓨팅 죄악이 다른 어떤 한 가지 이유(무지로 인한 어리석음을 포함해서)보다는 효율성(달성이 안 되는)의 이름으로 저질러진다. 사소한 효율성은 잊어야 한다. 97%의 시간에 대해 논하자. 성급한 최적화는 모든 죄악의 근원이다. 최적화에 관한 두 가지 규칙을 따르자. 규칙 1. 하지 말자. 규칙 2. (전문가에 한해서). 아직 하지 말자. 정말 최적화되지 않은 솔루션이 있을 때까지는. - 성급한 최적화는 얻는 것보다 잃는 것이 더 많기 쉽다. 최적화를 하면서 빠르지도 않고 제대로 동작하지도 않으며, 문제를 쉽게 해결하기도 어려운 소프트웨어를 만들기도 쉽다. - 성능 때문에 훌륭한 아키텍쳐 원리를 포기하지 말자. .. 2017. 2. 16.
[Effective Java] 클래스와 그 멤버의 접근성을 최소화하자. [Effective Java] 클래스와 그 멤버의 접근성을 최소화하자. - 잘 설계된 모듈과 그렇지 않은 것을 구분 짓는 가장 중요한 잣대는, 모듈 자신의 내부 데이터 및 그 외의 상세한 구현 부분을 다른 모듈로부터 어느 정도로 숨기느냐에 달려 있다. - 모듈은 자신의 API 를 통해서만 다른 모듈과 상호작용한다. 정보 은닉(information hiding) 또는 캡슐화(encapsulation)이 그것이다. - 정보 은닉은 시스템을 구성하는 모듈들 간의 결합도를 낮추어(decoupling) 모듈 별로 개발, 테스트, 최적화, 사용 및 수정이 가능하도록 한다. 또한 이렇게 하면 병행 개발 ( parallel development ) 를 할 수 있어 시스템 개발이 빨라진다. 모듈을 더 빨리 파악할 수 있.. 2016. 10. 17.
[책 정리] 적응하지 말 것 ( 나쁜 습관들이지 말자. ) - 1cm+ 적응하지 말 것 지속적인 비행기 소음에 적응하는 것춥거나 더운 날씨에 적응하는 것.엄마 잔소리에 적응하는 것.새로 이사 간 동네와 새 회사 시스템에 적응하는 것.아내의 형편없는 요리 솜씨에 적응하는 것... 은 생존을 위한 것이다. 소파 위 게으름과 인스턴트식품에 적응하는 것,매일 들리는 나쁜 뉴스에 적응하는 것.하루 두 번 거짓말하는 습관에 적응하는 것.상처 받는 것과 타인에게 상처 주는 것에 적응하는 것.실패와 좌절에 적응하는 것....은 생존을 위협하는 것이다. 모든 적응에 "응"이라고 답하진 말 것.자신을 빼앗기는, 더 나은 세상을 방해하는나쁜 적 "응"에는"아니오"라고 답할 수 있어야진짜 살아있는 삶을 선택할 수 있다. 2015. 6. 20.
system volume information 폴더 뭐하는 녀석인가? system volume information 폴더 뭐하는 녀석인가? 윈도우즈에서 숨김파일을 보면 system volume information 이라는 녀석이 숨어 있는데, 시스템이 이 녀석의 접근도 막아놔서 안에 뭐가 들어있는지도 모르겠다. research 를 해봤다. 이 녀석은 시스템 복원에 사용되는 내용을 담아놓은 일종의 backup 폴더이다.따라서 함부로 지우지 말자. 인터넷을 찾아보면 이 녀석을 삭제하는 방법도 찾을 수 있지만, 혹여나 어떤 프로그램을 깔거나 설정을 변경했을 때 윈도우가 먹통이 된다면 "복원" 이 아주 쉬운 해결방법이 될 수 있기 떄문에, 용량에 엄청 급한 case 가 아니라면 삭제하지 않길 권고한다. 포맷하는 것보다는 복구하는 것이 더 쉽고 스트레스도 덜 받으니..( 저용량의 .. 2014. 5. 9.
[linux] top 에 대한 많은 이야기. linux, Top 에 대한 많은 이야기. 참고 사이트 : http://bluelimn.tistory.com/740 실행 명령어 $ top [옵션] Top 의 출력 내용 분석 -top - 11:17:50 up 33 days, 18:22, 7 users, load average: 0.47, 0.72, 1.78 현재시간 / uptime / 로그인 유저수 / 로드 에버리지 로드 에버리지란? -Tasks: 190 total, 2 running, 185 sleeping, 2 stopped, 1 zombie 전체 프로세스 수 / 현재 실행중 프로세스 수 / 유휴 프로세스 수 / 정지상태 프로세스 / 좀비 프로세스 -Cpu(s): 0.3%us, 0.6%sy, 0.0%ni, 97.9%id, 0.0%wa, 0.5%hi,.. 2014. 3. 17.
반응형