개발 상식 (13) 썸네일형 리스트형 해시테이블이란? ( What is a hash table?) 해시 테이블은 (Key, Value)로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있는 자료 구조이다. 해시 테이블이 빠른 검색속도를 제공하는 이유는 내부적으로 배열(버킷)을 사용하여 데이터를 저장하기 때문이다. 해시 테이블은 각각의 key값에 해시함수를 적용해 배열의 고유한 index를 생성하고, 이 index를 활용해 값을 저장하거나 검색한다. 해시테이블의 시간 복잡도 : O(1) but 데이터 충돌이 발생한 경우 Chaning에 연결된 리스트까지 검색해야하므로 O(N) 까지 시가나복잡도가 증가할 수 있다. 데이터 충돌 시 해결법 1. Linear Probing index 뒤에 있는 버킷 중 빈 버킷을 찾아서 데이터를 넣는 방식 2. Chaning 자료구조를 활용해 추가 메모리를.. 텔넷이란? (Telnet) Telnet 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을 수 있도록 하는 인터넷 표준 프로토콜 보안 문제로 사용률이 감소하고 원격 제어를 위해 SSH로 대체되는 추세 텔넷과 SSH의 차이? 텔넷은 byte 스트림형식으로 정보를 주고 받음 ssh는 DES, RSA 등 고급 암호화를 통해 통신을 함 ssh는 암호화 뿐이 아닌 압축 기술도 사용하는데, 암호화 때문에 트래픽이 텔넷보다 크게 늘어나지 않는다고 합니다. 단지 약간의 부하가 더 생긴다고 합니다. 데이터베이스(DB) 종류 오늘은 DB의 종류에 대해서 포스팅해보겠습니다. 사실 안드로이드 개발자이기 때문에 SQLite 만 사용하긴 하지만 (사실 몇번 안사용해봄) 예전에 한창 취업 준비를 할 때 취업 면접 문제로 데이터 베이스의 종류에 대해서 얘기하고 어떤 프로젝트엔 무엇을 사용하고 이런 것에 대한 질문이 있었다고 들었어요. 사실 그때는 준비를 안했는데 그냥 살면서 궁금하더라고요. 언제 뭐를 쓰는걸까? 싶어서요. 개발자 사이에서 대충 알아는 들어야겠다 싶어서 준비한 컨텐츠 입니다. 데이터베이스의 종류는 크게 두가지로 나누어 집니다. 관계형 데이터베이스 (RDBS), NoSQL(Not Only SQL) (계층형, 네트워크형 등등 여러가지가 있지만 대표적인 것은 위에 두가지!) 관계형 데이터베이스 대학 시절 정처기 및 쪽지 시험 .. 인프라란? 제가 지금은 안드로이드 개발을 하고 있지만, 2년 전에 인턴 생활은 네트워크 엔지니어로 했습니다. 경험해보면서 이런저런 것을 겪고 지금은 안드로이드 개발을 하고 있지만 그 당시에 사둔 서적을 공부할 겸 오늘은 인프라에 대해서 포스팅하도록 하겠습니다. 시스템 = 애플리케이션 + 인프라 애플리케이션은 요즘 스마트폰때문에 다들 익숙하시죠? 특정 업무에 맞게 개발된 소프트웨어를 애플리케이션이라고 칭합니다. 그렇다면 인프라는 무엇일까요? 일단은 Infrastructure의 약어입니다. 다음 어학사전에 검색해보면 아래와 같은 결과가 나옵니다. infrastructure 1. 인프라 2.시설 3. 기반 4. 사회간접자본 알듯 모를 듯 모르겠네요 ㅎㅎ.. 여기서 3번째 의미로 봐주시면 될 것 같아요. 하부 조직의 기반.. SSL 이란? SSL ( Secure Socket Layer) SSL은 또한 웹 서버 인증, 서버 인증이라고 불리는데, 클라이언트와 서버 간의 통신을 제 3자가 보증해주는 전자화된 문서다. 클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달한다. 클라이언트는 이 인증서 정보가 신뢰할 수 있는 것인지를 검증한 후에 다음 절차를 수행하게 된다. 이는 해커가 개인 정보 및 금융 정보를 포함한 전송되는 모든 정보를 열람하거나 훔치는 것을 방지한다. Netscape사에서 웹서버와 웹브라우저간의 보안을 위해 만들어졌으며, 공개키/개인키 대칭키 기반으로 사용한다. https로 통신하는 웹사이트를 이용하다보면 인증서를 확인할 수 있다. 이 인증서에는 인증서의 해당 사이트의 공개키와 사이트의 정보들이 있다... 이전 1 2 다음