목록분류 전체보기 (138)
DOing
🌊 WIL 2 2021.6.14 ~ 2021.6.20 ⛵ 알고리즘 스터디 계기 이번주 화요일부터 본격적으로 알고리즘 문제를 풀기 시작했다. 근데 풀기가 너무 싫었다. 하기 싫으니 문제도 안읽혔다. 무슨 문제가 결론만 딱 말할 것이지 서론이 너무 길어서 집중력이 뚝뚝 떨어졌었다. 이렇게는 안되겠다 싶어 화요일 오후부터 알고리즘 스터디를 시작하게되었다. ⛵ 알고리즘 스터디 - '무조건 이 시간내에 풀어야지!!' 이번에는 알고리즘 스터디에서 함께 문제 풀이를 시작하게 되었다. 스터디 기간동안은 위에 보이는 계획표대로 거의 진행했었다. 실제로 하루에 4문제에서 5문제 정도 풀었다. 확실히 스터디원분들이 있으니 다시 의욕이 생기는 것같았다. 혼자서 풀었을때는 한 문제당 시간을 지키기가 힘들었고 중간중간 루즈해지기..
💡 그래프 : 그래프는 연결되어 있는 정점와 정점간의 관계를 표현할 수 있는 자료구조이다. : 비선형구조로써, 연결 관계 표현에 초점이 맞춰져 있다. [ 선형구조 vs 비선형 구조 ] 선형 구조란 자료를 구성하고 있는 데이터들이 순차적으로 나열되어있는 형태이다. 비선형 구조란 데이터가 계층적 혹은 망으로 구성되어있는 형태이다. 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰져 있다. 비선형구조에는 그래프, 트리가 있고 선형구조에는 스택, 큐가 있다. 💡 그래프의 용어 - 노드(Node) : 연결 관계를 가진 각 데이터를 의미한다. 정점(Vertex)이라고도 한다. - 간선(Edge) : 노드 간의 관계를 표시한 선. - 인접 노드(Adjacent Node) :..
🌊 WIL 1 2021.6.7 ~ 2021.6.13 ⛵ 팀 프로젝트 시작 드디어 항해가 시작되고 바로 첫번째 팀프로젝트를 진행하게 되었다. 지금이야 많이 친해졌지만, 첫 날은 정말 어색했다ㅋㅋㅋ 이런 온라인 회의 환경도 처음인데다가 처음보는 사람끼리 갑자기 자기소개를 하고 '자, 이제 프로젝트를 진행하면되는건가요? '하는데 너무 어색해서 한참을 웃었었다. 프로젝트의 아이디어를 짜려고 취미를 공유하다보니, 공통된 점이 유튜브였다. 그럼 한번 유튜브로 소재를 잡아볼까?라는 생각이 들었다. 유튜브를 사용하며 불편했던 점에 대해 이야기 하다보니 다른 팀원분께서 "유튜브 구독 채널 관리가 힘들다!" 라는 아이디어를 주셨다. 나는 평소에 유튜브를 즐겨보다보니, 구독채널이 100개가 훨씬 넘어가고 있었다. 하지만 유..
저번 포스팅에서 HTTP에서 인증이 필요한 이유와 인증방식 중 하나인 세션/쿠키기반 인증방식에 대해서 알아보았습니다. 세션/쿠키는 별도의 세션저장소를 두기때문에 DB의 부하가 생길수 있으며 확장성의 문제, 세션 하이재킹의 위험이 있었습니다. 이를 보완해서 나온 인증방식이 바로 토큰기반 인증방식입니다. 이번 포스팅에서는 토큰기반 인증을 알아보고 토큰기반 인증 중 가장 많이 사용되는 JWT에 대해서 알아보겠습니다. 🌱 토큰 기반 인증 동작방식 토큰 기반 시스템의 구현 방식은 시스템마다 크고작은 차이가 있겠지만, 대략적으로 보면 다음과 같습니다. 1. 사용자 로그인 요청 2. 서버에서 회원인지 확인합니다. 3. 계정정보가 정확하다면 유저에게 Access 토큰(Signed Token이라고도 합니다) 발급합니다...
🌱 인증? 인증(Authentication)이란, 사용자가 자기자신을 증명하는 일입니다. 사용자 A와 B가 하나의 웹사이트를 사용한다라고 가정해봅시다. 두 사용자가 가지고있는 회원정보와 컨텐츠는 각각 다를 것이다. 따라서 서버에서는 A, B가 요청을 보냈을 때 누구의 요청인지를 구분해내야 합니다. 그렇지 않으면 B의 민감한 개인정보가 A에게 보여지는 일이 발생할 수 있기 때문입니다. 그래서 브라우저에서는 자신이 누구인지를 증명할 수 있는 정보를 서버에 보내야하며, 서버는 그 단서를 바탕으로 사용자에게 맞는 데이터를 보내주어야 합니다. 🌱 HTTP와 인증 현재 웹에서 가장 많이 사용되는 통신방식은 HTTP 통신입니다. HTTP 통신의 가장 큰 특징 중에는 비연결성(connectionless)와 무상태(st..
[ 기획 배경 ] 미디어 시장을 장악하고 있는 유튜브는 남녀노소 할 것없이 모두가 이용하고 있습니다. 다양한 유튜브 채널이 생겨나고 유튜브에서는 사용자마다 구독할만한 채널들을 항상 추천해주고 있습니다. 하지만 정작 구독한 채널을 관리하는 기능이 없어 불편함을 느끼고 있었습니다. 저희 조원들은 모두 이를 공감하며 유튜브 채널을 카테고리별로 나누어 관리할 수 있는 MyTube웹사이트를 제작하게되었습니다. 쌓여만 가는 유튜브 구독 채널들 어떻게 관리하시나요? 이제는 음악, 운동, 요리, 먹방 등 카테고리 별로 나누어서 관리해보세요! [ 초기 설계 과정 ] 1. 와이어프레임 : 주어진 시간이 많지 않았던지라, 제가 예전에 사용했었던 '카카오 오븐'을 사용하여 빠르게 제작하였습니다. 2. API 설계 [ 담당 기..
[ Clone ] clone이란? 원격저장소(github)에서 파일을 가져오는 것입니다! pull도 clone도 원격저장소에서 로컬저장소로 데이터를 가져오는 역할을 하지만, pull은 local에 이미 있고, 원격저장소의 수정상태를 반영하기 위해 하는 것이고 clone은 local에 아무것도 없는 상태에서 원격저장소의 데이터를 가져오는 것을 의미합니다. "Clone은 처음 다운로드할때 쓰는거구나~" 하고 넘어가시면 될 것같습니당 0. 준비 기존의 코드가 열려있으시다면 file>close Project해주세요! 1. 새 창에서 시작! 이런 창이 뜨실텐데요! Get from VCS 클릭해주세요! 2. URL 입력 URL은 연결하고 싶은 리포지토리 주소를 넣으시면됩니다! 디렉토리는 본인이 저장할 디렉토리를 선..
🌊 WIL 0 ⛵ 계기 대학교 1학년 전공기초 c언어 수업에서부터 코딩에 흥미를 느꼈었다. 그래서 재학시절 복수전공, 코딩교육봉사 동아리, 앱개발 동아리, it관련 컨텐츠제작, c++을 이용한 게임 제작까지 다양하게 시도해봤었다. 지금 생각해보면 대학생시절 정말 하루하루를 바쁘게 지냈었다. 근데 막상 졸업은 다가오는데 어느 분야로 가야할지 확신이 없었다. 그때 시작한 것이 웹 개발이였다. Django로 팀 프로젝트를 진행하고 나서 웹 개발을 더 해보고싶다는 욕심이 들었다. 개인적으로 python보다 Java라는 언어를 선호했기 때문에 Spring프레임워크를 선택했고 대학생 커뮤니티에서 사람을 모아 스터디와 팀프로젝트를 진행했었다. 본래 목표였던 spring을 사용했고, git으로 협업하고, AWS로 배포..