개발일기 47

[MYSQL] 날짜, 시간 형식 지정 / 계산하기

GOAL : 다양한 함수를 통해 MYSQL에서 날짜와 시간을 다룬다. 날짜, 시간 형식 지정 및 게산 형식, 포맷 지정하기 DATE_FORMAT 함수 DATE_FORMAT(date, type) ex) date = '2023-02-13 11:30:14' type = '%Y/%m/%d' # '2023/02/13' date : 형식을 갖춘 날짜 및 시각 type : 반환받을 형식 자주 사용하는 형식 입력된 날짜의 형식을 'yy-mm-dd'와 같이 바꿉니다. '2023-02-13 13:54:22' 같은 형식을 '2023-02-13'로 바꿀 때 사용합니다. 다양한 Format Description 확인 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-function..

[Python] 10진수, 2진수 변환 (파이썬 내장 함수 활용)

파이썬에서 10진수 2진수 다루기 파이썬에서 제공하는 함수를 활용하면 쉽게 변환이 가능합니다. 10진수에서 2진수로 변환 bin() 사용 v = 10 bin(10) # '0b1010' bin()을 활용하여 10진수를 2진수로 변환할 수 있습니다. 변환된 값은 문자열로 반환됩니다. 2진수 변환의 경우 앞에 '0b'가 붙습니다. format() 사용 v = 10 format(v, '#b') # '0b1010' format(v, 'b') # '1010' '{0:#b}'.format(10) # '0b1010' '{0:b}'.format(10) # '1010' format()을 활용하여 10진수를 2진수로 변환할 수 있습니다. 변환된 2진수는 문자열입니다. 2번째 인자에 '#'을 포함하지 않으면 접두어를 제거할 ..

개발일기/Python 2023.01.30

[Python] 자주 사용하는 라이브러리 정리 #1

라이브러리 최근 코딩테스트를 보면서 라이브러리가 기억이 안나서 고생한 적이 있어서 코테 전에 보고 갈 내용을 포스팅을 하려합니다. 지극히 개인적으로 자주 사용하는 라이브러리만 정리하니 참고바랍니다. 표준입출력 import sys input = sys.stdin.readline 순열과 조합 # 순열 from itertools import permutations print(list(permutations([1,2,3,4], 2))) # [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] # 조합 from itertools import combinations print(list(combin..

개발일기/Python 2023.01.19

[Git] 깃랩(Gitlab)에서 깃헙(Github)으로 커밋 옮기기 (Repository 이동) + 커밋 기록 삭제하기

프로젝트를 깃랩에서 진행하여 깃헙 잔디가 많이 죽어있었습니다... 잔디를 되살리기 위해서 깃랩에 있는 커밋 기록을 깃헙으로 옮기는 방법을 알아봤습니다. 깃랩에서 깃헙으로 레포지토리 이동하기 $ git clone --bare {깃랩주소} git bash에서 해당 명령어로 옮기려는 커밋 기록이 있는 깃랩 주소를 불러옵니다. $ cd {레포지토리명}.git $ git push --mirror {깃헙주소} 로컬로 불러온 레포지토리에 들어가서 옮기고 싶은 깃헙에 push합니다. 이렇게 하면 웬만한 레포지토리는 이동이 가능합니다. 다만, 제가 진행했던 프로젝트 중에 data.json파일의 크기가 깃헙 용량 제한인 100MB를 넘어가는 경우가 있어 이 방법으로 옮겨지지 않았던 경우가 있었습니다. 일단 파일을 삭제하고..

개발일기/Git 2022.11.22

[React-Native] AsyncStorage를 활용하여 token 저장하기

웹에서 개발할 당시에는 세션 또는 로컬에 토큰을 저장하여 로그인 상태를 유지하게 했습니다. 하지만 앱에서는 세션과 로컬을 활용할 수 없기 때문에 AstncStorage를 활용하여 디바이스에 정보를 저장하여야 합니다. AsyncStorage 설치 $ npm install @react-native-community/async-storage AsyncStorage에 데이터 저장하기 // Token.js import AsyncStorage from '@react-native-async-storage/async-storage'; // AccessToken 저장 export const setAccessToken = async token => { await AsyncStorage.setItem('accessToken..

