본문 바로가기
[Effective Objective-C] #18 가변 객체보다는 불변 객체를 사용하라 [Effective Objective-C] #18 가변 객체보다는 불변 객체를 사용하라 출처 : Effective Objective-C -프로퍼티를 기본 설정으로 두면 읽기 쓰기(read-write) 인데 이는 클래스를 가변적(mutable)로 만든다. -컬렉션이 가변 객체를 저장하고 집합(컬렉션)에 포함된 객체가 변형된다면, 집합의 내부 데이터 구조는 쉽게 불일치(inconsistent) 상태가 될 것이다.객체는 필요할 때만 가변적으로 만드는 것을 추천한다. -불변 객체를 만든다는 것은 프로퍼티를 외부에 읽기 전용으로 만든 다음 필요할 때만 데이터를 노출하는 것을 의미한다. -클래스를 불변으로 만들려면 모든 프로퍼티에 readonly 속성을 추가하면 된다.이제 무엇이든 프로퍼티 값을 변경하려 하면 컴파.. 2017. 8. 21.
[Server구축/Tutorial] Top 에 대한 이야기 [Server구축/Tutorial] Top 에 대한 이야기 -Linux 시스템의 자원인 CPU, Memory 등의 사용률을 살펴보는 명령어. -CPU 에서 %us 는 커널이 아닌 user 에 의한 점유율 %sy 는 커널(system)에 의해 사용되는 CPU 점유율 %id 는 유휴(idle) CPU -메모리는 물리 메모리와 Swap 메모리로 구성된다. Swap 항목 부분의 used 수치가 지속적으로 증가하면 시스템 메모리가 매우 부족한 상황 total 은 전체 메모리 용량을 의미 used 는 현재 사용되고 있는 메모리 용량 free 는 사용되지 않는 여유 메모리 용량 실제로 linux 서비스를 운영하다 보면 항상 free 수치가 급격히 줄어드는데, 이는 메모리 부족이 아니라 linux 커널의 특징이다.메모.. 2017. 5. 13.
버퍼 오버플로우 ( Buffer Overflow ) 버퍼 오버플로우 ( Buffer Overflow ) 일반 사용자 권한을 최고 관리자 권한으로 상승시킬 수 있고,원격 상의 다른 PC 의 접근 권한을 획득할 수도 있으며,문서파일, 이미지파일 등 실행파일 형태가 아닌 것을 마치 실행파일인 것처럼 조작해서 실행시킬 수도 있다. 버퍼 오버플로우가 범용적으로 적용시킬 수 있고, 그 효과도 강력하여이 기술을 습득한 해커는 가장 강력하고 위험한 무기를 가진 공격자와 같다. "만약 어떤 프로그램이 사용자로부터 키보드 입력을 요구하는 것이 있다면,그 프로그램의 다음 행동은 사용자가 입력한 내용에 따라 변할 수 있다." "버퍼 오버플로우 공격의 대상이 되는 프로그램들의 특징이 하나 있다.그것은 바로 그들은 사용자로부터 어떠한 입력을 받는다는 것.그 입력 값에 따라 프로그.. 2014. 11. 1.
반응형