0%

제네릭이 뭔데?

제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. 라이브러리를 보다 보면 제네릭을 사용한 코드를 많이 볼 수 있다.

1
2
3
4
5
public class Box<T> {
private T t;
public void set(T t) { this.t = t; }
public T get() { return t; }
}

위 코드는 Box라는 클래스를 정의한 것이다. Box 클래스는 제네릭을 사용하여 Box 클래스를 생성할 때 사용할 데이터 타입을 외부에서 지정할 수 있다. Box 클래스를 사용하는 방법은 다음과 같다.

더 읽어보기 »

도커란 무엇인가?

Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다.

컨테이너란?

우리가 일반적으로 생각하는 컨테이너와 유사합니다. 컨테이너는 개발자가 앱을 환경에서 분리하여 “내 컴퓨터에서 작동” 하기 위한 표준화된 단위입니다.

더 읽어보기 »

재앙의 시작

error
이대 서버에 있는 vscode가 고장났다. 다시 깔고, 모든 파일을 지워도 돌아오지 않았다. vscode가 고장나면 문제가 무엇이냐하면, remote-SSH 확장 프로그램을 사용하지 못한다는 것이다. 이는 code-server를 사용할 수 없다는 뜻이고, 그래서 로컬로 코드를 작성하고 git을 통해서 올리거나 vim로 코드를 편집해야 한다.
image

원래 정상적인(?) 프로젝트라면 문제가 되지 않는다. 왜냐하면 로컬에서 코드를 작성하고, git을 통해서 올리는 것이 일반적이기 때문이다. 하지만 이 프로젝트는 그러지 않았기 때문에 문제가 발생했다. 서버에 직접 접근해서 코드를 작성하고, 실행해 왔기 때문이다. 그래서 서버에 code-server로 접근하지 못하는 것은 큰 문제였다.

그래서 다른 개발자들에게 모두 환경세팅을 해주거나 vim을 사용해서 코드를 작성해야 하는데, 당연히 그럴 수 없다. 어떻게든 해결책을 찾아야 했다.

더 읽어보기 »

스펙

스펙을 담을 공간이 부족하여 지원할 때는 스펙을 거의 담지 못하고, 팀 프로젝트 했봤다는 언급만 했다. 그래서 스펙은 크게 중요하지 않다고 생각한다.

자소서

500자 내외의 자소서에 담을 수 있는 내용은 많지 않았다. 교육 기관인 만큼 내가 잘한것 보다는 부족함과 성장에 대한 의지를 담았다. 그리고 싸피가 왜 나한테 필요한지, 어떤 부분을 채우고 싶은지를 담으려고 노력했다.

더 읽어보기 »

서론

도커 이미지를 배포할 때, 대표적으로 Docker Hub를 사용한다. 하지만 Docker Hub는 무료 계정의 경우, 1개의 private repository만 사용할 수 있다. public으로 사용할 수 있는데, 민감한 정보가 포함된 이미지를 올리기에는 부적합하다. 그래서 GitHub Container Registry를 사용해보기로 했다.

GitHub Container Registry란?

GHCR은 GitHub에서 제공하는 Docker 이미지 저장소이다. GitHub의 레포지토리와 연동되어 있어서, 이미지를 레포지토리와 함께 관리할 수 있다. 무료 계정에서도 500MB GitHub Packages가 허용되는 범위 내에서 퍼블릭/프라이빗을 무제한으로 사용할 수 있다.

더 읽어보기 »