전체 글 108

23.1.17

찐 시작 어제는 노션으로 API 정리하고 ERD 짜고,,,, 어떻게 구현 할 것인지 이야기를 하는데 대부분 썼다면 오늘은 어제 이야기한 대로 파트를 나눠서 맡은 부분을 구현하는데 할애하였다. 나는 User 부분을 맡았는데 기본적인 signup, login 부분은 전부 조장님이 구현을 빠르게 해놨고, 나는 그것을 그저 낼름 가져다가 먹었다 🐱 User에서 이번에 특별하게 구현할 기능은 구매자에서 판매자로 등급 변경을 신청하고, 판매자의 판매품 전체 목록과 판매자 전체 목록을 가져와 페이징 하는 것이다. 등급 변경을 어떻게 구현할까 고민하다가 Dto 이용해서 username 가져오고,,, 인증된 유저의 값을 가져와서 이렇게 저렇게 샤샤샥 요리하는 걸루~~!~! 페이징은 지난 숙련강의때 들은거랑 나머지 공부때..

23.1.16

프로젝트 시작 끼약! 지난 번에 했던 블로그 프로젝트를 확장시켜서 더 많은 기능을 추가한 홈페이지를 만들게 되었다. (🤔 홈페이지 맞겠지??) 새로운 조원과 조장을 만났고, 이번 조장님은 아주 스파르타!!!! 우리 scc에 걸맞는 인재님이시닼ㅋㅋㅋㅋㅋㅋㅋㅋ 그래도 덕분에 나태해지지않고, 코드 확인하고 개념 확인하고 찾아보면서 실력이 많이 늘어날 거 같다. 뭐라고 해야하지?? 내가 항상 왜 이렇게 쓰는 거지? 라고 생각했던 부분들을 좀 알게 됐다. 그리고 블로그 프로젝트 때와는 또 다르게 디렉터리를 짜게 되면서 좀 더 보는 시야가 넓어졌다고 해야하나?? 이렇게 나뉘어져있어서 기능적인 부분을 좀 더 확실하게 짚고 넘어가게 되었고, 특히나 오전, 오후 중간까지 내내 할애하여 짠 API 덕분에 공통부분 구현이 ..

23.1.15

SQL ❓인덱스란? 데이터를 빠르게 찾을 수 있도록 도와주는 도구. 각 열마다 붙일 수 있다. 인덱스를 붙이면 균형 트리(balanced tree) 노드가 생성되어 빠른 탐색이 가능해진다. 열번 데이터를 읽어서 찾던 것을 2, 3번만에 찾는다. 인덱스가 없다면 순차적으로 읽어서 조건에 맞는 데이터를 가져오므로 뒷쪽에 위치한 데이터를 찾게 될 때 시간이 많이 걸리게 된다. ✅ 인덱스의 장점⭕과 단점✖️ ⭕ SELECT 문으로 검색하는 속도가 매우 빨라집니다. ✖️ 인덱스도 공간을 차지해서 데이터베이스 안에 추가적인 공간이 필요합니다. ✖️ 데이터 변경 작업(INSERT, UPDATE, DELETE) 가 자주 일어나면 오히려 성능이 나빠질 수 있습니다. ✅인덱스의 종류(💟자동 & 💫수동) 💟 자동으로 생성되..

23.1.13

몸상태가 아직 정상이 아니므로 조퇴를 하였다... 주말에 벌충해야지,,,, 오늘 들은 최종 프로젝트 너무 무섭고요,,,, 무사와요,,,,,,,, SQL 👉 제약 조건 제약 조건은 데이터의 무결성을 지키기 위해 제한하는 조건 혼란스러운 상황 같은 아이디가 회원으로 추가되면? 회원이 탈퇴해서 멤버테이블에서 삭제 되었는데, 구매테이블에는 회원 아이디가 여전히 존재하면? 데이터의 결함이 없는 상태인 무결성을 유지하기 위해 DBMS가 제공. 제약조건 종류 Primary Key 제약조건 Foreign Key 제약조건 Unique 제약조건 Check 제약조건 Default 정의 Null값 허용 sparta_db를 새로 생성해서 아래 사진처럼 buy table을 만들 때 17, 18번 째 줄처럼 써주면 member t..

