MacOS 환경에서 brew로 poetry install을 하여 1.6.1 -> 1.7.1 버전 업그레이드를 했을때 문제가 발생했다. poetry쪽 문제는 아니고 brew쪽의 문제인듯? brew install python-platformdirs 로 설치해주라는 해결 방법을 찾았다. wibaek@Wibaeks-MacBook-Air ~ % brew install python-platformdirs Warning: python-platformdirs 4.2.0 is already installed, it's just not linked. To link this version, run: brew link python-platformdirs 실행 해보니 이미 존재하고 link를 해달라 했고, wibaek@Wiba..
https://velog.io/@milkboy2564/Next.js-env%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98-%EC%A0%95%EB%A6%AC Next.js env(환경 변수) 정리 환경 변수 velog.io https://jforj.tistory.com/249 [Next] 환경 변수(.env) 사용하기 안녕하세요. J4J입니다. 이번 포스팅은 환경 변수 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. .env 파일 활용 Next에서 환경 변수를 사용하는 방법은 첫 번째로 .env 파일이 있습니다 jforj.tistory.com 추가적으로 next.config.js에 단순히 정의하면 기본적으로 NEXT_PUBLIC 방식으로 가는 듯?
next.js를 기반으로 한 서비스에 백엔드 서버와는 별개로 간단하게 인기 검색어 기능을 간단하게 추가해 본 경험을 기록합니다. 해당 시도를 해본 이유는 인기 검색어가 크게 필요하다기 보다, Firebase나 noSQL 느낌의 DB를 간단히 써보고 싶다! 라는 생각이 강했습니다. 갑자기 noSQL을 써보고 싶던 건 Firebase나 다른 클라우드 서비스에서 무료로 제공하는 DB(Azure Cosmos DB 등)가 많기 때문인데, 그냥 놀리고 있기도 아까워 한번 사용해보고 싶다는 생각이었습니다. 또한 Serverless 들을 조합해 보고 싶기도 했습니다. 그러나 Firestore만을 이용하게 되어 따로 클라우드 서버리스를 경험해보지는 못했습니다. 어떻게 만들 것인가? 간단히 검색들을 기록하고, 상위순으로 ..
최근 Next.js를 건드려보며 Image 컴포넌트에 적절하게 리사이징 해주는 기능이 있는 것을 보고 다른 서비스에도 이런 리사이징이 있으면 좋겠다는 생각을 했다. 문제는 프론트엔드 서버 내부에 이미지가 저장되어 있어서 적절히 리사이징 해줄 수 있는 것이 아니고, 프런트가 따로 있고 이미지는 AWS S3에서 받아오는 방식이라는 것이다. 즉 S3에 미리 리사이징 이미지를 저장해둬야 했다. 이미지를 줄여야 한다. 서비스에는 크게 2가지 종류의 이미지가 있었다. 수동으로 S3에 직접 업로드하는 샘플 이미지와, 각 개체마다 서비스를 통해 S3으로 업로드하는 개별 이미지였다. 우선 샘플 이미지를 생각했기에 가장 먼저 생각한 방법은, S3에 이미지가 업로드되었을 때 람다등을 통해서 자동으로 이미지 리사이징을 진행하..
인하대학교 CSE3210 오픈소스응용프로그래밍은 2023-2에 새롭게 개설된 강의이다. 인하대에는 원래 오픈소스SW개론이라는 오픈소스의 이름을 걸은 다른 과목이 있는데, 이 과목은 한학기에 Bash, Git, Numpy, Pandas, Scikit-Learn, TensorFlow, PyTorch, HuggingFace Transformers를 다루는 무시무시한 과목이다. 너무 광범위를 다루기에 크게 깊이있지 않고, 후반부로 가서는 크게 도움도 안되는 암기라고 악평이 있는 편이다. 이렇듯 오픈소스SW개론의 평가가 크게 좋지 않기에, 새롭게 개설되는 오픈소스응용프로그래밍(이하 오소응)도 약간의 걱정이 있기는 했다. 오소응 과목에서는 다음과 같은 주제를 다룬다: 오픈소스 라이선스, Git, Docker, so..
인하대학교 CSE1312 이산구조는 원래 이산수학이라는 이름으로 진행되던 강의였다. 사실 대부분의 대학에서는 이산수학이라고 하고 있을 것인데, 굳이 바꾼 이유는 모르겠다. 이산구조 과목은 21년도 커리큘럼 변경전에는 2학년 과목으로 짜여있던 과목이었다. 아마 자료구조와 같이 수강하는 것을 노린 것인진 몰라도, 내용 자체도 전반적인 컴퓨터공학의 기초 부분을 다루고 있고, 난이도도 정말 기본 베이스의 수준이기에 1학년으로 개편된 것이 아주 좋다고 생각이 든다. 교재는 Kenneth Rosen의 Discrete Mathematics and Its Applications를 사용했다. https://books.google.co.kr/books/about/Discrete_Mathematics_and_Its_Appl..
학교에서 코드트리라는 코테대비 서비스와 제휴를 해서 사용해 볼 기회가 생겼다. 다들 한 번씩 해보는 것 같아 FOMO의 심정으로 해봤는데 아쉬운 점이 많다. 우선 버그가 너무 많다. 개발 관련된 서비스에서 제공해도 되는 수준이 아니다... 1. 사파리 브라우저에서는 제대로 이용할 수가 없다. 사파리 이용자가 적다지만, 그냥 디자인이 깨지는 정도도 아니고 대부분의 글씨를 읽을 수 없는 수준이다. 결국 파이어폭스를 이용해서 접속했다. 2. 문제 조건이 모호하다. 특정 기준에 따라 문자열을 출력해야하는 문제가 있어서 풀었는데, 조건에는 어떠한 오름차순이나 내림차순등을 말해두지 않아서 순서는 상관없다 생각했으나, 실제로는 순서를 적당히 맞춰줘야 했다. 그래서 결국 테스트 케이스를 보고 적당히 맞춰주는 수밖에 없..
어셈블리어에서 movq(mov)는 크게 헷갈리지 않는다. 특정값을 이동하는 것. 괄호()로 쌓여있으면 주소에 접근하여 이동한다. 이때 source는 Register, Memory, Immediate 모두가 가능하고, dest는 Register와 Memory만 가능하다. 또한 D(Rb, Ri, S) 연산도 가능하다. 그렇다면 leaq(lea)는 무엇일까? lea는 Load Effective Address로, 뭔가 효율적인 '주소' 연산을 위해 설계된 것이다. lea의 헷갈리는 점은 바로 기본적으로 source에 괄호()를 사용한다는 것이다. 괄호는 해당 Register에 있는 주소에 접근하는 포인터의 역할을 하는데, lea에서는 딱히 포인터라고 하기는 애매한 느낌이 있다. 다른 헷갈리는 점은 주소 연산을 ..
문제 상황: DRF에서 nested 구조가 포함된 요소에 대해 POST 를 했을때 실 서비스에서는 정상적으로 생성되나, test에서는 nested 정보들이 반영이 안되는 오류 앞선 오류와 비슷한 느낌일거라는 생각이 들어 우선 validated_data등을 체크해보았다. 우선 테스트에서 serializer단의 validated_data와 view단의 request.data를 확인했다. # Test request.data # Test validated_data {"title": "Post Restaurant Listing Test", "is_private": True} 그리고 실제 production의 validated_data, request.data를 확인했다. # Production request.da..
문제상황: 장고 서버를 https 보안연결로 배포했을때 admin페이지 로그인시에 CSRF에러가 발생하는 문제를 겪었다. 처음에는 Mixed content랑 순간적으로 햇갈려 http를 자동으로 https로 연결하게 수정했다. 어짜피 해야될 일이였어서 나쁘진 않았다. 이후 여러모로 찾아봐도 안나오다가 찾은것이 settings.py에 CSRF_TRUSTED_ORIGINS를 설정해주는 것이었다. 이것으로 문제 해결. 4.0부터 추가된 기능인듯? https://stackoverflow.com/questions/70285834/forbidden-403-csrf-verification-failed-request-aborted-reason-given-for-fail Forbidden (403) CSRF verifi..