본문 바로가기

분류 전체보기

(152)
[Hadoop/기록] 1. Ubuntu 20.04 LTS에 하둡 설치 및 환경구성 [Ubuntu 20.04 LTS에 Hadoop 3.2.1 설치] 1. ssh 설치 sudo apt-get install ssh sudo apt-get install pdsh 2. 권한 변경 sudo chmod -R 777 /home/lsy1206/.bashrc nano .bashrc ssh-keygen -t rsa -P "" cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh localhost exit sudo apt-get update 3. java 설치 oracle에서 java 1.8 linux download 적당한 곳에 압축파일 해제 sudo tar -xvzf ~/Downloads/jdk-8u301......... + 환경변수 설정 sudo chmod -..
[Side-Project] Ant Platform - High-scale chat server 구성하기 3 [ 로컬에서 GCP Redis-Instance(memorystore) 에 연결하기 ] Redis 인스턴스에 연결 | Redis용 Memorystore | Google Cloud 이 페이지에서는 Compute Engine 및 Google Kubernetes Engine을 사용하여 Redis 인스턴스에 연결하는 방법을 설명합니다. 또한 Telnet으로 기본 Redis 명령어를 테스트하는 방법도 제공합니다. Memorystore for Redis cloud.google.com 로컬 개발환경에서 GCP의 MemoryStore(나의 경우 redis-instance)에 접근 할 필요가 있다. 이럴때는 간단하게, 포트를 Redis 인스턴스로 전달하는 데 사용할 Compute Engine 인스턴스를 생성하면 된다. 그..
[AWS EC2 + Docker + Jenkins ] Spring Boot 배포 자동화 - Jenkins 설치 [ 시작하며.. ] 언제 한번 쭉 정리할까 고민이였는데, 마침 배포 자동화를 할 일이 생겨서 기록으로 남기기로 한다. 한번 해보고 나면 과정은 그렇게 어렵지 않다. PC와 깃헙(혹은 깃랩 등)에서 작업한 내용을, jenkins에서 빌드하고 docker hub에 올리면, server는 그걸 가져와서 실행한다. 나는 조금 기형적으로, 배포가 되는 서버와 jenkins용 서버가 통합되어 있다. 정상적인 형태는 아니지만 환경이 열악해서... 혹시나 이 기록을 참고하는 사람들은 참고하면 좋겠다. 더불어 사용하는 EC2 인스턴스의 Ram은 16GB이며, 인스턴스 내부의 인바운드 규칙을 포함한 방화벽은 그때그때 열어주기 바란다. 원래 간략한 과정은 이렇다. -> 이 중에서 필요한 부분만을 사용하면 된다! 1. Je..
[Side-Project] Ant Platform - High-scale chat server 구성하기 2 [ 캐치업 ] 오랜만에 스프링 부트에서 다시 사이드 플젝으로 돌아왔다. 지난 포스팅에서 [ 1. Cloud MemoryStore에 Redis Instance를 생성 ], [ 2. VPC Connector를 생성 ] 까지를 완성했다. 이후로 바로 cloud-run을 사용하려다가, 코드에서 고칠 부분도 있고 해서 VM에 환경을 구성하고 방화벽 등 서버간 통신이 문제가 없는 것을 확인하고 나서 Docker를 통해 배포를 해보기로 마음먹었다. [Side-Project] Ant Platform - High-scale chat server 구성하기 1 [ 캐치업 ] 지난 한주는 정말 불꽃같은 한주였다. 먼저 면접... 백엔드+ML+클라우드+빅데이터(파이프라인) 에 대한 다소 깊이있는(신입 수준에서) 내용을 정리하느..
BOJ.2931번.가스관 BFS로 양끝에서 탐색하고, 가스파이프가 끝나는 지점을 정한다. 정한 지점에서 어떤 파이프가 적절한지를 골라넣으면 된다. Java, Python 두가지 모두 풀어보았다. 2931번: 가스관 www.acmicpc.net in Java import java.util.*; import java.io.*; class BOJ2931gaspipe { static int r, c, my, mx, zy, zx, fy, fx; static int[] dy = { -1, 1, 0, 0 }; static int[] dx = { 0, 0, -1, 1 }; static char[][] europe; static boolean[][] check; static ArrayList ans = new ArrayList(); public..
BOJ. 1766번.문제집 간단한 위상정렬 문제다. 알고리즘 문제는 역시 꾸준히 느낌을 가지고 가는 것이 중요한 것 같다. 요즘 보면 데이터 엔지니어링 분야에서 자바와 파이선(+스칼라)는 거의 필수언어가 되어가고 있는 느낌이다. 두가지 언어를 모두 쵸큼 다뤄본(?) 내가 할 일은, 까먹지 않고 꾸준히 사용하면서 기본기를 계속 챙기는 것이지 않을까 싶다ㅎㅎ . 사실 N사와 K사 모두 면접을 거치면서 괴로운 시간이였지만 많이 배웠다고 생각한다. 누군가는 한번에 합격하기도 하지만, 또 누군가는 여러 시행착오를 겪으면서 가기도 한다. 아직은 방향이 중요하지 않을까. 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 ..
[Side-Project] Ant Platform - High-scale chat server 구성하기 1 [ 캐치업 ] 지난 한주는 정말 불꽃같은 한주였다. 먼저 면접... 백엔드+ML+클라우드+빅데이터(파이프라인) 에 대한 다소 깊이있는(신입 수준에서) 내용을 정리하느라 정작 기본적인 내용을 리마인드 하지 못했다. 게다가 2년전에 프로젝트를 여쭤보시는 바람에 기억이 잘 안나서 이상한 말도 많이했다ㅎㅎ. 생각할수록 아쉽고 부끄럽다 (면접관님께서 정확히 파악하셨다^^). 그래도 어쩌겠는가? 지나간 것은 이미 지나간 것이고, 이참에 이력서도 업데이트 하고, 기본기는 지금보다 더 잘 쌓인 개발자가 되면 된다! 일전에 Side-project를 진행하면서 Cloud-Run과 Redis를 이용해 websocket 프로그램을 어떻게 배포할 것인지에 대한 고민과 함께 아키텍쳐를 공부했다. 이번에는 실질적인 배포과정을 기록..
[Celery] Side-Project(Ant Platform) - 6. High-scale chat server on Cloud Run [ 일단 지난주 캐치업 ] 지난주에 socket기반 간단한 통신프로그램을 만들었고, 이제는 Redis와 Cloud-run을 이용해서 scale-out이 가능한 형태의 아키텍처로 만들어봐야겠다 생각하고 있었다. 사실 쿠버네티스를 적용시키기에는 공부할게 좀 많아보여서 cloud-run을 사용하게된 것인데 구체적으로 어떻게 만드는 게 좋을지는 계속해서 고민하게 되는 부분이였다. [Celery] Side-Project(Ant Platform) - 5. Chat server, Socket.io [ 일단 회고.. 데이터 언제 쌓아보냐고! ] 한국어 데이터 수집을 목표로 한 사이드 프로젝트를 계속 진행중이다. 지금까지는 간단한 notification-server와 함께, 비동기 처리를 위한 celery, 메세지 큐로..
BOJ. 21610번. 마법사 상어와 비바라기 시간이 조금 남아서 삼성에서 낸 구현문제를 풀어보았다. 매일같이 풀던 알고리즘 문제를 한 2주 쉬었더니 또 그렇게 낯설다ㅎㅎ. 문제는 어렵지 않고, 요구하는 내용을 그대로 구현하기만 하면 된다. 다양하게, 또 습관처럼 사용하지 않으면 금새 낯설어지는게 프로그래밍 언어인것 같다. 나만 그런가 했는데, 근래에 본 면접장에서 면접관님들께서도 그렇다 하셨다. 현업 최정상급 고수분들이시지만(물론 긴장을 풀어주시려는 의도일 것이다^^) 그렇게 겸손하게 말씀하시는 걸 보고 많은 것을 느꼈다. 꾸준하게 사용하고, 갈고 닦아야 그 언어를 그 언어'답게' 사용할 수 있는 것 같다. 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 ..
[Celery] Side-Project(Ant Platform) - 5. Chat server, Socket.io [ 일단 회고.. 데이터 언제 쌓아보냐고! ] 한국어 데이터 수집을 목표로 한 사이드 프로젝트를 계속 진행중이다. 지금까지는 간단한 notification-server와 함께, 비동기 처리를 위한 celery, 메세지 큐로 RabbitMQ와 Redis, 부하테스트 툴로 locust를 활용해 왔다. 이후로는 chatting server를 scale-out 가능한 형태로 만들려고 한다(유저 1만명 이상의 데이터를 수집 가능하도록...!!) [ 앞으로 방향 ] 여러가지 참고할 문서들이 있다. 일단 GKE (google kubernetes engine)위에서 돌아가는 Cloud Run을 사용할 것이다. Serverless이고, 무엇보다 k8s에 대한 공부가 아직 부족해서 직접 쿠버네티스로 아키텍쳐를 구성하기 전..