본문 바로가기

개발40

여행지 추천 서비스 지난번에 aws캠프에서 만난 팀원들과 함께 여행지 추천 서비스를 계속해서 개발해보기로 하였다. 서비스 개요웹크롤링을 통해 여행지 관련 리뷰들을 데이터베이스에 저장하고, 그 리뷰들을 이용해 모델을 학습시킨다.사용자는 2가지 선택지 중 하나를 선택해야 하는 질문 5~6개를 받고, 그 질문에 대한 5~6개의 답에 따라 국내 여행지를 추천해주는 서비스이다.나는 백엔드 개발을 맡았고, fastAPI 프레임워크를 사용할 것이다. 2024. 5. 2.
[Git] fork 저장소에서 original 저장소의 변경내용 반영 Git에는 fork기능이 있습니다. 어떠한 레파지토리를 그대로 복사해서 새로운 레파지토리를 만드는 기능입니다. 하지만 복사된 레파지토리는 기존 레파지토리와 연결되어 있습니다. 이 연결을 통해서 기존 레파지토리의 변경 내용을 fork한 저장소에 반영할 수 있는 것입니다. 먼저 fork한 레파지토리에서 아래 명령어를 입력하여봅시다. git remote -v 이러면 아래와 같이 출력됩니다. origin https://github.com//.git (fetch) origin https://github.com//.git (push) 현재는 origin이라는 원격저장소만 연결되어있다. 즉, 지금은 fork된 레파지토리만 연결되어있다는 의미이다. 이제 원본 레파지토리를 연결시켜보자. (참고로 origin은 대표적인 .. 2024. 3. 22.
[Git] 로컬에서 git url 세팅하는 법 두 가지 경우가 있다. 1. 폴더에 url이 세팅되어있지 않을 때 2. 이미 다른 url이 세팅 되어 있을 때 현재 어떤 상태인지는 아래 명령어를 사용하면 확인할 수 있다. git remote -v 각 경우에 url 세팅하는 방법은 아래와 같다. 로컬 폴더에 url이 세팅되어있지 않을 때 먼저 해당 폴더를 깃 저장소로 만들어야 한다. git init 그 다음 아래 코드를 입력하여 url을 세팅하면 끝이다. git remote add origin 이미 다른 url이 세팅 되어 있을 때 이 경우에는 다른 url로 세팅하는 아래 명령어를 사용하면 된다. git remote set-url origin remote와 origin 사이에 add인지 set-url인지 차이만 있다. 2024. 3. 20.
파이썬 대화형으로 실행하기 파이썬을 대화형으로 한 줄 입력하면 결과를 출력하는 방식으로 코딩을 하고 싶다면 터미널에 아래 코드를 입력하면 된다.(자신이 사용하는 파이썬 버전 입력하면 됨) python3 근데 특정 파일을 실행시킨 후 대화형으로 코딩하고싶다면 아래 옵션을 추가해주면 된다. python3 -i main.py 2023. 12. 26.
form data란? 소공 과제를 하면서 음성인식을 위해, 녹음한 파일을 바로 서버로 전송시키는 방법이 뭐가 있을까 생각해보았다. 그러다 든 생각이, body에 파일을 담아서 보내자 였다. 그런데, 그 큰 파일을 어떻게 body에 담을 수 있을까? 계속 검색하고, ChatGPT한테 물어보아 해결하게 되었다. https://ko.javascript.info/formdata FormData 객체 ko.javascript.info 이 글을 많이 참고하였다. 프론트를 맡은 친구가 녹음하는 부분까지 구현하였던 코드를 샅샅히 살펴보았다. 녹음한 파일은 webm파일로 저장되고, Blob객체에 담겨져있었다. 그렇다면 Blob(Binary Large Object)은 무엇인가? https://developer.mozilla.org/ko/doc.. 2023. 11. 29.
CORS 에러, 무엇일까? 소공 과제를 하던 중 CORS에러때문에 엄청 고전했다. 내가 이해한 CORS와 해결 방식을 작성하려고 한다. https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CORS-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%F0%9F%91%8F 🌐 악명 높은 CORS 개념 & 해결법 - 정리 끝판왕 👏 악명 높은 CORS 에러 메세지 웹 개발을 하다보면 반드시 마주치는 멍멍 같은 에러가 바로 CORS 이다. 웹 개발의 신입 신고식이라고 할 정도로, CORS는 누구나 한 번 정도는 겪게 된다고 해도 과언이 inpa.tistory.com 이 게시글로 공부를 하였다. CORS란? 위 블로그에서는 CORS.. 2023. 11. 29.
post api 간단하게 테스트 소프트웨어공학 과제를 하다가 post api를 테스트하고싶은데 어떻게하는지 모르겠어서 ChatGPT한테 물어보았다. curl -X POST {api_url} -H "Content-Type: application/json" -d '{"key1": "value1", "key2": "value2"}' 이 코드를 명령어로 입력하면 그에 해당하는 return값을 받을 수 있다. curl -X POST http://127.0.0.1:5000/operator_input -H "Content-Type: application/json" -d '{"map_input": "(4 5)", "start_input": "(1 2)", "spot_input": "((4 2)(0 5)(1 3))", "color_input": "((.. 2023. 11. 24.
Facade pattern 파사드 패턴이란, 복잡한 서브시스템 의존성을 낮춰주는 패턴이다. 클라이언트에서 여러 서브시스템을 호출하는 것이 아니라, 여러 서브시스템들에 대한 통합 인터페이스를 제공하는 파사드 클래스에서 서브 시스템을 더 쉽게 사용할 수 있게 해준다. 더 높은 수준의 인터페이스이다. 소프트웨어 공학 과제를 예시로 들어보자. 클라이언트에서 자동화 시스템 AddON과, 기계 및 센서를 가지고 있는 SIM을 모두 호출한 후, 로직을 짰었다. 그런데 이 파사드 패턴을 이용해서, 컨트롤러라는 클래스를 만들고, 클라이언트에서는 controller.run()메소드를 한 번만 실행해서 내부 동작이 모두 일어나도록 하려고 한다. 이렇게 하기 위해, 컨트롤러라는 클래스 안에 AddON, SIM등을 호출하고 내부 동작들을 모두 컨트롤러에.. 2023. 11. 23.
파이썬 패키지 소프트웨어 공학 과제를 하는 중 모듈화를 시키는 부분에서 어려움을 조금 느꼈다. 처음엔 모든 파일이 한 곳에 몰려있었다. 이것을 service, domain, controller 폴더로 배치시키는 작업을 하였다. 여기서 필수적으로 해야할 것은, 각 폴더마다 __init__.py파일을 만들어주는 것이다. 이것을 해야, 인터프리터가 해당 폴더를 패키지라고 인식한다. __init__.py 해당 폴더를 패키지로 인식시켜주는 파일이다. 해당 패키지의 파일이 어디선가 import가 되면 __init__.py 파일이 실행된다. domain패키지의 __init__.py파일이다. from domain import MapInfo를 실행한다면, 위 파일이 실행된다. 다음엔 https://github.com/BillMills.. 2023. 11. 22.