인터넷 서핑을 하다가 스파르타코딩클럽에서 주관하는 내일배움캠프을 발견했다. 그래서 관심이 생겨 지원을 했고 내부 프로세스를 걸쳐 운이 좋게 합격했다! 9월 13일 오늘부터 TIL(Today I learned) 스타트! 웹의 동작 과정 사용자가 특정 웹 사이트를 req
두 번째 TIL 어제 TIL을 작성했는데 깔끔하게 쓰고 가독성 있게 쓰려고 노력했다. 다른 사람이 봤을 때 내 의도와 맞게 보이는지는 잘 모르겠지만.. 오늘도 열심히 기록해보려고 한다. 🔥🔥
지금까지 공부했던 것들을 기반으로 간단한 프로젝트를 만들고 있다. Flask와 MongoDB를 사용해보지 않았는데 이번 기회에 사용해볼 수 있어서 좋았다. Flask, MongoDB를 활용해서 만든 결과물을 리마인드 하려고 한다.
어제는 가비아에서 도메인을 구매한 뒤 AWS EC2를 이용해 웹사이트를 만들어 웹 상에 배포까지 진행해봤다. 도메인 구매와 AWS EC2 사용은 처음이었는데 이 두 가지로 배포를 해보았다는 것이 만족스러웠다. 오늘은 평소에 사용하던 Git에 대해 기록하려고 한다.
GitHub에서 브랜치를 생성해서 파일을 생성해 병합(merge)까지 해보았다. 실습하면서 들었던 고민들을 어떻게 해결할 것인지...
추석 연휴가 드디어 시작됐다!! 그만큼 마음이 붕 뜬다... 이럴수록 마음을 더 독하게 먹고 공부를 해야지!!
추석 연휴이지만 졸업을 앞둔 졸업예정자가 쉴 틈이 어디 있어!!! 🙃🙃🙃 사실 연휴라고 쉬면 마음이 붕 뜰 것 같아서 다시 컴퓨터 앞에 앉았다..😂(우는 거 아님)
SSR을 이용하는 Django, Flask, Spring 프레임워크들을 사용해보면서 HTML 템플릿 엔진은 정말 편한 것 같다. 개발의 생산성도 높여주고 무엇보다 개발자의 수고로움을 확 줄여주기 때문에 대부분의 사람들이 사용하나 보다.
학부 때 데이터베이스 강의를 들으면서 Oracle을 사용했었다. 그 때는 DDL, DML, DCL을 공부하며 익숙했었다. 사용 안 한지 오래 되다 보니까 잊혀지려 하는 것이 두려워 다시 리마인드 시키고자 한다.
내일배움캠프에 들어온지 얼마 되지 않았는데 벌써 팀 프로젝트라니! 오늘 오전에 1차 팀 프로젝트에 대한 발제를 듣고 바로 팀원들이랑 주제 선정에 나섰다. 팀원 분들이 아이디어를 많이 내주셔서 주제 선정하기 수월했던 것 같다.
오늘은 공공데이터포털에서 한국관광공사 국문 관광정보 서비스에 대한 open API를 사용하기 위해 활용신청을 했다. 이 open API에는 다양한 정보가 포함되어 있는데 우리는 그 중 위치 기반 관광 정보 조회를 사용할 것이다.하지만 시작부터 쉽지 않았다.
망고플레이트처럼 요즘은 슬라이드 기능을 많이 사용한다. 모바일 사용이 많아짐에 따라 슬라이드 기능이 필요해진 것 같다.
404 Not Found Error란 클라이언트가 서버와 통신할 수는 있지만 서버가 요청한 바를 찾을 수 없다는 것을 가리키는 HTTP 표준 응답 코드이다.어제까지만 해도 에러가 발생하지 않았는데 왜 갑자기 이런 404 에러가 뜬 것일까!!
9월 28일 팀프로젝트 기술 피드백을 받다!
오늘 하루 있었던 일에 대해서 적어보려고 한다.방금 전까지만 해도 잘 되던 코드가 어느 순간 갑자기 작동이 안 됐다. 기능을 새로 추가해서 그 코드에서 문제가 발생한 건가 싶어서 해당 코드를 만져보고 수정해봤다. 아무리 봐도 잘못된 부분이 없는데!!!
HTML5 Geolocation API
9월 23일부터 10월 1일 오후 1시까지 1주 간의 프로젝트가 끝났다. 다른 팀들의 발표를 들어보면서 다양한 기능 구현보다 협업을 어떻게 했냐에 중점을 두고 발표에 경청했다.
AWS를 사용해보기 전에는 AWS라는 단어만 들어도 어려운 거다.. 라고 생각하며 사용을 안 해왔는데 이번에 공부를 하며 사용해 보게 되었다. AWS를 잘 사용하는 글로벌 서비스로는 NETFLIX가 있다.
1차 프로젝트 결과물을 사파리 브라우저에서 실행하고, 한국관광공사 api에서 받아올 때 이미지가 안 뜨는 현상이 있었다.
한국관광공사 API를 사용하려면 나의 서비스 키값이 필요하다. 근데 이 키값이 노출이 되면 보안상에 있어서 위험하기 때문에 GitHub에 올린다면 더더욱 조심해야 한다.
Flask를 사용한 회원가입, 로그인 기능을 구현해보려고 한다. 구현에 앞서 사용할 암호화 방법에 대해 간단히 설명하고자 한다.
1차 프로젝트에서 Geolocation API를 이용해 현재 내 위치의 위도와 경도를 구할 수 있었다.또 위도, 경도 값과 한국관광공사 API를 이용해 내 위치 근처의 여행지의 위도, 경도 값을 구할 수 있었다.
여행지 리뷰 수정 기능에서 제목, 장소, 리뷰 내용, 이미지를 변경하고 수정하기 버튼을 누르면 정상적으로 작동했다. 하지만 내용을 변경하지 않고 수정하기 버튼을 클릭하면 에러가 발생했다. 이 에러는 파일(이미지)을 선택하지 않고 수정해서 발생한 에러였다.
요즘들어 잠을 자는 시간이 엄청 짧아 진 것 같다. 그래서 아침에 일어날 때마다 눈꺼풀이 너무너무 무겁다. 물론 지금도 졸린 눈을 하며 TIL을 적고 있다. REST API를 개발할 때 참고하면 좋을 자료들을 발견해 오늘의 TIL에 적어보려고 한다.
2차 프로젝트에서 REST API를 개발할 때 Query String을 사용해야 할지 Path Variable을 사용해야 할지 고민이 생겼다. 지금까지는 두 가지를 구별해서 쓴다기보다 개발할 때 편한 것을 선택해서 섞어서 사용했던 것 같다.
오늘은 Elastic Beanstalk와 Git Action을 통해서 CI/CD를 하기 위한 발판 작업을 했다. 하지만 원하는대로 술술 풀리지 않았다.
어제 TIL에 Elastic Beanstalk와 Git Action을 사용해 CI/CD를 구축하기 위한 발판 작업을 시도했다가 멘붕이 됐던 스토리를 담았다. 위 작업을 해결하기 위해 구글링을 하고 하나하나 변경해보며 시도했는데도 해결이 되지 않았다.
mongoDB는 기본적으로 컬렉션에 데이터를 넣을 때 ObjectId를 직접 넣지 않는 이상 자동으로 _id에 ObjectId 값이 부여돼서 저장된다.즉, id를 직접 생성하지 않아도 자동으로 생성되는 ObjectId 값으로 데이터를 조작할 수 있다.
저번에 ObjectId와 관련하여 TIL을 적었다. 그 이유는 바로 이 아래 두 TIL과 관련이 있다. TIL: MongoDB count함수 TIL: MongoDB ObjectId MongoDB에는 MySQL의 Auto Increment 기능이 없어서 비슷한 느낌으
드디어 2주 동안의 2차 프로젝트가 끝이 났다. 잠도 많이 못 자며 하루종일 키보드를 두드렸지만 프로젝트가 끝나 마음에 여유가 생긴 느낌이 든다. 내일부터는 알고리즘 공부가 시작되는데 프로젝트로 인해 알고리즘 지식이 가물가물해진 나의 뇌를 리마인드 시킬 때다!!
오늘부터 캠프 알고리즘 주간이다. 백준 10773번 문제를 풀어보았다.
노션에 기록했던 글을 리마인드 시킬 겸 다시 적어본다..!
에라토스테네스의 체를 적용하지 않고 소수를 구했는데 시간 초과가 떴다.그래서 에라토스테네스의 체를 적용했다. 에라토스테네스의 체를 적용해 성공은 했는데 200ms만 더 늦었으면 시간 초과할 뻔 했다.고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법이다.
백준 11050번을 풀다가 RecursionError에 빠졌다. 이에 대해 알아보았는데 아래와 같다.RecursionError는 재귀와 관련된 에러다.
RDS(Relational Database Service)는 직접 데이터베이스를 설치하고 관리할 필요 없이 아마존에서 관리를 해주는 서비스다.
인메모리 DB
백신 접종 예약 사이트 개선 배경
오늘은 실습을 하고 용어도 정리하며 공부를 진행해보려고 했지만 오후에 있을 구현 테스트를 위해 로컬 환경을 다시 만져보았다. 하지만이런 에러가 떴다. 잘 되던 놈이 왜 갑자기 안 되냐고...😡
/{proxy+}: /다음으로 url에 뭐가 오든 받을 수 있음
지금까지 TIL을 작성하면서 출처 및 참고 표기를 아래와 같이 작성했었다.
DBCP
🤔🤔🤔
JPA, JDBC, ORM, SQL-Mapper, etc...
1, 2차로 나누어 프로젝트를 진행했었는데 이 결과물은 현재 Monolithic 아키텍쳐, 즉 프론트엔드와 백엔드, 데이터베이스가 한 군데에 위치한 구조로 이뤄져있다. 처음 개발을 시작했을 때는 편하고 좋았지만 이러한 프로젝트의 규모가 커질수록 단점이 부각된다고 한다.
어제 TIL에 작성한 백엔드, 프론트엔드 분리 작업을 진행하면서 발생했던 이슈다.
Controller, Service, Repository, 직렬화, 역직렬화
Gradle vs Maven / 인증, 인가
스프링에서 시크릿키 값을 숨기는 방법을 찾아봤다. 그 중 하나는 config.properties 파일을 만들어서 api 시크릿 키 값을 저장하는 것이다.
스프링을 사용하면 DI, IoC 라는 용어를 많이 들어봤을 것이다. DI라는 것은 스프링에서만 사용되는 것은 아니다.
Lombok !
캠프 타임어택 테스트를 보면서 궁금한 점이 생겼다.이전에 플라스크를 사용해서 개발할 때 ajax 프론트 코드에서 아래와 같이 작성했다. (아래 코드는 예시)'data 옵션에 서버로 요청할 데이터들을 넣어서 키-값 형태로 보내는구나' 라는 일차원적인 생각만 했다.
세션 맛 쿠키
고래
SOLID란 좋은 객체 지향 설계의 5가지 원칙이다.
Monterey야 내 5000 포트 내놔!!
잭슨!
안 적기에는 아쉽기 때문에... 늦은 시간이지만 잠깐이라도 쓰려고 한다.오늘은 팀 프로젝트를 하다가 각자 맡은 작업을 합치기 위해 git merge를 시도했다.작업 분량이 적은 것은 아니어서 merge를 할 때 충돌이 날 것 같다는 느낌이 들었다.역시는 역시다. 충돌이
스프링 JPA를 사용해 DB에 데이터를 생성한 시간, 수정한 시간을 넣어야 할 때 편한 방법이 있다.
build.gradle compile? implementation?
같이 보내줭
수정 기능을 구현할 때 특정 컬럼의 필드 값만 수정하고 save()를 했었다. 그런데 생각과는 달리 수정하지 않은 컬럼의 필드 값에는 (엔티티 해당 컬럼을 null 값 허용으로 해놨다면) null이 저장된다.
무중단 배포 구축해보기
JMeter!
댓글 input에 script문을 넣으면 어떻게 될까?라는 생각이 들었다. 그래서 바로 테스트해보았다.
nGrinder!!
바로 전에 올린 게시글에서 고민했던 내용에 대해 튜터님께 여쭤보았다. > 내가 처한 상황에 대해서 최대한 디테일하게 말씀드리고 어떤 방법을 생각했는데 이렇게 시도해봐도 될지, 안 된다면 추가적인 조언이 있을지, 이런 자세로 피드백을 받는 것이 질문자의 자세라고 생각한다
구글에 검색했을 때 한글로 된 명확한 해결방법이 나오지 않는 것 같아서 작성해보았습니다. 😎
AccessDeniedException
0.004 BTC = 약 230,000원
테스트 코드!
어제 팀원 분들과 다른 팀원 분들 몇 분에게 AWS EB와 AWS ECR/Docker와 GitHub Actions로 배포하는 방법을 알려드렸다.
Notion 공개 URL에 내가 구매한 도메인 연결하기
배포한 Spring Boot 프로젝트의 에러 로그가 슬랙으로 알림이 온다고??
Timezone 설정
Jamstack이란 무엇일까 Jamstack은 웹을 더 빠르고, 더 안전하고, 쉽게 확장할 수 있도록 설계된 아키텍처다.
IaaS, PaaS, SaaS 등 해당 용어들은 많이 들어봤다. 하지만 설명하라고 하면 얼버무릴 것 같다. 그래서 공부하면서 기록해본다!
메시지 큐는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 통신 방법이다.