중괄호(brace) { }을 사용하면 f-string 안에 파이썬의 표현식(expression)을 삽입할 수 있다.남용하면 안되고 왠만하면 안쓰는게 좋은게 무슨 오류가 난지 모르고 지나칠 경우가 발생하기에 if문의 3항 연산자 -> 변수 = (true결과물 if 조건
알고리즘 실시간 강의 하루 이틀 혹은 언제가 될 지 모를 때까지 공부하고 노력해야 하는 부분인 것 같다.기본 코딩 능력이 부족하다 생각이 된다.맛보기 2 부터 버거움이 찾아 왔는데 일단 문제 파악부터 실패했다고 생각이된다.문제는 내가 입력한 숫자와 렌덤 숫자의 비교인데
큐,스택, 정렬을 배웠다.LIFO(Last in First Out)의 성격을 가진 자료 구조대표적인 기능 peek(Top을 보는), pusht(Top에 원소를 삽입), POP(Top에서 원소를 가져오는)스택은 위의 이미지와 같다라고 이해가 된다.peek을 구현하기 위해
변수를 선언 할 때 크게 생각을 가지고 있지 않았다. 위에 코드를 보고 출력값을 예상했을 때 에러가 날거라고 생각을 했는데 결과는 undefined, 80 으로 나왔다. 구글링 해본결과 자바스크립트는 변수선언을 실행전에 소스코드 평가 과정을 거친다고 한다. 이때 변수
알고리즘과 자료구조는 왜 배워야 할까?\-> 코드 최적화를 위해서https://blog.yena.io/studynote/2018/11/14/Algorithm-Basic.html자료구조에 대해 더 공부해야 할것 같다. 알고리즘 문제를 보았을때 바로 코드를 작성하
Flask에 대해 개인적으로 조금 더 알아보려고 했다.render_template -> flask는 html을 불러오려면 render_template이 필요하고 html이 templates폴더에 있어야 한다.파일을 직접 실행 했을 때는 ture값으로 실행은 되지만 다른
session - 데이터를 client 브라우져에 저장해 놓는다. 쿠기와 다르게 flask가 암호화 한다.암호화를 위해 특정 문자열을 secret_key에 저장해야 한다.세션에 값 입력 세션 값 삭제login_id 값이 세션에 있을경우 user_name이 session
flask를 이용한 페이징을 구현하는데 생각보다 나오는 내용이 없다.한글로 나오는건 점프 투 flask 책의 예제를 따라한 내용뿐이고 전체적인 코드도 나오지 않아서 참고하기가 어려운 점이 많이 있다.유튜브에서 인도 아저씨가 flask_paginate라는 것을 이용해서
프로젝트 중간이긴 하지만 하면서 공부하게 되고 더 궁금해진 것은ajax가 더 알아가야 하는 부분이라고 생각이되어서 알아보았다.페이지 새로고침 없이 서버에 요청서버로부터 데이터를 받고 작업을 수행ajax는 옛날에는 XMLHttpRequest를 이용해야 했지만 매우 복잡하
애플리케이션에서 데이터를 읽거나 쓰기 위해 사용하는 인터페이스인터페이스 - 상호간의 소통(읽거나 쓰거나)을 위한 접점CLIENT <-----> SERVER <-----> DBHTTP URI(Uniform Resource Identifier)를 통해 자원(Re
팀원의 캐리로 프로젝트가 일단 끝났다. 깜빡하고 게시판 작성을 하지 못하게 되었다.https://tstunas.notion.site/Hot6-fa64a15ed9eb428282915ccc83b26e7dsession을 더 공부를 많이 해봐야 겠고.서버와의 통신 부
데이터 타입 기본형 - 값이 담긴 주소값을 바로 복제 참조형 - 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제 a 는 식별자 3은 변수. a는 3이란는 값은 메모리에 저장하고 그 메모리 주소를 a라는 식별자에게 전달후 연결한다. a와3사이의 연결을 끊고
https://velog.io/@dlgksruf098/Node.js-1주차-4https://velog.io/@dlgksruf098/Node.js-입문-5EC2 서버 컴퓨터 대여 서비스AWS EC2에서 컴퓨터 하나는 인스턴스라 부른다.router가 파이
생성 시간을 표시하기 위해서는 moment모듈을 사용하는것이 가장 편리하다고 한다.post로 몽고디비 아틀라스에 자료 넣기 1차시도일단 성공 - 자료는 다 들어갔음createdAt부분이 객체형식으로 저장됨 -> 나는 시간이 문자형으로 들어가기 원함한국시간이 아님 날짜는
드디어 성공했다. 1\. 처음에 문제는 id값을 이용해서 if 조건을 설정하려고 했지만 body안에 id를 안넣은 채로 id를 비교하니 에러가 발생함2\. body 안의 값을 이용하기로 결정 -> PW을 이용해서 비교3\. body pw을 이용해 db에 있는 같은 P
자바스크립트에 대한 공부가 부족하다 느껴져서 일단 자바스크립트 부터 공부{0:a,1:b,2:c,3:d,4:e}와 같다고 이해가 된다.그래서 배열0을 통해서 배열에 있는 값을 가져올수 있었던것원시 타입 : 값에 의한 복사 : 원시의 값을 직접 바라보는a=1, b=a, a
Node.js는 프로그래밍 언어가 아니라 실행 플랫폼npm은 패키지 관리 프로그램이다.express는 오픈소스 라이브러리HTTP는 일반적으로 데이터를 주고 받을 때 사용되는 통신 규약웹 브라우저 : HTML로 이루어진 데이터를 읽어서 화면에 그려주는 역활쿠키 : 웹브라
set-cookie를 이용해서 쿠키 할당하기res.cookie()를 이용해서 쿠키 할당하기쿠키 접근 -> req.headers.cookie에 들어있다. rqquers의 headercookie-parser 미들웨어 -> req.cookies 프로퍼티를 통해서 json형식
시퀄라이즈는 model을 불러올때 index.js에 있는 내용을 따라서 불러온다.이부분에 의해서 위에 ../models만 써야 하는데 나는 ../models/파일이름을 써서 문제가 발생했던것강의에서 위에 코드를 이용해 로그인한 아이디 값을 이용했는데 따라해도 잘되지 않
인증 Authentication - 로그인 : 특정 권한을 가진 사용자 임을 아이디랑 패스워드등을 통해 인증을 받는것인가 Authorization - 인증을 하고 나서 인증을 받은 계정으로만 활동을 할때 로그인이 되어있음을 알아보고 허가를 해주는것 : 로그인이 되고 하
어제 req.tokenObject가 왜 못나가는 알았다. -> 결론은 route안에서 선언한 tokenObject는 지역변수 이기에 route->app->middleware로 진행되는 내 코드의 동작에서는 route 밖으로 넘어가는 순간 tokenObject는 없는
socket.io는 웹소켓이 아니다. 라이브러리다.send와 emit은 데이터를 전할 때. 앞에 socket이 붙으면 같은 socket끼리 io는 모든 socket과 받는 것은 onhttp를 불러오는 과정이 필요한데 socket이 http통신을 이용하기 때문에 http
express 없이 서버 생성해서 실행 -> if문으로 url관리를 해줘야 하는 문제가 생김http에 express를 담아서 서버 실행socket.io에도 server를 담아야한다.socket.emit("연결할 소켓이름", 전할 내용)socket.on("연결한 소켓이름
강의에서 계속 사용이 되지만 뭔지 이해가 안되던 부분.가짜 함수라고 하는데 강의에서 jest.fn()이 사용되는 부분은 DB와 연결거나 클라이언트와 res,req, 미들웨어 next함수들 \-> 다른 부분과 연결되는 것을 가짜로 만들어서 진짜로 연결 된것 처럼 보이게
static 정적메소드복습을 위해 jwt쿠키를 다시 보았는데 탈취 당했을 떄 토큰을 건들 수 없는 단점을 해결하기 위해서 refresh토큰을 이용하는 방법은 따지고 보면 세션하고 차이가 없는것 같다. 둘다 db 혹은 서버에 비교할 대상을 저장하고 확인하는 과정을 거치기
drawSQL 사이트를 이용해서 db스키마를 작성한뒤 .sql파일로 쿼리문을 제작 후 db를 생성하려고 했지만 생성에 에러가 생겨서 원인을 찾아보니 auto_increment를 사용하려면 primary_key로 지정을 해야 한다.나온 에러SQL Error 1075: I
Layered Architecture Pattern을 사용하려고 할때 repository는 crud의 간단한 기능만 넣고 service에서 where 조건을 넣을 수 있을거라고 생각을 했지만 service에 넣는 where조건은 매개변수로 인식되는 것 같았다. 아무리
EJS 처음보고 처음사용하는거여서 안되다 된것만 정리 controller에서 res.json하던것을 sequlize models를 불러올때 로 사용해야한다. cil을 이용해서불러오는 방법으로 require뒤에 모델위치만 불러오면 된다. 이것을 몰라서 매우 많은 시간
contorller test코드를 작성하고 실행을 하는데 예기치 않은 오류가 많이 발생했다.
\-> 지금까지는 모르고 사용했지만 DB를 이용할때 트랜젝션 설계를 잘해야 한다. Sequelize에서 SELECT, CREATE, DELETE, UPDATE를 이용할 때 Sequelize는 기본적으로 트랜젝션이 디폴트 값은 사용되지 않음이지만 꼭 사용을 할 수있게 설
forms의 정보를 서버로 보내기 위해서document.forms.publish.onsubmit을 이용하는데 기본 적으로 함수를 실행후 새로고침이 실행이 된다. 새로고침을 없애기 위해서 return false를 넣어줘야 한다.엔터를 치더라도 문이 끝날 때 세미콜론을 넣
sequlize로 테이블과 모델네임을 다르게 만들 수 있다.현재 모델만 이름이 있고 테이블의 이름은 없다. 그냥 사용하게 되면 Customer라는 이름으로 테이블이 생기게 된다.원하는 테이블이름을 설정할 수 있다.Joi로 유효성 검사를할 수 있다. Joi에 어떤 기능이
다른팀의 프로젝트 피드백으로보다 나온 'render와 redirect는 백엔드에서 사용안하는게 좋습니다.'를 보고 그러면 어떻게 서버에서 html을 연결하고 사용 할 수 있는지 궁금해져서 알아보았다.어려운 말과 구체적인 내용은 구글링하면 많이 나온다.send : 데이터
콜백함수 제어권 전달 : 실행시점, 매개변수
Rest, Spread 둘다 기존 배열, 객체를 건드리지 않고 사용한다. spread는 퍼트리는데 rest는 모으느데
타입스크립트에서 객체를 선언 할때 밑에 코드가 가능했다.전부 타입을 지정해줘야 한다고 생각을 했는데 의외였다.왜 되는지는 ?????
constraint 번역하면 제약이란 뜻인데 지금까지 외래키를 설정하면서 만나본적은 없는데 공홈에서 복습하다보니 만나게 되었다.뭐지 해서 알아보니 외래키의 이름을 나타내는 것이었다...
enum의 리버스 매핑은 숫자형에서만 가능하다. object 타입은 그냥 사용하게 되면 any값을 반환하게 되는데 object{name : string}으로 표현해야한다.
엔터티(Entity) - 테이블 속성(Attribute) = 컬럼 콜백함수가 햇갈림 일급객체 : 일반객체처럼 모든 연산이 가능한것 함수의 매개변수로 전달 함수의 반환값 할당 명령문 동일 비교 대상 함수도 일급객체가 될 수 있다 = 일급함수
includes는 boolean으로 리턴하고match는 문자열을 리턴해준다..promises / sync
Nested loop join비동기는 내부에서 try/catch로 에러를 잡아야 한다.
로그에 1이 나온다.... 지금까지 많이 사용했는데 깜빡했던건가 update후 결과를 보여주기 위해서는update후 다시 find로 찾은다음 return해주면 된다.
시퀄라이즈에서 join인 include를 실행하려면 해당되는 모델을 불러와야 한다...