반응형

재학습 66

[Typescript] 코딩테스트를 위한 타입스크립트 프로그래밍 환경 구축

서론'코딩테스트 준비는 꼭 이직이 아니더라도 항상 준비해놓아야 한다. 마치 운동처럼'내가 만들어놓고도'아! 이게 진리다 정말!'라는 생각이 드는 말.하지만 실천은 하지않고 항상 생각으로만 존재했던 말이다. 그러나 이제는 정말 다시 시작해야겠다는 생각이 들었다. 일만 하고있으니 매너리즘에 빠져 코딩 능력 성장이 멈추고있다는 생각이 강하게 들었기 때문이다. 나는 코딩테스트 언어를 Typescript로 정했다. 언어 선정에는 고민이 참 많았다.회사의 레거시는 PHP, 모던은 Node(Typescript), 관심있는 분야는 Python, Go너무 짬뽕되어있기 때문이다. (덕분에 내 책장도 짬뽕 그 잡채이다..) 그래도 제일 중요한것은 현업아니겠는가. 또한, 사이드프로젝트를 하면서 프론트엔드도 만질일이 많이 생겼..

[Github actions] - invalid reference format, 왜 실패하는거야?

배경github actions를 이용하여 aws 서버에 접근 및 커맨드를 실행하고자 했다.그런데 지속적으로 오류가 발생하여 해결이 안됐다. 일단!! ssh에 -v옵션을 주면세부적인 오류 내역이 출력 가능하므로, 어디서 어떤 오류가 발생했는지 알 수 있다. (이거 너무 유용하다) 그렇게 찾아낸 오류는 다음 구문이였다- name: delete image run: | ssh -v -o StrictHostKeyChecking=no -i private_key ${HOST_NAME}@${HOST_IP} 'sudo docker rmi ${DOCKER_USERNAME}/${REPO_NAME}'  도대체 어디서 오류가 발생한걸까.. 감도 잡히지 않았지만,엄청난 구글링 결과 원인을 찾아 낼 수 있었다. 오류..

재학습/오류 2024.05.14

[AWS] Permissions for ~ are too open. pem bad permissions 오류 해결

배경AWS Lightsail에 접근해야하는 소요가있어 아래의 커맨드로 접근을 시도했다.ssh -i key.pem host_name@host_ip그런데 뭔가 익숙한 오류가 발생했는데..  오류내용 Permissions 0644 for './key.pem' are too open.It is required that your private key files are NOT accessible by others.This private key will be ignored.Load key "./key.pem": bad permissions {host_name}@{host_ip}: Permission denied (publickey). 오류내용 분석다른사람들이 접근못해야하는데, 니 pem파일은 권한이 너무 열려있어. ..

재학습/오류 2024.05.13

[Go] nil is a predeclared identifier representing the zero value for a pointer, channel, func, interface, map, or slice type.Type must be a pointer, channel, func, interface, map, or slice type

