반응형

재학습 67

[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..

[알고리즘, 코딩테스트] 문제풀이 방법론에 대하여

기본 절대 답을 먼저 살피지말고 직접 풀이한다 본론 1.경청(정독)하라 - 기본중에 기본이다. 모든 조건과 상황(반복되는것인가 정렬이 이미되어있는것인가 등)을 정확히 알아야한다. 2.예제를 직접 작성하라 - 머릿속에서만 생각한 후 곧바로 문제를 풀지말고 예제를 작성하여 테스트하라 - 이때, 문제에맞는 실제 숫자와 문자열을 사용하며, 특별한 케이스의 예제는 지양한다 - 크기가 크며 구체적인 예제를 만든다. 3.무식하게 먼저 푼다. - 2번예제를 통해만들어진 문제에적합하고, 크기가크며, 구체적인예제를 바탕으로 직관적으로 풀어본다. - 복잡한 제약조건은 단순화해도 괜찮다. - 첫 알고리즘이 형편없어도 괜찮다. 4번에서 개선해나가면 된다. 4.최적화한다. - 1번에서 인지한 정보중 놓친 정보가 있는지 체크한다...

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

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

재학습/개념 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
반응형