[스프링부트3 백엔드 개발자 되기] 02장 스프링부트3 시작하기
·
웹개발/[스프링부트3 백엔드 개발자 되기]
00장 개발환경 구축하기01장 자바 백엔드 개발자가 알아두면 좋은 지식위 두 장은 내용이 어렵지 않아 생략함. 1. 스프링과 스프링부트의 차이 스프링스프링부트목적엔터프라이즈 애플리케이션 개발을 더 쉽게 만들기스프링의 개발을 더 빠르고 쉽게하기설정파일개발자가 수동으로 구성자동 구성XML일부 파일은 XML로 직접 생성하고 관리사용하지 않음인메모리 데이터베이스 지원지원하지 않음인메모리 데이터베이스 자동 설정 지원서버프로젝트를 띄우는 서버(톰캣 등)를 별도로 수동 설정내장형 서버를 제공해 별도의 설정이 필요하지 않음표1. 스프링과 스프링부트 특징 비교 2. 스프링의 핵심 콘셉트IOCInversion of Control의 줄임말. 제어의 역전.객체의 생성과 관리를 개발자가 하는 것이 아니라 프레임워크가 대신하는 ..
[점프 투 자바] 자바 핵심 개념 요약 정리
·
언어공부/[점프 투 자바]
클래스명은 명사로 한다. 클래스명은 대문자로 시작한다. 여러 개의 단어를 조합하여 만들 경우 각 단어의 첫 번째 글자는 대문자이어야 한다. 이를 파스칼 케이스(pascal case)라고 한다. 메서드명은 동사로 한다. 매서드명은 소문자로 시작한다. 여러 개의 단어를 조합하여 만들 경우 맨 첫 글자를 제외한 나머지 단어의 첫 글자는 대문자를 써서 구분한다. 이를 카멜 케이스(camel case)라고 한다. 자바는 객체지향언어이기때문에 비교연산할 때 조심해야함. 같은 문자열인데 다른객체일 때 ==하면 false나옴. a.equals(b)이런식으로 비교해야함 ==는 두 자료형이 같은 객체인지를 판별할 때 사용하는 연산자임 String 자료형은 값이 한 번 생성되면 변경할 수가 없다.  toUpperCase와..
[프로젝트#1-MasterPiece] 배포
·
웹개발/프로젝트#1-MasterPiece
[깃 변경사항 서버에 적용하는 방법]1. ubuntu@masterpiece:~$ cd ~/venvs 2. ubuntu@masterpiece:~/venvs$ . myproject2.sh     # 3. (myproject2) ubuntu@masterpiece:~/projects/myproject2$ git pull4. (myproject2) ubuntu@masterpiece:~/projects/myproject2$ sudo systemctl restart myproject2.service  ---프론트엔드 디자인은 시간관계상 생략하였다 masterp.site 위 url로 접속하면 전세계 누구나 음반후기를 작성하고 평점을 매기며 다른 사람의 후기를 열람할 수 있다.많은 참여 부탁드린다.  첫 프로젝트가 마무..
[프로젝트#1-MasterPiece] Spotify링크 추가, "아직 후기가 등록되지 않았습니다"
·
웹개발/프로젝트#1-MasterPiece
특정 노래의 페이지(디테일)에 진입하였을 때 특정 버튼을 누르면 해당곡의 스포티파이링크로 연결되게 만들어보았다.ㅇ위 사진 처럼 노래의 디테일 페이지에 스포티파이 아이콘이 추가되었음을 확인할 수 있다.이 아이콘을 누르면 해당 곡의 스포티파이 링크로 연결된다.위 노래의 경우 RINDAMAN이기 때문에 스포티파이의 rindaman페이지로 렌더링된다. 스포티파이 아이콘을 클릭하면 위와 같이 스포티파이의 해당곡 링크로 연결됨을 확인할 수 있다.아, 참고로 이 글을 포스팅하면서 캡쳐했을 때 아이폰으로 '바다'라는 노래를 듣고 있어서 오른쪽에 재생중인 곡으로 '바다'가 뜬 것이다. 오해 없길. 참고로 Song모델에 Spotify_url이라는 새로운 속성을 추가했는데, 이 때 기존의 곡들도 이 속성을 업데이트 해야해 ..
[프로젝트#1-MasterPiece] 마스터피스랭킹 더보기 기능 추가, 검색결과 노출 개수 조정, 앨범커버사진 출력
·
웹개발/프로젝트#1-MasterPiece
현재 MasterPiece의 랭킹은 1위부터 마지막 순위까지 메인화면에 출력되고 있다.이는 등록된 곡 수가 많을 수록 스크롤 압박이 심해지게 만드는 요인이기 때문에 5위까지만 출력하고, 더보기를 누르면 이후 순위가 출력되도록 만들 예정이다.         {% if loop.index == 6 %}        button id="btn_more">더보기button>        {% endif %}        {% endfor %} script>document.getElementById("btn_more").addEventListener("click", function() {    window.location.href = "{{ url_for('song.ranking') }}";   });script..
[프로젝트#1-MasterPiece] 메인화면 수정(최근 리뷰가 달린 노래목록, 마스터피스 랭킹(자체 노래 순위))
·
웹개발/프로젝트#1-MasterPiece
현재 MasterPiece의 메인화면은 최근 데이터베이스에 추가된 순서로 노래들이 출력되고 있다.이를 최근 리뷰가 달린 노래 순서로 출력하도록 바꾸고자 한다. 이를 위해 쿼리문을 다음과 같이 작성하였다.query = (db.session.query(Song.id, Song.spotify_id, Song.name, Song.singer, Song.average_rate, Song.masterpiece_score, func.count(Review.id), Review.write_date).join(Review).group_by(Song.id).having(Review.write_date == func.max(Review.write_date)).order_by(desc(Review.write_date))) 처..
깃허브 커밋 방법 요약
·
웹개발/GitHub 사용법
[깃허브 초기 커밋 방법]1. git init2..gitignore 파일 작성3. git add *4. git commit -m "커밋 메세지"5. git push -u origin master [깃허브 수정내역 빠른 커밋 방법]1. git commit -a -m "커밋 메세지"2. git push -u origin master [깃허브 수정내역 커밋본문과 함께 커밋 방법]1. git add .2. git commit     ㄴ 첫줄은 커밋제목, 셋째줄 부터 커밋 본문 작성          작성완료시 'esc' 누른 뒤 ':wq 엔터'3. git push origin  [깃허브 add했는데 코드가 잘못됐음을 알았을 때]1. git reset HEAD     ㄴ 이후 다시 git add부터 [깃허브 com..
[프로젝트#1-MasterPiece] Spotipy 검색 기능 완전 구현 완료
·
웹개발/프로젝트#1-MasterPiece
Spotipy 라이브러리를 import해 sp객체를 통해 Spotipy 검색기능을 추가했었다.이를 다듬어서 Masterpiece에 적합하게 코드를 추가하였다. 검색결과 노래제목 링크를 클릭했을 때db에 등록돼있는 노래면 추가로 후기/평점 작성 가능하게끔,db에 등록돼있지 않은 노래면 노래를 db에 등록한 뒤 후기평점 작성 가능하게끔 만들었다. 예를 들어 설명을 하겠다. keshi의 2soon이라는 노래에 후기와 평점을 등록하는 과정을 보자.초기화면이다. 위 검색창을 이용해 "2soon"을 검색하자.여기서 후기를 등록하고자 하는 노래인 2soon은 첫번째 노래이다. 아직 노래가 평가되지 않아 현재는 데이터베이스에 등록되지 않은 상태이다. 이제 제목을 클릭하면 자동으로 MasterPiece의 데이터베이스중 ..
2soon2soon
준범's CS