회고 & 기록

회고 & 기록

Firebase로 간단히 인기 검색어 기능을 만들어본 경험

next.js를 기반으로 한 서비스에 백엔드 서버와는 별개로 간단하게 인기 검색어 기능을 간단하게 추가해 본 경험을 기록합니다. 해당 시도를 해본 이유는 인기 검색어가 크게 필요하다기 보다, Firebase나 noSQL 느낌의 DB를 간단히 써보고 싶다! 라는 생각이 강했습니다. 갑자기 noSQL을 써보고 싶던 건 Firebase나 다른 클라우드 서비스에서 무료로 제공하는 DB(Azure Cosmos DB 등)가 많기 때문인데, 그냥 놀리고 있기도 아까워 한번 사용해보고 싶다는 생각이었습니다. 또한 Serverless 들을 조합해 보고 싶기도 했습니다. 그러나 Firestore만을 이용하게 되어 따로 클라우드 서버리스를 경험해보지는 못했습니다. 어떻게 만들 것인가? 간단히 검색들을 기록하고, 상위순으로 ..

회고 & 기록

썸네일 이미지 용량 최적화를 고민해보았다

최근 Next.js를 건드려보며 Image 컴포넌트에 적절하게 리사이징 해주는 기능이 있는 것을 보고 다른 서비스에도 이런 리사이징이 있으면 좋겠다는 생각을 했다. 문제는 프론트엔드 서버 내부에 이미지가 저장되어 있어서 적절히 리사이징 해줄 수 있는 것이 아니고, 프런트가 따로 있고 이미지는 AWS S3에서 받아오는 방식이라는 것이다. 즉 S3에 미리 리사이징 이미지를 저장해둬야 했다. 이미지를 줄여야 한다. 서비스에는 크게 2가지 종류의 이미지가 있었다. 수동으로 S3에 직접 업로드하는 샘플 이미지와, 각 개체마다 서비스를 통해 S3으로 업로드하는 개별 이미지였다. 우선 샘플 이미지를 생각했기에 가장 먼저 생각한 방법은, S3에 이미지가 업로드되었을 때 람다등을 통해서 자동으로 이미지 리사이징을 진행하..

회고 & 기록

CSE3210 오픈소스응용프로그래밍을 수강하고

인하대학교 CSE3210 오픈소스응용프로그래밍은 2023-2에 새롭게 개설된 강의이다. 인하대에는 원래 오픈소스SW개론이라는 오픈소스의 이름을 걸은 다른 과목이 있는데, 이 과목은 한학기에 Bash, Git, Numpy, Pandas, Scikit-Learn, TensorFlow, PyTorch, HuggingFace Transformers를 다루는 무시무시한 과목이다. 너무 광범위를 다루기에 크게 깊이있지 않고, 후반부로 가서는 크게 도움도 안되는 암기라고 악평이 있는 편이다. 이렇듯 오픈소스SW개론의 평가가 크게 좋지 않기에, 새롭게 개설되는 오픈소스응용프로그래밍(이하 오소응)도 약간의 걱정이 있기는 했다. 오소응 과목에서는 다음과 같은 주제를 다룬다: 오픈소스 라이선스, Git, Docker, so..

회고 & 기록

CSE1312 이산구조를 수강하고

인하대학교 CSE1312 이산구조는 원래 이산수학이라는 이름으로 진행되던 강의였다. 사실 대부분의 대학에서는 이산수학이라고 하고 있을 것인데, 굳이 바꾼 이유는 모르겠다. 이산구조 과목은 21년도 커리큘럼 변경전에는 2학년 과목으로 짜여있던 과목이었다. 아마 자료구조와 같이 수강하는 것을 노린 것인진 몰라도, 내용 자체도 전반적인 컴퓨터공학의 기초 부분을 다루고 있고, 난이도도 정말 기본 베이스의 수준이기에 1학년으로 개편된 것이 아주 좋다고 생각이 든다. 교재는 Kenneth Rosen의 Discrete Mathematics and Its Applications를 사용했다. https://books.google.co.kr/books/about/Discrete_Mathematics_and_Its_Appl..

회고 & 기록

앱 개발 프레임워크->웹 프레임워크->웹페이지 렌더링들을 둘러본 이야기

서비스 제작을 위한 앱 개발 수단을 찾아야 했다. 필요 사항은, 빠르게 개발 가능하고, 유지보수의 용이성을 위해 인력이 많은 개발 방식이 필요했다. 크로스플랫폼 고려 처음으로 고려한 것은 네이티브 대신 크로스플랫폼 프레임워크를 사용하는 것이었다. 가장 사용률이 높은 Flutter(플러터)와 React native(RN)를 중심적으로 봤었다. 플러터는 구글에서 관리하고, 자체 언어인 Dart언어를 이용한다. RN은 메타에서 관리하고, React와 비슷하게 자바스크립트를 이용한다. 크로스플랫폼으로 제작하면, 각 안드로이드 개발자와 IOS개발자로 앱 개발자를 두 분류로 나누어 구할 필요가 없어, 단순히 보았을 때 2배의 생산성을 보여준다. 또한 IOS개발 같은 경우에는 애플 기기가 필요한 등 접근 장벽이 높아..

회고 & 기록

카카오 로그인후 기존페이지로 복귀 시도기

최근에 카카오 로그인을 Django에서 REST API를 이용하여 구현해 보았다. 카카오 로그인은 다음과 같은 과정으로 진행된다. 카카오 웹사이트로 사용자를 리다이렉트 -> 사용자가 로그인하면 인가코드와 함께 미리 지정한 Redirect URI로 302 Redirect -> 받은 인가코드를 통해 토큰 받기 이러한 방법을 시도하며 마주한 문제점은, 바로 리다이렉트 되는 사이트가 제한되어 있다는 것이었다. 다시 돌아올(리다이렉트)될 사이트는 아래와 같은 쿼리스트링으로 전달하기에 단지 쿼리스트링에 돌아올 사이트의 값을 바꿔주면 되지 않나? 싶긴 하다. https://kauth.kakao.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}..

Muromi
'회고 & 기록' 카테고리의 글 목록