목록CodeStates (26)
체대출신 코더의 개발자 성장기
OOP란? OOP(객체지향프로그래밍) 은 캡슐화, 추상화, 상속성, 다형성 의 네가지 성질을 띄는 개발 방식이다. 하지만 나는 그동안 왜 굳이 객체지향 프로그래밍을 해야하는지의 필요성을 몰랐다. 하지만 오늘 대충 감이와서 삘이 꽂힌김에 기록을 남겨보려한다. OOP의 필요성은 어떤 물건을 설계하고 제작하는 과정에 빗대어 보면 이해가 쉽다고 생각한다. 컴퓨터를 예로 들어보자 컴퓨터는 많은 부품(CPU,GPU,RAM,SSD,Power)들이 조합되어야, 그 기능을 수행할 수 있다. 하지만 더 좋은 성능을 원한다면 우리에겐 두 가지의 선택지가 있다. 1. 새로운 컴퓨터를 산다. 2. 새로운 부품을 산다. 과연 두 방식 중 효율적인 방식은 무엇일까? 나는 개인적으로 2번 이 효율적이라고 생각한다. 이유는 새로 모든..
HTTP 를 이용한 통신은 두가지 특성이 있다. 1. 비연결성(Connectionless) 클라이언트가 HTTP 를 이용해 서버에게 요청을 보내면 서버는 응답을 주고 연결을 끊어버린다. 2. 무상태성(Stateless) 클라이언트의 상태가 존재하지 않음을 의미한다. 서버와 클라이언트가 주고받은 기록의 상태를 남기지 않는 것을 의미한다. 위 두가지 특성으로 인해 클라이언트와 서버의 독립적인 관계유지가 쉬워져 클라이언트는 여러서버로 요청을 보낼 수 있고 서버는 여러 클라이언트로 응답을 보내줄 수 있다. 하지만, 두가지 특성 모두 서버를 클라이언트의 요청없이는 바보가 되도록 만든다. 한번의 요청에 한번의 응답 만을 보낼 수 있으며 기록이 남지 않기 때문에 서버는 같은 클라이언트로부터 요청이 와도 같은 클라이언..

1. owlPost Project란? 익명의 상대와 하루에 한통의 편지만을 주고 받을 수 있는 서비스이다. 꾹꾹 눌러담아 쓰던 편지의 감성을 스마트폰 유저들도 느낄 수 있는 유저경험을 만들기 위해 기획 되었다. 2. 기획 과정 먼저 miro를 이용해 모든 팀원들이 머리를 맞대고 UI와 UX적인 요소를 가장 먼저 기획 했다. 초기 기획안은 같이 작업한 현서님의 블로그에 잘 작성 되어있다. https://analogcoding.tistory.com/88 UI 기본설계 analogcoding.tistory.com 이후 백엔드 개발 맡으신 분들은 백엔드의 전체적인 흐름구조도를 짰다. 초반에 설계를 매우 잘해놓으셔서, 이 flow는 프로젝트가 끝날때 까지 거의 바뀌지 않았다. 3. API 문서 작성 및 Agile..

코드 스테이츠 에선 이머시브 코스를 잘 따라와 준 수강생들에게 큰 기회를 선물로 준다. 바로 기업과의 협업 프로젝트 기회를 주는 것인데, 나는 이번 4주 프로젝트에서 그 기회를 이용해 마인드 로직이라는 회사와 함께 구글 어시스턴트를 이용해 '초성 퀴즈'와 '끝말잇기' 게임을 만들었다. 마인드 로직은 인공지능 기술을 이용해 현재 가상남자친구, 여자 친구 서비스를 Google Assistant에 현재 제공하고 있는 기업이다. https://mindlogic.ai/#/ MINDLOGIC mindlogic.ai 1. Cocoa project 란? Actions on google 이라는 라이브러리를 이용하면 구글 어시스턴트와 대화를 나눌 수 있다. 또한 Google interactive Canvas를 이용하면 이..

지금 도커에대해 한페이지 넘게 쓴게 날아가서 ... 그냥 간단하게 쓰고 자려고 한다. 임시 저장하는 습관을 가져야겠다.ㅜㅜ 1. 도커 한 컴퓨터에서 구축한 환경은 다른 컴퓨터에서도 사용할 수 있도록 도와주는 기술 2. 이미지 한 컴퓨터에서 서버를 만들때 구축한 환경을 글로써 저장해 놓는것. 이 글만 있으면 어디서든 이 글에 써져있는 환경을 구성하고 사용할 수 있다. 3. 컨테이너 이미지를 실행시켜 환경을 만들어 놓은 것. 환경별로 독립적인 공간을 만들어 놓기 때문에, 충돌의 걱정은 하지 않아도 된다. 4. vm과의 차이점 컨테이너라는 것이 기존 컴퓨터 안에서 다른 환경을 만든다는 측면에서 가상 컴퓨팅를 생각할 수도 있을텐데 자원을 효율적으로 쓴다는 측면에서 도커가 훨씬 우위를 점한다. 위의 그림을 참고하..

클라이언트와 node서버의 연결은 끝났고 이제 남은 과제는 node.js 와 장고서버, 장고서버와 db를 연결하여 클라이언트에 임의의 초성을 가져다 주는 것 이다! 1. csrf error 문제 새로운 명령어를 장고에 전달하여 '추가'한다고 생각했기 때문에 post 요청에 uid를 담아 보내주었다. 그러니 서버에서는 csrf token에 대한 에러를 보내면서 403이라는 메시지를 보내주었다. CSRF는 Cross-site request forgery의 약자로서 해커가 다른 사람의 권한을 도용해서, 웹사이트에 악성코드를 심는 공격을 일컫는데, 이를 방지하기 위해 csrf token을 보내는 방법을 이용한다고 한다. 따라서 나는 token이 없기 때문에 403을 보내주는 구나 라고 생각하고 node.js에서..
이전 글에서 내가 세운 전략은 다음과 같다. 1. 구글 어시스턴트를 켠다 2. 서버를 켠다 3. 구글어시스턴트와 서버를 잇는다. 4. gactions를 이용해 둘의 대화가 가능하도록 만든다. 1.구글 어시스턴트를 켠다 구글어시스턴트를 켜는 것은 4가지 과정중에서 굉장히 쉬운 일이다. https://developers.google.com/actions/ Actions on Google | Actions on Google | Google Developers Build Actions to help users get things done with the Google Assistant. developers.google.com 이 사이트에 들어가 상단바에 'go to actions console'을 클릭하면, 원하..
어제 레퍼런스로 받은 코드를 잇기위해 마구잡이로 뭔가를 다운로드 받고, 연결시키다보니 우선순위를 어떤것으로 둬야할지 엉켰던 것 같다. 내가 실행 시킨 것들과 팀원들의 의견을 종합해본 결과 해결된 것은 다음과 같았다. 1. servo의 기능? 서버를 실행시킬 때 나만 접근할 수있는 localhost의 주소가 아닌, 다른사람들도 모두 접근 할수 있도록 배포하는 기능을 해준다. https://serveo.net/#manual Serveo: expose local servers to the internet using SSH Alternatives ngrok Serveo is an excellent alternative to ngrok. Serveo was inspired by ngrok and attempts ..