목록분류 전체보기 (126)
바르고 뜨겁게
안드로이드에서 카카오톡 로그인이라던가 페이스북로그인 등 API를 사용하기 위해선키해시를 해당 사이트에 넣어줘야 한다. 키해시 얻는 방법 (debug keyhash, release keyhash, googlePlay keyhash) 디버그 키해시1. IDE 사용 public String getKeyHash(final Context context) { PackageInfo packageInfo = Utility.getPackageInfo(context, PackageManager.GET_SIGNATURES); if (packageInfo == null) return null; for (Signature signature : packageInfo.signatures) { try { MessageDigest..
노드 보안 처리 dotenv dot(.) + env.env 파일에 키=값 형식으로 비밀번호 저장npm i dotenvroot 폴더에 .env 파일을 생성한다..envCOOKIE_SECRET=secretpassword PORT=8001app.js// process.env에 .env의 내용이 들어간다. require('dotenv').config(); // .env는 아래처럼 불러올수있다. app.set('port', process.env.PORT || 8001); ... process.env.COOKIE_SECRET
노드 보안 처리 dotenv dot(.) + env.env 파일에 키=값 형식으로 비밀번호 저장npm i dotenv root 폴더에 .env 파일을 생성한다..envCOOKIE_SECRET=secretpassword PORT=8001app.js// process.env에 .env의 내용이 들어간다. require('dotenv').config(); // .env는 아래처럼 불러올수있다. app.set('port', process.env.PORT || 8001); ... process.env.COOKIE_SECRET
시퀄라이즈(sequelize)SQL문법 대신 JavaScript로 대체할 수 있는 ORMnpm i sequelize mysql2 // 시퀄라이즈는 명령프롬프트에서 바로 사용하는 방식(커맨드라인인터페이스)을 지원함 npm i -g sequelize-cli // 시퀄라이즈 환경 초기화 sequelize init데이터베이스 스키마 생성sequelize db:createmodels/index.js 시퀄라이즈의 메인 파일models/ 아래 자바스크립트들은 테이블과 1:1 대응된다 config/config.json 시퀄라이즈 설정 파일 시퀄라이즈로 데이터베이스 만들기시퀄라이즈 설정config/config.json{ "development": { "username": "root", "password": "12..
SNS 로그인 버튼 PNG, PSD 구글 아이디로 로그인 버튼 png네이버 아이디로 로그인 버튼 png카카오 아이디로 로그인 버튼 png이메일 아이디로 로그인 버튼 png페이스북 아이디로 로그인 버튼 png 좀더 길게구글 아이디로 로그인 버튼2 png네이버 아이디로 로그인 버튼2 png카카오 아이디로 로그인 버튼2 png이메일 아이디로 로그인 버튼2 png페이스북 아이디로 로그인 버튼2 png
템플릿 뷰 엔진 PUG html 대신에 다른 템플릿 엔진을 사용할 수 있다.PUG pug는 들여쓰기로 부모,자식 태그를 구분한다. 들여쓰기는 탭/스페이스 상관없지만 하나로 통일해야 함. express (폴더명) --view=pug npm i npm install --save express jade pug변수선언프론트 (.pug) 에서 - 선언 후 자바스크립트로 변수 선언가능렌더링시에 선언 가능router.get('/',(req,res,next)=>{ console.log('세번째 미들웨어'); res.render('test',{ title3: '렌더링 변수', title4: '추가', }); });app.js app.engine('pug', require('pug').__express); app.set(..
express - app.js 요청(req) >> 미들웨어(app.use 형태) >> 응답(res) next() 도 하지않고 res응답도 하지 않으면 클라이언트는 무한정으로 기다린다.라우터기능app.js는 쉽게말하면 중앙 통제를 하는 파일로, 라우터들을 연결한다.app.get('/users', (req,res)=>{ res.send('유저 정보'); }); ...익스프레스 설정, 값 저장app.set미들웨어(middleware) 장착app.use : 모든경우 적용 / app.get app.post ... : 특수한 경우 적용app.use안의 req, res로 요청과 응답을 조작할 수 있다. req, res는 모든 미들웨어를 차례대로 거쳐간다다음 미들웨어로 넘어가기 위해선 next() 를 호출하거나 r..
npm 명령어npm outdated : 패키지이름, 현재버전, 최신버전 등을 알려준다.npm update (패키지이름) : 패키지 업데이트 실행 (마이너랑 패치버전까지만)npm remove (패키지이름) : 제거 remove > re 단축가능npm search (검색어) : 어떤 패키지들이 있는지 검색가능(온라인)npm info (패키지이름) : 패키지 정보 확인 (온라인)npm ls (패키지이름) : 내 패키지에서 검색한 패키지가 어떤 디펜던시에 의해 설치되었는지 알 수 있다.npm version (버전) : 패키지 버전 전체 변경npm version patch : 패키지의 패치버전 한단계 올림npm version minor : 패키지의 마이너버전 한단계 올림 ( 패치는 초기화 )npm version ..
Node JS - 노드 서버 만들기http 모듈, localhost, 포트http 모듈은 선언된 js를 서버프로그램으로 만든다.http 모듈이 서버 역활을 하고 node는 이걸 실행한다.const http = require('http'); // http.createServer(요청/응답 콜백); http.createServer((req, res)=>{ console.log('server start'); res.write('server1.js PAGE'); res.write('write used multiple times'); res.write('write used multiple times'); res.end('end'); }).listen(8080, ()=>{ console.log('8080 포..
예외처리try/catch 사용setInterval(()=>{ console.log('시작'); try{ throw new Error('에러 발생'); }catch (error){ console.error(error); } },1000);process.on('uncaughtException',콜백함수) 을 사용하면 예기치 못한 에러 처리가 가능하다.process.on('uncaughtException',(err)=>{ console.error('모든 에러 한꺼번에 처리',err); }) setInterval(()=>{ throw new Error('에러 발생'); },1000); setTimeout(()=>{ console.log('2초 후 실행'); },2000);모든 에러 한꺼번에 처리 Er..