본문 바로가기

개발용어

(14)
알아두면 좋은 개발 용어 12 (LDAP) 회사 업무를 하는 중 저 멀리서 LDAP 이라는 소리를 들었는데, LDAP이 뭐지? 라는 생각에 글을 작성해봅니다. LDAP에 대해서 몇 개의 블로그나 글을 찾아봤는데, 썩 맘에 드는 것이 없었습니다. 제가 굳이 표준이나 프로토콜에 대해서 알 필요는 없고, 대충 뭐하는지만 알면 되거든요. 제가 개발자가 아니니까요. LDAP 정의는 아래와 같습니다. LDAP(Lightweight Directory Access Protocol) 네트워크 상에서 조직이나, 조직 내 파일/개인정보/디바이스 정보 들을 찾아볼 수 있도록 하는 프로토콜로 사용자, 시스템, 네트워크, 서비스, 애플리케이션 등의 정보를 트리 구조로 저장하여 조회하거나 관리하도록 함 삽입/수정 보다는 검색에 특화되어 있음 계층적 구조(트리 구조)로 되어..
알아두면 좋은 개발용어 11 (쿼리스트링) 쿼리스트링! 개발자분이 말하길래, 대충 우야무야 넘어갔더니 내가 생각하는 방향이랑 이야기가 달라져 있었습니다. 그래서 갑자기 찾아본 쿼리스트링(Query String) 입력데이터를 전달하는 방법 중 하나로, URL 주소에 미리 협의된 데이터를 파라미터를 통해 전달하는 것을 말합니다. ?(물음표) 뒤에 있는 Query parameters를 URL 뒤에 덧붙여서 추가정보를 서버측에 전달하는 것으로 클라이언트가 특정 리소스에 접근하고 싶어하는지의 정보를 보여줌 예시 ) https://reinvite.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2 URL 이후 ?를 쓰는 것이 쿼리스트링의 시작 parameter(key) = value로 작성하며 여러 개..
알아두면 좋은 네트워크 용어 (IP, 공인IP, 사설IP) 오늘은 IP에 대해서 알아보려고 합니다. IP, IP 주소, 공인 IP, 사설 IP, 고정 IP, 유동 IP IP (Internet Protocol) 인터넷 프로토콜의 약자로, 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신 규약을 의미함 IP 주소 IP 통신에 필요한 고유 주소를 말하며 통신 기능이 제공되는 기기들이 서로 통신을 하기 위해 필요한 고유 번호임. 각 장치들 간 통신을 식별할 수 있는 전화번호로 생각하면 쉬움. IP 주소는 프로토콜 버전에 따라 IPv4와 IPv6 2가지 체계가 있음 IPv4는 X.X.X.X와 같이 점으로 구분되며, 각 부분의 숫자는 0에서 255 사이의 숫자로 구성됨 IPv6는 주소가 숫자와 알파벳이 포함된 16진법으로 구성되어 있음 ※ 내 IP 주소를 알..
알아두면 좋은 개발 용어 10 (SDK, API) 제가 다니는 회사는 게임에 SDK를 제공하고 있습니다. 그렇게 된 이유는 아마도 게임에 사용되는 공통 기능을 제공하여 게임 개발에만 집중할 수 있도록 하기 위함이 아닐까 싶습니다. 뭐 이건 제 추측이고요. 아무튼, SDK를 제공합니다. SDK(Software development kit) 개요 소프트웨어 개발 키트로 개발자에게 다른 프로그램을 추가하거나 연결할 수 있는 커스텀 앱을 제작할 수 있는 기능을 제공하는 도구 모음 SDK 안에는 IDE(통합개발환경)을 포함하는데 여러가지 API, 디버깅 프로그램, 라이브러리 등 여러가지 도구 포함 SDK 필요성 모든 기능을 처음부터 다 만들지 않아도 됨 미리 만들어진 도구를 제공함으로써 개발 과정을 쉽게 함 예시 Android SDK : 안드로이드용 앱 개발을 ..
알아두면 좋은 개발 용어 9 (Hash, 해시) 며칠전 정보보호실 담당자와 대화를 하던 중, "지금 DB에 저장된 값을 해시로 처리해서 사용하면 어떠세요?" 라는 말을 들었습니다. "그럼 저희 작업이 많아지는데, 그건 개발 담당자와 이야기를 좀 해볼게요." '해시라 ...' 해시를 아예 모르는 건 아닌데, 그렇다고 이걸 구현하는 개발자만큼 아는 건 아닙니다. 암튼, 잘 정리가 될지는 모르겠지만, 우선 해시를 정리해보려고 합니다. 해시에 대해서 많이 알 필요는 없을 것 같고, 해시란 것이 어떤 것이고, 어떤 특징을 갖는다는 것만 알면 될 것 같습니다. 해시(Hash) 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑(mapping)한 값 해시 특징 무결성 특정한 데이터를 고정된 길이의 데이터로 변환하여 문장 내용이 완전히 같으면 완전히 같은..
알아두면 좋은 개발용어 8 (API, 마이그레이션) 며칠 전 시작한 프로젝트 회의에서도 "해당 업체의 API를 써서 값을 가지고 와야 하고, 기존 데이터는 마이그레이션해야 합니다. " 라는 이야기를 들었습니다. API (Application Programming Interface) 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 Open API (Open Application Programming Interface) 누구나 사용할 수 있도록 공개된 API를 말함 보통은 API는 특정 데이터, 제품, 서비스를 사용하기 위해서 개발자들이 정리해놓은 규격이라고 생각하시면 될 것 같습니다. 거기에는 특정 기능을 사용하기 위에서는 요청할 때 어떤 값을 보내면 응답으로는 어떤 값이 와요! 라고 적혀있습니..
알아두면 좋은 개발용어 7 (OAuth 2.0) 갑자기 회사에서 페이스북 계정으로 로그인하는 기능을 제공하고 페이스북 프로필 이미지를 가지고 와서 사용하자는 이야기가 나왔다고 합시다. 왜냐하면 요즘 대부분 서비스에 SNS 로그인을 제공하기도 하고, 유저는 번거로운 가입의 허들 없이 서비스를 바로 이용할 수 있게 때문입니다. 회사의 결정으로 갑자기 어떻게 해야 할지 난감해집니다. "우리 서비스에서 유저 당신의 페이스북 프로필 이미지를 가져와야 하니까 페이스북 아이디와 비밀번호를 주세요!" 라고 한다면 유저가 "네!" 라고 하면서 순순히 줄까요? 당.연.히. 안 주겠죠. 그럼 어떻게 해야 할까요? 그래서 등장한 것이 OAuth! 안전하고 신뢰할 수 있게 제3자 시스템의 회원 인증을 하고 유저 정보에 대한 권한을 부여하는 기술입니다. OAuth Open A..
알아두면 좋은 개발용어 6 (딥링크) 링크(Link)라는 건 보통 단어를 들으면 어딘가에 연결시켜주는 걸로 이해하고 있는데, 그럼 딥링크(Deep Link)는 뭘까요? 사실 딥링크에 대해 제대로 정리가 안되어서, 가끔 회의가 끝나고 나서 전체 맥락으로 이해할 때가 있거든요. 그래서 한번 정리해보려고 합니다. 딥링크(Deep Link) 특정 페이지로 도달할 수 있는 링크 찾아보니 웹(Web)의 경우에는 주소가 구체적으로 노출되어 있기 때문에 특정 페이지로 바로 접속할 수 있어 웹의 경우에는 딥링크에 대한 개념이 존재하지 않는다고 합니다. 근데 모바일 앱은 사정이 다르죠. 페이지 주소는 존재하지만 공개적으로 노출되어 있지 않고, 앱 설치라는 허들이 있어서 모바일 딥링크라는 개념이 생겨났다고 하네요. 그럼 모바일 환경에서의 딥링크의 정의는 앱 내..