[2021-04-14 수] TIL

노을·2021년 6월 8일
0

TIL

목록 보기
74/81

SQL


Limit(a, b)

  • a: 가져올 데이터의 갯수
  • b: 데이터를 가져오는 시작 시점

오늘 미션에서 카드의 priority를 가져올 때 사용된 SQL에서 모르는 문법!

@Query("SELECT `priority` FROM `card` " +
            "WHERE `user` = :user AND `column_type` = :cardColumn AND `deleted` = 0 " +
            "ORDER BY `priority` desc limit 1")
    public Optional<Double> findMaxPriority(Long user, CardColumn cardColumn);

유저 생성, 유저 업데이트

CREATE mysql.user'ID'@'%' IDENTIFIED by 'PASSWORD'; // % permit any ip 

UPDATE mysql.user SET Password=PASSWORD('변경할 비밀번호') WHERE User = '아이디' AND Host = '%';

FLUSH PRIVILEGES;

Spring에서 JSON형식의 Request 메시지 받는법


오늘 iOS 팀원분들이 POST, PUT의 Body를 form 형식이 아닌 json 형식으로 보내줄 수 없느냐는 말에 구글 검색결과 @RequestBody 으로 HTTP 요청의 body를 자바 객체로 변환할 수 있음을 알게됨.

@RequestBody RequestMoveDTO requestMoveDTO

Git 충돌2 PR을 날리려는데..


  • 👍POTG : 프레디

문제상황: PR을 날리려는데, 충돌 발생

문제원인: Remote Repository의 .gitIgnore 가 충돌함

문제해결

  500  git remote add upstream https://github.com/codesquad-members-2021/todo-list.git
  509  git rebase upstream/team9 // 여기서 충돌이 발생 
  510  git status  // .gitIgnore가 충돌의 원인임을 알게됨. 
  511  git rebase --continue  // 충돌 해결 후, 리베이스 정상
  515  git push origin  // ! [rejected] dev/BE -> dev/BE (non-fast-forward)*
  516  git switch -c dev/BE_TEMP   // 혹시 모르니 백업 브랜치 생성
  517  git pull -f origin dev/BE // 강제로 푸쉬
  522  git reset --hard 0bbcaa9 // dev/BE_TEMP 원하는 지점으로 옮기기 위해
  523  git switch dev/BE
  525  git push -f origin // origin에 remote repository 내용 반영

docker run ~~~ 3306:3306


도커 개념 컨테이너 실행

실제 동작은 같은OS 공유 환경설정만 따로 분리된 가상의 컨테이너를 만들어서

독립적인 공간처럼 사용

  • 독립적인 OS처럼
  • VM이랑 개념은 비슷하지만 내부동작이 다름
    • VM : 게스트 OS를 실제로 돌림
    • DOCKER: 게스트 OS가 돌아가는 것처럼 환경을 분리시킴
    • 도커로 돌려도 새로운 OS처럼 동작
  • 컨테이너 내부에 OS가 있고 실제 OS가 있음
    • 포트가 열렸을 때 3306으로 어떤 요청이 들어오면 컨테이너 내부에 전달을 해야하는데
    • 3306:3306 을 하면
      • 호스트OS 3306포트로 요청이 왔을 때, 해당 컨테이너의 3306으로 요청을 보내주는 것
      • ex) 포트포워딩

Git 충돌 : 최신 commit을 가져오려는데..


밑에 4개 커밋은 불필요한 커밋이므로 삭제

git reset --hard ddfdd22

git pull origin

협업 방법?


오늘 JK 수업을 통해 요구사항을 분석하고 점점 작은 단위로 나누는 방식을 배웠는데 가볍게 넘기기엔 좋지만 막상 활용해 보려 하니 너무 어렵다.. 다음 프로젝트가 오기전에 스토리 작성법이나 요구사항 단위 나누기, 위험관리? 등에 대해서 한번 더 훑어보면 흉내내기는 가능하지 않을까..?

다음 프로젝트는 아래 그림처럼 팀의 상황과 예상 시나리오를 그래프로 직관적으로 표시해보고 싶다.

Spring?


그동안 Spring Boot 미션을 하면서 기능만 익히고 개념은 아예 학습하지 않았는데,

정의나 원리가 약간?! 궁금해져서 부스트코스에서 간단하게 개념을 학습했다.

AOP, IoC, 컨테이너 ..

JDBC


JDBC를 이용해 간단한 CRUD를 구현 해보았는데, 드라이브를 로딩해오고 , 커넥션을 연결하고 , 쿼리문을 삽입/실행하고, 결과를 받아오는 과정이 지속적으로 반복되는 것을 알 수 있었다.

Spring Data JDBC는 이러한 반복적인 중복??을 개선했던 것 같은데 어떻게 했는지는 추후에 공부해봐야겠다.

웹 백엔드

profile
카르페디엠

0개의 댓글