개발 9

현상으로 자신을 정의하지 말자

한국인의 문장들은 참 특이하다. 무언갈 소유하지 않고서는 자기 자신을 설명하지 못하는 경우가 많다. 타인에게 자기 자신을 설명할 때나 누군가 나에 대해서 입을 열 때 하나같이 하는 말들은 무언가를 가졌는지에 관심이 있다. 그 사람 집 있어? 애인은 있으신가요? 어디 회사 다녀요? 외국에서의 문장은 사뭇 다르다. 소유의 개념이 아닌 행동을 통해 누군가에 대해 소개받는다. Where do you live? Are you seeing someone? What do you do for a living? 애초에 외국에선 이런 질문들을 프라이버시라 생각하고 남들에게 함부로 말하지 않는다고 한다. 그럼에도 불구하고 질문을 이루는 문장의 느낌은 사뭇 다르다. 최근 한국의 행복 지수는 전세계에서 하위권을 기록하고 있다...

개발/일기장 2024.04.01

Spark Standalone, Spark on K8s with Livy (feat. Ozone)

사내 개발 애플리케이션이 내장하고있던 Spark를 떼어내 클러스터로 구축하다가 Ozone FS와 호환이 안되는 문제가 풀리지 않아 구축을 반쯤 포기한 상태에 있었다. 그래도 개인적으로 구축을 다시 도전해보고자 처음부터 다시 차근차근 시도해보기로 하였다. 몇주 간의 끝없는 디버깅 지옥을 방지하기 위해 이번에는 Zeppelin을 도입하여 인프라 점검을 간단하게 수행할 수 있도록 하였다. 0. 겪은 난항 0-1. Apache Ozone 호환 문제 Spark가 K8s 클러스터에 실행되고있는 Ozone FS에 접근하기 위해선 특정 의존성이 필요하다고 한다. https://mvnrepository.com/artifact/org.apache.ozone/ozone-filesystem-hadoop3 이 의존성은 Spar..

개발/각종이슈 2024.01.16

Spark on K8s with Livy

진행하고 있는 프로젝트에서 큰 용량의 데이터셋을 Spark로 연산 시 OOM 에러가 뜨는것을 발견하였다. 프로젝트는 Spark 자체를 내장하고 local에서 4개의 executor를 띄워 연산하기에, JVM이 데이터의 용량을 버티지 못하게 된 것이다. 이 때문에 프로젝트와 Spark 엔진을 분리하고 Spark 자체가 K8s 에서 자원을 할당받아 연산을 수행하도록 구조를 수정하였다. 또한 Spark 클러스터에 간편하게 작업을 제출할 수 있도록 Apace Livy를 통해 작업을 관리할 수 있도록 구성 하였다. Livy의 동작 구조는 다음과 같다. Livy Client는 REST API 또는 Programmatic API를 통해 Livy Server에게 Spark 작업 수행 요청을 제출할 수 있다. Livy ..

개발/각종이슈 2023.11.22

Kubernetes 클러스터 서버 이전

이사 이슈로 K8s 클러스터 서버의 IP가 바뀌었다. kubeconfig만 고치면 해결 되겠거니 했는데, 막상 찾아보니 할 일이 많았다. SSL 인증서가 IP에 의존하기 때문에 인증서를 갈아엎어야 하고 여기저기 있는 Config에서 예전 IP 설정을 일일이 바꿔주어야 된다고 한다. 그래서 공식적으로는 IP에 직접적으로 의존하기 보단, DNS name을 사용하는 것이 좋다고 한다. 0. IP 변경 준비 처음에는 /etc/kubernetes 디렉토리에서 작업을 진행한다. ip도 변수로 지정해두는게 마음 편하다. cd /etc/kubernetes oldip=xxx.xxx.xxx.xxx(예전 IP) newip=ooo.ooo.ooo.ooo(바뀐 IP) 참고로 이 과정은 1.27버전과 1.19 버전에서 확인해보았다..

개발/각종이슈 2023.09.14

SSAFY 8기 지원 후기

