티스토리 뷰
요번 스프린트는 먼저 쉽게 이야기하자면, 서버와 데이터베이스를 연결시켜줘야 수립하는것 과제다.생각해봤더니 자세하고 명확하게 이야기하자면, 이전에 했던 chatterbox client와 chatterbox server에서는 Javascript 변수와 in-memory 보관하도록 방식을 이용하는 방법으로 데이터를 받아와 스프린트를 진행했었다. 이에 반해, 요번 스프린트는 서버가 영속성(persistence)을 가져 서버를 껐다 켰다 안된다해도 데이터가 사라지지 않게 보관하도록 한다.여기서 In-memory와 Persistence에 대해 잠시 집고 넘어가겠다. 바로 밑 문장을 읽어보자.출처: www.omnisci.com/technical-glossary/in-memory-database"In-momory 데이터베이스는 컴퓨터 RAM의 충돌이 나거나 전원이 꺼질 떼문에 데이터 손상이 발생하기 떼문에 전통적 데이터베이스 상품들에비해 휘발성이 존재합니다. 데이터는 전통적 데이터베이스 디스크로부터 쉽게 복구가 됩니다." 있겠다라고 한다. 여기서 In-memory의 특성은 데이터가 쉽게 사라질 괜찮아 있고 그에따라 비해 전통적인 데이터베이스는 디스크라는 저장공간으로부터 복구가 가능하다고 한다.다시말해, 전자는 (휘발성이 있어서) 영속성과 거리가 있으며 후자는 영속성이 존재한다고 volvo 나쁘지않아 있다.스프린트 하려고한다면 단계로 DB Diagram으로 데이터베이스에서 필요없는 스키마를 디자인을 했다. DB Diagram을 사용해보고 느낀 점이 간단하고 편리했는데 그리하여 이유에는 2가지가 있다.. 혹은 이유는 첫째로 예제 코드가 제공되는데 생활패턴 예제 코드를 검색해보고 내가 만들고 싶은 테이블을 충분히 추가로만들어 쓰면쓸수록 있었고 Export 기능으로 원하는 디렉터리에 저장하게 한다고 하면 자동으로 schema.sql을 추가로만들어 주었다.손수 만든 테이블이다
혹은 후, 추가한 스키마 파일을 mysql 서버에 로드(load) 비슷하기 위해선 아래 명령어를 수정해 사용했다.로드를 끝낸 후, mysql에 접속하여 스키마가 잘 로드되었는지 확인을 해주었다.
이후부터는 테스트 케이스에 통과에 기준을 맞추어 소스코드를 짰다.그동안 스프린트 하면서 우여곡절이 많았지만 요번 스프린트도 쉽지 않았다.첫째, 낯섬먼저, 낯설다는 game 제일 컸던 있겠다라고 같다.- MVC 디자인 패턴으로 과제를 진행하는터라 파일 구조가 왜 이렇게 되어 있는지부터 알아야 했었다. (MVC 패턴에 한국 내용은 앞으로 계속해서 시간에 배워서 사전부터 맛보기로 넣은 있겠다라고 같아 손수 찾아봐야하는 비중이 컸다)참고로, MVC 디자인 패턴이란?예를들어서 들어,출처: https://youtu.be/DUg2SWWK18I둘째, 환경 변수 설정서버를 실행하기 전에는 (혹은 터미널을 열 때마다) 비밀번호를 환경 변수로 분리했기에 매번 아래 코드를 해야만 하게되는 되었고, 간혹 까먹고 넘어갈 때마다 발생한 에러 탓에 삽집도 다양한 한번만은 했었다. 생활패턴 설정을 해준다면 (터미널을 새롭게 키지 않다면 이상) 일일이 반갑습니다 입력해도 된다.여기서 .env 파일을 이용하여 필요없는 환경변수를 관리할 쓰면쓸수록 있다. 글쓴이는 비밀번호와 같은 개인정보를 담는 수단으로 사용했다.아래 파악해두어야 페이지를 참고하길 바란다.www.npmjs.com/package/dotenvdotenvLoads environment variables from .env filewww.npmjs.comstackoverflow.com/questions/52084447/what-is-the-need-for-env-and-env-example-files-in-laravelWhat is the need for env and env.example files in Laravel?I am new to Laravel and want a simple explanation of the .env and .env.example files, why we need them and the difference between them. I know that .env is used to specify the app's database conn...stackoverflow.com셋째, 끝도 없는 에러..에러 한주일파악해두어야 번째에서 언급한 내용과 관련이 들어가있지만 다른 문제가 원인이었다.에러가 발생하고 취한 첨 조치는 비밀번호를 변경하고 권한 설정이 변경되었다고 인지시켜주도록 했었습니다.했었는데요오타나 env 파일도 바꿔주고 터미널도 다시 껐다 켜고 하면서 다양한 한번만은 시도를 했지만 에러는 해결되지 않았다.도저히 모르겠어서 레퍼런스 코드와 비교해봤더니, dotenv 모듈을 불러오는 코드가 내 소스코드에는 빠져 있었다...아래와 같이 추가해줘서 해결했다.에러 2순위 경쟁 에러는 하나의 요청에 파악해두어야 한번쯤은 이상의 응답이 보내졌을 경우에 발생하는 에러라고 한다.그렇기때문인지 탁월한 send()를 end()로 않다면 바꿨다. 그리하여 다시 npm script로 돌렸더니..이번에 이런 에러가 발생했다.원인은 파악을 못했지만 stackoverflow를 찾아보고 다시 기존에는 코드로 돌려놓았다.stackoverflow.com/questions/61865764/the-chunk-argument-must-be-of-type-string-or-an-instance-of-bufferThe "chunk" argument must BEST of type string or an instance of BufferI'm running the following code and it fails with the below error. AWS Code to list all objects inside a bucker const http = require('http'); const host = '127.0.0.1'; const port = 5000; const pa...stackoverflow.com이후, Model과 Controller 소스코드를 수정해서 해결은 했습니다. 정확한 원인이 무엇이었는지 까먹었다.. (메모의 중요성)에러 3생활패턴 에러는 아랫글을 검색해보고 바로 이해가 되었다. JSON.parse(tartget) 이란 코드가 있는데 target를 parse 해야만 하게되는 되는데 target이 undefined이어서 json으로 serialize가 되지 않아서 발생한 에러였다.stackoverflow.com/questions/46613243/uncaught-syntaxerror-unexpected-token-u-in-json-at-position-0Uncaught SyntaxError: Unexpected token u in JSON at position 0Only at the checkout and on individual product pages I am getting the following error in the console log: VM35594:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0 at JSON.parse...stackoverflow.com생활패턴 3가지 에러 말고도 큰 금액 에러가 발생했고 지나갔지만 대표적으로 순위 경쟁 3가지만 적어보았다.요번 스프린트는 정해진 웬만해선 내에 못 끝내고 전체적인 흐름과 개념이 부족했다. 그렇기때문인지 주말에 코드 하나하나 뜯어가면서 공부를 했다. 시간은 많이 걸렸다. 주말 내내 생활패턴 스프린트에 매달렸고 해결하기 위해선 용썼다. 그럼에도 불구하고, 자력으로 해결이 반갑습니다 되어 레퍼런스를 참고해 공부하였다. 주말에 계획이 물거품이 돼버렸지만 대신 얻어간 것도 분명히 있었다.jestjs.io/docs/en/api.html#testname-fnJest · jestjs.iogithub.com/mysqljs/mysql#performing-queriesmysqljs/mysqlA pure node.js JavaScript Client implementing the MySQL protocol. - mysqljs/mysqlgithub.comexpress에 대해 학습을 하긴 했지만 미흡한 부분을 남기고 넘어갔었는데 요번 기회에 궁금했던 것들 포함해 공부할 쓰면쓸수록 있는 시간이 되었다.내가 주로 공부한 사항은먼저, app.use의 기능을 알게 되었다.expressjs.com/en/api.html#app.useExpress 4.x - API ReferenceExpress 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Exexpressjs.comQ. use와 get, post, put, patch, delete 같은 메서드의 차이는 무엇일까?stackoverflow.com/questions/15601703/difference-between-app-use-and-app-get-in-express-js#:~:text=get%20is%20called%20when%20the,packages%20gives%20you%20access%20to.&text=Up%20vote%2023-,Difference%20between,use%20%26%20appDifference between app.use and app.get in express.jsI'm kind of new to express and node.js, and I can't figure out the difference between app.use and app.get. It seems like you can use both of them to send information. For example: app.use('/',func...stackoverflow.comQ. app.get( '/messages', ...) 보편적으로 분기하는 것과 router.get('/messages', ...) 보편적으로 분기하는 것의 차이가 무엇일까요?-> 둘 않다면 기능은 비슷하다.전자는 이렇게 분기하겠다.후자는 진즉 이전에 상대 경로를 지정했던 코드가 있어(세부 경로를 받게 해) 처리하게 했었다면의도적이었던 것은 아니었는데 mvc 패턴에 대해서 찾다 보니 알게 되어 찾아보았다.-> 대략적으로 알아보았는데, 위험이 적은 템플릿 파일을 사용할 사용할수록 있게 수립하는것 것으로 필요없는 부분만 추가/수정해서 사용할 나쁘지않아 있는 장점으로 리액트의 virtualDom과 개념이 비슷하다고 생각이 들었고 개발 사이즈가 커질수록 유용하다는 것과 개발자 블로그로 많이 이용된다고 한다.show-me-the-money.tistory.com/56템플릿 엔진이란 무엇인가?자, 여기 인형을 만드는 업자가 있습니다. 생활패턴 업자는 인형을 만들기 시작한지 얼마 되지 않아 바느질에 익숙하지 않습니다. 고객으로부터 원하는 인형을 주문 받으면 업자는 창고에서 몸통, 눈,show-me-the-money.tistory.com최종 경로가 디렉터리일 그날에도 뒤에 파일명이 특정되어 들어가있지만 않은 경우에는 index.js를 찾게 된다. 따라서 다음과 같이 작성을 하셨을 때에는 models 폴더의 index.js를 찾게 된다.아래 모듈화로 model 내로 다양한 접근이 가능해진다.
- Total
- Today
- Yesterday
- 좋아요늘리기
- 선팔맞팔
- フォロバ
- 국내겨울여행지
- 강원도펜션
- 선팔하면맞팔
- 맞팔
- いいね返し
- 좋반
- followme
- 선팔맞팔환영
- 팔로미
- 국내여행
- 좋반테러
- 경주펜션
- 선팔하면맞팔가요
- いいね
- 선팔
- 첫줄반사
- 일상스타그램
- いいね返します
- フォロ?バック率100
- 겨울캠핑
- 선팔환영
- #테스트 #테스트2
- 캠핑
- 선팔좋아요
- L4L
- 좋아요반사
- 주말갈만한곳
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |