일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발
- React
- react-router-dom
- web-view
- Dreamhack
- 훈수 가능
- 코딩테스트
- 사업계획서
- 고고학 최고의 발견
- 꿀팁 환영
- apk 빌드
- 티스토리챌린지
- level3
- redux state값 유지
- 새로고침
- 창업 300
- python
- 부산 맛집 OPEN API
- 블로그 뉴비
- php-1
- expo
- 공공데이터 포털
- Redux
- 오블완
- url 랜더링
- 보안
- API 활용 신청
- 프로그래머스
- 드림핵
- Today
- Total
목록개발 (21)
1223v

고민의 시작대학생분들이 IT 스타트업을 창업해 서비스를 구현한다고 하면, 회원제는 필수로 구현하게 될 것이다. 하지만, 고민에 빠지게 되는 것은 큰 IT 기업은 대부분 세션 방식을 쓰는데 왜 세션을 사용하는 거지? 토큰 방식은 왜? 근데, 그럼 뭐써? 라는 고민을 한 번쯤은 해봤을 것이다.필자도 로그인 파트를 진행하면서 세션과 토큰 중 추후를 위해 어느 방식이 좋은 것인가에 대해 고민하게 되었고, 직접 사용해본 경험을 토대로 세션과 Token의 필요성, 장,단점 그래서 레디베리는 왜 이 방식을 선택했는지 추후 문제는 없는지를 이야기 해보고자 한다. 왜 인증에서 상태가 필요해?Stateless인 HTTP 특성으로 사용자를 특정할 수 있는 어떠한 수단이 필요하다.이를 위해, 세션 혹은 토큰을 사용해 서버와..

정규화의 목적(최적화) → 변화에 유연한 대처를 위해불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위해데이터베이스 구조 확장 시 재디자인을 최소화다양한 관점에서의 query를 지원하기 위해서무결성 제약조건의 시행을 간단하게 하기 위해서각종 이상 현상(Anomaly) 을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다.데이터의 중복을 줄이고, 무결성을 향상 → 관계형 데이터베이스를 정규화된 형태로 재디자인하는 것 제 1정규화(First Normal Form, 1NF)테이블(Relation)이 제 1정규형을 만족했다는 것은 아래 세 가지 조건를 만족했다는 것을 의미한다.어떤 Relation에 속한 모든 Domain이 원자값(atomic value)만으로 되어 있다.모든 attribute에..

우선 리프레시 토큰이롼?Access Token의 유효기간을 짧게하여 보안도 높이고, 편의성도 챙기는 방법이다.로그인을 완료하면, 유효기간이 짧은 Access Token과 유효기간이 긴 Refresh Token을 발급해준다.Access Token은 기존에 사용하던 JWT 토큰이라고 생각하면 되고, Refresh Token은 Access Token이 만료되었을 때, 새로 발급해주는 토큰이라고 생각하면 된다. 기존 방식기존의 점주사이드와 유저사이드의 refreshtoken은 유저쪽에 한개의 컬럼을 만들어 조회되는 방식이였다.문제는 리프레시 토큰 개념을 활용하려면, 불가피하게 서버측에서 토큰 정보를 저장할 수 있는 곳이 필요했다…당시에는 RT의 보관을 MVP 개발 기간이 짧아 그냥 Mysql에 저장했었다.하지..
디바운싱(debouncing)을 적용하여 불필요한 상태 변경과 렌더링을 줄이고, 필요한 경우 커스텀 훅(custom hook)을 사용하는 방법이 포함됩니다. 기존 방식 // SearchBar.js function SearchBar({ onChange }) { return ( onChange(e.target.value)} /> ); } 디바운싱(Debouncing) 적용 사용자가 입력할 때마다 즉시 상태를 업데이트하는 대신, 디바운싱을 적용하여 연속적인 입력에 대한 상태 업데이트를 지연시킬 수 있습니다. 이 방법은 연속적인 입력에서 발생하는 불필요한 렌더링을 줄여 성능을 향상시킵니다. import { useState, useEffect } from "react"; function useDebounce(va..
보호되어 있는 글입니다.

1. 우선 공공데이터 포털에 들어가서, 로그인을 진행한다.(당연) 2. 마이페이지 -> OPEN API -> 인증키 발급 현황 인증키가 있다면 3 / 없다면 "일반 인증키 재발급" 3. 이전 과정이 되었다면, 원하는 api 검색. 4. 오픈 API 선택 후, "활용 신청" 선택. 5. 대충 활용 목적 작성. -> 활용신청. (신청 후, 길어야 3일. 대부분 2분만에 될거임.) 그동안 활용신청 페이지에 있는 가이드북을 확인해보자. 6. json으로 할것이기에 뒤에 resultType=json 으로 붙혀주고, Call Back url이 http://apis.data.go.kr/6260000/FoodService/getFoodKr 이니 endpoint를 지정한다. client/src/Config.jsx //S..

프로젝트에서 react의 redux를 사용하는데, 새로고침이나 하이퍼링크를 이용한 이동시 state값이 초기화되버린다. 그래서 새로고침해도 state값이 유지되는 redux-persist를 사용하려고 한다. 폴더 구조는 이러하다. www.npmjs.com/package/redux-persist redux-persist persist and rehydrate redux stores. Latest version: 6.0.0, last published: 3 years ago. Start using redux-persist in your project by running `npm i redux-persist`. There are 906 other projects in the npm registry using ..
npm install -g expo-cli 로 expo 전역 설치 expo install expo-permissions 로 권한 부여 설정 관련 설치 우선 저게 사라지긴 했는데 우리는 애초에 다운그레이드 해서 하는중이라 신경 ㄴㄴ app.json { "expo": { "name": "Photoplace", "slug": "photoAPK", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/icon.png", "userInterfaceStyle": "light", "splash": { "image": "./assets/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }..
구름에서 제공되는 react-native는 버젼이 업데이트되어 조코딩님이 하시는 방법으로 진행할 경우 에러가 난다. 그래서 react-native의 node 버젼을 다운그레이드 시켜야되는데, 이는 구름 포럼을 보면 확인할 수 있다. react 컨테이너 node 버전 업그레이드 안됩니다 노드 버전 확인 : node -v npm 버전 확인 : npm -v node 버전 업 : curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs 다시 버전 확인하면 버전 업 되어있습니다 forum.goorm.io https://forum.goorm.io/topic/16728/react-%EC%BB%A8%ED%8..

문제. link를 눌렀을때 url만 변하고 페이지 랜더링이 진행이 되지 않음. 해결방법 호출하는 Footer가 컴포넌트이고 App.js에서 를 묶어줄때 라우터만 묶고, 컴포넌트로 묶지 않을경우, 라우터로 정보가 가지 않음. 때문에 라우터를 최종적으로 랜더링 되는 index.js에 BrowserRouter로 묶어주면 footer와 app.js두개가 묶어지므로 에러가 해결됨. 부모객체인 index.js 랜더링되면서 footer에서도 link를 통해 라우터에 접근가능하며, 링크페이지로 넘어가는 것을 확인할수 있다.