본문 바로가기

분류 전체보기111

자바 기초 스터디 2주차 - Getter와 Setter 객체 지향 프로그래밍과 인간관계 객체 지향적 프로그래밍에서는 객체와 객체 간의 상호작용을 통해 코드를 작성한다. 이 객체를 하나의 인격체라고 생각해보았을 때 결국 객체 지향적 프로그래밍이란 여러 역할을 가진 객체(사람들)이 하나의 서비스를 만들어나가는 과정이라고 생각할 수 있을 것이다. 한 명의 사람에게 어떤 정보를 전달해야 하는 상황이라고 가정하자. 정보를 전달하기 위해 상대방의 두개골을 열어 정보를 주입시키지는 않는다. 타인에게서 정보를 얻어야 할 때 상대방의 뇌에서 정보를 가져오는 행위도 하지 않는다. 대신, 우리는 그 정보를 상대방에게 말하고 그 사람은 그 말을 자신 나름대로 해석하여 머릿속에 정보를 전달한다. 정보가 필요하면 상대방에게 요청하고, 상대방이 나에게 그 정보를 얘기해준다. 전자가 클.. 2023. 11. 2.
자바 기초 스터디 1주차 - Array vs ArrayList 자바에서 값을 연속된 공간에 저장할 때는 Array와 ArrayList를 사용할 수 있다. Array Array(배열)는 동일한 자료형(이때 자료형은 원시 자료형, 객체 모두 가능)의 데이터를 연속된 공간에 저장하기 위한 자료구조. 배열을 구성하는 각각의 값은 요소나 원소(element)라고 불리며, 배열 안에서 특정 요소의 위치는 인덱스(index)라고 지칭한다(파이썬과 달리 인덱스는 0부터 시작하고 양의 정수만 가질 수 있음) 가장 큰 특징은 배열을 선언할 때 해당 배열의 크기를 같이 입력해야하고, 이 크기는 이후 변경할 수 없다. 배열을 선언하고 별도의 값을 넣지 않은 인덱스에는 자료형의 기본값(int면 0)이 들어가게 된다. int[] intArray = new int[3]; // int 자료형을.. 2023. 10. 25.
1주차의 기록 드디어 자바 기초 문법 강의를 다 듣고 프리코스 문제에 들어갔다. 1주차의 경우 미션 외에도 개발 환경을 세팅하고 GitHub 저장소를 설정하는 등의 작업이 요구사항으로 주어졌다. 개발 환경 셋팅 미션 GitHub 레포지터리를 folk해오고, 이를 내 로컬에 클론, 그 뒤 브랜치를 따서 작업하는 것의 경우 이전에 내가 만들어둔 GitHub 자료를 토대로 빠르게 빠르게 설정했다. 클론 폴더를 Intellij에서 여는 것까지도 스무스~ https://few-geranium-eac.notion.site/Git-Git-Git-GitHub-8d09fb7c4b784656a906db4e34c2b49b?pvs=4 실전은 Gitㅔ야, Gitㅔ : Git과 GitHub 찍먹해보기 목차 few-geranium-eac.not.. 2023. 10. 20.
panic: runtime error: invalid memory address or nil pointer dereference 포인터 사용에서 잘못이 있을 때 발생하는 에러이다 (포인터나 슬라이스에 접근할때 빈값에 접근하면 발생) 나의 경우 테스트코드를 돌리다가 에러가 발생했다. 아래 토큰 생성 코드에 대해서 테스트 코드를 돌리면 시크릿 키의 길이가 최소 기준을 통과하지 못했기 때문에 NewJWT 함수에서 &JWTM{secretkey}가 반환되지 않고 nil이 반환된 상태이다. 그런데 이 상태에서 테스트 코드의 CreateToken은 &JWTM을 기다리고 있기 때문에 panic이 발생하였다. 문제가 된 코드 // 테스트 코드 func TestShortPw(t *testing.T) { jwtmm, err := NewJWT(util.RandomString(3)) require.Error(t, err) _, err = jwtmm.Cr.. 2023. 10. 11.