개발일기/App 2022.11.20

[React] 로그인 후 이전 페이지로 이동 구현

지금까지의 프로젝트는 로그인을 해야만 서비스를 이용할 수 있어 항상 로그인 성공 시 메인페이지로 이동시켰습니다. 하지만 이번 프로젝트에서는 일부 기능만 회원 전용이기 때문에 비회원도 자유롭게 사이트를 구경할 수 있습니다. 만약 비회원이 회원만 이용가능한 서비스를 원한다면 로그인을 할 수 있도록 로그인 페이지로 이동시키고, 그 상태로 로그인 이후에 본래 서비스를 이용할 수 있게 해주어야 하므로 메인페이지가 아닌 이전 페이지로 이동시켜주어야 합니다. 기존 코드는 이렇게 구현되어 있었습니다. // 로그인이 필요한 특정 행동을 했을 경우 if (!sessionStorage.getItem("token")) { MySwal.fire({ title: "로그인 후 이용해주세요.", icon: "warning", con..

개발일기/Web 2022.10.11

[React] 파일 업로드 및 미리보기 구현 + input태그 버튼연결하기

이번 프로젝트에서 이미지 파일을 업로드하여 그것과 비슷한 그림체의 웹툰을 추천해주는 부가기능이 있었습니다. 이 페이지의 기능 구현을 담당하여 필요한 기술들을 학습하면서 배운 내용을 기록해두려합니다. 다음과 같은 화면에서 그림을 업로드 할 수 있게 버튼을 만들어주었는데, 파일을 업로드하는 버튼이 너무 밋밋하여 이를 커스텀하고자 input과 버튼을 연결해서 css를 입혔습니다. // upload.jsx ... // 버튼의 for와 input의 id를 일치시켜 연결시켜준다. {fileImage ? "다시 업로드 하기" : "그림 업로드 하기"} ... const InputBtn = styled.label` box-shadow: 2px 3px 2px rgba(0, 0, 0, 0.5); border: 0.3vw ..

개발일기/Web 2022.10.11

[Node.js] socket.io를 활용하여 채팅구현하기

Node.js 라이브러리 socket.io 채팅 Goal node.js 이해하고 개발환경 세팅 express를 이해하고 활용 socket.io 라이브러리 활용 채팅서버 구현 활용도구 자세한 내용은 추후 포스팅을 통해 다루겠습니다. 아래에서는 채팅 구현과 관련된 내용에 대한 간단한 소개만 합니다. Node.js chrome V8 JavaScripty 엔진으로 빌드 된 JavaScript 런타임 다양한 JavaScript app을 실행할 수 있도록 도와주는 프로그램 서버에서도 JavaScript 언어를 사용할 수 있도록 도와줍니다. Express Node.js를 사용한 서버를 개발하기 위한 웹 프레임워크입니다. http 요청에 대한 핸들러를 만들어줍니다. Socket.io 서버와 클라이언트 사이의 양방향 채..

개발일기/Web 2022.06.16

[Bash] Alias 등록하기

학습을 할 수록 Bash에서 명령어를 입력할 일이 많아져서 긴 명령어들을 Alias를 이용해 줄여서 사용하고 있습니다. Alias란? 시스템 명령어를 단축시키거나 주기적으로 사용되는 명령어에 기본 변수를 추가하기 위해 사용하는 다양한 CLI(Command-line-interface)의 명령어입니다. 간단한 사용법 별칭 만들기 alias ="" ex) alias activate="source venv/Scripts/activate'" 위와 같이 적용해주면 Bash에서 activate 명령으로 가상환경을 실행시켜 줍니다. 별칭 제거 unalias activate 적용한 별칭을 없애줍니다. 하지만 이렇게 사용한다면 시스템 재부팅 시 별칭이 초기화 되는 단점이 있는데, 만약 계속해서 별칭을 쓰고 싶다면 ./ba..

개발일기/Git 2022.05.30