1. 컨테이너는 무엇인가? 지금 시대에는 컨테이너를 요구한다. 컴퓨터 시스템은 이렇게 소프트웨어 운영 플랫폼이 바뀌고 있다. 2. 왜 리눅스에서 돌려야하는걸까? 리눅스 커널의 기능을 가지고 만들어졌다 Chroot 독립된 공간 형성 namespace isolate 기능 지원 cgroup 필요한 만큼 HW 지원 3. 가상머신과 Docker - 가상머신 가상머신은 편하지만 성능이 좋지 못하다. (속도가 느림) 가상머신 자체는 완전한 컴퓨터이기 때문에 항상 게스트 OS를 설치해야한다. 이미지 안에 OS가 포함되기 때문에 이미지 용량이 커진다. - Docker Docker는 반가상화보다 경량화된 방식 게스트 OS를 설치하지 않음 Docker 이미지에 서버 운영을 위한 프로그램과 라이브러리만 격리해서 설치 가능하고..
1. CS스터디 -> IP 와 API IP(Internet Protocol) : 네트워크에 연결된 기기의 주소다. IP 주소는 네트워크에서 기기들이 어떻게 통신하는지에 대한 규칙과 포맷을 규정한 것임. 간단히 말하지만 컴퓨터 간의 통신을 가능하게 한다. API(Application Programming Interface) : 컴퓨터나 컴퓨터 프로그램 간의 연결이다. 소프트웨어 인터페이스의 한 종류로서 다른 소프트웨어 조각(pieces)에게 서비스를 제공 application 간 주고 받는 interface이다. 소프트웨어 간 주고 받는 창구 Interface : 컴퓨터의 정보교환체계의 2개 이상의 컴포넌트의 공유된 경계. "서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고 받는 경우의 접점이..
주간 회고의 목적 1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기 2. 더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지를 고민하는 것 1. 알고리즘의 늪에 빠지다 이번 주는 2차 프로젝트가 끝나고, 새로운 팀원과 함께 알고리즘 공부를 시작하였다. 알고리즘은 초면이라 궁금하기도 하였다. 알고리즘을 시작하고 강의를 반복하고 또 반복해도 이해조차 되지 않을 정도로 어렵다는 걸 깨닫게 되었다. 프로젝트를 하며 코드도 읽히기 시작했고, 조금씩 성장하는 기분이었는데, 알고리즘을 만나자 다시 처음 상태로 돌아갔다. 나는 첫날부터 좌절을 하였다. 기간도 일주일이라는 짧은 기간이었기에.. 알고리즘을 어떤 식으로 공부해야 할지도 판단이 되지 않았고 멘붕이었다. 다른 사람들과 대화를 하며 알고리즘..
1. CS스터디 -> DNS Domain Name Service (DNS) : 브라우저에 naver.com을 치면 실제 IP 주소 233.130.200.107 변환해주는 체계. 그리고 분산되어 있다. 쉽게 말하면 인터넷 전화번호부이다. Domain Name ->인터넷에 연결된 컴퓨터 주소를 사람이 알기 쉽게 문자 (영문, 한글)로 만든 인터넷 주소. 예) naver.com DNS에 대해서 알아보고 다 같이 공부를 하였다. DNS 절차에 대해서는 아직은 어렵지만, DNS가 무엇을 하는지에 대한 핵심은 알 수 있어서 너무 좋았다. 이렇게 지식들을 쌓아나가면 좋을 것 같다. 참고링크 : https://fusiondeveloper.tistory.com/40 2. 알고리즘 원격강의 및 기초부터 다지기 알고리즘 강..
1. 알고리즘?????????? 알고리즘 팀별 문제를 해결하기 위해서 코드를 생각하던 중 map 함수에 대해서 알게 되어서 공부하게 되었다. map() 함수는 built-in 함수로 list 나 dictionary와 같은 iterable 한 데이터를 인자로 받아 list 안의 개별 item을 함수의 인자로 전달하여 결과를 list로 형태로 반환해 주는 함수 구글링을 하며 함수를 배우고, 알고리즘을 풀어나가는 중이다. 아직 기초 알고리즘도 부족해서, 기초부터 하나씩 해가야겠다. 오늘 느낀 점 알고리즘 기초부터 배우자.. 내일 할 일 원격강의 TIL (Today I learned) 작성하기 체크인, 체크아웃 하기
1. 알고리즘 시작, 너무 어렵다... 알고리즘을 처음 해보니, 간단한 문제인 거 같은데도, 어떻게 풀어나가야 할지 멘붕의 연속이었다. 문제 푸는것은 포기하고 정답을 보고 코드를 해석하는 것으로 진행을 하기로 했다. 그러나 정답을 보아도 코드 해석도 어려운 현실이었다. 기본 문법이 부족하다 보니 알고리즘은 나에겐 너무 어렵게 느껴진다. 계속 보다보면 알고리즘도 보일 거라 생각하며.. 계속 도전해봐야겠다. 오늘 느낀 점 알고리즘 때문에 부서진 멘탈관리하기 내일 할 일 원격강의 TIL (Today I learned) 작성하기 체크인, 체크아웃 하기
1. 2차 프로젝트 끝, 발표회 그리고 회고 오늘 오전까지 2차 프로젝트 마무리를 하고, 오후 2시부터 2차 프로젝트 발표회가 시작되었다. 1차 프로젝트 발표회 때 다른 팀들의 멋진 작품이 많았기에, 이번 2차 프로젝트 발표에도 기대가 많았다. 2차 프로젝트 발표회를 보며, 저 부분은 우리 쪽에도 활용을 해보면 좋겠다는 생각과 디자인 부분에서도 좋은 내용들이 많았다. 발표회를 보며 정말 캠프에 있는 사람들이 모두 고생이 많았겠구나 하는 생각이 들었다. 그렇게 발표회 시간이 끝나고 우리 팀 자리로 모여서 회고를 시작하였다. 대화를 해보니 1차 프로젝트와는 다르게 팀원들이 모두 성장한 느낌을 많이 받았다. 그리고 프로젝트에 대해서도 시간이 조금 더 있었더라면 더 많은 기능을 구현하였을 텐데 하는 아쉬움도 있..
1. AWS 원격강의 참고링크 : https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098 [AWS] 가장쉽게 VPC 개념잡기 가장쉽게 VPC 알아보기 medium.com - VPC VPC의 목적은 다양할 수 있지만 일반적으로 보안을위해 AWS 리소스간 허용을 최소화하고 그룹별로 손쉽게 네트워크를 구성하기위해 많이사용한다. VPC에서 사용하는 사설 아이피 대역은 아래와같습니다. - 10.0.0.0 ~ 10.255.255.255(10/8 prefix) - 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix) ..
주간 회고의 목적 1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기 2. 더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지를 고민하는 것 1. 이대로 괜찮을까?... 2차 프로젝트 진행 중, 지난주에는 원격강의에 모든 시간을 쏟았다. 그렇게 해서 개인의 능력을 발전시키는 데에 집중을 했었다. 물론, 강의도 많이 어려웠기에 따라가기가 쉽지는 않았었다. 이번 주에는 팀원들과 빠르게 회의를 진행해서 기능 역할분담을 나누었고, 프로젝트에 모든 시간을 활용하였다. 내가 맡은 기능은 모달 창을 활용한 로그인과 회원가입 기능이었다. 처음에 어떻게 만들어갈지 고민을 하며 작업이 시작되었다. 1) 뼈대 구성 -> HTML과 CSS 디자인 작업 조금 더 깔끔하고 예쁘게 만들고 싶었기에 디자인 작업을..
1. JWT 문제 왜 이럴까.. 로컬에선 작동되는데 git연동 시 문제 발생 확인 중.. 2. 프로필 아이콘 이미지 창 기능 구현 3. 라디오 버튼 값 문제점 해결 오늘 느낀 점 오류가 계속 발생했다. 한 개의 오류를 해결하면, 다음 오류가 발생하고, 잘되던 것도 파일 병합 중 오류 발생... 오류를 해결하며 많이 배우고 있다. 내일 할 일 원격강의, 프로젝트 TIL (Today I learned) 작성하기 체크인, 체크아웃 하기
1. 회원가입 기능 1. 아이디: 영문과 숫자, 일부 특수문자(._-)만 사용 가능, 2-10자 길이. 영문 무조건 포함 2. 비밀번호: 영문, 숫자는 1개씩 무조건 포함, 일부 특수문자 사용 가능, 8-20자 길이 3. 비밀번호 확인: 비밀번호와 일치 4. 이렇게 복잡한 조건을 확인할 때는 '정규표현식(Regular Expressions)'을 이용하여 비교하는 것이 좋다. 2. 로그인 기능 1. 아이디 패스워드 입력값 서버로 전달해준다 2. 서버는 입력값에 매칭되는 유저가 있는지 확인한다 3. 확인후 있을 시 토큰을 만들어서 클라이언트한테 전달한다 4. 클라이언트는 그 토큰을 쿠키에 저장한다. 3. 모달창을 이용한 로그인/회원가입 화면 구성 진행 중 오늘 느낀 점 강의를 복습하면서 로그인/회원가입 기능..
1. Bulma Bootstrap과 비슷하게, 미리 정해진 모습의 클래스를 가져다쓸 수 있는 무료 CSS 프레임워크 2. 해시함수 알고리즘의 한 종류로서 임의의 데이터를 입력받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수 - 해시함수 SHA256은 어떤 길이의 입력값을 넣어도 항상 256바이트의 결과값이 나온다 - 추가적으로 동일한 입력값은 항상 같은 결과값이 나오고, 입력값은 조금이라도 달라지면 완전히 다른 값이 나오게 된다. - 결과값을 통해 입력값을 알아내는 것이 불가능하다 3. JWT JSON Web Token의 줄임말로, JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹 표준이다. 예를 들어, 로그인 기능을 생각해보면 사용자가 로그인하면 서버에서 회원임을 인증하는 토큰을 넘겨줌으로써..
주간 회고의 목적 1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기 2. 더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지를 고민하는 것 1. 2차 프로젝트 시작 이번 주에는 2차 프로젝트가 시작되었다. 1차 프로젝트를 진행하며 아쉬웠던 부분들과 놓친 부분에 대해서 팀원들과 많은 대화를 했었다. 우리 팀은 1차 프로젝트 때 원격강의를 듣지 못하고 프로젝트에 집중을 했었다. 프로젝트에만 집중하기에도 시간이 부족했고, git 사용에 있어서도 부족한 부분이 있었다. 다들 노력을 많이 해서 팀 분위기도 좋고 서로 협업은 너무 좋았었다. 그래서 이번에는 개인 역량을 쌓으며, 프로젝트를 진행하기로 하였다. 이번 주는 프로젝트 회의와 원격강의에 집중하기로 하였다. 팀원들과 다 같이 배우며 성장..
1. status_code? 2. get, post 데이터 받기 3. 서버 json 데이터, 클라이언트에서 json으로 받아오기 4. 자바스크립트 새로운 용어 정리 5. html ?? 6. html 이상한 문자 제거하는 방법 - 오늘은 원격강의 웹 프로그래밍 심화 수업을 들으면서, 새로운 문법이라서 이해하는 게 좀 어려웠다. 프로그램에서 실습을 진행하며 모르는 내용들은 설명을 적으면서 공부를 진행하였다. 새로운 용어를 두려워하지 말고 조금 더 빠르게 이해할 수 있는 방법을 찾아야겠다. 오늘 느낀 점 새로운 용어 이해하기 코드를 보며 모르는 내용들은 설명을 적으며 공부하면 도움이 되는 것 같다. 내일 할 일 원격강의, 프로젝트 TIL (Today I learned) 작성하기 체크인, 체크아웃 하기
1. 정적 웹사이트? 동적 웹사이트? 정적 웹페이지 서버에 저장되어 있는 그대로 html전송 ex 회사 소개 동적 웹페이지 요청 정보에 따라 html을 처리하여 전송 ex 블로그, 날씨정보 2. csr? ssr? 복합적인 방법? csr 자바스크립에 데이터를 포함해서 보낸 후, 클라이언트 쪽에서 html을 완성하는 방법 ssr 서버 쪽에서 템플릿 html에 데이터를 끼워 넣어 완성된 형태의 html을 보내주는 방법 -> jinja2 템플릿 언어, 템플릿이 되는 html문서에 데이터가 들어갈 곳을 표시해놓는 역할 복합적인 방법 클라이언트 쪽에서 ajax 요청을 보내서 서버에서 데이터를 받아와 html을 완성하는 방법 3. 페이지 이동 방법 - 서버 코드 @app. route('/') /
1. 오전 발제 및 회의 ( 회의 6시간 이상??!! ) 오늘은 회의를 정말 많이 한 것 같다. 오전에 발제가 끝나고, 2차 프로젝트 시작을 알렸다. 우리 팀은 모여서 주말 동안 준비했던 각자의 프로젝트 모델링을 설명하며 회의가 진행되었다. 정말 여러 가지 의견과 좋은 의견들이 많이 있었다. 팀원들의 자료들을 보니 다 넣고 싶은 기능들이었고, 나와 생각이 같은 부분들도 있었다. 내가 혼자 구상했을 때는 뭔가 복잡하고 어려운 웹사이트가 될 거라는 생각이 많이 있었다. 팀원들이 나의 PPT를 보고 너무 복잡해서 내용을 이해할 수 있을지, 내 의견이 모두 사라지는 게 아닐까 걱정을 하였다. 그러나 나의 걱정과는 다르게 우리 팀원들은 너무 좋게 봐주었고, 내용은 어렵지만 하나씩 다 설명을 들어주고 내용을 반영해..
1. 프로젝트 모델링 준비 1차 프로젝트는 완료일 정도 급했기 때문에, 아이디어 회의도 일정에 맞추어 진행이 되었다. 그래서 아이디어는 많이 나왔지만 적용할 부분들을 어떻게 구성해야 할지? 최종적인 구상도가 아닌 1차 프로젝트 구상도로 프로젝트가 진행이 되었다. 1차 프로젝트를 진행하며, 팀원들이 모두 협업을 너무 잘해주어서 좋은 결과를 만들 수 있었다. 더 좋은 기능들을 구현하고 싶다는 생각도 팀원들 모두 같은 생각이었다. 그래서 1차 프로젝트가 끝난 후, 다음 단계를 어떻게 만들어야 할지? 그런 부분에 대해서 우리는 1차 프로젝트를 진행하면서부터 논의를 진행했었다. 그리고 1차 프로젝트가 끝나면, 우리가 정말 최종적으로 만들고 싶은 웹사이트에 대해서 각자 생각해보고 회의를 해보면 좋겠다는 생각이 나왔..
주간 회고의 목적 1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기 2. 더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지를 고민하는 것 1. 1차 프로젝트를 끝마치며.. 이번 주에는 1차 프로젝트가 완료가 되었다. 팀원들과 마지막 마무리 작업도 함께하고, git 실습도 함께 진행 보았다. 프로젝트를 팀원들과 함께 문제를 해결하면서, 나 자신의 개선점들을 발견할 수 있었다. 코딩을 배우면서 아직까지도 고민이 많이 되긴 한다. 빈 화면에 대한 두려움? 그리고 없던 무엇인가를 만들어 낸다는 것? 코드를 작성할 때 스스로 작성을 하는 것과 구글링을 통해서 코드를 확인하고, 코드를 응용해서 활용하는 것 현재 나의 수준은 스스로 코드를 작성하기에는 많은 어려움이 있다. 모르는 것을 구글링을..
1. 프로젝트 발표회 및 회고 오늘 발표회가 진행되었다. 발표한 팀들을 보니 웹사이트 수준이 많이 높았다. 발표회를 보면서 어떻게 저렇게 만들었을까? 하는 생각과 우리 프로젝트에도 반영하면 좋을 부분에 대해서도 생각을 해보았다. 작업 부분에서도 도움이 되는 게 많이 있었고, 협업 부분에서도 배운 부분들이 많았다. 그리고 더 많이 노력해야겠다고 생각을 하였다. 발표회가 끝나고 우리 팀은 모여서 KPI 회고록 작성을 하였다. 각자의 생각을 먼저 나누어서 정리하고 내용을 정리하였다. 좋은 점에서 팀원들의 생각이 비슷했다. 각자 능력도 다르지만 서로를 챙겨주고 하는 모습에서 팀 분위기는 최고라고 생각한다. 지금은 나 역시도 부족한 부분이 많이 있지만, 이런 팀과 함께 협업하며 배워나간다면 4개월 후엔 우리 팀원..
1. 프로젝트 1차 프로젝트 완료 오늘 프로젝트 CSS 나누었던 부분을 Git을 이용하여 합치는 작업을 팀원들과 함께 진행을 하였다. Git은 어렵고 아직도 낯선 도구 이긴 하지만 오늘은 사용법에 대해서 알게 된 것 같다. 팀원들과 pull, push, merge 하는 과정에서 오류가 발생하기도 했지만, 다 같이 고민하니 안되던 부분들도 모두 해결이 되었다. 그리고 다 같이 GIT README.md, Wiki , issues 작성도 진행하였고, AWS 배포도 하며 동작 TEST를 진행하였다. AWS서버에서도 문제없이 동작되는 것을 확인하였다. 발표 영상을 제작하여야 하는데, 앞으로도 많은 시간을 함께 진행할 팀이기에 우리는 사다리 게임을 통해서 발표자 순서를 결정하였다 ㅋㅋㅋㅋ 그렇게 결정이 되었고, 발..
1. 프로젝트 코딩 작업 프로젝트 계획한 기능은 최종 완성이 되었다. 이제 코드 파일을 정리하며 화면 구성을 위해서 CSS를 변경 작업을 하기로 하였다. 팀원들과 회의를 진행하고, 화면을 어떻게 진행하면 될지에 대해 정리를 하였다. 그리고 insert_form html 변경 작업을 맡은 후 기존의 코드들을 이용해서 를 추가하고 여기에 맞춰서 수정 작업을 진행하였다. CSS 작업 마무리를 하고 팀원들과 회의를 진행했다. 추가적인 변경사항과 HTML 정리를 마무리를 하기로 했다. 2. GIT 테스트 오늘은 프로젝트를 최종본을 깃허브에 올리고, 깃허브 사용법에 대해서 팀원들과 연습을 진행하였다. 개념적인 부분은 이해가 되었지만, 실습은 아직도 잘 모르겠다. 개인적으로 공부를 더 해보고 방법을 찾아야겠다. 깃허..
1. 프로젝트 코딩 작업 오늘 팀원들이 분리하여 작업한 파일을 모아서 합치는 작업을 진행하였다. 합치는 과정에서 ERROR가 발생되어, 원인을 찾고 수정을 하였다. 최종 웹 구동 동작이 되며 작은 동작까지 하나씩 확인하였다. 몽고 DB 쪽 문제도 있어서, 클라이언트 - 서버 - 몽고 DB 3가지를 확인하며 작업을 진행하였다. API 작성에 있어서 팀원들이 너무 잘 작성을 하였다. 내가 생각했던 것과 다르게 코드가 작성된 것을 보며 많이 배울 수 있었다. 그리고 코드를 작성할 때 팀원들과 대화를 하며 어떤 식으로 구현을 할지? 좋은 방향을 더 찾을 수 있는 것 같다. 협업을 하며 배우는 게 참 많은 것 같다. 동작 관련해서는 최종 코드가 완성되었다. 이제 코드 정리와 CSS 수정을 하며 코드를 좀 더 잘 ..
1. 프로젝트 코딩 작업 Pagination 기능 교체, 메인화면에 JavaScript -> Jinja 기능 적용시키기 변경 전 자바스크립트를 이용하여 만들었다. 그러나 코드도 길고 문제가 있었기에 교체 작업 Jinja 문법을 공부하고 적용시켰다. 모양도 변경하고 싶었는데 아무래도 파이썬에서 넘어오는 부분이 있다 보니 CSS 적용이 조금 어려운 것 같다. 현재는 크기와 글자 간격 그리고 마우스 이벤트 발생 시 포인트 정도만 넣었다. 그리고 메인화면과 페이지 네이션 기능을 합치는데, 역시나 한 번에 되지 않는다. ERROR를 반복하며 해결점을 찾고 완성되었다!!!!그리고 클릭 시 페이지 이동 및 ID값 전송 테스트도 완료했다. 이제 다른 화면과 합치는 작업을 시작했는데, 아직 문제점이 있어서 해결을 하고 ..
주간 회고의 목적 1. 지난 일주일을 되돌아봄으로써 나의 현재 상태를 파악하기 2. 더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지를 고민하는 것 1. 프로젝트의 시작 프로젝트를 어떻게 만들면 좋을지 팀원들과 의견을 공유하였다. 프로젝트를 어떻게 진행하면 좋을까?라는 걱정이 있었지만, 생각과 다르게 적극적인 팀원들 덕분에 프로젝트 주제가 금방 결정되었다. 주제가 정해지니 어떤 기능이 있으면 좋을까? 그 기능은 어떻게 구현할수 있을까? 에 대해 빠르게 의견을 나누고 와이어프레임을 만들고 대화하다보니 계획서를 빠르게 작성이 완료되었다. 역할분담에 대해서 어떻게 해야 할지 고민이 많았다. 나 또한 실력이 부족하기에 이 부분을 맡게 되면 구현이 가능할지? 기간 안에 할 수 있을까? 걱정이 되었다...
1. 프로젝트 코딩 작업 오늘은 메인화면 css 작업과 그리고 페이지네이션 기능을 구현하기 위해 집중했다. 페이지 네이션 기능은 구글링을 해봐도 너무 어렵고 복잡했다. 간단하게 기능만 있는 부분은 쉽게 따라 할 수 있지만, 나의 페이지에 적용해서 원하는 대로 나오게 만드는 것은 너무 어려웠다. 맞춰놓은 화면도 다 엉망이 되고 화면 조각들이 날아다니고 ㅋㅋㅋㅋ 코드를 넣어보고 에러 나고 반복을 하며 결국 기능 구현에 성공하였다. 테이블 리스트를 전체적으로 관리를 할 수 있게 기능 구현을 하였다. for문을 사용해서 데이터를 가져올 수 있도록 TEST작업을 진행하였다. 현재는 html내에서 딕셔너리를 구성하여 동작을 확인하였다. 몽고 DB를 활용할 예정이기에, 추후 사용이 바로 가능하도록 준비를 하였다. 페..
1. 프로젝트의 회의 및 작업 진행 오늘은 프로젝트가 시작되었다. 아이디어를 협의하고 생각보다 빠르게 내용 정리는 되었다. 그리고 일주일 후 완성이기 때문에, 구현 가능한 기능으로 방향을 잡았다. 그리고 작업을 하며 시간이 되면 기능을 더 늘리는 것으로 하였다. 업무분담은 어떻게 진행하는 게 좋을지는 몰라서 이 부분이 어렵게 느껴진다. 가장 효율적인 업무 분담은 어떻게 하는 게 좋을까? 튜터님의 얘기도 들어보고 이해는 되었지만, 제대로 알려면 프로젝트 진행을 하면서 알게 될 것 같다. 아이디어 회의 내용 [ [S.A] 위링(We're Traveling) ] 웹사이트 이용자들 중 여행을 계획하고 있는 사람들에게 정보를 공유해줄 수 있는 커뮤니티 기능을 가짐 상세 기능 사용 기술: HTML, JavaScri..