23.1.11

SQL 👉 JOIN ✅ INNER 기억났다. INNER JOIN은 INNER 생략 가능해서 디폴트가 INNER JOIN 이었다! 그리고 왼쪽의 테이블을 기준으로 오른쪽 조건을 만족시키는 값들만 필터링 해줌~! 별칭도 붙여줄 수 있다. 이건 아니까 생략~! ✅ OUTER 상단의 사진 참조~~! 이 외에 UNION 이라는 것도 있는데 이때까지 써온 JOIN은 행으로 데이터를 결합한다면, UNION은 열로 데이터를 결합하는 것이다!! 비슷한 개념이지만 행과 열로 따로 결합되니 주의할 것~! 내용은 하단의 블로그를 참조하였다. https://blog.naver.com/gprud228/222968740714 [SQL] JOIN과 UNION 결론을 말하면, JOIN과 UNION은 다른 거다. 같은 거면 명칭을 구분..

23.1.10

SQL 👉 CREATE 6번 쿼리에 id, name, age는 순서가 바뀌어도 상관이 없지만 values에 값이 하나라도 빠지면 안된다. 그리고 not null이 아니기 때문에 id를 넣기 싫거나 나이를 모를 때 users 뒤에 괄호에 빼고 싶은 값을 빼고, values에도 똑같이 빼주면 된다. user table 삭제 완! 익히 알던 쿼리문 형태로 다시 user 생성! 그러고 또롱이 삽입! 튜터님의 경우 6번 줄을 드래그해서 한 줄 실행하셨는데 난 귀찮아서 그냥 15번째 줄에 복붙해서 전체 돌렸음! 물론 열을 넣고 값 설정해줘도 된다~! 우리는 지금 현재 쓰고 있는 market_db에서 world의 정보를 가져올 거기 때문에 아래 사진처럼 가져오면 된다! (world.db는 mysql에서 제공해주는 기..

23.1.9

스터디 계속 새로이 선언된다면 새로운 메모리를 잡아먹으므로 시간도 오래걸리고 메모리 낭비가 된다! 재귀함수로 푸셨는데 진짜 신기!!!! 나는 for-if문을 사랑해서 이용해서 풀다가 안되면 다른 방법으로 푸는데,,, 다른 사람들은 문제를 보면 어떤 걸 써야하는지 바로바로 아나보다,,, 나만 모르나바,,,, 근데 머,,,, 열심히 또 따라하고 외우고 해보면 되지!!!!! 케켘,,,,,, SQL 오랜만에 해서 그런가 코드 쓰는거 너무 어색어색했음ㅋㅋㅋ 그래도 하다보니까 그래도 이 앞번 스프링에 비해 해봤던 거라고 조금씩 손에 익기 시작했다. 스프링은 진짜 아직까지도 죽어도 안 익어서 계속 눈에 익히는 중인디,,,,! 이번 만큼은 내가 조원들 버스 기사까지는 아니더라도 버스 손잡이가 되기 위해 열심히 해보자!..

23.1.6

Build.Gradle 아이디랑 로그인 제한 걸어둔거 정말 절대 틀린게 없는데 왜 틀렸지?? 하고 보니까 빌드그래들에 똑같은 내용이 2개나 (물론 다른 명령어로) 있어서 충돌일어나서 에러코드도 디버깅으로 안 잡혔던 것이다....! 어유 이것때문에 2시간동안 쌩고생하구 써니써니 태써니 튜터님도 당황해하고 ㅋㅋㅋㅋㅋㅋㅋㅋ 암튼 코드는 틀린게 없어서 넘 좋았고,,,, 에러가 절대 안 잡힌다면 빌드 그래들을 확인 해보자,,,를 교훈으로 얻었다!!!ㅋㅋㅋㅋㅋㅋㅋㅋ 스터디 : String.join("구분자", ArrayList); 이걸로 어레이리스트의 스트링을 구분자로 구분할 수 있는? 그런 함수인거 같다 이건 주말에 ㅇ확인해바야징~! 룰루~!~!~!~!