본문 바로가기

개발새발 개발자

(100)
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(): 기본 타입 배열 먼저, 기..
[Java] 콘솔 출력 - OutputStream, BufferedWriter 콘솔 입출력의 마지막 시리즈! 드디어 출력입니다! 1. BufferedWriter BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); BufferedWriter은 BufferedReader처럼 OutputStream을 OuputStreamWriter가 감싸고, 그걸 BufferedWriter가 감싸는 구조로 사용합니다. 어휴 복잡해 T.T 사용법을 자세히 알고 싶으시다면 BufferedReader편을 참고해주세요! BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); bw.write("Hello World!!\n"); 담긴 text를 출력하..
[Java] String 다루기 - parseInt, StringTokenizer, split 지난 번에 콘솔 입력으로 받은 String을 알맞게 다루는 법을 알아볼게요! 1. parseInt: 숫자로 변환하기 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 저번에 살펴본 콘솔 입력편에서 BufferedReader는 String을 반환한다고 했습니다. 만약에 숫자처럼 사용하고 싶다면? 번거롭지만 int로 변환하는 과정이 필요합니다. int n = Integer.parseInt(br.readLine()); 그래서 필요한 게 바로 parseInt입니다! BufferedReader인 br로 받는 text를 전부 int형으로 변환해줍니다. 2. StringTokenizer: 쪼개기 StringTokenizer st = n..
[Java] 콘솔 입력 - InputStream, BufferedReader, Scanner 하던 일만 하다 보면 범위 밖에 있는 기초적인 내용은 어느새 잊어버리게 됩니다. 이번에는 Stream으로 입력을 받아오려다 크게 헤매서 정리해보려고 합니다. 1. InputStream 1996년 JDK 1.0에서 도입된 입출력의 조상님(...)입니다. java.io 패키지에 속해있어요. 1) InputStream: 1byte 읽기 import java.io.InputStream; public class StreamTest { public static void main(String[] args) throws Exception { InputStream in = System.in; int a; a = in.read(); System.out.println(a); } } InputStream 객체의 System...
Apache와 Tomcat 혹은 웹 서버와 WAS는 어떻게 다를까? 웹개발을 하며 꼭 사용하게 되는 Apache와 Tomcat. 사실 그냥 강의에서 개발에 필요하다니까 아무 생각없이 써왔는데(...) 점점 궁금한 것이 많아져 조사를 하게 됐어요! 1. Apache(웹 서버) 아파치는 오픈 소스 프로젝트를 운영하는 비영리 단체의 이름입니다. 또한, 이 재단이 운영하는 프로젝트의 이름이기도 합니다. 아파치 공식 홈페이지에 들어가면 아파치 재단이 운영하는 다양한 프로젝트를 볼 수 있습니다. 요즘 많이 쓰이는 Hadoop이나 Kafka 등 도 아파치 재단에서 하는 거였네요. 생각보다 더 어마어마한 곳이었어요. 그럼 아파치가 운영하는 아파치는 무엇이냐! 바로 웹 서버입니다. 홈페이지에서는 HTTP Server Project라고 부르고 있네요. '웹 서버' 하면 '아파치' 라고 할..
[BOJ] Baekjoon Online Judge 이용 방법 Baekjoon Online Judge(BOJ)를 처음 접하는 사람이 흔히 하기 쉬운 실수를 정리해봤다. 는 사실 나만 헤맸던 걸수도^^; 1. Main 클래스부터 시작하기 이게 무슨 말이냐 하면, 패키지 import나 클래스 선언부터...그러니까 아예 처음부터 써야 통과할 수 있는 거였다. 정말 쉬운 Hello World도 안되길래 '나는 sysout도 못하는 똥멍청이야...' 라고 스스로를 타박하며 괴로워하다가 '설마..혹시....이것 때문인가....'하고 번뜩 떠올라 시도했다가 알게되었다. 그러니까 결국 나는 똥멍청이긴 했던 것 예를 들면, System.out.println("Hello World"); 이렇게만 덜렁 써서 제출했는데 public class Main{ public static void..
[Docker] docker-compose로 DB 연결하기 말로만 듣던 Docker를 사용할 수 있는 기회가 왔다. 그냥 설치하고 연결하면 끝일 줄 알았지만...아시죠? 원래 설치하고 환경 설정하는 게 제일 오래 걸리는거^.^ 1. Docker 실행 서로 다른 환경을 가진 사람들끼리 협업하는 것은 여간 복잡한 일이 아니다. 같은 걸 설치해도 각자의 컴퓨터 환경에 따라 실패하는 경우가 많아 프로젝트 관리가 어렵다. 이를 위해 나온 것이 바로 docker이다. docker에 대한 자세한 내용은 이곳을 참고하자. 1) 설치 파일 다운로드 https://hub.docker.com Docker Hub Docker Certified:Trusted & Supported Products Certified Containers provide ISV apps available as..