-
[프로젝트 진행하기 #2] 서비스 기획
프로젝트 진행과정 2탄이다. 이번 포스팅에서는 1탄에서 선정한 베이스 아이디어를 바탕으로 서비스 기획을 하는 과정을 간단히 다뤄보고자 한다. 🗨️시작하기전에앞서 1탄에서 문서화를 위해 Notion을 사용한다고 언급했다. 문서화를 어디까지 해야될까?에 대해서는 추후 다룰 예정이다. 하지만, 다른건 몰라도 "기획"단계에서의 문서화는 반드시 진행해야한다. 문제 정의, 경쟁 서비스 분석, 회의록, 기능 정의 등 기획과 관련된 모든 것은 반드시 문서화 해야됨을 명심하자. 내 친구가 항상 입에 달고 사는 말이 있다. "기획이 8할이다."라고 그 친구가 항상 말한다. 나는 이 친구 말에 진짜 공감하는게 실제로 "오늘의 출근" 프로젝트와 "Reborn" 프로젝트를 진행하면서, 기획이 중요성을 많이 느꼈다. 기획이 ..
2024.05.14
-
[회고] 한국지능정보시스템학회 춘계 학술 대회 회고
이번에 5월 10일(금) ~ 5월 11일(토) 이틀간 부산 BPEX에서 개최된 한국정보시스템학회 춘계 학술 대회에 참여했다. 그래서 다녀온 소감에 대해서 간단하게 적는 회고록을 써보도록 하겠습니다. 아래는 해당 학회 홈페이지이다. ::::: 한국지능정보시스템학회 :::::"Human-Centric AI: Nurturing Innovation, Sustainability, and Inclusivity"www.kiiss.or.kr😁 참여 계기참여하게된 계기는 저희 학교에 매학기 선발된 인원이 학점과 지원금을 받고 원하는 주제로 프로젝트를 수행하는 "알파 프로젝트"가 존재합니다. 저는 4학년 1학기에 "이음" 프로젝트로 선발되었습니다. "이음" 관해서는 제가 다른 글에 자세히 소개해놨으니 궁금하신분들은 ..
2024.05.12
-
[개발 탐구] Redis, 실제 개발에서 어떻게 활용할 수 있을까?
Redis라는 이름은 많이들 들어봤을 것이다. 하지만, Redis의 특징은 아는데 이걸 어떻게 활용해야 할지 모르겠는 사람들이 꽤 많을 것이다. 그래서, 이번에는 내가 활용해보고 조사해본 실제 개발에서 Redis의 활용 방안에 대해서 다뤄보고자 한다. 일단, Redis 활용 방안을 알아보기전에, Redis의 특징에 대해 알아야한다.key -value 형식으로 저장되는 NoSQL Datebase이다인 메모리(In-Memory) 방식으로 저장되기 때문에, 디스크에 접근해야되는 RDB에 비해 굉장히 빠르다메모리에 저장되기 때문에 종료시 데이터가 사라진다. 그래서 이를 방지하기 위해 백업을 지원한다싱글 스레드로 작동한다. (엄밀히 말하면 살짝 아니긴 하지만)TTL(Time to live)를 제공한다. 그래서 일..
2024.05.10
-
[프로젝트 진행하기 #1] 프로젝트 시작 준비
프로젝트 진행과정 1탄이다. 이번 포스팅에서는 본격적으로 서비스 기획 및 개발에 들어가기전에 프로젝트 시작 준비를 하는 과정에 대해서 간단히 다뤄보고자 한다. 초반 단계라서 내용은 별로 없지만, 나는 이 1단계가 잘못되면 결국 뒤에선 다 꼬인다고 생각한다. 따라서, 가볍게 생각하지말고 초반에는 좀 빡세게 준비하는 편이 좋다. 또한, 0번 글에서도 언급했다 싶이, 백엔드 개발자 + 팀장의 관점에서 작성한 글이다. 📝 초기 팀원 모집하기일단 혼자하는 토이 프로젝트가 아닌 이상, 처음부터 혼자 시작하기에는 무리가 있다. 그래서 주변 지인 중에 아는 사람을 설득해서 진짜 아이디어를 같이 구상하고, 끝까지 갈 팀원을 골라야 한다. 그런데 여기서 중요한 점이 있다. 단지 나랑 친하다고 아무나 데려와서는 절대 안..
2024.05.10
-
[회고] 우아한테크캠프 7기 테스트 회고
이번에 우아한 테크캠프 테스트 참여했었습니다. 결론부터 말하자면, 1차는 합격했으나.... 2차 과제 테스트에서 결국 떨어졌습니다. 제 실력의 부족이겠죠... 그래서 간단하게 회고록을 작성해보고자 합니다. 🔒 1차 코딩 테스트언어 : Java만 가능문제수 : 알고리즘 3문제 + CS 5문제시간 : 3시간 (13:00 ~ 16:00)제약조건:인터넷 검색 및 레퍼런스 금지물 마시기, 화장실 가기 금지외부 IDE 금지A4 용지 1장까지 사용 가능웹캠과 휴대폰 감독 둘다 필수코테 문제 난이도는 굉장히 쉬웠습니다. 대충 백준으로 치자면 실버3 ~ 골드 5 정도 수준이었다고 봅니다.Java로 백준좀 어느정도 풀어봤다하면 그냥 다 풀 수 있는 정도였습니다. 알고리즘은 정렬, 백트래킹, 수학 이 정도였고, DP나 ..
2024.05.09
-
[ETC] 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.05.08
-
[배포] "외국민" 서비스 배포 과정
2024.05.04
-
[Ruby on Rails] 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.05.03
-
[AWS] AWS EC2 프리티어 메모리 부족 현상 해결하기
메모리 스왑, 왜 필요한가?아마 학생 레벨에서는 많이들 AWS 프리티어 계정으로 EC2를 사용할 것이다. 하지만, 프리티어를 사용하다보면 램 부족 현상을 자주 맞이하게 된다. 특히, EC2내에서 gradle build라도 하게 되면 답답하게 오래 걸린다. 또한, 서버가 다운되기도 한다. 왜냐하면, EC2 프리티어는 1GB 메모리밖에 제공하지 않기 때문이다. 반면에, 스토리지 공간은 30GB로 꽤 넉넉하게 준다. 그럼 이렇게 넉넉한 HDD 공간을 가지고 있는데, 쓸데없이 비워둘 것인가? 이걸 활용해야지 않겠는가? 그래서 쓰는 것이 메모리 Swap이다. 메모리가 부족할 경우, HDD의 일정공간을 RAM처럼 사용하는 기술이다. 실제로 AWS 공식문서에도 이와 관련된 내용이 기술되어 있다. 메모리 스왑 AWS ..
2024.05.02
-
[ETC] Azure 발음 평가 사용시 SpeechConfig 초기화 오류
외국 유학생들이 우리 대학 적응을 돕도록 만드는 앱 개발을 진행하고 있다.해당 앱에 대해 궁금하면 외국민 Github를 참조 바란다. 우리 앱 기능 중에서, 외국인들이 한국에서 자주 쓰이는 표현, 발표 스크립트 발음을 평가해주는 기능이 존재한다. 그래서 이걸 어떻게 구현할까 찾던중, Microsoft에서 발음평가 API를 발견하였다. 그래서 Spring 서버에서 이 기능을 사용하여 구현하였다. https://learn.microsoft.com/ko-kr/azure/ai-services/speech-service/ 음성 서비스 설명서 - 자습서, API 참조 - Azure AI 서비스 - Azure AI services음성을 인식하거나, 음성을 합성하거나, 실시간 번역을 받거나, 대화를 받아쓰거나, 음성을..
2024.05.01