- 방문자수
- Best
전체 방문자
오늘 방문자
어제 방문자
Latest
-
[TypeScript] Date 사용방법 총 정리(응용까지)
실제 개발을 하다보면 날짜 관련 처리를 해주어야 할때가 많이 발생합니다. 관련해서 내장된 객체인 Date 객체를 주로 사용합니다. 현재 이를 대체하기 위한 Temporal 이 작업되고 있다고는 하지만 Production 환경에서 사용하기에는 어렵다고 합니다. 그러면 실제 많이 사용할 만한 내용들 위주로 빠르게 정리해보겠습니다!! Date 객체란? 간단히 설명하자면 Date 객체는 19070년 1월 1일 UTC 자정과의 시간차이를 밀리초로 나타내는 정수 값을 담고 있습니다 Date 객체 생성 아래와 같이 여러 방법으로 Date 객체를 생성하고 객체의 메소드를 이용해 날짜 정보를 관리할 수 있습니다 const date1: Date = new Date(1919, 2, 1) // 1919-03-01 00:00:..
-
46회 sqld 시험 후기 및 1주일 컷 합격 후기(전공자)
딱 일주일 공부했는데 (일부러 일주일만 잡은건 아님...) 어떻게 공부했는지 등 공유 드립니다!! 진짜 별거 없음... 시험후기 우선 시간은 넉넉했습니다 다 풀고 1번 다시 풀었고 따로 마킹 할 시간까지 충분했습니다 다만 1과목 문제 딱 푸는데... 어머 왜캐 헷갈리지 ㅋㅋㅋㅋㅋㅋㅋ 1과목을 대충 봤었거든요. 다들 비슷한지 1과목 과락 걱정하는 분들이 많았고 저도 그랬는데 뭐지... 점수가 생각보다 너무 잘나와서 당황한 과목 카페에서 답 공유하는 거 봤을때는 간신히 과락 넘긴 느낌이었는데 제가 푼 답이 거의 다 맞았던거임 ㅋㅋㅋㅋㅋㅋ (자신을 믿으세요) 2과목은 오히려 맘 편히 풀었습니다 기출보다 좀 쉬운 느낌 (어려운건 어려움. 계층형 같은거) 딱 예상한 만큼 틀린 것 같습니다 공부 기간 시험 접수도 ..
-
visual studio code(VSC) ssh로 라즈베리파이에 접속하여 코딩하기
1. Remote - SSH 설치 vsc를 켜고 extension 관리 창에 들어가서 remote 검색 후 'Remote - SSH' 다운로드 2. ssh configuration 설정 그러면 오른쪽에 Remote Explorer이 생기는데 클릭!! Remote Explorer 위에 있는 '+' 버튼을 누르면 아래와 같이 SSH 연결 명령 입력이라는 창이 나오게 됩니다 ssh 계정@ip 형식으로 입력합니다 그리고 configuration을 저장할 위치를 선택합니다 저는 .ssh/config 경로에 저장하였습니다 config 저장 완료!! 2.1 ssh 기본 포트가 22가 아닌 경우 설정 만약 기본 포트가 22가 아니라 다르게 설정되어 있다면 아래와 같이 진행합니다 톱니바퀴 모양을 눌러주어 config 파..
-
node.js 버전 관리 매니저 :: nvm 과 n 비교 및 nvm 설치 방법 정리
[https://www.sobyte.net/post/2022-04/node-mvn-n/](Node version manager: nvm and n difference) 위 글을 참고하여 작성하였습니다 (번역 수준..ㅎ) node의 버전관리 툴에는 크게 2가지가 있습니다 nvm n nvm이 제일 대중적이지만 최근에는 'n'도 많이 이용하는 것으로 보입니다 현재 현업에서도 nvm을 이용하고 있는데 n과 뭐가 다른지 궁금해져서 찾아보았습니다 n n은 npm package중 하나입니다 즉 node 버전 관리를 위한 툴인 n을 이용하기 위해서 우선적으로 node가 설치되어야 합니다 (????) 어떻게 보면 달걀/닭 얘기 같은 느낌으로 조금 웃기긴합니다 즉, node 버전을 아무거나 하나 설치하고(lts로 설치하면..
-
라즈베리파이 OMV(OpenMediaVault) 토렌트 transmission 설치
이번에는 라즈베리파이에 OMV를 이용해서 토렌트를 이용하는 방법을 알아 보겠습니다 리눅스에서 토렌트를 사용할 수 있는 방법이 몇 가지가 있는 것으로 보이는데 저는 그 중에서 유명한 transmission을 설치해서 이용해보려고 합니다 1. OMV에서 공유 폴더 설정 필요 접근권한 관리 - 공유 폴더 - 추가 위와 같이 OMV에 접속하여 토렌트용 공유 폴더를 추가합니다 저는 경로이름도 toreent/로 하였습니다 2. Portainer 접속 및 라즈베리파이에 transmission 설치 Portainer에 접속하여 stack 클릭 후 아래 dockerhub에 접속해봅니다 https://hub.docker.com/r/linuxserver/transmission 그러면 사이트에서 위와 같은 docker-com..
-
아르곤원(argon one) V2 M.2 case 팬(Fan) 설정하기
팬 작동 전 CPU 온도 확인 $ cat /sys/class/thermal/thermal_zone0/temp 밀리 단위로 1000으로 나누면 됩니다 현재 CPU 온도는 45.764도(섭씨) 케이스 팬 작동 그러면 이제 아르곤 원 V2 M.2 케이스의 Fan을 작동시켜 봅시다 $ sudo apt-get update 업데이트 진행 $ sudo curl https://download.argon40.com/argon1.sh | bash 스크립트 파일 다운로드 및 실행 그러면 아르곤원 케이스 관련된 명령어를 사용할 수 있습니다 - argonone-config - argonone-uninstall mode를 설정할 수 있으며 2번 모드로 설정하여 온도에 따른 팬 속도를 설정할 수도 있습니다 현재 별걸 돌리고 있지 ..
-
리눅스마스터 2급 1차 후기 및 내용 정리
1차는 온라인으로 치뤄졌으며 구글링이 가능했습니다 시간도 넉넉해서 모르는 내용이 있어도 검색 시간이 충분했습니다 물론 아는 내용이라면 정말 단시간안에 끝낼 수 있습니다 개인적으로 좀 지엽적인 내용들이라는 생각이 들었고 딱 봐도 암기가 많이 필요한 내용. 옵션 내용들이 많았던것 같습니다 나왔던 내용들은 아래와 같았습니다 참고용으로만 보시면 될것 같습니다 useradd shoutdown 옵션 stty, strings cut, sort, split, wc file 명령어 옵션 슬랙웨어 계열 리눅스 배포판 /etc/passwd, /etc/shadow talk, mesg, wall, write groupmod mesg 명령어, GNU 프로젝트 init 0, shutdown, halt users 명령어 라이센스 문..
-
리눅스마스터 2급 기출 :: 그 외 여러가지 기출 내용 한 줄 정리
alsamixer 커서 라이브러리 기반 ALSA 사운드카드 오디오 믹서 프로그램 alsactl: ALSA 사운드 카드 제어 명령어, 사운드 장치 초기화 가능 /sbin/nologin : 시스템 계정에 설정되는 셸 set: 쉘에서 선언된 셸 변수 전부 확인 chgrp -h ⇒ 원본 그대로, 심볼릭 링크 파일의 그룹 소유권만 변경 디스크 사용량 제한: quotacheck → dequota → quotaon → repquota eject → mount 자동 수행 blkid, WWWN 리눅스 파일시스템: ext, vfat, ntfs.. fsck → /lost+found chmod -R ⇒ 디렉터리내 파일의 허가권까지 모두 변경 수세 리눅스의 패키지 매니저: zypper XCB: X11 디스플레이 서버 프로토콜의..
-
[LINUX] 리눅스마스터 2급 기출 :: KDE(X 윈도우)
KDA가 아닙니다 ㅎㅎ... KDE 특징 C++/QT 기반 Kool Desktop Environment(독일을 중심으로 한 인터내셔널 오픈소스 소프트웨어 커뮤니티) 오버헤드가 많아 다소 무거움 기능이 매우 많고 사용자에게 제공되는 옵션이 매우 많다는 점이 특이 Plasma desktop + Kwin 으로 이루어져 있음 돌핀: 파일 관리 프로그램
-
[LINUX] 리눅스마스터 2급 기출 :: GNOME (X윈도우)
GNOME 특징 GNU Network Object Model Environment GUI 데스크톱 환경 GTK 라이브러리 사용 (LGPL 라이선스 적용) GNU 프로젝트의 일부 리눅스 계열에서 가장 인기 있는 데스크탑 환경 심플하여 쉬운 사용 환경을 제공하는 것이 목적 기본 구성 요소 탑바 Activities 오버뷰 Dash Dock 어플리케이션 브라우저/런쳐 어플리케이션 메뉴 워크스페이스 movie player: totem 이미지 뷰어: eog
Algorithm
-
Level1 완주하지 못한 선수 (c++, python)
완주하지 못한 선수 LEVEL 1 https://programmers.co.kr/learn/courses/30/lessons/42576?language=cpp 문제 풀이 (효율성 X) 단순하게 생각하면 됩니다. 완주선수 목록에서 string을 하나씩 꺼낸다. 참가자 목록에서 찾아서 지운다. 마지막으로 남은 한 명의 이름을 참가자 목록에서 출력한다. 하지만 이는 효율성 테스트를 통과하지 못합니다. 우선 최대 100,000번 for문을 반복합니다 그리고 cpp의 find를 이용해 찾게되면 제일 끝에 있다면 100,000 찾아봐야 될 수도 있습니다 즉 O(n^2 + n) = O(n^2) 이 걸릴 것으로 예상됩니다 (n은 vector::erase의 time complexity) 문제 풀이 (효용성 O) 우선 s..
-
[배열] 프로그래머스 월간 코드 챌린지 시즌1 2번 : 삼각 달팽이 자바 풀이
프로그래머스 월간 코드 챌린지 시즌 1 삼각 달팽이 Level 2 삼각 달팽이 문제 정리 정수 n이 주어진다. 밑변의 길이와 높이가 n인 삼각형이 있다. 이 삼각형에서 맨 위 꼭짓점부터 반시계 방햐야으로 달팽이 채우기를 진행 한다. 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 한다. 문제 풀이 n이 최대 1000이므로 시뮬레이션 처럼 돌린다. 백준의 마법사 상어와 토네이드와 비슷한 방식으로 풀었다. 달팽이 모양으로 움직이기 위한 방향은 세가지가 있다.(아래, 오른쪽, 왼쪽 위 대각선) 이를 각각 구현한다. 단계 마다 이동해야 하는 step수를 steps 배열에 담는다. 예를들어 n이 4 이면 3(아래 이동), 3(오른쪽 이동), 2(대각선 이동), 1(아래 이동) 이동하게 된다..
-
[정렬] 프로그래머스 월간 코드 챌린지 시즌1 1번 :: 두 개 뽑아서 더하기 (cpp, java)
프로그래머스 월간 코드 챌린지 시즌 1 두 개 뽑아서 더하기 Level 1 두 개 뽑아서 더하기 문제 정리 주어진 배열에서 서로 다른 인덱스의 두 수를 뽑는다. 더해서 만들 수 있는 모든 수를 오름차순으로 정렬하여 return 하라 문제 풀이 이중 for문을 돌면서 i와 j가 같지 않은 경우 set에 넣는다. (중복 제거를 위해 set에 넣음) set크기의 배열을 생성 iterator를 통해 set의 원소들을 모두 뽑아 배열에 넣는다. Arrays.sort()를 통해 오름차순으로 정렬한다. 프로그래머스 두 개 뽑아서 더하기 java 두 개 뽑아서 더하기 cpp 가능한 조합을 모두 vector에 넣고 sotring을 우선 진행한 다음에 unique 함수를 통해 연속된 수 중 중복된 수를 지웠습니다 이 외에..
-
[시뮬레이션] 백준 20056번 마법사 상어와 파이어볼 :: 삼성 sw 역량 테스트 기출 (java)
BOJ 20056번 마법사 상어와 파이어볼 자바(java) 풀이 랭크 : 골드5 백준 20056번 마법사 상어와 파이어볼 문제 정리 NxN 크기의 격자 파이어볼 M개 i번 파이어볼의 위치(r, c), 질량 m, 방향 d, 속력 s 격자의 번호는 1~N 1번 행은 N번과 연결/ 1번 열은 N번 열과 연결 파이어볼은 8개의 방향을 가짐 파이어볼은 다음과 같이 이동한다. 7.1 자신의 방향 d로 속력 s 만큼 이동 7.2 이동이 끝난 뒤, 2개 이상의 파이어볼이 같은 칸에 있으면 다음 일이 일어남 - 같은 칸의 파이어볼은 모두 하나로 합쳐짐 - 파이어볼이 4개로 나누어짐 - 나누어진 파이어볼의 질량, 속력, 방향이 바뀜 - 질량이 0인 파이어볼은 소멸 K번 명령 후, 남아있는 파이어볼의 질량의 합 구하기 전체..
-
[BOJ] 삼성 sw 역량 테스트 기출 :: 16236번 아기 상어 (java)
BOJ 16236번 아기 상어 문제 자바(java) 풀이 랭크 : 골드5 백준 16236번 아기 상어 문제 정리 NxN 크기의 공간 M마리의 물고기 아기 상어 1마리 한 칸에는 물고기가 최대 1마리 존재(없거나 1마리) 초기 아기상어의 크기는 2 1초에 상하좌우 한 칸씩 이동 자신의 크기보다 큰 물고기가 있는 칸 제외 모든 칸 지나갈 수 있음 자기보다 작은 물고기 먹을 수 있음, 크기 같으면 지나만 갈 수 있음 이동 결정 알고리즘 더 이상 먹을 수 있는 물고기가 없으면 엄마에게 도움을 청함 먹을 수 있는 물고기가 1마리면 그 물고기를 먹으러 감 먹을 수 있는 물고기가 1마리 보다 많다면, 거리가 가장 가까운 물고기를 먹으러 감 거리: 아기 상어가 있는 칸에서 물고기가 있는 칸으로 이동할 때, 지나야하는 ..
Language
-
[TypeScript] Date 사용방법 총 정리(응용까지)
실제 개발을 하다보면 날짜 관련 처리를 해주어야 할때가 많이 발생합니다. 관련해서 내장된 객체인 Date 객체를 주로 사용합니다. 현재 이를 대체하기 위한 Temporal 이 작업되고 있다고는 하지만 Production 환경에서 사용하기에는 어렵다고 합니다. 그러면 실제 많이 사용할 만한 내용들 위주로 빠르게 정리해보겠습니다!! Date 객체란? 간단히 설명하자면 Date 객체는 19070년 1월 1일 UTC 자정과의 시간차이를 밀리초로 나타내는 정수 값을 담고 있습니다 Date 객체 생성 아래와 같이 여러 방법으로 Date 객체를 생성하고 객체의 메소드를 이용해 날짜 정보를 관리할 수 있습니다 const date1: Date = new Date(1919, 2, 1) // 1919-03-01 00:00:..
-
c++ std::max, min 함수 정리
c++11을 기준으로 다음 사이트를 참고하여 작성되었습니다 max와 min은 algorithm 라이브러리에 존재합니다. 형태는 총 3가지가 존재합니다 max constructor 1. default constructor 형태는 다음과 같습니다 template const T& max (const T& a, const T& b); 예제 int main() { cout
-
c++ std::map 사용법 총 정리2 (insert, erase, clear, find 등)
std::map 사용법 총 정리 2편입니다 http://www.cplusplus.com/reference/map/map/?kw=map를 참조하여 작성 되었습니다 modifiers 1. insert insert는 map의 member function으로 element를 추가할 수 있습니다(추가된 element 만큼 크기가 늘어남) 같은 key를 가지고 있는 element가 없다면 넣고, 있다면 추가되지 않고 존재하는 element의 iterator를 반환합니다. 중복 요소를 넣고 싶다면 multimap 이용!! insert를 이용해 넣을 수도 있지만 1편에서 정리한 operator[]를 이용해 값을 넣을 수도 있습니다 insert의 constructor 형태는 총 4가지가 있습니다 형태는 다음과 같습니다 ..
-
c++ std::map 사용법 총 정리1 (생성, 반복자, 크기, 값 확인 등)
이 글은 다음 사이트를 바탕으로 작성 되었습니다. map 이는 std::map에 있고 template class 입니다 map의 형태는 다음과 같습니다 template class map; 이 글은 map의 기본적인 특성을 다루기 보다는 c++에서의 map 사용법에 대해서 다루겠습니다 간단하게만 알아보자면, 맵은 특정 순서에 따라 (key, value) 조합으로 저장하는 associative container 입니다 여기서 key 값은 ele..
-
c++ std::string의 원소 접근 방법 정리(front, back, at, operator)
c++ std::string의 원소 접근 방법에는 총 4가지가 있습니다. operator[], at, front, back 이렇게 4가지 입니다 이 4가지 방법에 대해서 정리해보려 합니다!! http://www.cplusplus.com/reference/string/string/ 을 바탕으로 정리하였습니다 1. operator[] 형태는 다음과 같이 생겼습니다 char& operator[] (size_t pos); const char& operator[] (size_t pos) const; 이는 string의 pos위치의 문자에 대한 Reference를 반환합니다 예제 코드 뭔가 복잡한것처럼 쓰여있는 것 같지만 배열처럼 접근하면 됩니다 string str = "Test String"; for (int i..