
Swagger 설정을 할 때마다 봤던 WARN 이였는데 크게 문제가 되지 않아 신경을 쓰지 않았지만, 자꾸 눈에 거슬려 해결방법을 찾았다. Swagger 버그로 보이는데 오류가 난 해당 부분을 dependcy에서 exclusion 하면 된다. maven io.springfox springfox-swagger-ui 2.9.2 io.springfox springfox-swagger2 2.9.2 io.swagger swagger-annotations io.swagger swagger-models io.swagger swagger-annotations 1.5.21 io.swagger swagger-models 1.5.21 gradle compile("io.springfox:springfox-swagger2:2...
간혹 git pull, git push를 할 때마다 사용자 자격증명을 묻는 경향이 있다. 아래 git 명령어로 사용자 저장이 가능하다. 전체로 적용하고 싶을 때는 --global 옵션을 추가하면 된다. # 사용자 이름, 이메일 설정 git config (--global) user.name "userName" git config (--global) user.email "userEmal" # 사용자 자격증명 저장 git config (--global) credential.helper store
'use strict'; // var (don`t ever use this) // var hoisting - 어디에 선언하는가에 관계 없이 선언을 가장 위로 끌어 올리는것 // has no block scope - 블럭 스콥의 개념이 없다. // let - Mutable // Variable - 변수 (변경될수 있는 값 read/write) // let (added in ES6) // global 변수는 어느곳에서나 접근이 가능하다. // global 변수는 어플리케이션이 시작할때부터 끝날때까지 메모리에 올라가있기 때문에 최소한으로 사용해야한다. let globalName = 'global'; { let name = 'ref'; console.log(name); name = 'ref-m1'; consol..
import React, { useCallback, useEffect, useState } from 'react'; import PropTypes from 'prop-types'; /* * ImageWidthPlaceholder * 이미지 로드 전 대체 이미지 표시 */ const ImageWithPlaceholder = ({ width, height, src, alt, onClick }) => { const [source, setSource] = useState('/images/img_profile_edit_nodata.png'); // 기본 이미지 const [imageWidth, setImageWidth] = useState(width); const [imageHeight, setImageHeigh..

Firebase 전화번호로 로그인하기를 활용한 인증 샘플이다. 기본적으로 전화번호 인증은 팝업이 뜨지만, 팝업 없이 사용할 수 있는 코드이다. 간단하게 기능적으로만 뼈대만 만들었으며, 살은 여러분들이 붙여서 유용하게 사용하면 된다. 간단한 전화번호 input과 인증 요청 버튼, 인증코드 input과 인증 확인 버튼으로 구성된 화면이다. 전화번호를 넣고 인증 요청을 누르면 간단하게 로봇이 아님을 증명해야 하는 퀴즈가 나온다. 인증 요청을 하면 입력된 전화번호로 Firebase에 등록된 도메인을 기반으로 코드가 전송된다. 이후 인증 확인을 누르면 인증이 완료된다. 인증이 완료될 때 uid라는 값이 특정되어 오는데, 이 값은 본인을 식별할 수 있는 ci 값과는 다른 의미이다. 사용자의 이름, 성별, 생년월일,..
github.com/firebase/firebaseui-web firebase/firebaseui-web FirebaseUI is an open-source JavaScript library for Web that provides simple, customizable UI bindings on top of Firebase SDKs to eliminate boilerplate code and promote best practices. - firebase/f... github.com 언어 지원범위 - https://github.com/firebase/firebaseui-web/blob/master/LANGUAGES.md git clone https://github.com/firebase/firebaseui-..

create-react-app(CRA)로 생성된 프로젝트는 env파일을 활용하여 전역 설정과 같은 환경변수를 사용할 수 있다. 배포 환경에 따른 타이틀, 화면이나, port, API 주소 정보들이 바뀌어야 할 때 유용하다. env 파일 우선순위 NODE_ENV 환경변수는 script에 따라 자동으로 값이 지정되는데, npm start는 development, npm run build는 production, npm test test로 매핑된다. 이점을 활용하면 된다. 여기서 중요한 점이 있는데 env 파일에 대한 우선순위이다. npm start : .env.development.local, .env.development, .env.local, .env npm run build : .env.productio..

요즘은 프로젝트가 Cloud 환경이 추세이다. AWS, GCP 등 실제 사용하는 인스턴스는 private subnet에 숨기고, public에 bastion host라는 걸 둬서 접근하는 방식이 있다. 이렇게 하면 관리 포인트를 하나만 만들고 그 외의 접근이 원천적으로 불가능해지기 때문이다. 개발자들이 Cloud 환경에 구축되어 있는 DB에 접근해야 된다고 생각해보자. 원척적으로는 개발자들의 모든 IP 또는 접근 가능 IP대역을 등록해야 한다. 하지만 bastion host를 사용하면 개발자 모두 쉽게 접근이 가능하다. SSH 또는 MobaXterm을 이용해서 터널링 할 수 있다. SSH ssh -L 33306:{target-private-ip}:{port} -i ./bastion.pem ec2-user..

RestTemplate를 사용하여 API를 요청할 때 종종 볼 수 있는 오류이다. 인증서와 관련된 오류로써, API를 요청하는 Java의 신뢰하는 인증서 목록(keystore)에 사용하고자 하는 인증기관이 등록되어 있지 않아 나타나는 오류이다. 해결방법 모든 인증서 신뢰하기 인증서 추가 (keytool) 이번에 알아볼 방법은 1번에 해당하는 모든 인증서를 신뢰하는 방법이다. 이 방법은 조금은 위험한 방법이긴 하다. 하지만 대부분 이런 오류는 Local 환경에서 외부 API를 테스트하면서 개발할 때 주로 발생한다. Local 환경에서만 모든 인증서 신뢰하기를 적용하면 된다. import java.security.KeyManagementException; import java.security.KeyStore..

맥북에서 잘 사용하던 git 명령어가 갑자기 안된다. 왜 그럴까 곰곰이 생각해 보니 최근 빅서 업데이트 이후부터라고 추측이 된다. xcode cli 개발자 명령어들이 대부분 오류가 나타났다. 매번 업데이트할 때마다 크고 작은 문제들이 발생한다. 이번에는 xcode cli 이슈이다. xcurn 에러가 나타난다면, 아래와 같이 터미널에서 xcode cli만 다시 설치하면 문제가 해결된다. $ xcode-select --install
- 제주도 여행
- 개발환경
- 성능분석
- React
- Java
- 소프트웨어공학
- 리액트
- 자바
- SQL
- 제주도 3박4일 일정
- 정렬 알고리즘
- sort algorithm
- 자바스크립트
- spring
- 오라클
- Tomcat
- 리눅스 명령어
- 프로그래머
- 경력관리
- Eclipse
- 회고
- Collection
- 이직
- Linux 명령어
- effective java
- javascript
- 프로그래머스
- 오라클 내장 함수
- 리액트 16
- Maven
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |