분류 전체보기
Spring Data JPA에서 Query를 사용하는 방법
Spring Data JPA에서 Query를 사용하는 방법
2020.09.06쿼리를 자동 생성해준다고? Spring boot를 통해서 개발을 하게 된다면, DB에 데이터를 삽입, 읽기 등 여러 가지 작동을 하기 위해서는 방식이 필요하다. 쿼리를 작동시키는 방식에는 여러 가지 방식이 존재한다. 실제로 현재 Spring Data JPA를 사용하면 꽤 편리한점이 있기 때문에, 그 점을 잘 이용하기 위해서는 결국에는 Query를 "자동 생성할 수 있는 포인트를 아는 것이 좋다." 하지만 하나 짚고 넘어가야 할 점 김영한님의 JPA강좌에서는 다음과 같이 주의점을 준다. 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술입니다. 따라서 JPA를 먼저 학습한 후에 스프링 데이터 JPA를 학습해야 합니다. JPA를 좀 더 구체적으로 배운 뒤에 Spring Data JPA를 사용하..
Pull Request를 Merge시, Issue를 Closed시키는 방법.
Pull Request를 Merge시, Issue를 Closed시키는 방법.
2020.08.30Pull Request를 올릴때 항상 하나의 문제점이 존재했느니... 이런 PR(Pull Request 이하 PR)를 올릴때는 대부분 Issue에서 파생된 문제를 해결하거나 Issue에 포함된 기능을 만들어서 올리곤 한다. 하지만 이 PR을 머지한 뒤에 Issue를 직접 닫아줘야하는 불편함이 있는데, 매번 내가 닫아줘야하는 귀찮다 정말 상당히.... 이런 문제를 해결하는 방법이 있었다. Linked issues...? 이 Linked Issue가 정확하게 뭘 말하는 거냐면, PR이 merge한 경우 자동으로 Issue까지 Closed되는 효과를 준다. 즉, PR을 머지한 이후에 사용자가 직접 issue를 닫아줘야하는 수고를 줄일 수 있다는 것이다. 이 기능은 이렇게 사용할 수 있다. PR의 오른쪽하단에 ..
Spring Boot Security로 카카오 소셜 로그인 만들기
Spring Boot Security로 카카오 소셜 로그인 만들기
2020.08.21참고 할점.... 이번 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스의 소셜로그인 파트를 참조하여 만들었습니다. 즉, 이 책을 기반으로 코드를 추가한 것이기 때문에 자세한 코드는 책을 통해서 확인 해보시는 것을 추천드립니다. 이동욱님의 강좌인 스프링부트를 활용한 소셜로그인 파트를 확인했을때는 구글과 네이버의 소셜 로그인이 예제로 나와있다. 하지만, 카카오는 없어서 한번 동일한 구성으로 카카오를 만들 수 있는지 궁금해서 만들어보았다. 카카오 소셜로그인 추가하기 기존 구성과 카카오는 조금의 다른 구성을 가지고 있다. 일단 카카오 소셜로그인을 위해서 카카오 디벨로퍼로 가야한다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기,..
Git 커밋 하나만 되돌리는 법
Git 커밋 하나만 되돌리는 법
2020.08.14협업을 하다가 보면, branch별로 git을 관리한다. 이번 프로젝트 도중에 기능을 삭제했는데 기능을 다시 되돌려야하는 경우가 발생했다. 문제는 이미 몇개의 커밋을 푸쉬해버린 상황이었다. 그나마 상황이 괜찮았던 것은 내가 Commit을 기능삭제한 부분을 따로 커밋을 했다는 것이다. 이럴줄알고 그러면 이 기능 삭제 커밋만 빼고 나머지 커밋을 살리는 방법은 뭘까? 1. Rebase를 통해 해결하자 Commit을 되돌리기위해서는 여러가지 방법이 있으나, 검색해본 결과 깃 리베이스를 사용하여 해결했다. git rebase -i HEAD^^ or git rebase -i git Rebase를 통해서 이전의 커밋을 통해서 필요한 부분을 처리할 수 있는 방법이 존재한다. 다음과 같은 방법으로 이 커밋을 살릴지 죽일..
AWS Linux에서 FFMPEG 설치하기 (ElasticBeanStalk)
AWS Linux에서 FFMPEG 설치하기 (ElasticBeanStalk)
2020.07.31이런 주제를 사용하게 된 이유도 사실 내가 이전에 했었던 프로젝트가 DeepLearning을 사용했다. 그리고 그 딥러닝을 Django 백엔드에서 딥러닝 모듈을 돌리는 터라, 이 딥러닝을 실행시키기 위해서는 FFMPEG이 필요했다. 문제는 FFMPEG이 AWS Linux에서는 일반적인 방법으로 설치가 재대로 안된다는 점이 큰 문제이다. 분명히 Red-hat 계열의 설치방법을 사용하기도 하고 Yum이나 Apt-get을 통해서 패키지 설치를 하고 싶었는데 기존 방법으로는 설치가 안됬다. 아마 Apt-get이나 Yum을 통한 링크가 이미 죽은것 같았다. 재대로 설치가 안되서 실행이 안됬기때문에 다른 방법을 찾아내야 했었다. 실제로 나 같은 경우는 Django를 AWS Beanstalk을 통해서 배포하였기 때문..
[백준 - 4179번] 불! - 자바(JAVA) 정리 및 해설
[백준 - 4179번] 불! - 자바(JAVA) 정리 및 해설
2020.07.301. 개요 이 문제는 BFS를 활용하여 빠르게 미로를 탈출하는 문제이다. 특히 불과 함께 사람이 미로를 동시에 탈출하는 문제로써 이것을 어떤식으로 해결하는 가에 따라서 문제가 많이 달라진다. https://www.acmicpc.net/problem/4179 4179번: 불! 문제 지훈이는 미로에서 일을 한다. 지훈이를 미로에서 탈출하도록 도와주자! 미로에서의 지훈이의 위치와 불이 붙은 위치를 감안해서 지훈이가 불에 타기전에 탈출할 수 있는지의 여부, 그리�� www.acmicpc.net 2. 설명 이런 문제에서 결국 중요한 포인트는 "같은 시점에 불과 사람을 동시에 움직이는 것"이 가장 중요하다. 결국 이문제에서 핵심으로 문제를 풀려면 불과 사람이 동시간에 움직이여야 한다는 조건이 붙는다. 그 조건을 만..
특정 확장자만 파일 업로드 가능하게 만들기 (mp3)
특정 확장자만 파일 업로드 가능하게 만들기 (mp3)
2020.07.26백엔드에서 파일을 전달 받을때 특정 값의 파일만 전달 받게 유효성 검사를 통해서 내가 받고 싶은 파일만 업로드 가능하게 할 수 있다. 즉, 그런 작업을 위한 유효성 검사툴이 각 프레임 워크별로 존재한다. 역시나 장고는 vaildator가 역시 내장되어 있었다. 하지만 재대로 사용하는 방법을 정확하게 몰라서 찾아봤다. Django에서 model에서 validators를 사용하는 방식 from django.core.validators import FileExtensionValidator from django.db import models class MyModel(models.Model): pdf_file = models.FileField(upload_to='foo/', validators=[FileExten..
Django 테이블 지우고 난 후 다시 마이그레이션 하는 방법!
Django 테이블 지우고 난 후 다시 마이그레이션 하는 방법!
2020.07.26Web framework에서 DB는 아주 큰 중요한 요소이다. 최근 Web Framework의 추세상 ORM을 적용하는 많은 프레임워크가 많은데요. 그러다보니까 내가 프로그래밍을 하고 SQL문을 장고에서 자동으로 ORM을 통해 생성되게 된다. 물론, 내가 생각한대로 table이 잘 생성되면 좋겠지만.. 예상치 못한 상황으로 table을 바꿔야하거나, 혹은 table 자체를 다시 설계해야하는 상황이 생겼다. 출처: (http://www.analyticaweb.com/desarrollo-web/aprende-ya-que-es-un-orm) 그리고 장고에서 DB table이 꼬이면, 어디서부터 table이 생긴건지, 어디서부터 없는건지 파악할 수 없기때문에 진짜 말그대로 sqlite3에 직접들어가서 확인해보는..
git에 가져온 Django가 pycharm에서 서버실행이 되지 않을때
git에 가져온 Django가 pycharm에서 서버실행이 되지 않을때
2020.07.24깃에서 바로 git clone을 하면 다음과 같은 오류가 발생한다. django is not importable in this environment와 같은 에러를 발생시킨다. 즉, interpreter가 없다는 식으로 말해버리는데 이때는 project interpreter를 통해서 가상 환경을 만든 폴더를 적용하는 방식을 통해서 해결해야한다. 1. 일단 파이참의 Preferences에서 project Intepreter를 들어간다. 2. 여기서 가상환경을 등록하면 알아서 run configuration에서 잡아준다. 다음과 같이 문제해결이된다. 근데 pycharm CE버젼에서는 django Run이 없기때문에 Python으로 돌리는 방식말고는 없다. https://blueshw.github.io/2016..
장고 URL html 템플릿 URL 설정시 참고사항
장고 URL html 템플릿 URL 설정시 참고사항
2020.07.24{{ post.title }} board:post_detail 이부분 대충 보면 url -> 의 주소로 이동하겠다는 뜻인데 이게 먹힐려면 장고걸스 듀토리얼에는 요런식으로 적혀져있다. {{ post.title }} 문제는 이러면 재대로 출력이 안되고 reverse문제가 발생하는데, 이 url.py에서 post_detail의 를 재대로 찾아주지 못해서 발생하는 문제 같았다. 어디에서 이 url을 찾아야하는지 못하는 문제가 발생하므로 앞에 이함수를 들고 있을 범직한 곳으로 가서 전달해줘야하는 문제가 발생하는 것같다. 즉, 그 app의 이름 : url의 def이런식의 구조를 만들어놔야지 되는 듯했다. 결론 URL 규칙은 url,py의 name ='~~' 의 String값을 알아서 mapping시켜주는 것 같다...
Django에서 파일 업로드 구현시 파일이 안올라갈때..
Django에서 파일 업로드 구현시 파일이 안올라갈때..
2020.07.24Django 파일 업로드시 분명히 model Form도 다 만들고 했는데 안올라가는 상황이 있다. ?? 왜 안되나했드니만 enctype에서 multipart/form-data를 하지 않았기 때문. 파일 저장이 안되서 실제로 보여줘야할때 재대로 보여줄 수 없었다 . 즉, 저 enctype을 추가하지 않은 경우 파일 자체는 넘어가지지 않는다.
블로그 스킨을 새단장했습니다.
블로그 스킨을 새단장했습니다.
2020.07.23최근 고민을 좀 많이 하게 되었습니다. 특히 이 블로그에 대한 이전에 대한 고민을 엄청 많이 했는데요. 일단 티스토리의 기본 스킨의 한계점을 명확하게 느끼고 있었습니다. 특히 기본 스킨의 경우 에디터와 실제 블로그 상에서 보이는 사이즈가 달라서 제가 에디터에서 쓰는 글과 실제 글이 너무 달라서 좀 짜증이 많이 났었는데요. 그리고 결정적으로 안이쁘기까지 했어서 그걸 일일히 스킨을 바꿔가면서 만드는것도 귀찮고 해서 차라리 다른 대안을 찾아보게 됩니다. 사실은 Velog를 선택하려다가 조금 고민을 많이 했던 것이 있었습니다. 실제로 Velog가 더 "힙"(그놈의 얼어죽을 힙이요.) 해보이는 건 사실이었고 실제로 마크다운 방식의 글쓰기 툴도 깃허브 TIL을 정리하면서 많이 익숙해진 탓에 글 쓰는 맛도 좀 있고 ..