반응형

매번 개발시 막힐 때 마다 구글에 검색을 하게 된다.

검색을 하다 보면 너무 깔끔하게 정리가 잘 된 글들을 만나기도 하고 정말 문제 상황에 대한 해결책만 정리된 글들을 보기도 한다.

 

그 중에 정말 두고두고 나중에도 봐야겠다 싶은 포스팅들이 있다.

그 포스팅들을 메모장에만 정리해놓다 보면 이후에 어디에다 적어놨는지 찾기가 힘들어

해당 포스팅 글의 내용이 필요한 경우 찾아보기가 힘들다.

 

그래서 앞으로는 한 달에 한 번 정도의 주기로 내게 도움이 됬고 유익한 포스팅들을 내 블로그에 모아 볼까 한다.

그 시작을 2019년 유익하게 보았던 포스팅을 소개해 보려고 한다.

 

1편, 2편으로 나누어 7개 정도로 포스팅 하려고 한다.

그에 앞서 지금 제가 현업에서 다루는 기술스택은

[ 스프링, 자바, Vue JS, 리눅스, MYSQL, Hadoop, Spark, Hive, Impala, Cassandra 정도가 되는 것 같다. ]

 

1. 리눅스 서버 60초 안에 상황파악하기

실제 서비스 운영중 서버에서 장애가 났을 경우 핵심 정보를 파악하는 커맨드 명령어를 깔끔하게 정리해 둔 포스팅이다.

기본적으로 해당 포스팅에 기술된 10가지 명령어만 제대로 알고 있어도 장애시 좀 더 빠르게 원인을 찾아 낼 수 있을 것 같다.

https://b.luavis.kr/server/linux-performance-analysis 

 

Luavis' Dev Story - 리눅스 서버 60초안에 상황파악하기

 

b.luavis.kr

 

2. Slow Query를 발생시키는 어플리케이션 구현하고 Thread Dump 분석하기

쓰레드의 개념적인 내용과 Life Cycle의 간단한 설명과 함께 Slow Query를 실행하는 애플리케이션을 구현하고 이를 테스트 하는 과정을 체계적으로 설명하고 있다. 이 과정에서 발생하는 CLOSE_WAIT이 많이 쌓이는 이슈 및 쓰레드 덤프를 통한 분석에 대한 내용까지 일목요연하게 다루고 있어 실제 Database나 외부 시스템들과의 연계된 어플리케이션을 개발하고 있다면 꼭 읽어 보고 이러한 상황에도 유연하게 대처할 수 있도록 하자.

https://brunch.co.kr/@springboot/126

 

Thread Dump 분석하기

- 쓰레드 덤프 분석하기 | 쓰레드 기본 개념을 간단하게 정리하고, 간단한 예시를 통해서 쓰레드 덤프를 분석하는 방법에 대해서 공유한다. 쓰레드 개념 정리 쓰레드 기본 개념을 정리한다. 쓰레드란? 생략한다. 알아서 찾아보길 바란다. 쓰레드 종류 쓰레드는 데몬 쓰레드(Daemon Thread)와 비데몬 쓰레드(Non-daemon Thread)로 나눌 수 있다. 데몬 쓰레드는 일반적인

brunch.co.kr

 

3. MySQL 쓰면서 하지 말아야할 것 17가지

서비스를 개발하는 개발자라면 데이터베이스를 대부분 쓸텐데 해당 글을 읽어보면 꼭 mysql이 아니더라도 다른 rdbms에도 도움이 될 만한 내용을 깔끔하게 정리해두었으니 참고해보면 좋을 듯 하다.

https://blog.lael.be/post/370

 

MySQL 쓰면서 하지 말아야 할 것 17가지

*MySQL 쓰면서 하지 말아야 할 것 17가지* 권장사항이다. 이것을 이해하면 당신의 어플리케이션이 더 나은 성능을 발휘할 것이다. 다만 이것이 사람의 실력을 판단하는 척도로 사용되서는 안 될 것이다.   작게 생각하기 – 조만간 규모가 커질거라면 MySQL ecosystem을 봐야된다. – 그리고 캐싱 빡시게 안 하는…