매번 독학만 하다 보니 협업 프로젝트를 진행하고 싶었다. 마침 자주 보는 유튜브에서 특정 부트캠프에 의한 취업 허들이 존재한다길래 취업시장에서 유리하게 작용될 수 있는 부트캠프를 찾아보았다. https://www.youtube.com/watch?v=qdX47ySzzb0&t=910s&ab_channel=%EA%B0%9C%EB%B0%9C%EB%B0%94%EB%8B%A5 이리저리 많은 캠프가 존재하는데, 대부분 캠프 소개에서 강사진에 관한 언급조차 하지 않았고 자기주도적 역량을 너무나 강조하고 있었다. 또한 정부 지원으로 학생들은 무상으로 캠프를 다닐 수 있지만, 말도 안되는 가격을 제시하는 캠프들이 많았다. 취업률을 통해 정부 지원을 받는 캠프들이다 보니, 그렇고 그런 기업들에 개발자로 취직하는것이 많은 캠..

개발/구직활동 2022.06.29

기호를 위한 인정을 위한 기호

-헤겔, 보드리야르, 보부아르 이야기를 듣고 실존자는 자기 자신을 스스로 정의할 수 없다. 이 세상에 단 한 사람 만이 존재한다면, 그 자는 자신에 대한 어떤 것도 알 수 없다. 외부의 감각을 통한 비교 대상이 존재하지 않으면 자신을 정의할 수 없다. 실존자는 타자 또는 사물 등 자신과 분리된 것을 통해 자신을 정의한다. 타자의 생각 속에 비치는 자신을 자아와 통일시키고, 거울을 통해 자신의 모습을 알아차린다. 이는 곧 두 개체 이상의 관계를 통해 자신을 증명할 수 있다는 것을 뜻한다. 상호의 긍정적 감정, 상황은 자신에 대한 긍정적 면이 되고, 부정적임은 자신에 대한 부정적 면이 된다. 인간의 무한한 인정욕구는 이에서 비롯된다. 인간은 이데아와 관계를 맺을 수 없다. 바벨탑을 쌓아올려도 보이고 느껴지고..

개발/일기장 2022.06.07

불공정 거래

독학을 진행하면서 이런 저런 블로그와 강좌들을 접한다. 글로벌 네트워크망인 인터넷 시대에 걸맞게 정보의 바다는 언제나 광활하다. 인터넷에 있는 모든 정보를 습득하려면 백만년을 살아도 불가능할 것 같다. 인터넷과 함께라면 그 어떤 문제도 해결할 수 있을것 같다. 실제로 인터넷 검색을 통해 아주 많은 문제들을 해결해왔다. 인터넷 세상의 공공적인 정보와 지식, 지혜는 인터넷에 접속할 수 있는 모두의 공정한 자원이다. 정보 열람의 권한이 존재하지 않는 이상, 불공정거래 따위는 유연한 검색실력에 사라져버린다. 하지만 큰 오산이다. 오히려 인터넷에 존재하지 않는 정보들이 보통 우리에게 도움되는 정보라 표현할 수도 있다 생각한다. 이것을 지혜라 부른다. 창업한지 얼마 되지 않았지만 폭발적인 성장을 보여 이목을 끌었던..

개발/일기장 2022.04.26

개발자의 경쟁력

이 글은 마이크로소프트웨어 12월호에 실린 당시 안랩의 안철수 사장의 칼럼을 읽고 쓰는 글이다 독학을 진행하며 방문하게 된 많은 블로그들엔 대단한 사람들이 가득하다. 블로그 글이 수백개를 넘어가며 깃헙 contributions에는 초록색이 칠해지지 않은곳이 없는 주니어 개발자 또는 취업준비생분들을 보면 감탄을 하지 않을 수 없다. 전국적으로 코딩 광풍이 불며 컴퓨터학과 전공생과 비전공생의 피튀기는 경쟁이 이루어지는 지금을 보며 이세돌과 알파고의 결전엔 바둑, 정현의 ATP 파이널엔 테니스 광풍과 사뭇 다르게 비교되는 느낌이다. 자금적, 공간적, 시간적인 현실적 문제들을 뛰어넘고 자신이 무언가 만드는, 나아가서 서비스를 하는 모습에 한국 교육 시스템에 반감하던 청년들의 열광인지 전 세계적 양적 완화로 이루..

개발/일기장 2022.04.23