- 방문자수
전체 방문자
오늘 방문자
어제 방문자
-
[Docker] Mysql Timezone 변경
Mysql에서 NOW() 를 통해 현자날짜로 TIMESTAMP 필드에 넣어주는데, 날짜가 현재시간과 일치 하지 않아서 타임존을 변경하려고 한다. 별도의 설정이 없다면 기본적으로 UTC로 설정이 되어있어 9시간의 차이가 나는것을 확인할 수 있다. Mysql CLI 진입 먼저 mysql 컨테이너의 ID값을 확인하고 CLI에 진입한다. CLI 가 뭐지? Command-Line Interface 로 터미널을 통해 사용자와 컴퓨터가 상호작용 하는 방식 ex) dos, commandPrompt, bash 로 대표되는 유닉스 Shell환경 terminal(MacOS), window terminal(Window) container의 ID값을 확인한 뒤 exec -it 명령어를 사용하여 진입한다. docker exec ..
-
axios.interceptors를 사용해 JWT유효성 관리
Axios.interceptors 별도의 Library가 아닌 axios에 포함된 기능이다. 요청이나 응답 전에 무엇인가를 수행해주거나, 오류 발생시에 수행할 것들을 미리 정의해둘 수 있다. axios.interceptors.request.use() axios.interceptors.request.use(function (config){ // Do something before request is sent return config; }, function (error){ // Do something with Request error return Promise.reject(error); }); axios.interceptors.response.use() axios.interceptors.response.u..
-
React Native Expo 설치 및 실행
React Native Expo Expo의 장점 set-up이 구성되어있어 빠르게 개발을 시작 할 수 있다. 배포가 편하다. 첫 배포 후, 업데이트 버전은 Expo에 publish만 해주면, Expo가 알아서 업데이트를 해줌 Expo의 단점 Expo에서 제공되는 API만 사용 가능하다. 필요한 기능이 없을때, 모듈을 만들어서 사용할 수 없다 native 파일들을 크게 제어할수 없다. Expo로 프로젝트 시작하기 Expo-cli 설치 $ yarn add global expo-cli 설치 간 오류 'expo command not found' 오류 >> downloaded package가 저장될 디렉토리를 찾을수가 없다는 말로, 별도의 디렉토리를 지정하지 않으면 나오는 오류 EEXIST ERROR expo가 ..
-
error: spawn cmd enoent
Error: spawn cmd ENOENT npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! ppmtool-react-client@0.1.0 start: react-scripts start npm ERR! Exit status 1cx npm ERR! npm ERR! Failed at the ppmtool-react-client@0.1.0 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.React 프로젝트 내에서 npm start 했을때 생겼던 오류 해당 오류는 시스템 환경변수에 C:\\window\\System32..
-
[Mac] 환경변수 선언
Mac에서 환경변수를 선언하는 방법에는 2가지가 있다. [임시적 등록] Terminal 명령어 [영구 등록] zshrc / bashrc 에 직접 선언 Terminal 명령어 일시적으로 환경변수가 등록되지만, 터미널이 재부팅 되면 등록된 변수가 사라진다. $ export {환경변수명}={환경변수값} echo {환경변수명} 을 사용해서 환경변수 값을 확인할 수 있다. 수정 또한 같은방식으로 진행하면 된다. 첫번째 명령어와 같이 '=' 사이에 empty space가 존재하면 안된다. ./zshrc 에서 설정하는법 zsh사용자라면 vi ~/.zshrc, bash 사용자라면 v1 ~bashrc 를 사용하여 직접 들어가서 수정한다. export {환경변수명}="{환경변수값}" source ~/.zshrc 를 통해..
-
Fragment 내부의 Button에 대해서는 onClick이 작동하지 않는다.
java에서 코드로 구현해주는 방식으로 사용해야 버튼 클릭이 작동한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445public class MainFragment extends Fragment implements MapView.CurrentLocationEventListener, View.OnClickListener { ... @Override public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) { ... // Fragment에서는 onClick을 사용할 수 없기때문에, 별..
-
Clean Code 제 3장. 함수
오늘 읽은 범위 : 3장. 함수 책에서 기억하고 싶은 내용 함수를 만드는 규칙 작게 만들어라 각 함수가 하나의 이야기를 표현하다. 각 함수가 너무도 멋지게 다음 무대를 준비했다. 이것이 핵심이다. 함수는 한가지 일만 수행해야 하고, 그 함수는 이후에 어떤함수를 실행시킬지에 대한 여지를 남겨두고 있어야한다. 책을 읽는것처럼 흐름을 예측할 수 있게 함수를 작은단위로 만들어야 한다. 블록과 들여쓰기 if문 / else문 / while 문 등에 들어가는 블록은 한줄이어야한다. 중첩구조가 생길 만큼 함수가 커져서는 안된다는 말이다. 블록 내의 그 한줄은 내부 로직을 설명하는 적절한 명명법으로 별도의 메서드로 사용한다면 코드를 이해하기에 더욱 쉬워질것이다. 한 가지만 해라 함수는 한가지를 해야한다. 그 한가지를 잘..
-
[Design Pattern] Strategy Pattern
https://github.com/donghyeon-dev/StrategyPattern-with-Springboot Strategy Pattern 이란? behavior software design pattern that enables selecting an algorithm at runtime. 알고리즘을 런타임시 동적으로 선택할 수 있게 하는 행동디자인 패턴 알고리즘을 정의하고 각각을 캡슐화하여 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 어떠한 객체의 행위를 캡슐화하여 행위을 행하는 전략에 따라 쉽게 행위를 바꿀수 있도록 도와준다. 기능을 사용하는 부분 과 구현하는 부분 을 명확히 분리하는것이 중요하다. 💡 객체가 할수있는 행위들을 각각의 전략으로 만들어 놓고, 동적으로 행위의 방식(전략)..