목록전체 글 (37)
체대출신 코더의 개발자 성장기

클라이언트와 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 ..

장고를 다운로드 하려는데 pyenv라는 가상환경을 다운로드 받아야하는 이슈가 있어서 왜 굳이 가상환경을 설정해야하는지 의문이 들었다. 검색 결과 파이썬 버젼 관리에 대한 이슈 때문에 가상환경을 설정 해야한다고 하는데 더 자세히 들어가보자 1. 왜 가상환경이 필요하지? 하나의 프로젝트는 많은 파이썬으로 작성한 코드들의 파일이 모여서 실행된다. 만약, 모두 다른버전의 파이썬으로 작업하다 하나로 합치는 경우가 생긴다고 생각해보자. 어떤 일이 일어날까? 버전충돌이 일어나 난리가 날 확률이 매우 높아진다. 이러한 상황을 방지하기 위해 가상환경이 필요하다고 생각하면 될것같다. 예를 들어 장고 1.5로 작성중인 A와 장고 1.4로 코드를 작성중인 B 가 있다고 해보자 A와 B를 한 프로젝트로 합치려니 B의 버전이 너..
기업 측에서 프로젝트를 만들때 참고하라고 받은 파일에 __init__이라는 빈파일이 모든폴더마다 있길래 왜 있나 의문이 들어서 서칭해보았다. 다른 폴더에 있는 파일을 import하여 쓰고 싶을 때, '나 쟤랑 같은 프로젝트에서 쓰이는 애야' 라는 표시를 해주지 않으면, 불러와 쓸 수 없다고 한다. 또한 한폴더에서 작성한 파일들을 *를 이용해 모두 불러오고 싶을 때는 __all__이라는 변수를 설정해주고, import할 것들을 명시적으로 적어 주어야한다고 한다 __all__ = ['echo']

초기의 웹 페이지 백엔드코드의 형태는 모든 코드가 하나로 합쳐진 형태였다. 하나로 합쳐서 꼬일데로 꼬인 코드는 프로젝트 관리를 어렵게 만들었다. 따라서, 사람들은 관리가 쉽도록 코드들을 구분짓기 시작했고, 이러한 구분을 구체화 시켜 MVC패턴, 혹은 MVT 패턴을 만들어 현재 사용중인 것이다. 1. MVT란? - 모델 : 사용자가 입력한 데이터를 DB에 저장하는 부분을 담당 - 뷰: 모델의 데이터를 적절하게 가공하여 클라이언트에게 보내어 보여주는 역할 - 컨트롤 , 템플릿 : 모델과 뷰를 사용자의 입력과 행동에 반응하여 업데이트 해주는 역할 2. 장고에서 MTV패턴은 어떻게 이용되나요? 1) 웹브라우져 에서 사용자가 특정한 이벤트를 발생시키고, 요청은 장고의 서버로 진입한다. 2) URL Dispatch..
튜플은 내부에 입력한 값을 변화시킬 수 없다. 삭제하거나 추가하려고 하면, error 가 떠버리므로 보기, 읽기의 기능만 제공한다. 원본을 해치지 않는 슬라이싱 서로다른 튜플을 더하거나 곱해서 새로운 튜플을 만들어 내는 것은 가능 하다.
리스트는 자바스크립트에서의 '배열'과 같다. 조금 차이가 나는 부분을 가져오자면 리스트내부의 어떤 요소를 삭제하고자 할 때 del을 이용한다. a = [1,2,3,4,5] del a print(a) #[2,3,4,5] 2. append js에서의 push와 같은 기능을 하는 것처럼 보인다. 3.index js에서 indexOf()와 비슷한 기능을 하는 것 같음 4. insert(index,value) 리스트의 index 번째에 value값을 넣은 행위를 실행해준다. 5.remove(value) 리스트내부의 첫번째 value 값을 삭제한다. 6. count(value) 리스트 내부에 있는 value의 수를 세준다.