4. CloudFlare Tunnel 연결
·
홈 서버 구축기
이제 CloudFlare와 연결하는 일만 남았다. 1. 도메인 구매난 namecheap.com에서 구매했다. 다른 곳은 모르겠지만, 일단 가격이 매우 저렴하다.내가 구매한 도메인은 연 0.98달러였다.카드 정보와 주소 입력을 지나서 선택사항이 뜨는데, 나는 무슨 소린지 몰라서 클로드의 도움을 받았다.자동 갱신(auto-renewal) 체크박스켜두면: 매년 만료일 전에 자동으로 결제해서 도메인이 계속 유지됨 (깜빡하고 갱신 안 해서 도메인을 잃어버리는 일 방지)꺼두면: 매년 직접 갱신해야 하고, 깜빡하면 도메인을 잃을 수도 있음 (심하면 남이 채감)Domain Registration chatshire.sitechatshire.site 도메인 자체 등록 비용메인 구매 항목PremiumDNS for chats..
3. 외부 접속 허용 - Tailscale
·
홈 서버 구축기
원래는 기존 전통 방식대로 공유기 관리 페이지에서 외부 포트를 서버 내부 IP:22로 포워딩하려고 했으나, 보안 이슈가 있다고 해서 Tailscale을 사용하기로 했다. 1. 리눅스 노트북 설정다음 명령어로 리눅스에 Tailscale을 설치한다.curl -fsSL https://tailscale.com/install.sh | sh 그러면 진행창이 도로록 뜨다가, 이런 문장이 화면에 출력된다. Installation complete! Log in to start using TailScale by running:sudo tailscale up 뭐 다들 다 알겠지만, 설치가 잘 됐다.sudo tailscale up을 치면 다음과 같은 문구가 뜬다. To authenticate, visit: ht..
2. 노트북에 리눅스 설치 (Ubuntu Server)
·
홈 서버 구축기
1. 노트북 스펙Lenovo Ideapad 100을 사용했다.지금 이미 리눅스를 설치해 놓은 상황이라 자세한 스펙은 알 수 없지만, 상당히 오래됐고, 부팅에도 오래 걸리고 그냥 뭘 실행하는 것도 시간이 꽤 걸렸다...이런 것도 가능한 걸 보면 다들 집에 노트북이 돌아가기만 한다면 얼마든지 홈 서버를 구축할 수 있을 것 같다. 2. 리눅스 설치리눅스 설치 자체는 레퍼런스도 많이 있으니 대략적인 흐름만 적어놓으려고 한다. 1. 국가를 선택하는 설정은 English(US)로 설정한다. (키보드, 언어 등)2. 웬만하면 Done 누르고 넘어간다 (기본값)3. SSH Setup에서 Install SSH Server를 반드시 선택: 원격 접속 시 필요4. Profile Setup의 항목들은 다음과 같다. - ..
1. 리눅스 부팅
·
홈 서버 구축기
1. 홈 서버를 구축하려는 이유? 개인 프로젝트와 팀 프로젝트를 마무리하면서 본격적으로 배포하려고 많은 서버 호스팅 서비스들을 알아보았다. 많은 서비스 중에서 AWS를 선택한 후 EC2 인스턴스를 만들어 무료 티어로 시작했지만, IPv4인지 탄력적 IP인지 그 외의 부가적으로 돈이 나가는 요소들을 알지 못해 요금 폭탄을 맞게 되었다. 사실 요금 폭탄이래봤자 5만원 내지 6만원 정도 되는 돈이긴 했지만, 취준생이라 돈이 부족한 나에게는 적은 돈이 아니었다. aws 외에도 다른 서비스들을 알아보았지만 내가 생각하는 것 만큼 서비스가 좋지 않았다. 그러던 중 이전에 교육받았을 때 어떤 분이 강연에서 하신 말씀이 생각났다.개발자라면 집에서 돌아가는 홈 서버 하나정도는 구축해 놓으세요.쓰지 않는 노트북 혹은 데스..
#3. Arrays 메소드
·
JAVA
1. 배열 복사: copyOf() / copyOfRange() int[] a = {1, 2, 3, 4, 5, 6, 7}; int[] b = Arrays.copyOf(a, a.length) // copyOf(원본 배열, 복사할 길이) // b = {1, 2, 3, 4, 5, 6, 7} int[] c = Arrays.copyOfRange(a, 1, 4); // copyOfRange(원본 배열, 시작 인덱스, 끝 인덱스) : 끝 인덱스는 포함하지 않음 // c = {2, 3, 4} 2. 배열 항목 비교: equals() / deepEquals() int[][] a = { {1, 2}, {3, 4} }; // 얕은 복사 int[][] b = Arrays.copyOf(a, a.length); System.out...
#2. ArrayList
·
JAVA
1. ArrayList란? List 인터페이스를 상속받은 클래스로, 크기를 조정할 수 있는 배열이다. 객체들이 추가되어 저장 용량을 초과한다면 자동으로 부족한 크기만큼 저장 용량이 늘어난다는 특징이 있다. 즉, 크기가 가변적으로 변하는 배열이다. 2. ArrayList 생성 ArrayList를 생성하기 위해서는 먼저 ArrayList 클래스를 import 해야 한다. import java.util.ArrayList; 다음의 구문들로 ArrayList를 생성한다. ArrayList al1 = new ArrayList();// 타입 지정은 반드시 wrapper 클래스로 ArrayList al2 = new ArrayList();// 뒤의 내부는 생략 가능 ArrayList al3 = new ArrayList(..