본문 바로가기

분류 전체보기120

20210308 TIL 배운 것들 github Oauth sass 더 알아볼 것 다른 서비스의 Oauth 해보기 github Oauth를 직접 사용해보았다. 지금까지 배웠던 것들을 사용하여 api문서를 읽으며 해결했는데 정말 간편하고 보안면에서도 정말 좋을 것 같다는 생각을 했다. 프로젝트에서 꼭 다른 서비스의 Oauth도 사용해보아야겠다는 생각을 했다. 먼저 github에서 Oauth를 등록하면 redirect url로 authorization code를 보내주는데 이를 이용하여 서버에 token을 요청한다. async getAccessToken(authorizationCode) { let resp = await axios.post('http://localhost:8080/callback', { authorizationCod.. 2021. 3. 8.
20210305 TIL 배운 것들 access token refresh token jwt 더 알아볼 것 Jwt 정리하기 서버에서는 유저가 민감하거나 제한된 정보를 요청할 때마다 유저를 확인하기 위해 가지고 있는 세션 값을 확인하는데 매 요청마다 데이터베이스를 확인해야 하는 번거로움이 생긴다. 이러한 문제를 해결하기 위해 토큰 인증방식을 사용하기 시작했다. 대표적인 토큰 인증방식인 jwt를 사용하는데 이때 주어지는 암호화된 토큰을 클라이언트에 저장하여 인증하는 방식이다. token스프린트를 통해 더 자세하게 토큰 인증방식에 대하여 알게 되었다. module.exports = async (req, res) => { const userInfo = await Users.findOne({where: {userId: req.body.us.. 2021. 3. 7.
20210304 TIL 배운 것들 https hashing cookie session csrf 더 알아볼 것 cookie options axios vs fetch withcredentials cookie vs session 테이블 외우기 cookie와 session 스프린트를 진행했다. axios대신에 fetch를 사용하여 구현하다가 꽤 애를 먹었다. axios는 fetch와 다르게 다음과 같은 특징을 갖는다. error handling 관련해서 fetch는 catch에 걸리더라고 이후의 then 문을 실행하는 반면에 axios의 경우엔 then 문을 실행하지 않고 console 창에 해당 에러로그를 보여준다. 또한 JSON 데이터 자동 변환이 가능한데 fetch처럼 json으로 변환 후 출력하지 않고 바로 data 프로퍼티에.. 2021. 3. 4.
20210303 TIL 배운 것들 mvc advanced sequelize association 더 알아볼 것 mvc 한계 공식문서만으로 해결하기 mvc advanced를 하였는데 눈에 들어오는 것이 없어서 굉장히 헤맸다. 하지만 오피스아워를 진행한 후에 조금이나마 sequelize에 대하여 이해한 것 같아 다행이라고 생각했다. 좀 더 파볼 필요가 있는 것 같다. sequelize에서 association을 할 때 migration파일에 관계를 지정해주고 sequel에도 관계를 지정해주어야 한다. // migration에 관계 명시 module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.addColumn('urls', 'user_id'.. 2021. 3. 3.
20210302 TIL 배운 것들 mvc 디자인 패턴 orm sequelize 더 알아볼 것 shortly mvc advanced migration express.Router() mvc디자인 패턴에 대하여 배웠다. 전에 스프린트 중에 mvc패턴으로 디자인되어있었던 게 생각이 나서 전 스프린트를 비교하며 레퍼런스로 공부를 하였는데 생소한 개념이어서 그런지 이해가 잘 되지 않았다. 잘 이해가 되지 않을 때는 그냥 외우려고 노력하는 편이라 일단은 그냥 외웠다. 후에 orm에 대하여 배웠고 orm 중 sequelize에 대해서 공식문서로 학습을 하였는데 스프린트를 진행하면서 정말 많이 막혔다. 사실 공식문서에 다 나와있었지만 방대한 양의 공식문서 중 적절하게 필터링하지 못해 스프린트를 잘 진행하지 못했다. 그러나 오프스 아워에서 힌트.. 2021. 3. 2.
20210301 TIL 배운 것들 export default webpack babel 더 알아볼 것 __dirname webpack loader vs plugin 스프린트를 진행하면서 생소한 개념에 대하여 따로 정리를 해뒀는데 주말에 레퍼런스를 찾아보며 정리를 하였다. 주말에 해야 할 개념 정리를 다 하지는 못했지만 어려웠던 부분들이 해소가 되면서 시원했다. 프로그래밍을 공부하면서 힘든 부분이 부품에 해당하는 작은 개념들에 대해서 잘 모를 때인 것 같다. 그 부분마저 이해가 되지 않으니 전체를 이해하는데 큰 어려움을 느꼈다. 하지만 3달 전의 나를 보면 많이 부족하고 모르는 게 많았지만 그때와 비교하여 지금은 정말 많이 발전한 것 같아 기쁘다. 많은 개념들이 쏟아지고 그럴수록 예습, 복습 시간은 부족해온다. 체력도 조금 딸리는.. 2021. 3. 1.
Redux redux는 애플리케이션 상태를 관리하기 위한 오픈 소스 javascript 라이브러리이다. 특히 react와 함께 사용 시에 큰 효과를 낸다. 그동안 상태를 다루기 위해 컴포넌트 안에서 상태 변경 로직이 복잡하게 얽혀있는 경우가 많았으나 redux를 통해 상태 변경 로직을 컴포넌트로부터 분리하여 따로 관리 함으로써 표현에 집중한 보다 단순한 함수 컴포넌트로 만들 수 있게 되었다. redux는 위와 같이 store 안에 state, 그리고 4개의 함수로 구성이 되어있고 각 선에 따라 관계를 갖고 redux가 실행된다. action action은 store내의 state값을 변경, 삭제하기 위한 객체이다. //action 객체 { type: 'color', // type은 반드시 명시해야 한다. value.. 2021. 3. 1.
20210228 TIL 배운 것들 csrf 정규표현식 tcp, udp 미들웨어 더 알아볼 것 iframe seven layer Urlencoded 주말에 세부 개념에 대해서 정리를 하며 공부를 하였는데 하면 할수록 다른 개념들이 꼬리를 물며 나와서 할게 계속 늘어났다. 그래도 조금 정리가 돼서 다행이다. 특히 정규 표현식, 미들웨어에 대해서 궁금했던 부분들을 정리해서 좋았다. 이제 다음 주면 프로젝트를 진행하게 되는데 어떤 프로젝트를 해야 할지 고민이고 프런트, 백 중 어느 부분을 맡아서 할지도 고민이다. 두 번의 프로젝트 중 한 번은 프런트 한 번은 백을 하려고 했으나 백 부분이 어려워서 백으로 선택해야 하나 고민하고 있다. 다른 분들하고 얘기를 나눠야 겠다. 2021. 2. 28.
20210226 TIL 배운 것들cmarket databasemysql in node.jsinsertId 더 알아볼 것스키마 디자인프라이머리 키, 포린 키UniquecreateConnectiondbeaver cmarket database test를 시간에 딱 맞춰서 해결했다. 항상 sprint를 할 때마다 시간이 남았었는데 이번에는 문제를 잘 파악하지 않아서 시간이 많이 걸렸다. 어제 복습을 잘 못해서였던 건지 문제를 잘 읽었다면 금방 해결했을 텐데 시간을 많이 날린 것 같다. 데이터베이스가 익숙하지 않아서 스키마 디자인이라 든 지 테이블을 다루는 부분이라 든 지 어려웠다. 주말에 dbeaver를 이용해서 연습을 많이 해야겠다. 이번 주말이 정말 중요한 시간이라고 생각한다. 삼일절도 껴서 시간이 많기에 지금까지 배웠던 것들을 .. 2021. 2. 26.