type Entry struct { name string surname string tel string } var data []Entry func search(surname string) *Entry { for key, value := range data { if value.surname == surname { return &data[key] } } return nil } 이건되고 type Entry struct { name string surname string tel string } var data []Entry func search(surname string) Entry { for key, value := range data { if value.surname == surname { return da..

재학습/오류 2023.08.16

[boj_2231][GO] 분해합

분해합이란? 어떤자연수 N이있을때 그 자연수 N의 분해합은 N과 N을이루는 각 자리수의 합을 의미 어떤자연수 M의 분해합이 N인경우 M을 N의 생성자라 한다. 245의 분해합? => 245+2+4+5+ = 256 =>245는 256의 생성자이다 (생성자는 없을수도있고, 여러개일수도있다) 자연수 N이 주어졌을때, N의 가장 작은 생성자를 구해야한다. 그렇다면 i=1부터 i

[BOJ 1978] 소수찾기 (에라토스테네스의 체 란?)

소수란? 약수가 1과 자기자신만을 갖는 수를 의미한다. 즉, 아무수에도 나누어 떨어지지않는 수 에라토스테네스의 체란? - 주어진 범위 내의 모든 소수를 찾는 데 사용 - 2부터 시작하여 배수들을 제거해나가며 소수를 찾는 방법 => 그런데 2~n까지 소수를 구한것이 아니라, N이 소수인가?를 판별하는 문제이기에 효율성이 떨어지지않을까 생각된다. 소수판정법 - 2부터 루트(N)까지를 모두 나눠본다. - 루트(N)이상을 하는것은 무의미하기때문 package math_problem import ( "bufio" "fmt" "math" "os" "strconv" "strings" ) func RunBoj1978(){ scanner := bufio.NewScanner(os.Stdin); scanner.Scan() ..

[BOJ 11050] 이항계수 1

이항계수란? - n개의 원소에서 k개의 원소를 뽑아내는 경우의 수 - C(n,k)로 표기됨 - C(n,k) = n!/(k!(n-k)! package math_problem import ( "bufio" "fmt" "os" "strconv" "strings" ) func RunBoj11050(){ scanner := bufio.NewScanner(os.Stdin); scanner.Scan(); str := strings.Split(scanner.Text(), " "); N,_ := strconv.Atoi(str[0]); K,_ := strconv.Atoi(str[1]); cnk := factorial(N) / (factorial(K)*factorial(N-K)); fmt.Println(cnk); } fun..

[BOJ 2609] 최소공약수, 최대공배수 (유클리드호제법)

유클리드 호제법 - 2개의 자연수의 최대공약수를 구하는 알고리즘 호제법 - 두 수가 서로 상대방수를 나누어 결국 원하는 수를 얻는 알고리즘 배경 : 두 자연수 a,b 1. a를 b로 나눈 나머지는 r이라 하면(a>b) 2.a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 그러면 24, 18이 있다면 24를 18로 나눈 나머지는 6 그렇다면 24와 18의 최대공약수는 18과 6의 최대공약수와 같다 18을 6으로 나눈 나머지는 0 그러면 24와 18의 최대공약수 18과 6의 최대공약수 6과 0의 최대공약수 즉, 6이다. 최소공배수는 (a*b)/최대공약수 로 구할 수 있다. 코드로 작성해보자. package math_problem import ( "bufio" "fmt" "os" "strconv" "str..

라이브러리는 최고야.. 짜릿해..

개발용어 중 라이브러리라는게 있습니다. 라이브러리란 무엇이고 어디에 쓰이는걸까요? 일단, 라이브러리의 뜻을 먼저 살펴본다면 다음과같습니다. 어.. 저는 당연히 아래의 어학사전 결과가 먼저 뜰 줄알았는데, 전자용어사전이 먼저 뜨나보네요 요즘은? 심지어 어학사전의 결과도 컴퓨터의 라이브러리 개념을 설명했네요? 저는 당연히 라이브러리는 '도서관'이다 와 같은 결과가 나온 후, 컴퓨터의 라이브러리 개념을 설명하려고했었는데 매우 당황스럽지 않을수가 없습니다. 여튼, 결과로 맞이한 내용처럼 라이브러리란 컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아놓은 것 이에요. 그러니까, 학창시절때를 비유해보자면 연필, 볼펜, 형관펜 따위를 사용했던 저희는 이것들을 다 따로 들고다니지않잖아요? 그것들을 '필통'이라는곳..

재학습/개념 2023.07.03

[GIT] does not have a commit checked out

does not have a commit checked out 이 에러는 새로만들거나 clone한 프로젝트를 git add 할 때 발생한다. 원인 예를들어 A폴더안에 B,C,D폴더가 각각있고 A폴더에 .git이 존재하면서 B,C,D 중 하나라도 .git이 존재한 상황에서 A폴더에서 git add를 할 때 오류가 발생하게된다. 해결 만약, A폴더에서 B,C,D폴더의 프로젝트를 다 관리하고싶어 구조를 잡은것이라면, A폴더에 있는 .git만 남겨두고 B,C,D에 있는 .git은 삭제해주어야 오류를 잡을 수 있다.

재학습/오류 2023.06.27
반응형