분류 전체보기
-
병행성(Concurrency)을 위한 CountDownLatch자바(Java) 강의 2019. 8. 22. 13:39
CountDownLatch우리가 사용하는 고급 언어는 대부분 Concurrency(병행성)에 관련된 API를 제공한다. 자바도 마찬가지로 atomic, volitile, semaphore등 기본적인 병행성 관련 메커니즘에서 CyclicBarrier, CountDownLatch등의 고급기능까지 제공한다. 그 중 이 포스트에서는 CountDownLatch에 대해 알아보도록 한다. CountDownLatch는 언제 쓸까? 쓰레드를 N개 실행했을 때, 일정 개수의 쓰레드가 모두 끝날 때 까지 기다려야지만 다음으로 진행할 수 있거나 다른 쓰레드를 실행시킬 수 있는 경우 사용한다. 예를들어서 리스트에 어떤 자료구조가 있고, 각 자료구조를 병렬로 처리한 후 배치(batch)로 데이터베이스를 업데이트 한다거나 다른 시..
-
자바 Lambda (람다)자바(Java) 강의/자바 8 2019. 8. 20. 13:16
이번 포스트에서는 자바 8부터 제공하는 Lambda 의 사용법에 대해 알아보도록 한다. 이 포스트는 독자들이 자바의 클래스, 인터페이스, 메서드등 기본을 이미 알고있다고 가정한다.Lambda (람다) Lambda(람다)란? 소프트웨어 세계에서 람다란 함수이다. 자바에서는 메서드이다. 그렇다면 모든 함수나 메서드가 람다인가? 아니다. 매개변수로 전해질 수 있는 함수/메서드만을 람다라고 한다. 매개변수로 전해진다는게 무슨뜻일까. 설명을 보며 생각해보아라. 전통적인 자바 프로그램을 떠올려 보자. 메서드를 만들려면 뭐부터 만들어야 할까? 클래스부터 만들어야한다. 실제 산업에서는 인터페이스-인터페이스 구현클래스로 나누어 많이 개발한다. 예를들어서 x + y를 계산하는 Operation 인터페이스가 있다고 하자.p..
-
파이썬으로 AWS S3 버킷(Bucket) 만들기파이썬(Python) 강의 2019. 7. 29. 10:40
이 포스트에서는 파이썬과 AWS 파이썬 라이브러리인 boto3를 이용해 AWS S3 버킷을 만들어 보도록 한다. 전체 코드는 aws_s3_create_bucket.py 에서 확인할 수 있다. 이 포스트의 독자는 파이썬을 어느정도 활용할 수 있으며 pip과 같은 툴을 이용해 라이브러리 설치를 자유롭게 할 수 있다고 가정한다. AWS S3 버킷을 파이썬으로 만드는게 왜 중요한가? 그냥 AWS Console의 GUI를 이용하면 더 쉽지 않은가? 맞다. 만약 하나의 S3 버킷을 만든다고 하면 AWS 콘솔에서 하는것이 더 간단할 수 있다. 하지만 AWS Console을 이용하면 항상 개발자 또는 오퍼레이터가 콘솔에 접속해 클릭 클릭해야한다. 자바, 파이썬, 루비등의 언어와 boto3 라이브러리를 이용하면 이 과정..
-
[Twitter Hashtag Sentiment Analysis] (2) 파이썬 스트리밍 API를 이용해 트윗 가져오기취미로 하는 프로젝트 2019. 7. 14. 08:38
이전 포스트([Twitter Hashtag Sentiment Analysis] (1) 프로젝트 소개 및 트위터 개발자/앱 등록하기)에서 Consumer API키와 Access Token을 생성했다. 이번 포스트에서는 키를 이용해 실제 스트리밍 해본다.Tweepy를 이용한 스트리밍 파이썬 스크립트Tweepy는 트위터 API를 사용하기 위한 파이썬 라이브러리이다. Tweepy가 없다면 스트리밍 부분까지 전부 구현해야 하지만 다행히 라이브러리가 있으므로 라이브러리를 이용해 개발 시간을 단축할 수 있었다. Tweepy에 대한 자세한 내용은 https://www.tweepy.org/ 에서 확인 할 수 있다.Tweepy 설치pip install tweepy Tweepy는 pip install tweepy를 이용해 ..
-
[Twitter Hashtag Sentiment Analysis] (1) 프로젝트 소개 및 트위터 개발자/앱 등록하기취미로 하는 프로젝트 2019. 7. 1. 09:25
최근 AWS 인프라 공부를 위해 트위터 해시태그 센티멘트 분석 프로젝트를 개인적으로 시작하기로 마음먹었다. 따라서 스트리밍 관련해서 비슷한 프로젝트를 하는 사람들이 참고할 수 있도록 그 과정을 블로그에 기록할 예정이다. Twitter Hashtag Sentiment Analysis 프로젝트 개요이 프로젝트에서는 Twitter의 Streaming API를 이용해 특정 해시태그를 포함하는 트윗을 받아와 센티멘트를 분석한다. 분석이 완료된 해시태그는 Kibana를 이용해 가시화 한다. 이 모든 과정은 AWS위에서 실행 될 것이며 모든 AWS인프라는 스크립트 또는 AWS Cloudformation으로 작성할 것이다.여기까지는 나도 대략적으로 생각해 놓은 아키텍쳐이고, 개발을 하면서 막히는 부분이 있거나 개선 할..
-
19. 자바 Generics (2)자바(Java) 강의 2019. 6. 24. 14:14
지난 포스트에서는 자바의 컬렉션 프레임워크가 구현한 지네릭 자료구조를 사용하는 방법에 대해 알아보았다. 이번 포스트에서는 Generics 클래스를 만드는 법에 대해서 알아보도록 하겠다.이전 포스트1. 자바 설치 및 개발환경 설정2. 자바 변수와 자료형 (1) char2. 자바 변수와 자료형 (2) boolean2. 자바 변수와 자료형 (3) byte, short, int, long2. 자바 변수와 자료형 (4) float, double3. 자바 조건문 (1) if-else4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열4. 자바 배열과 반복문 (2) 반복문, 4. 자바 배열과 반복문 (4) 중첩 반복문4. 자바 배열과 반복문 (4) 연습 - 배열의 최댓값 구하기4. 자바 ..
-
19. 자바 Generics (1)자바(Java) 강의 2019. 6. 19. 00:42
이번 포스트에서는 자바에서 제공하는 자료형(Type) 추상화 기법인 Generic에 대해 알아보도록 한다.이전 포스트1. 자바 설치 및 개발환경 설정2. 자바 변수와 자료형 (1) char2. 자바 변수와 자료형 (2) boolean2. 자바 변수와 자료형 (3) byte, short, int, long2. 자바 변수와 자료형 (4) float, double3. 자바 조건문 (1) if-else4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열4. 자바 배열과 반복문 (2) 반복문, 4. 자바 배열과 반복문 (4) 중첩 반복문4. 자바 배열과 반복문 (4) 연습 - 배열의 최댓값 구하기4. 자바 배열과 반복문 (5) while5. 자바 메서드6. 자바 오브젝트와 클래스 (1..
-
자료구조를 공부하기 위한 5가지 단계소프트웨어 엔지니어링 2019. 6. 10. 07:59
프로그래밍 언어를 어느정도 배우고 나면 그 다음엔 보통 자료구조를 공부하게 된다. 어떤 공부를 하든 마찬가지겠지만 자료구조를 공부하면서도 어디서부터 어떻게, 얼마나 공부해야 자료구조를 '공부했다'라고 할 수 있는지 고민하는 경우가 많다. 이 포스트에서는 자료구조를 공부를 다섯단계로 나누어 설명하고 자료구조를 공부하기위한 템플릿을 제공하도록 한다. 참고! 이 포스트는 자바를 기준으로 작성되었다.목차1단계 : 자료구조의 목적과 이론 이해2단계 : 자료구조의 구현 로직 따라가기3단계 : 자료구조의 형태와 오퍼레이션 직접 구현하기4단계 : 라이브러리를 이용해 자료구조 사용하기5단계 : 자료구조를 적용하여 문제 해결하기1단계 : 자료구조의 목적과 이론 이해컴퓨터 공학의 주된 목적은 문제를 해결하는 것이라고 했다...