blog.lael.be

 

4. Scala + Gradle intelli J로 프로젝트 구성하기

실제 spark 작업을 통해 데이터를 뽑는 adhoc작업도 간혹 진행하고 있는데 이 때마다 실제 운영서버의 spark-shell을 열어 작업을 했었다. 이로 인한 문제점은 spark-shell의 작업으로 인해 실제 운영서버에서 돌아야할 작업들이 리소스 부족으로 악영향을 받는 상황이 발생할 수 있다는 것이다. 하지만 편리상 spark-shell로 작업을 진행했었는데 앞으로는 작업해야할 내용들을 실제 로컬환경에 환경을 구성해 돌려보고 해당 작업이 완성되었을 때 spark-submit을 통해 configuration을 적절히 설정하여 돌리기로 맘먹었고 로컬에 환경을 구성할 때 참고했던 블로그이다. spark1.5, 1.6 버전대와 spark2버전대 scala+gradle template을 만들어 놓았는데 필요한 분이 있다면 공유드릴 수 있도록 하겠다.

https://krksap.tistory.com/584

 

Big Data Handling을 위한 Scala - 제9편 Scala + Gradle + Intelli J로 프로젝트 구성하기 01

Big Data Handling을 위한 Scala - 제9편 Scala + Gradle + Intelli J로 프로젝트 구성하기 스칼라 스터디를 시작하고 스칼라로 뭘 짜봐야 겠다는 생각을 했는데 배포까지 하려면 SBT보다는 Gradle로 빌드하는게..

krksap.tistory.com

 

5. Spark의 기본 연산들의 동작방식에 대해 잘 설명되어 있는 포스팅

Spark의 기본 연산들인 combineByKey, reduce, aggregateByKey, filter, groupByKey, flatMap 등 중요한 내용들이 참 잘 설명되어져 있다. Spark를 다루시는 분들이라면 참고해 보면 좋을 듯 하다.

https://backtobazics.com/category/big-data/spark/

 

Spark Archives - Back To Bazics

Spark combineByKey RDD transformation is very similar to combiner in Hadoop MapReduce programming. In this post, we’ll discuss spark combineByKey example in depth and try to understand the importance of this function in detail. Continue reading “Apache Spa

backtobazics.com

 

6. Spark 메모리 관리

Spark의 메모리 관리에 대해 잘 정리된 글로 실제 Spark를 사용해본 분들은 알겠지만 out of memory error가 자주 잘 발생한 경험이 있을 것이다. 메모리 기반 연산처리를 하기 때문인데 Spark가 메모리를 어떻게 사용하고 어떻게 Config를 구성하여 작업하면 좋은지 정말 잘 깔끔하게 정리되어 있고 심도 있는 내용까지 다룬다.

https://medium.com/@leeyh0216/spark-internal-part-2-spark%EC%9D%98-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-2-db1975b74d2f

 

Spark Internal Part 2. Spark의 메모리 관리(2)

Unified Memory Management in Spark 1.6(1)

medium.com

 

7. 일급 컬렉션(First Class Collection)의 소개와 써야할 이유

일급 컬렉션이 뭔지 궁금하신분? 객체지향적 리팩토링하기 쉬운 코드로 가기 위해서는 왜 일급 컬렉션을 써야하는지 예시와 함께 잘 정리된 글이다. 해당 포스팅의 저자는 Enum과 마찬가지로 일급 컬렌션은 객체지향 코드로 가기 위해 꼭 익혀야할 방법 중 하나라고 소개하고 있다.

https://jojoldu.tistory.com/412

 

일급 컬렉션 (First Class Collection)의 소개와 써야할 이유

최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코드로 갈려면 일급..

jojoldu.tistory.com

2019 한 해 내게 유익했던 IT기술블로그 모음 1편은 여기서 마치도록 하겠습니다.

다른 분들께도 유익한 포스팅 모음 글이 된다면 좋겠네요.

 

반응형

+ Recent posts