일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- css기초
- HTML5
- 백준알고리즘
- dp알고리즘
- 백준골드
- js코테
- 리액트
- 백준구현
- 프로그래머스코테
- 프로그래머스
- 리액트커뮤니티
- 백준
- 다이나믹프로그래밍
- 리액트댓글기능
- 코딩테스트
- 백준구현문제
- 자바스크립트
- 몽고DB
- 익스프레스
- 백준nodejs
- JS프로그래머스
- 프로그래머스JS
- 백준js
- 안드로이드 스튜디오
- 알고리즘
- JS
- 코테
- 포이마웹
- CSS
- HTML
- Today
- Total
목록전체 글 (454)
개발새발 로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UZDrq/btslvxkafEH/Op2PYztQkxPg0vwjjM4hY1/img.png)
유저인증에 파이어베이스를 사용하는 이유 우리가 Express와 몽고DB를 가지고 유저정보를 구현할 수 있긴 하지만 (자바스크립트 웹토큰 라이브러리) 회원가입을 하거나 로그인을 할 때 비밀번호를 DB에 plain text로 저장하면 안된다 반드시 보안규칙을 거쳐야 한다. 즉 사용자가 회원가입을 했을 때 비밀번호는 암호화 과정을 거쳐서 DB에 저장해야하고, 로그인 했을 때 비밀번호도 암호화 과정을 거쳐서 DB에 있는 암호화과정을 거친 비밀번호와 비교를 로그인을 해야한다. 그래서 이러한 복잡한 과정을 도와주는 것이 파이어베이스이다. 유저인증과 관련된 서비스는 firebase를 사용한다 파이어베이스는 어플리케이션의 빌드부터 배포까지 도와주는 유용한 툴이다. 파이어베이스에서 Authentication(유저인증)이..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 📋풀이방법 1. 현재 칸이 청소되지않은 경우 청소한다. 2-1. 90도 회전하고, 그 앞의 구역이 청소되지않은 구역이면 전진한다. - 체크는 0번으로 초기화해준다 2-2. 90도 회전하고, 그 앞의 구역이 청소가능한 구역이 아니면 체크 후 90도 회전한다 3. 체크가 4번이 되었다면 바라보고 있는 방향에서 뒤쪽의 구역을 확인한다 4-1. 만약 뒤쪽..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1Fvbr/btsljTHAHyl/X90ynB0rf49Zcqqh0OIhBk/img.png)
몽고DB의 주소나 외부저장소의 API 인증키같은 것들은 보안상으로 문제될 수 있어 깃허브에 올릴때 감춰야한다. 그래서 ENV 환경변수를 설정해놓아야 한다. 1. server에 깃허브에 올리지 않을 폴더를 하나 생성해준다 2. 환경 변수를 설정할 파일 key.js와 dev.js를 생성해준다. 3. key.js에는 배포 후 환경변수 설정파일과 개발 환경에서의 환경변수 설정파일을 따로 지정해준다. if (process.env.NODE_ENV === "production") { //배포상태라면 module.exports = require("./production.js"); } else { //개발상태라면 module.exports = require("./dev.js"); } 4. dev.js에는 개발환경에서의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qxmsA/btslvyImoYE/boNiXfwi5tjGMN8Yy9vrz1/img.png)
이미지를 서버쪽에 저장을하게될 때 만약 다른 환경에 배포해주어야 할 때 아래와 같은 이미지 경로는 배포환경에 맞게 변경을 해줘야한다. 또한 커뮤니티를 운영할 때의 이미지 저장은 여러 이용자들이 여러 이미지를 저장할 텐데 서버쪽의 이미지 폴더를 만들어서 저장하게 되면 서버에 부담이가게 되고 비용도 많이 들게 된다. 그래서 대부분의 서비스들은 외부저장소에 이미지를 저장한다. 이미지를 외부저장소에 저장하는 방법을 알아보자 우리는 네이버 클라우드를 이용해 볼 것이다. 네이버 클라우드는 결제를해야 이용할 수 있다! -위 이미지에 표시한 곳을 눌러서 사용하면 되는데 나는 결제를 하지 않았으므로 사용방식만 알아보자 네이버 클라우드 사용가이드 https://guide.ncloud-docs.com/docs/storage..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/S1CoB/btsljS2CaYB/FzPvlCDh2akCjqQpFAcf61/img.png)
치킨 배달 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 71370 34865 20941 45.579% 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두..
크로아티아 알파벳 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 146039 65040 54821 44.642% 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력..
스택 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음) 256 MB 218931 77880 56696 37.317% 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GhYyA/btsla0sSjMk/1ORkeK3qTSShol1n8WN5u0/img.png)
게시글을 작성하면서 이미지 파일도 올리고 싶다면 어떻게 해야 할까? 먼저 우리는 클라이언트에서 이미지를 넣으면 서버에 저장하는 방법을 알아보자 클라이언트에서 이미지를 올리면 서버에 저장하고 서버에 저장한 후 다시 저장한 이미지를 클라이언트에서 띄워주어야 한다. 작동 순서를 그림으로 그려보았다. 이미지 업로드 후 게시글 제출 이미지 DB에 저장 후 게시글 상세페이지에서 이미지 출력 📋작동순서 1. 이미지 업로드를 위한 컴포넌트생성 -이미지 input태그를 따로 컴포넌트에 만들어서 작성한다. (ImageUpload.js) -input태그에서 이미지만 선택할 수 있도록 하기 위해 속성 accept에accept="image/*"를 작성한다. 2. 이미지 컴포넌트에서 이미지를 업로드하면 onChange를 이용해 ..