목록GD프로젝트 (19)
책 읽다가 코딩하다 죽을래
개발자 취업 필수 개념 3주 차에는 주로 보안과 관련된 얘기를 다루었다. 🧾 목차 1. 대칭 키와 비대칭 키 2. 프로토콜, HTTP 3. HTTPS, SSL 4. SSL의 원리 5. 쿠키 6. 세션 1. 대칭 키와 비대칭 키 더보기 📖 개요 우리는 실생활에서 애플리케이션이나 웹을 통해 자신의 정보와 수많은 데이터들을 다른 서버들과 송수신을 합니다. 하지만 송수신하는 과정에서 누군가가 내 데이터를 도청하거나 위변조를 한다면 대단히 위험해질 것입니다. 그래서 우리는 제 3자가 도청하더라도 무슨 데이터인지 모르게 하기 위해 평문을 암호화해서 암호문으로 바꿔야 하며, 목적지에 도착하면 보내준 데이터를 읽을 수 있도록 암호문을 복호화해서 다시 평문으로 바꿔줘야 합니다. 📖 암호 알고리즘의 종류 암호 알고리즘은 ..
개발자 취업 필수 개념 3주 차에는 데이터베이스와 SQL을 배웠다. 목차 1. DataBase 1.1 SQL, NoSQL 2. Table의 구조 3. DDL 4. DML 5. 트랜잭션의 속성 1. DataBase 더보기 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조함으로써 검색과 갱신의 효율화를 꾀한 것이다. 즉, 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. -📚 두산백과(데이터베이스의 정의) 그러면 excel도 데이터베이스라고 할 수 있나요? 정말 아니다 라고 할 수는 없지만 excel은 데이터들이 정형화되어 있지 않은 상태도 허용된다는 점에서 데이터베이스와의 차이점이 있습니다. 정형화되어 있..
개발자 취업 필수 개념 2주 차에는 협업 도구인 Git과 협업 커뮤니티인 Github를 배웠다. 목차 1. Git 2. Git 구조 3. Git 실습 4. GitHub 5. Branch 6. Pull Request 1. Git 더보기 규모가 큰 프로젝트, 현업에서는 여러 명의 개발자들과 협업하는 일은 기피할 수 없다. 이렇게 여러 명의 개발자들이 하나의 프로젝트를 동시에 개발할 때 어떤 식으로 협업을 할까? 차례대로 한 사람씩 돌아가면서 기능을 구현하면서 완성된 결과물은 카톡으로 공유하는 방법을 사용할까? 이런 방식으로 협업을 하는 것은 비효율적이며 동시에 여러 명이 같은 프로젝트를 할 수 없을 것이다. 그래서 많은 개발자들은 동시에 여러 명이 프로젝트를 관여해도 문제가 없고, 무엇이 달라졌는지 확인하기..
개발자 취업 필수 개념 1주 차가 시작되었다. 목차 0. 클린 코드의 목적 1. 의미 있는 이름 2. 추상화 3. 예외 4. 리팩토링 0. 클린 코드의 목적 더보기 깨끗한 코드는 단순하고 직접적이다. 깨끗한 코드는 잘 쓴 문장처럼 읽힌다. 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다. - Object Oriented Analysis and Design with Application의 저자 그래디 부치- 항상 코드를 깨끗한 상태로 유지해야 합니다. 왜냐면, 깨끗한 코드가 있어야 깨끗한 코드를 만들 수 있습니다. 기존에 깨끗한 코드가 있어야 빠르게 코드를 이해하고 깨끗한 코드를 작성할 수 있기 때문입니다. 빨리 가기 위한 단 하나의 방법은 "깨끗한 코..
GD프로젝트 알고리즘 수업 마지막 주 차가 시작되었다. 그럼 마지막주 차에는 라인, 카카오, 삼성 코딩 테스트 위주로 공부하게 되었는데 이에 대해 설명하겠다. 목차 1. 2019년 상반기 LINE 인턴 채용 코딩테스트 2. 2020 카카오 신입 개발자 블라인드 채용 1차 코딩 테스트 3. 삼성 역량 테스트 1. 2019년 상반기 LINE 인턴 채용 코딩 테스트 더보기 문제 Q. 연인 코니와 브라운은 광활한 들판에서 ‘나 잡아 봐라’ 게임을 한다. 이 게임은 브라운이 코니를 잡거나, 코니가 너무 멀리 달아나면 끝난다. 게임이 끝나는데 걸리는 최소 시간을 구하시오. 조건은 다음과 같다. 코니는 처음 위치 C에서 1초 후 1만큼 움직이고, 이후에는 가속이 붙어 매 초마다 이전 이동 거리 + 1만큼 움직인다. ..
GD프로젝트 알고리즘 수업 4주 차가 시작되었다. 그럼 4주 차에 배운 내용과 풀었던 알고리즘 문제에 대해 설명하겠다. 목차 1. 새롭게 배운 내용(트리, 힙, 그래프, DFS, BFS, Dynamic Programming) 2. CGV 극장 좌석 자리 구하기 문제 1. 새롭게 배운 내용 1 - 0 선형, 비선형 더보기 선형 자료구조의 대표적인 예시인 스택과 큐이다. 선형구조는 처음과 끝이 확연히 정해져 있다. 그래서 자료를 저장하고 꺼내고 탐색하는 것에 초점이 맞추어져 있다. 즉 내가 사용해야할 자료구조가 조회, 삽입, 삭제가 얼마나 빈번하냐에 따라 선택해야 한다. 비선형 자료구조의 대표적인 예시인 트리와 그래프이다. 비선형 구조는 처음과 끝이 정해져 있지 않으며 때로는 순환적이기도 하다. 비선형 자료..
GD프로젝트 알고리즘 수업 3주 차가 시작되었다. 그럼 3주 차에 배운 내용과 풀었던 알고리즘 문제에 대해 설명하겠다. 목차 1. 새롭게 배운 내용(버블정렬, 선택정렬, 삽입정렬, 병합정렬, 스택, 큐, 해쉬) 2. 스택 문제 1. 새롭게 배운 내용 1. 정렬 더보기 정렬이란 데이터를 순서대로 나열하는 방법을 말한다. 정렬은 알고리즘의 굉장히 중요한 주제이다. 이진 탐색을 가능하게 해주고 데이터를 조금 더 효율적으로 탐색할 수 있게 만들기 때문이다. 그럼 한 번 여러분들이 다음의 데이터를 정렬해보자 3,1,2 파슬리, 누룽지, 감자 d, s, o 인간의 눈으로는 작은 수들의 데이터를 정렬하는 것은 무지 쉽다. 3,1,2 -> 1,2,3 파슬리, 누룽지, 감자 -> 감자, 누룽지, 파슬리 d, s, o -..
GD프로젝트 알고리즘 수업 2주 차가 시작되었다. 그럼 2주 차에 배운 내용과 풀었던 알고리즘 문제에 대해 설명하겠다. 목차 1. 새롭게 배운 내용(Array, LinkedList, 이진 탐색, 재귀 함수) 2. 재귀 함수 문제 1. 새롭게 배운 내용 1. Array vs LinkedList 더보기 자료구조 중에서 자주 쓰이는 Array와 LInkedList를 서로 비교하겠다. 언어는 Python 기준으로 하겠다. (선언할 때 배열 크기를 정해야 하는 c++, 자바의 정적 배열과는 달리 Python의 배열은 동적 배열이다.) 다음 간단한 배열의 예를 들어보자 배열은 index와 데이터로 이루어져있다. index는 0으로부터 시작되며 데이터의 순서를 매기며 데이터는 int형부터 시작되어 그 어떤 데이터 타..