본문 바로가기

분류 전체보기70

[회고] 한국지능정보시스템학회 춘계 학술 대회 회고 이번에 5월 10일(금) ~ 5월 11일(토) 이틀간 부산 BPEX에서 개최된 한국정보시스템학회 춘계 학술 대회에 참여했다. 그래서 다녀온 소감에 대해서 간단하게 적는 회고록을 써보도록 하겠습니다. 아래는 해당 학회 홈페이지이다.  ::::: 한국지능정보시스템학회 :::::"Human-Centric AI: Nurturing Innovation, Sustainability, and Inclusivity"www.kiiss.or.kr😁 참여 계기참여하게된 계기는 저희 학교에 매학기 선발된 인원이 학점과 지원금을 받고 원하는 주제로  프로젝트를 수행하는 "알파 프로젝트"가 존재합니다. 저는 4학년 1학기에 "이음" 프로젝트로 선발되었습니다. "이음" 관해서는 제가 다른 글에 자세히 소개해놨으니 궁금하신분들은 .. 2024. 5. 12.
[DB] Redis, 실제 개발에서 어떻게 활용할 수 있을까? Redis라는 이름은 많이들 들어봤을 것이다. 하지만, Redis의 특징은 아는데 이걸 어떻게 활용해야 할지 모르겠는 사람들이 꽤 많을 것이다. 그래서, 이번에는 내가 활용해보고 조사해본 실제 개발에서 Redis의 활용 방안에 대해서 다뤄보고자 한다. 일단, Redis 활용 방안을 알아보기전에, Redis의 특징에 대해 알아야한다.key -value 형식으로 저장되는 NoSQL Datebase이다인 메모리(In-Memory) 방식으로 저장되기 때문에, 디스크에 접근해야되는 RDB에 비해 굉장히 빠르다메모리에 저장되기 때문에 종료시 데이터가 사라진다. 그래서 이를 방지하기 위해 백업을 지원한다싱글 스레드로 작동한다. (엄밀히 말하면 살짝 아니긴 하지만)TTL(Time to live)를 제공한다. 그래서 일.. 2024. 5. 10.
[프로젝트 진행하기 #1] 프로젝트 시작 준비 프로젝트 진행과정 1탄이다. 이번 포스팅에서는 본격적으로 서비스 기획 및 개발에 들어가기전에 프로젝트 시작 준비를 하는 과정에 대해서 간단히 다뤄보고자 한다. 초반 단계라서 내용은 별로 없지만, 나는 이 1단계가 잘못되면 결국 뒤에선 다 꼬인다고 생각한다. 따라서, 가볍게 생각하지말고 초반에는 좀 빡세게 준비하는 편이 좋다. 또한, 0번 글에서도 언급했다 싶이, 백엔드 개발자 + 팀장의 관점에서 작성한 글이다. 📝  초기 팀원 모집하기일단 혼자하는 토이 프로젝트가 아닌 이상, 처음부터 혼자 시작하기에는 무리가 있다. 그래서 주변 지인 중에 아는 사람을 설득해서 진짜 아이디어를 같이 구상하고, 끝까지 갈 팀원을 골라야 한다. 그런데 여기서 중요한 점이 있다. 단지 나랑 친하다고 아무나 데려와서는 절대 안.. 2024. 5. 10.
[회고] 우아한테크캠프 7기 테스트 회고 이번에 우아한 테크캠프 테스트 참여했었습니다. 결론부터 말하자면, 1차는 합격했으나.... 2차 과제 테스트에서 결국 떨어졌습니다. 제 실력의 부족이겠죠... 그래서 간단하게 회고록을 작성해보고자 합니다. 🔒  1차 코딩 테스트언어 : Java만 가능문제수 : 알고리즘 3문제 + CS 5문제시간 : 3시간 (13:00 ~ 16:00)제약조건:인터넷 검색 및 레퍼런스 금지물 마시기, 화장실 가기 금지외부 IDE 금지A4 용지 1장까지 사용 가능웹캠과 휴대폰 감독 둘다 필수코테 문제 난이도는 굉장히 쉬웠습니다. 대충 백준으로 치자면 실버3 ~ 골드 5 정도 수준이었다고 봅니다.Java로 백준좀 어느정도 풀어봤다하면 그냥 다 풀 수 있는 정도였습니다. 알고리즘은 정렬, 백트래킹, 수학 이 정도였고, DP나 .. 2024. 5. 9.
[개발] Nginx 환경변수 사용 방법 기본적으로 Nginx는 환경변수를 지원하지 않는다. 그럼에도 불구하고, 환경변수를 사용하고 싶으면 어떻게 Dockerfile을 구성해야 할까? upstream spring_gateway { server spring_gateway:8081;}server { listen 80; server_name ${SERVER_NAME}; access_log off; server_tokens off; client_max_body_size 1G; location /.well-known/acme-challenge/ { allow all; root /var/www/certbot; } location / { return 301 https://.. 2024. 5. 8.
[배포] "외국민" 서비스 배포 과정 - (1) 기존 서비스 아키텍처기존 아키텍처는 위와 같이 구성했다. 하지만, 위의 아키텍처는 여러가지 문제점이 있었다. 우선, 우리 메인 Spring 비즈니스 서버는 다른거 처리하기도 바쁘다. 게다가, 저희 서비스는 채팅을 Long Polling으로 개발하였는데, 여러 사용자가 동시 다발적으로 요청을 보낸다? 그럼 메인 비즈니스 서버의 성능을 매우 떨어질 것이며, 응답시간은 길어질 것이다. 결국 Software Quality가 떨어질 것이다. 따라서 채팅 서버를 분리할 필요가 있다.뿐만 아니라, api 요청을 보낼때 https가 아닌 http로 보내기 때문에 데이터의 Integrity를 보장할 수 없다. 그래서 요청을 https로 암호화해서 보낼 필요가 있다.마지막으로, 챗봇, 메인 비즈니스 서버, 채팅 서버 모두.. 2024. 5. 4.
[배포] Docker로 Ruby On Rails 배포하기 FROM ruby:3.0.2-slimWORKDIR /appRUN apt-get updateRUN apt-get install -y build-essential apt-utils libpq-dev default-mysql-client default-libmysqlclient-devCOPY Gemfile Gemfile.lock ./RUN gem install bundler && RAILS_ENV=production bundle install --jobs 20 --retry 5ENV RAILS_ENV=productionCOPY . ./ENTRYPOINT ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "0.0.0.0"] Ruby on Rails 파일을 Docker.. 2024. 5. 3.