loading
본문 바로가기

반응형
전체 글 41
반응형

[Python] 파이썬 자료형 총정리!!! 안녕하세요. 파이썬 자료형에 관한 포스팅으로 돌아온, 개발자 김모씨입니다. 파이썬 기본부터 ML 분야로의 응용까지 포스팅을 해보겠다고 질렀긴 했는데 이걸 뭐 어디서부터 시작해야 하나... 고민을 많이 했습니다. 생각해보니 파이썬에 대한 글을 찾아보시는 분들 중 대부분은, 이거나 둘 중 하나이실 거라고 생각이 드네요. 다시 말해, 파이썬의 기본 문법이 중요한 것이 아니라 '파이썬이 어떻게 쓰이는지', '어떤 분야에 어떻게 응용되는지'가 더 궁금하실 것 같았습니다. 그래서 내린 결론으로, 파이썬 기본 문법은 최대한 짧게, 핵심만 짚고 빠르게 넘어가려 합니다! 그리고 ML이나 데이터 쪽 라이브러리를 활용한 응용으로 넘어가는 거죠. 오늘은 그 첫번째로, 파이썬의 자료형에 대한 총괄적 설명입니다! 파이썬 자료형의.. 2020. 9. 19.
[Spark] Spark DataFrame 개념 정리! 안녕하세요. 저번 시간, Spark RDD에 이어, 스파크의 두번째 데이터 구조인 DataFrame 으로 돌아온, 개발자 김모씨입니다. 혹시 스파크의 가장 기본적인 데이터 구조인 RDD를 설명하는 포스팅을 아직 보지 않으신 분들은(!) 얼렁 다녀오시죠! artist-developer.tistory.com/17 [Spark] Spark RDD(Resillient Distributed Data)란? 안녕하세요. RDD란? 이라는 글로 돌아온, 개발자 김모씨입니다. 오늘은 스파크의 데이터 구조인 RDD에 대해 알아볼 건데요. 스파크는 기본적으로 RDD들의 흐름에 의해 동작한다고 보시면 됩니다. �� artist-developer.tistory.com 저번 포스팅에서 스파크의 데이터 구조는 크게 - RDD (R.. 2020. 9. 18.
[Python] 파이썬을 쓰는 이유 안녕하세요. 파이썬을 쓰는 이유 로 돌아온, 개발자 김모씨 입니다. 가장 '우아한' 언어라고 불리는 프로그래밍 언어죠. 파이썬 입니다. 파이썬은 네델란드 출신의 '귀도 반 로섬'이라는 분에 의해 개발되었는데요. Microsoft와의 인터뷰에 따르면, '심심한 김에' 만들었다고 하죠.....(천재는 심심하면 세상을 바꾼다!) 크리스마스 주에 연구실이 닫혀있어서, 집에서 만들었다고 합니다. ㄷㄷㄷㄷㄷ 비슷한 사례로, 리눅스를 만든 '리누스' 라는 분도 계십니다. 리눅스도 핀란드 헬싱키 공대의 대학생이었던 리누스 토르발스가 심심해서 만든 OS로 유명합니다. (천재X들....) 초기에는 다소 불안정했지만, 대기업들이 리눅스 개발을 지원하는 등 발전을 거듭해 갓급의 OS로 재탄생했죠! 귀도반로섬은 유럽 쪽에서는 .. 2020. 9. 17.
내가 야간대학원(특수대학원)에 진학한 이유 안녕하세요~ 퇴사썰에 이어, 야간대학원 썰로 찾아뵙는 개발자 김모씨입니다. 혹시 퇴사썰을 아직 안 보신 분이 계시다면, 얼른 다녀오시죠. (치근덕 치근덕) artist-developer.tistory.com/18 내가 제조업계를 떠난 이유(본격 개발자 퇴사 썰) 퇴사썰로 찾아뵙는 개발자 김모씨입니다. 오늘은 왜 제가 제조업계를 퇴사하고, 현재 회사로 이직을 했는지 그 이유에 대해 이야기해볼까 합니다. 최근에 개발자 꼬동 님의 글을 보고 저도 저의 artist-developer.tistory.com 저는 2018년 9월 아주대학교 정보통신대학원에 입학하여 현재 4학기를 모두 마치고, 수료 상태로 논문을 작성 중입니다. 많은 개발자, 아니 개발자를 넘어 많은 직장인 분들이 고민하시죠. 야간대학원(특수대학원).. 2020. 9. 16.
내가 제조업계를 떠난 이유 (본격 개발자 퇴사 썰) 퇴사썰로 찾아뵙는 개발자 김모씨입니다. 오늘은 왜 제가 제조업계를 퇴사하고, 현재 회사로 이직을 했는지 그 이유에 대해 이야기해볼까 합니다. 최근에 개발자 꼬동 님의 글을 보고 저도 저의 이야기를 하고 싶어졌어요. 정신나갔냐며 두손 들고 막는 주변의 만류에도, 많은 걸 포기하면서도, 퇴사를 결심했던 이유. 이직을 결심했던 이유. 시작합니다. 저는 25살의 나이로, 2018년 1월 누구나 아는 그 그룹의 반도체 쪽에 입사했습니다. 남자 치고 굉장히 빠른 나이었죠. 휴학 한번도 없이, 군휴학도 최소로 하고 달렸으니까요. 첫회사는 저에게 아직도 인상 깊었던 게, 입사날(신입 연수원에 들어간 첫 날)이 제 생일이었어요 ㅎㅎㅎㅎㅎ 선물같은 회사였죠 회사에서 생일파티를 해주더라구요. ㅋㅋㅋㅋㅋㅋㅋ 몰래카메라도 해주.. 2020. 9. 15.
[Spark] Spark RDD(Resillient Distributed Data)란? 안녕하세요. RDD란? 이라는 글로 돌아온, 개발자 김모씨입니다. 오늘은 스파크의 데이터 구조인 RDD에 대해 알아볼 건데요. 스파크는 기본적으로 RDD들의 흐름에 의해 동작한다고 보시면 됩니다. 스파크가 무엇인지, 스파크의 구조는 어떤지 저번 글을 읽지 않으셔서 아직 모르시는 분들(!)은 얼렁 가서 훑고 오시죠! [Spark] Apache Spark(아파치 스파크)란? 빅데이터 빅데이터 빅데이터.... 뉴스에서고, 채용공고에서고 연일 화두에 오르는 키워드이다. 특히 이 글을 보는 당신이 컴공이라면, 마치 족쇄마냥 우리의 진로를 고민하게 만드는 단어일 것�� artist-developer.tistory.com 스파크의 데이터 구조는 크게 - RDD (Resillient Distributed Data) -.. 2020. 9. 15.
[Go] Go언어 Channel (혹시 고루틴 포스팅을 보지 않으신 분은 먼저 훑고 오시길....) artist-developer.tistory.com/14?category=951423 [Go] 고루틴(go-routine) 앞서 Go언어 입문에 포스팅하였듯, Go언어의 대표적 특징 중 하나에는 병행성이 있다. Go언어는 'go' 키워드를 사용하여, 고루틴을 만드는데, 여기서 고루틴은 비동기적(asynchronously)으로 특정 함수 artist-developer.tistory.com 우리는 이제 Go언어에서 병행성(Concurrency)을 어떻게 보장하는지 알게 되었다. 이처럼 병행성이 보장된 Multi-thread와 같은 환경에서 가장 중요한 것은 동기화(Synchronous) 이다. Thread 간에 데이터를 공유하고 실행 순서를.. 2020. 9. 14.
Cloud, Devops, 인프라 개발자 면접 질문 클라우드 개발자, 인프라 개발자, 데브옵스 엔지니어 세부적으로 들어가면 하는 일은 차이가 있겠으나, 신입/경력 입사 면접 시 받는 질문에는 큰 차이가 없을 것이라 생각한다. 1. 클라우드 컴퓨팅이란 무엇인가? 2. 스케일 아웃(Scale-out)과 스케일 업(Scale-up)의 차이를 설명하라. 3. MSA(Micro Soft Architecture)의 개념을 설명하라. 4. MSA의 장점은 무엇인가? 기존 방식에 비해 어떤 Benefit을 가져올 수 있는가? 그리고 그에 따른 단점이나 리스크가 있는가? 5. 컨테이너란 무엇인지 설명하라. 6. 컨테이너를 위한 운영 환경에는 어떠한 것들이 있는가? 가장 많이 사용되는 것은 무엇인가? 7. 쿠버네티스가 가장 선호되는 이유가 무엇이라고 생각하는가? 8. 쿠버.. 2020. 9. 13.
[Go] 고루틴(go-routine) 앞서 Go언어 입문에 포스팅하였듯, Go언어의 대표적 특징 중 하나에는 병행성이 있다. Go언어는 'go' 키워드를 사용하여, 고루틴을 만드는데, 여기서 고루틴은 비동기적(asynchronously)으로 특정 함수 루틴을 실행하므로, 여러 함수(또는 코드)가 동시에(Concurrently) 실행된다.(병행성의 만족) 병행성(Concurrency) 흔히들 병렬성(Parallelism)과 병행성(Concurrency)을 혼동하곤 한다. 병렬성은, 실제로 여러 작업을 동시에 수행하는 것을 의미한다. 병행성은, 마치 여러 일을 동시에 하듯이 수행하는 것을 의미한다. 쉬운 예로 둘을 비교해보자. 이 글을 적고 있는 필자는 현재, '커피를 마시면서' '포스팅'을 하고 있다. 하지만 여기서, 커피를 마시는 일과 포스.. 2020. 9. 13.
[Go]GO 가비지 컬렉션(Garbage Collection) 저번 포스팅에 이어, Go의 대표적인 특징 중 하나인 가비지 컬렉션에 대해 알아보자. 가비지 컬렉터(GC)란? GO 언어의 이야기를 하기에 앞서, 먼저 가비지 컬렉터가 무엇인지 알아야한다. 여기서 가비지란, '유효하지 않은 메모리 주소', '해제되지 않은 메모리 영역'를 의미한다. 프로그래밍 언어에서는 보통 Danling Object라고 불리며, Java나 Go 에서는 Garbage라는 용어를 사용하고 있다. 우리에게 가장 친숙한 C/C++에서 그 예를 찾아보자면, //c++ int main(void) { int *a = new int; return 0;//Pointer를 해제하지 않고 프로그램 종료 : 메모리 누수 발생 } int* 에 할당된 메모리를 해제 하지 않고 프로그램을 종료하였다. C/C++에.. 2020. 9. 11.
[Go] Go 언어 강 타입(strongly-typed) 앞서 Go 언어의 대표적인 특징에서 언급한 것처럼, Go 언어는 강타입(strongly-typed) 언어이다. 프로그래밍 언어를 배우거나 다루다보면, 강타입/약타입이란 용어가 빈번하게 등장하곤 한다. 본 포스팅 에서는 이 용어가 의미하는 것이 무엇인지, 그리고 Go 언어에서는 이러한 특징이 어떠한 형태로 나타나는지를 알아볼 것이다. 강타입과 약타입 앞 포스팅에서 언급하였듯, 프로그래밍 언어에서 '타입'이란 자료형을 의미한다. 또한 여기에서의 강과 약이란, 자료형의 변환을 기준으로 구분된다. 흔히 Type Casting 또는 Type Conversion이라고 불리는 형변환은 언어를 능숙하게 다루기 위해서 반드시 숙지하여야 할 개념이다. (구글에 C++을 치면 'C++ int to string'. 'C++ .. 2020. 9. 9.
[Spark] 스파크 구조 및 실행 과정 스파크는 크게 보면 스파크 어플리케이션과 클러스터 매니저로 구성되어 있다. 스파크 어플리케이션은 실제 일을 수행하는 역할을 담당하며, 클러스터 매니저는 스파크 어플리케이션 사이에 자원을 중계해주는 역할을 담당한다. 스파크 어플리케이션(Spark Application) 먼저 스파크 어플리케이션부터 살펴보자. 스파크 어플리케이션은 Driver 프로세스와 익스큐터 프로세스로 구성된다. Spark Driver는 한 개의 노드에서 실행되며, 스파크 전체의 main() 함수를 실행한다. 어플리케이션 내 정보의 유지 관리, 익스큐터의 실행 및 실행 분석, 배포 등의 역할을 수행한다. 사용자가 구성한 사용자 프로그램(Job)을 task 단위로 변환하여, Executor로 전달한다. Executer는 다수의 worker.. 2020. 9. 8.