본문 바로가기

안녕

(118)
[SpringCooler] Spring + DDD 스터디 2주차 이번 주 발표자는 나야 나토비의 스프링 2장의 주제는 '테스트'입니다. 이 주제는 꼭 제가 발표해야겠다는 생각에 슬쩍 손을 들었습니다. 테스트라곤 다른 사람의 코드를 보고 떠듬떠듬 써본 게 전부인 제가 자진해서 발표를 맡은 이유는 이렇습니다. 저번 포스팅에서 DE-labtory 프로젝트 경험을 언급했었는데요, 이때 테스트 코드라는 걸 처음 접해보았습니다. 저로서는 대체 이게 어떻게 테스트를 해준다는 건지 이해가 되지 않았죠. 그래서 동료에게 '이게 정말 애플리케이션 코드랑 연동이 되어서 테스트를 해주는거냐' 같은 질문을 했더니 뭐 이런 걸 질문하냐는 듯이 황당한 표정을 짓더라구요, 하핫! 그만큼 테스트 코드라는 존재에 대해 무지했습니다. 컴퓨터가 자동으로 이렇게 똑똑한(?) 기능을 해줄지 상상도 못 했던..
[SpringCooler] Spring + DDD 스터디 1주차 어쩌다 하게 되었냐면 DE-Labtory라는 블록체인 프로젝트 팀이 있습니다. IT 동아리 넥스터즈 회원 몇 명과 그의 지인이 뭉쳐 으쌰으쌰 하는 곳입니다. 겁 없이 이 팀에 합류해 로그인 기능을 맡았다가 여러 번 고비를 겪기도 했죠. 로그인 하려면 토큰이 필요하다는 것도 몰랐고, 비밀번호도 암호화 없이 그대로 DB에 저장해서 요청 값과 일치하면 패스시키는 게 제가 아는 로그인의 다였거든요. 뱁새가 황새 따라가려고 다리가 찢어지다 못해 탈골 되었음에도 이때의 경험은 저에게 좋은 자양분이 되었습니다. 세상에 '잘 짜여진 코드' 라는 게 존재하는지 이때 처음 알았거든요. 그걸 잘 하려면 아키텍쳐도 공부해야 하고, 객체지향 어쩌고도 해야한답니다. 디자인 패턴은 또 뭐고요. 미대 출신인 저로서는 도트 무늬 같은..
'토비의 스프링' 첫 장을 펼치며 토비의 스프링. 사람들이 추천해 무작정 샀던 책. 막상 배송을 받고 나니 상상도 못 한 벽돌만큼의 두께에 몹시 당황했다. 그리고 그 두께에 압도되어 몇 년이 지난 지금까지 펼쳐본적 없이 고스란히 책장에 보관해왔다. 프로그래밍 공부를 막 시작한 단계에서는 기능을 구현하는 것에만 급급했다. 실행해서 내가 원하는 대로 돌아가기만 하면 되었다. 그러다 '잘 짜인 코드' 라는 게 존재한다는 걸 알았다. 대체 그게 뭘까? 그저 원하는 기능을 넣기만 하면 되는 것이 아니었던 걸까? 그렇게 아키텍처, 디자인 패턴 등의 개념을 알게 되었다. 그동안 강사를 따라 아무 생각 없이 만들었던 DAO, Controller 들이 사실은 이러한 이론에 기반하여 만들어진 오브젝트였다. 새로운 세계가 열렸다. 접하기 전에는 단어만 봐도..
[Java] final 그게 뭔데, 어떻게 쓰는 건데 자바 API 문서를 뒤적거리다 final이란 키워드를 발견했습니다. 음 이게 뭐였지...? 하고 기억을 더듬어보니 상수 어쩌구 할 때 썼던거 같긴한데.....(흐릿흐릿) final의 정의 위키피디아에 따르면 Java에서 사용하는 final은 다음과 같습니다. 자바 언어에서 final은 오직 한 번만 할당할 수 있는 entity를 정의할 때 사용된다. final로 선언된 변수가 할당되면 항상 같은 값을 가진다. 만약 final 변수가 객체를 참조하고 있다면, 그 객체의 상태가 바뀌어도 final 변수는 매번 동일한 내용을 참조한다. 즉, 한 번 값을 넣어두면 절대 바뀌지 않는 녀석입니다. 위의 인소 짤에서 남주가 외치는 영원 불멸의 사랑같은...☆ 영어로 final은 다들 알고 있듯 궁극적인, 최후의 등을..
[AWS] 특정 IP만 접속할 수 있게 설정하기 요즘 중국 사람들이 그렇게 남의 서버를 훔쳐다가 채굴을 한다면서요...? 그래서 IP를 꼭 막아놔야 한다고 하더라구요!! 간단한 설정으로 내 IP만 접속하도록 해봅시다! 1. EC2 대시보드 접속 EC2 대시보드에 들어가서 왼쪽 메뉴 중 보안 그룹을 클릭해주세요. 2. 해당 그룹 선택 설정하고 싶은 그룹을 클릭해주시면 아래에 인바운드 탭이 보일거예요. 클릭해주세요! 3. 인바운드 변경 SSH를 내 IP로 변경해주시면 지정된 IP 외에는 접속할 수 없게 됩니다 :)
[AWS] 만들어놓은 서버에 접속하기 (Mac OS) 사이드 프로젝트 배포를 위해 처음으로 AWS EC2 서버를 다뤄보게 되었습니다. 팀원이 미리 인스턴스를 만들어놓았기 때문에 이 글에서 인스턴스 생성은 따로 설명하지 않습니다. 이미 생성된 인스턴스에 접속하는 방법을 알아봅니다. AWS 서버는 SSH로 접속할 수 있어요. SSH란 원격으로 시스템에 접속하는 다양한 방법 중 하나입니다! 1. AWS CLI 설치 $ brew install awscli aws-cli는 터미널로 aws를 관리할 수 있는 통합 도구입니다. 위의 명령어로 설치합니다. $ aws configure 설치 뒤에는 aws 명령어를 사용할 수 있습니다. 위와 같이 입력해볼게요. AWS Access Key ID [None]: AWS Secret Access Key [None]: Default ..
Hacktober FEST 2019 - 오픈 소스 기여하고 기념품 받자! 지금 오픈 소스에 기여하고 계신가요? 혹은 하고 싶은데 마땅한 기회를 찾지 못하셨나요? 그렇다면 Hacktober FEST에 참여하세요! 10월 한 달 간 오픈 소스에 Pull Request를 4번 이상 날리면 특별 제작한 티셔츠와 스티커를 받을 수 있답니다 :) https://hacktoberfest.digitalocean.com Hacktoberfest presented by DigitalOcean and DEV Open source is changing the world – one pull request at a time. hacktoberfest.digitalocean.com 1. 근데 이게 뭐하는 행사예요? Hacktoberfest는 DigitalOcean과 DEV에서 진행하는 한 달짜리 오픈 ..
[Java] 데이터 정렬 - Comparable, Comparator 애플리케이션을 만들거나 알고리즘 문제를 풀다보면 데이터를 순서대로 정렬할 일이 많아요. 물론 직접 알고리즘을 구현해도 되겠지만 자바에서 제공하는 기능을 편리하게 이용할 수도 있답니다. 이때 자주 사용하는 Comparable, Comparator에 대해 알아볼게요! 1. Comparable: 오름차순으로 정렬하기 Comparable은 기본적인 정렬을 수행합니다. 즉, 숫자라면 오름차순, 문자라면 알파벳 순으로 정렬합니다. Primitive 타입이나 Integer, String, List 등등 정렬이 필요한 데이터는 모두 Comparable 인터페이스를 implement합니다. 즉, Comparable이 제공하는 정렬 기능을 사용할 수 있다는 거죠! 1) Arrays.sort(): 기본 타입 배열 먼저, 기..