JSCODE 모의면접에 참여하게된 계기와 스터디를 통해 개인적으로 성장한점 느낀점이 필수로 작성된 블로그 링크 제출 🥲 스터디 참여 계기 - 학교 다닐 당시에는 CS 공부를 나름 열심히했고, 결과도 잘 나왔던 것 같은데 시간이 지나고 다시 돌아보려니 잘 기억도 나지않았고 무엇보다 아는걸 말로하는게 힘들어서 CS 스터디에 참여하게 되었다. - 어느정도 강제성이 부여되고, 또 가이드라인을 제시해주는 것 같아서 신청했다. 🔥 과정 총 5주차로 나눠져있었고, 자주나오는(?) 알면 좋을(?) 기술 질문들이 주제별로 10~15개정도 주어졌다 스터디 방식은, 면접자, 지원자, 관찰자로 나뉘어서 모의면접을 하고 전체적인 면접 과정을 서로 피드백해주는 방식으로 진행됐다! 📌 느낀점 이것저것 코테, 서류, 면접 등으로 많..
전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층으로, 데이터 전달을 담당합니다. 1. TCP 1-1. TCP 특징 연결지향형 프로토콜로 패킷 교환 방식을 사용 ( ≠ 가상 회선 방식) 3-way handshaking 과정을 통해 연결을 설정하고 Client -> Server : SYN (접속 요청) Server -> Client : ACK+SYN (요청 수락 & 접속 요청) Client -> Server : ACK (요청 수락) 4-way handshaking 과정을 통해 연결을 해제한다. Client -> Server : FIN (접속 해제 요청, 나는 다 보냈어! 이제 연결 끊자) Server -> Client : ACK (요청 수락, 알겠어 잠시만~) 서버는 클라이언트에게 알겠다는..
1. 쿠키 & 세션 & 토큰 HTTP의 stateless, connectionless 특징때문에, 정보를 유지하고 있을 수 없다 ex) 로그인하고나서도 매 페이지에서 로그인해야됨 1-1. 쿠키 - 브라우저에 저장되는 키-밸류로 이루어진 작은 데이터 파일 저장위치 : 클라이언트(브라우저) 저장형식 : key-value 사용예시 : 오늘 더이상 보지않음 체크 1-2. 세션 - 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 서버에서 관리해서 유지시키는 기술 저장위치 : 서버 서버에서는 클라이언트를 구분하기 위해 세션ID 부여 1-3. 쿠키 vs 세션 세션이 쿠키보다 보안 좋은 이유? 세션은 정보를 서버측에 저장해놓기 때문에 보안 측면에서 쿠키보다 우수하다. ..
1. HTTP 프로토콜 (Hyper Text Transfer Protocol) 웹 상에서 클라이언트와 서버가 정보를 주고 받기 위한 프로토콜로, 80번 포트를 사용하고 있다. 특징 클라이언트 - 서버 모델 Connectionless(비연결성) : 서버가 요청에 응답을 마지면 연결을 끊어버림 → 동시 접속 최소화 Stateless(무상태성) : Connectionless 특징때문에, 클라이언트의 이전상태(로그인유무) 등을 알 수 없음 (정보를 유지할 수 없음) text형식으로 주고 받음 → 데이터 유출 가능성 ↑ → HTTPS 등장 1-1. HTTP의 요청/응답 모델 HTTP 요청 메세지 : 클라이언트 -> 서버 데이터 요청할때 Request-line ( Method + URI + HTTP버전 ) Meth..
1. 컴퓨터네트워크 정의 컴퓨터 네트워크는 서로 데이터를 주고 받을 수 있는 ip 등으로 식별가능한 네트워크 노드들의 모임 2. 네트워크 단위 (LAN, MAN, WAN) : 크기에 따라 네트워크를 분류 시킨 것 LAN(Local Area Network) : 근거리 통신망 / 집, pc방, 사무실 등의 단위 MAN(Metropolitan Area Network) : 도시 지역 통신망 / 도시 하나 정도의 크기 WAN(Wide Area network) : 광역 통신망 3. 프로토콜 어떤 시스템이 다른 시스템과 통신을 원활하게 해주는 규약, 약속 어떤 일을 수행하려면 통신하는 개체가 함께 인식하는 프로토콜이 필요함 ISO에서는 표준화된 네트워크 통신 규약을 정의 OSI 7계층모델 4. OSI 7계층 OSI ..
3주차에는 "데이터베이스"를 배우고, 예상 질문과 답변을 작성해보고 서로 피드백하는 시간을 가졌습니다!! 강의에서 다루는 데이터베이스 내용은 전반적인 DB테이블 구조, 관계형 DB, SQL쿼리문, 인덱스, 데이터 탐색시 시간복잡도였습니다. 저는 거의 모든 프로젝트에서 백엔드 개발을 담당했어서 상대적으로 다른 개념들보다 이해하기 쉬웠습니다. 그럼에도 깔끔한 면접 답변을 위해서는 어느정도 개념 복습이 필요하다고 느꼈습니다. 스터디 후기 스터디 팀원들의 대부분이 백엔드 개발자였기 때문에 더 좋은 답변을 공유받을 수 있었습니다. 특히, Java로 개발하는 경우 이런 면접 질문이 들어올 수 있다라는 조언도 받았습니다. 이번 섹션은 강의를 통해 배운 것보다 스터디를 통해 배운 내용이 더 많았습니다. 생각보다 강의에..
2주차에는 "운영체제"를 배우고, 예상 질문과 답변을 작성해보고 서로 피드백하는 시간을 가졌습니다!! 자료구조, 데이터베이스, 네트워크 개념들은 이런저런 프로젝트를 하다보면 자연스럽게 접할 수 있어서 개념들을 볼때 어느정도 아는 내용이 많았지만, 운영체제는 학부때 배우고나서 실감이 될정도로 접할 기회는 없어서 특히 더 어려웠습니다... 생각없이 강의를 틀었다가 기억이 나지 않는 개념들에 당황해서 컴퓨터구조부터 어느정도 정리를 하고 시작했습니다. 앞에 30분정도 참고 https://www.youtube.com/watch?v=LBqJwmFMQHI&t=76s 컴퓨터 주요 구성요소 3️⃣ CPU (프로세서) 메모리에 저장된 명령어를 읽어들이고, 해석하고, 실행하는 부분 ALU : 계산기 레지스터 : cpu내부의..
먼저 1주차에는 "자료구조"를 배우고, 예상 질문과 답변을 작성해보고 서로 피드백하는 시간을 가졌습니다!! 크게 아래 개념들을 복습했습니다 Array, Dynamic Array, Linked List 연산 Array Linked List 크기 고정적 (메모리 낭비 or overhead) 가변적 (필요한만큼 메모리 할당) 메모리 저장 방식 연속적 메모리상에서 불연속 (다음 원소의 메모리 주소값을 저장해 논리적 연속성 유지) 조회 O(1) O(n) 삽입, 삭제 O(n) O(1) ( 다음주소를 가르키는 부분만 다른 주소 값으로 변경하면 되기 때문에 O(1)이지만, 실질적으로 추가/삭제를 하려는 index까지 도달하는데 O(n)O(n)O(n)의 시간이 걸리기 때문에 O(n)으로 볼 수 있다 ) 언제 사용? - ..
디프만 14기에서 인프런 강의로 스터디를 시작하게 되었습니다! 디프만 X 인프런 좋은 기회로 디프만 14기에서 활동하면서 인프런에서 후원해주는 기출로 대비하는 개발자 전공면접 강의로 스터디를 진행하게 되었습니다! 취준을 제대로하는건 처음이라 방대한 CS 기술을 공부하는게 감이 잡히지 않았는데, 강의를 수강하면서 어느정도로 준비해야하는지 가이드 라인을 잡고, 중요한 부분을 알 수 있어서 좋았습니다 부족한 부분은 스터디로 같이 보완해나가서 더 시너지 효과가 났던 것 같아요!! 특히, 좋은 강의를 후원받고 또 열정 가득한 사람이 모인 디프만 사람들과 같이 지식 공유를 할 수 있어서 유익한 시간이었습니다~~ 기출로 대비하는 개발자 전공면접 강의 후기 강의는 크게 4개의 개념으로 구분되어 있었고, 마지막에는 모의..
오늘은 나도 처음 접해본 "저장 프로시저"를 간단하게 기록해보려고한다! 이름 자체도 처음 듣고 접할일이 없다가 사수께서 실무에서도 사용하니 기존 코드를 sp를 사용해 변경해보는 경험을 해보라고 하셨다! 저장 프로시저 (Stored Procedure) 쿼리문들의 집합으로 여러 쿼리를 거쳐서 함수처럼 일괄적으로 묶어서 실행하기 위해 사용한다. 왜 사용하는거지 ? 코드상에 sql문을 적으면 보안이 취약하다 SQL 서버의 성능을 향상시킬 수 있다. → Stored Procedure를 만들어두고 실행하면 그 결과가 캐시에 저장된다. 따라서 이후 같은 sp를 사용할 때 캐시에서 가져오기 때문에 일반쿼리를 사용하는 것보다 실행속도가 빠르다. → 일반 쿼리를 사용하면 요청할때마다 매번 실행가능한 코드로 변환하는 과정을..