
[23.10.15] 웹미니 프로젝트 WIL
📘render_template()와 redirect() 차이 render_template() >템플릿을 렌더링 한다는 의미. (템플릿 = HTML 파일) 웹페이지는 HTML 코드가 웹브라우저에 의해서 렌더링 된 결과를 보는데 이를 요청하는 함수. redirect(

prompt 야구게임

error:failed to push some refs to vscode live share read only return charAt() sort() localeCompare()

얕은복사(assign, spread operator) 깊은복사(재귀함수, JSON.parse 와 JSON.stringify, lodash)

오늘 할 일 > - [ ] 알고리즘 풀기 [ ] 알고리즘 강의듣기 1. 어떤 문제가 있었는지 ❗2. 내가 시도해본 것들(삽질)(자세히) A B C 이렇게 시도해봤다 3. 어떻게 해결했는지 C 해결방법 이렇게 해결했다. 왜 C로 선택했는지에 대해서 적어두면 짱좋음

sort() 알고리즘 풀기
깃허브로 작업 파일을 커밋하고 푸쉬하는게 익숙해졌다.알고리즘 문제 풀기 : 전에는 하루종일 걸렸던 문제도 mdn과 구글링이 함께라면 뭐든지 할 수 있는 느낌이 왔다. 반복문 조건문 짧게 쓰려고 하면 map, reduce 정도면 천하무적인 느낌..! mdn 검색 적극 사

알고리즘문제풀기 Number.parseInt() parseInt()

햄버거만들기 알고리즘 문제

https://school.programmers.co.kr/learn/courses/30/lessons/132267위의 코드를 아무리해도 테스트 케이스 중 2개가 자꾸 실패가 떴다.테스트 케이스를 돌려봤는데도 잘 돌아갔다. 대체 어떤 테스트 케이스란 말인가..

알고리즘 시험시험 전 소수문제 해결(무슨 체)노트 교과서읽기

노드 기초 강의듣기스터디 그룹 이야기 나누기 => 노션 제출알고리즘 문제 풀기

오늘 할 일node 2주차까지 듣기(완료) 아침 알고리즘 풀기
알고리즘 풀기nodejs 입문 주차 들어가기스터디그룹 결성, 기존 규칙 정하기nodejs 입문 주차 강의 완강입문 강의 실습 및 1주차 과제 제출nodejs 심회 주차 강의 완강스터디 공부알고리즘 재밌게 풀었다. 강의를 듣거나 하지않고, 내가 부족한걸 찾아서 공부하고

node 1주차 실습 진행(todolist만들기CRUD)필요한 기능

1.1주차 과제 만들기

페어 코드 리뷰하기node.js 숙련 강의 듣기node.js 2주차 과제 파악 (어디까지 강의를 들으면 좋을지)Relationship DataBase)RDB의 대표주자 MySQLMySQL 서버 구매 => AWS RDS 구매 가능RDS : AWS에서 제공하는 관계형 데이

node.js 2주차 과제(완료) 1-1. ERD 만들기(완료) 1-2. 모델 만들기(완료) 1-3. 깃허브 백로그 만들기node.js 강의 보기(쿠키, 세션, JWT)이용한 사이트 : https://drawsql.app/diagrams책 리뷰와 리뷰에 달리는

(완료) 1. node 2주차 과제 제출 2\. node.js 강의 보기(쿠키, 세션, JWT)3\. node 3주차 과제 확인(완료)4. 스터디 그룹 준비 (R1N4 스터디 (1주차) 타이머 정리 )

오늘 할 일node 강의 듣기 (쿠키, 세션)node 3주차 과제 만들어보기스터디 그룹 운영

(진행중)1. node 3주차 과제 만들어보기 (alone)2\. node 3주차 과제 페어 진행(->)3. 스터디 그룹 운영3-1. 경민님, 지나님 주제 골라골라

express, mongoose -> node 과제 lv1 제출express, prisma -> node 과제 lv2 제출express, prisma -> node 과제 lv3 준비첫 스터디 발표node 과제 lv3, 4 준비제출요청 => 응답, 응답 => 요청 중간에

오늘 할 일node 3주차 과제 정리 완료 => github 푸쉬강의 듣기스터디 준비
node 3주차 과제 배포까지 해보기강의 듣기스터디 준비

node 숙련주차 강의 다 듣기lv4 과제 만들어보기 (+ error handler, joi, prettier...)queryraw 사용해보기soft delete join으로 구현해보는 방법 찾기

(완..료)1. node 숙련주차 강의 다 듣기(->)2. lv4 과제 만들어보기 (+ error handler, joi, prettier...)(->)3. queryraw 사용해보기(->)4. soft delete join으로 구현해보는 방법 찾기

오늘 할 일(->)3. queryraw 사용해보기(->)4. soft delete join으로 구현해보는 방법 찾기
node lv4 제출하기node lv5 도전unique키로 잘못설정된 필드명을 수정하기 위해서 스키마 파일을 수정하고 npx prisma db push를 했다. 하지만 적용되지 않았다...무엇이 문제인가.우선 데이터가 몇개 없어서 npx prisma db push --

로그인, 회원가입 구현lv 4 과제스터디 발표lv5 제출심화 강의 완료프론트엔드, 백엔드 어떻게 이어지는지 공부프로젝트를 시작할 때마다 yarn init -y 으로 시작하면 무조건 깔리는 이 파일 대체 뭘까? yarn add으로 설치하는 패키지들이 한 곳에 모여있다.

오늘 할 일강의 듣기 (아키텍쳐 레이어)lv5 만들기 시작공부하다보면 언제는 return으로 에러를 보낼때도 있고, return으로 응답으로 보낼 때도 있고, throw new Error로 에러를 보낼 때도 있다. 대체 언제 뭘 써야하는걸까?아래 링크 블로거님이 잘 설
(완료) 1. 강의 듣기 (jest -> 단위테스트) 2\. 강의 내용 숙지3\. lv5 리팩토링 -> 3계층으로 분리해보기4\. 백엔드(express prisma db) - 프론트엔드(react) 연결하는 방법 공부
(->)2. 강의 내용 숙지3\. lv5 리팩토링 -> 3계층으로 분리해보기, 로그아웃4\. 백엔드(express prisma db) - 프론트엔드(react) 연결하는 방법 공부5\. CI/CD, CORS, 캐시 사용법, 도커 확인6\. 졸업작품들 코드 확인하기7\.

오늘 할 일
오늘 할 일시험보기코드카타 lv5 코드에 추가하기챌린지팀 회의 (주제, 앞으로의 방향성)

트러블슈팅reservation 값을 안받아온다.

(팀과제)챌린지팀 결성 및 SA작성(팀과제) 챌린지팀 프론트, 백엔드 만들기(팀과제) 부하테스트(팀과제) 부하테스트 툴 공부(팀과제) 프론트, 백엔드 코드 수정관계형 DB. (RDBMS)데이터 저장에 고정된 테이블 스키마 필요 O (스키마에 어긋나면 데이터 저장X)조인
오늘 할 일(팀과제) 부하테스트(팀과제) 부하테스트 툴 공부(팀과제) 프론트, 백엔드 코드 수정

프론트, 백엔드 코드는 대충 짰다.최소한의 부하로 시나리오 및 시스템에 오류가 없는지 확인 사용자 1명일 경우각 API Smoke Test1\. 회원가입 api duration: 30arrivalRate: 1..왜 400이 생기는가. 도랏니? 왜 400이 뜨고 난리니

부하테스트 툴로 선택한 알틀러리를 공부해야한다. 우선 팀원 각자 로컬환경에서 돌려보기로했다. 그러기위해서는 같은 시나리오로 진행을 해야 비교적 객관적인 평가가 이뤄진다고 생각했다. 그렇게 기존적인 시나리오 구성을 했다.상황 1. 100석 좌석이 있는 1개의 공연이 인기

부하테스트 툴로 선택한 알틀러리를 공부해야한다. 우선 팀원 각자 로컬환경에서 돌려보기로했다. 그러기위해서는 같은 시나리오로 진행을 해야 비교적 객관적인 평가가 이뤄진다고 생각했다. 그렇게 기존적인 시나리오 구성을 했다.상황 1. 100석 좌석이 있는 1개의 공연이 인기

부하테스트 툴로 선택한 알틀러리를 공부해야한다. 우선 팀원 각자 로컬환경에서 돌려보기로했다. 그러기위해서는 같은 시나리오로 진행을 해야 비교적 객관적인 평가가 이뤄진다고 생각했다. 그렇게 기존적인 시나리오 구성을 했다.상황 1. 100석 좌석이 있는 1개의 공연이 인기

3. load test (진짜) 1. 동시접속자 loop count : 100 1. 10명의 사용자, duration 10, arrivalRate : 10 2. 10명의

어제부터 부하테스트를 하고난 후 테이블의 값들이 내가 원하는대로 나와서 트랜잭션의 데드락이 해결이 된 줄 알았다. 터미널에 계속해서 올라오는 오류 메시지들이 사실은 로직이 수행되면서 에러가 발생했고 에러 미들웨어로 빠져서 서버가 안꺼진건줄 알았다. 근데 오늘 개발자 도

트랜잭션의 문제를 해결한 후 실행된 쿼리를 보는데 난 분명 update를 실행했는데 select문이 실행되는 걸 보았다. 이것이 바로 매니저님이 말씀하신 ORM의 문제...! 그럼 rawquery로 변경하면 뭔가 호출되는 쿼리문이 줄어들까? 궁금해졌다.로우쿼리 변경 전

reservation 예약내역, shows의 quantity, user의 credit의 일관성은 지켜졌다. 하지만show의 quantity보다 더 많이 사는 일이 발생함.변경 전 코드 변경 코드


EC2 생성과 로드밸런서 생성을 마쳤다면, 사실 서버 연결이 문제다.EC2로 배포한 퍼블릭 주소와 nGinx를 연결해줘야하는데 CLI를 이용해야해서 꽤나 힘들다. 누가 리눅스 GUI만들어줬으면 좋겠다.sudo vi backend 파일에 넣기아래 코드 미완임esc + 저

난 처음에 bullMqueue가 blankqueue를 말하는줄알았다. 머쓱;암튼 동시성 제어의 문제가 해결되지 않아 직렬화하는 방식으로 bull과 redis를 돌입하기시작했다. 우선 bull와 redis는 무엇인고.bull :Redis 기반의 큐를 관리하는 Node.j

1인 더미데이터 duration 50 arraivalRate 20 : 성공 200 완 100%1인 더미데이터 duration 50 arraivalRate 20 : 성공 200 완 100%1인 더미데이터 duration 500 arraivalRate 200 : 성공 2

서버에 부하테스트 시작. EC2를 열어서 부하테스트를 하기 시작했다. 역시나 처음부터 덜그럭 덜그럭 에러에 난리였지만, 이겨내고 부하테스트를 실시했다.duration 1, arriaval 1인데 100개가 예매되는게 맞는건가..?1인당 100장씩 구매 가능 10명 준비
짧지만 긴 2주동안 시간이 언제 이만큼 지나갔지라고 느낄만큼 바삐 지내왔다. 비전공자들이 모여서 하는 부하테스트란... 시작 전에 의문을 품었던 것이 떠오른다. ...할 수 있을까? 라는 생각이 끝나고나서야 일단 하니까 되네..! 라는 생각으로 변했다.물론 제대로 결과

오늘 할 부분은 S3에 이미지 업로드를 한 뒤 S3로 만들어진 주소를 DB에 저장해서 조회하기.게시글을 작성할 때 사진 여러장을 업로드할 때를 대비하여 imgUrl을 배열형태로 보내줬어야했다.(파일이름이 16진수로 보이는건 파일이름이 겹치지않도록 만들었기때문)배열형태로

imgUrl을 여러개 입력받아 배열형태로 반환되도록 해야한다.처음 map메소드를 사용해서 하나의 칸 안에 담을 수 있을까 했다.하려 했으나 아래와 같이 에러가 생겼다. 문자열을 받는 타입인 imgUrl을 배열형태로 담아서 생긴 에러인데 이 에러를 해결한다고 imgNam
온갖 테이블이 난무하는 가운데 쉽게 해결할 수 있다고 착각한 부분이 있는데 아래와 같다. 테이블의 내용과 연산 내용을 동시에 보여줘야한다는 점이다.1\. avg(star)를 posts, locations, users,comment 테이블 내용과 함께 조회2\. coun
조회 시 별점, 댓글 카운팅 되도록 로직 구현git에 푸쉬하기CICD 구축하자고 하기튜터 상담팀 회의

(express prisma 이용 중)자치구별 게시글 목록 조회 시 게시글 내용과 함께 게시글 당 달린 댓글의 개수를 반환해줘야했다.prisma findMany로 일단 해당 내용을 조회해봤다.findMany에 다른 문법들이 있나 문서를 찾아봤다.https://
지난주부터의 구현하려고 했던 게 있었는데 바로 별점 등록 및 조회 부분이다. 구현하기 전에 잠깐 생각해봤을때는 쉽게 구현될 줄 알았으나 생각보다 복잡하다는걸 시작하고서야 알았다. 게시글 작성하면서 별점을 등록하게 되는데 그 때 같이 locations에 있는 starAv

또 다시 찾아온 페이지네이션. 커서 기반으로 한다고 했지만 사실 해보니까 where문으로 충분한거 아닌가라는 생각이 들었다.

좋아요 기능을 추가한 서버에서 작동이 되지 않았다.분명 로컬에서는 잘됐는데 서버에 올리니까 안됐다. 로컬에서는 잘되는데 서버에서는 안된다? 인가문제도 아니라면 코드문제일 수 밖에 없다...다시 찬찬히 살펴보니 정말 어이없게도 쿼리 where절을 잘 못 사용하고 있었다.

페이지네이션을 구현하려고 했다. 오프셋 페이지네이션의 경우 조회할 때 처음부터 데이터를 다 읽어와야하는 점과 중복된 게시글을 볼 수 있다는 점에서 아쉬운 점이 남는 방법이다. 그래서 커서 기반 페이지네이션을 구현하기로 했다. 처음에 cursor라는 개념을 알고 접근했으
소스코드가 반영되지않는 일이 발생함.스키마도 변경하고, 로직도 변경했는데 스키마 적용이 안되고 있었다.ubuntu 환경에 들어가 스키마, 소스코드를 확인했는데 역시나 코드가 잘 저장이 되어 있었다.시도 1. npx prisma db push --force-reset D
테이블에서 데이터의 위치를 가리키는 자료구조.Clustered Indexrow의 물리적 정렬순서를 설정하는 index유형 \- 테이블 스캔 \- 인덱스 스캔 Non-Clustered Index인덱스가 걸리지 않은 컬럼(예시로 이름이라고 하자)으로 조회할

지도페이지를 호출해서 이동하면 사용자의 화면의 범위(위경도의 범위)에 따른 게시글이 왼쪽에 조회가 되어지고,지도에서는 게시글이 있는 장소들만 표기가 되도록 만들었다.분명 어제까지만해도 잘 되던 것이 갑작스럽게 화면을 이동하면 데이터가 늦게 불러와지거나, 아예 안불러와지

기존에 사용자의 위치(위도,경도)와 DB에 저장된 장소별 위치(위도,경도)의 거리의 차를 구해야하는 상황에서 haversine이라는 라이브러리를 찾아서 사용하고 있던 중에 mysql에 haversine이라는 쿼리가 있었다. 아무래도 DB에 있는 기능이므로 사용하면 뭔가
새로운 컬럼 추가 후 node를 실행함 근데 아래오 같은 에러 발생. 컬럼이 존재하지 않는다는것이었음.분명 npx prisma db push를 해서 진행한 바 있었음. 시도 1. npx prisma db push --force-reset 초기화 진행 후 다시 시도해도

다시 시작됐다. 지도페이지에서 자꾸 에러가 난다. 지난번 예상했던 것과 같이 게시글 올릴 때 뭔가를 잘못하고 있는건 아닐까?그래서 대비책으로 준비한게 두가지였다.1\. 이미지 업로드할 때 이미지 사이즈 제한처리( 한 이미지 당 1.5MB 제한을 뒀다 )2\. 사진 없이
프론트와 서버를 맞춰보고 로그인해서 프로필 이미지를 수정하던 중 문제가 발생했다. 내가 프로필 사진을 바꾸면 다른 사람의 프로필 사진까지 바꼈다. 이게 무슨...!이미지를 조회했을때의 문제인줄 알았지만 DB를 조회해보니 내 프로필 사진과 몇 다른 사람의 프로필 사진이
게시글 삭제에 이어서 게시글 수정할 때의 코드를 다시 손을 봐야했다. 게시글 수정을 통해 장소를 변경하는 경우도 발생하는데 그럴 때 location 정보도 같이 수정이 됐다.location에 한 장소 당 한 개 씩만 있어야하는 location테이블에 여러 장소가 존재하
유저테스트 중 이모티콘(이모지)를 입력하면 부하가 상당하다는 이야기를 들었다. 과연 하나에 몇 바이트나 되길래 부하가 상당하다고 하는걸까?대부분의 이모지는 4바이트로 표현된다고 한다. 참고자료 https://codingbroker.tistory.com/119h
어제 지도페이지에서 다시 에러가 발생했다.지난번과 같은 에러인가? 그렇다기엔 로직을 수정해서 여태 에러없이 잘 지내왔잖아?!탈퇴 시 연관관계로 인해 게시글이 삭제되는데 해당 게시글의 장소 정보는 테이블에 남아있고, 해당 장소에 대한 게시글은 없어서 생긴 에러라고 생각

sharp 라이브러리를 설치하고 위와 같은 에러메시지가 떴다. 에러메시지에서 솔루션이라고 말해준걸 해보기로 했다. 지난번이랑 달라진점은 yarn명령어가 생겼다는점.yarn add sharp --ignore-engines을 하니 뭔가 되는것 같았다.뭔가 더 해봐야 알겠지
스프레드 문법 위처럼은 안된다... SyntaxError 발생함. 아래에서만 사용할 수 있다. 함수 호출문의 인수 목록 배열 리터럴의 요소 목록 객체 리터럴의 프로퍼티 목록
1\. WITH, WITH RECURSIVE가상테이블( Common Table Expression(CTE))WITH구문메모리상에 가상의 테이블을 저장할 때 사용RECURSIVE의 유무에 따라 CTE가 재귀, 비재귀로 나뉨.WITH : 비재귀적 CTE 정의: 주로 복잡한

1\. SQL 문자열 여러개가 포함된 데이터 찾기 (LIKE, 정규표현식)문자열 하나를 찾기 위해서는 LIKE나 = 를 이용하면 된다.문자열 여러개를 찾기위해서도 LIKE를 사용하는데 비교적 편한 것은 정규표현식.2\. WHERE 와 HAVING조건절을 사용하다보면 에

SQL 진수 변경 CONV()2-1. SQL 코딩 테스트 연습10진수로 이루어진 GENOTYPE을 2진수로 변경해서 자리수가 형질이 된다.조건은 아래와 같다. 1\. 2번 형질 보유하지 않으면서2\. 1이나 3번 형질을 보유하기.순서1우선 2진수로 변경 후 비트연산자로
WHERE IS NOT NULL전화번호가 NULL인 경우는 출력대상에서 제외시키는 조건은 자꾸 IF 가 생각나는데 SQL에서 조건절은 WHERE, HAVING 이쪽이니까 일단 두 절에서 해결할 수 있는지 먼저 생각한다.NULL값이면 다른 값으로 바꾸기IFNULL(컬럼명

요즘 완전 SQL 알고리즘 문제에 빠졌다...너무 재밌는데..이거1\. QUARTER ()분기별 표시를 해줄 때 조건부로 해줘야하는줄 알았는데 YEAR, MONTH와 같이 따로 함수가 존재했음.QUARTER() 함수2\. 날짜 차이 구하기그냥 단순하게 날짜끼리 빼면 되
1\. JOIN ON 와 USING보통 조인을 할 때 ON 에 결합하는 조건을 넣는다. 근데 그 조건을 넣는 방법은 USING 이라는 방법이 더 있다.보통 이렇게 사용하는데 JOIN하는 테이블 내의 컬럼명이 동일하면 USING을 아래와 같이 사용할 수 있다.다 그렇게
1\. replace 콜백함수 mdn - replace()replacement 자리에 콜백함수가 들어갈 수 있다.이걸 왜 찾아보게됐냐면 알고리즘 문제때문이다.문자열로 'onetwothree'로 되어있는걸 123으로 바꿔야하는 문제에서 나는 switch문으로해서 풀었는
1\. MYSQL DIV 함수 - 나눠서 몫 구하기 MYSQL - DIV 함수2\. MYSQL % - 나눠서 나머지 구하기
1\. 알파벳 정렬 & 아스키코드 정렬 알파벳 정렬에 있어 sort를 이용해서 그냥 정렬하면 되는 줄 알았다.왜 될거라고 생각했냐면 알파벳끼리 비교연산자를 썼을 때 되니까 정렬도 될 줄 알았다.비교를 하기 위해서 아스키코드로 변경 후 정렬을 해줘야했다.
1\. 널 병합 연산자 nullish coalescing operator ?? 왼쪽 피연산자가null 또는 undefined 일 때 : 오른쪽 피연산자를 반환null 또는 undefined 아닐 때 : 왼쪽 피연산자 반환 참고) 논리 연산자 || 왼쪽 피연산자가 fa
MYSQL 정규표현식모음으로 시작하는 도시 이름 조회\-특정 문자로 시작하는 : ^\[ ]\-괄호 내 문자들 : \[ ]모음으로 시작하지않은 도시 이름 조회 \-속하지 않는 : \[^ ] (꼭 안에 있어야함)모음으로 끝나는 도시 이름 조회 \-특정 문자로 끝나는 :
1\. String.prototype.padEnd() 문자열 끝부터 주어진 길이만큼 주어진 문자를 채워넣어서 새로운 문자열을 반환하는 메소드
땅따먹기 programmers 문제위의 문제를 보고 이렇게 코드를 작성했는데 예시 테스트 케이스는 통과를 했으나 실제 코드를 실행해보면 다 실패가 뜨는게 아닌가? 각 배열의 최대값을 구해서 더해주면 2중 배열의 최대값이 되는줄 알았다. 근데 간과한 사실. 각 배열의 최
1\. slice()의 역할코딩테스트를 풀다가 slice의 새로운 쓰임에 대해서 알게되었다.보통 slice는 배열과 문자열에서 원하는 만큼 잘라서 새로운 배열을 만드는 역할로 활용했다.근데 어떤 분이 slice를 아래와 같이 사용한 걸 보고 의아해했다.띠용쓰.알고보니
정규표현식 \\D기존에 \[0-9] 로 사용했었는데 \\D로 숫자표현을 더 쉽게 할 수 있었다.10진수 -> 2진수로 바꾸면...10진수에서 2진수로 바꾸면 toString(2)을 이용해서 바꾸게 되는데 당연하지만 string으로 바뀐다.그래서 length를 이용할 수
1\. 2진수 <-> 10진수이진수 더하기 코딩테스트2진수와 10진수를 왔다갔다하기 위해 toString()와 parseInt()를 사용했다. 위의 코딩테스트 문제를 푸는데에도 메소드를 이용해서 풀었는데 다른 사람들의풀이를 보니 하나하나 2진수를 구현했더라. 꽤나
1\. some 메소드\- 목적 : 배열 안의 어떤 요소라도 주어진 판별 함수를 적어도 하나라도 통과하는지 테스트\- 반환값 : boolean값 ( true or false )\- 예시 2\. every 메소드\- 목적 : 배열의 모든 요소가 제공된 함수로 구현된 테스
1\. 특이한 정렬 programmers문제를 풀 때 차이에 대해서 정렬을 하면 되겠다 라는 생각을 했었다. 근데 자꾸 아래와 같은 코드로 접근하려고 보니 잘 안됐다. 그래서 결국 찾아보게 되었다.아래와 같은 코드를 발견함. 나는 왜 sort 안에 있는 저 a, b가
구명보트 programmers 코딩테스트위의 문제에 따라 아래와 같은 코드를 작성함. 테스트 케이스 절반이 실패뜸.찾다가 포인터를 이용해서 문제를 푸는 방법을 발견함.두 포인터 기법을 사용 : 정렬된 정렬에서 가장 가벼운 사람 + 가장 무거운 사람 짝지어 검사를 하는
SQLD 공부 시작중복(Duplication) 중복 저장 유의.같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는데에 도움을 주어 DB가 여러장소에 같은 정보를 저장하는 잘못을 하지 않도록. 비유연성(Inflexibility) 데이터의 정의와 사용 프로세스 분
JAVA 공부피연산자 개수에 따라 단항, 이항, 삼항 연산자로 구분 가능단항 : +x, 이항 : x = y, 삼항: 조건식: true ? false1) 대입연산자 : 오른쪽의 결과를 왼쪽에 대입(할당)2) 산술연산자 : 피연산자를 이용해서 +,-,,/,% 등 수행 in

JAVA 공부프로그래밍에서 속성과 기능을 갖는 프로그램 단위.예시로 살펴보는게 더 확실히 와닿음.예) 옷속성 : 신축성, 재료 등기능 : 보온, 디자인 등자동차속성 : 바퀴, 엔진 등기능 : 이동, 운반 등날씨예보프로그램속성 : 날짜, 기후, 기단 등기능 : 현재 날씨

클래스와 달리 객체를 생성 불가. 클래스에서 구현해야하는 작업 명세서.클래스 - (구현) - > 인터페이스인터페이스 기능(선언만 되어있고, 껍질만 가지고 있음)을 클래스에서 구현.메소드를 선언만 하고, 정의( {}부 )는 하지 않음. 정의는 클래스에서 함.가장 큰 이유

JAVA Spring boot 공부중서버에서 클라이언트에게 서빙해주는 방식 (정적, MVC, API)그냥 파일을 그대로 클라이언트한테 전달.과정 : 웹브라우저에서 localhost:8080/hello-static.html 을 치면 내장 톰캣서버에서 요청이 왔다고 스프링
JAVA Spring boot 공부중서버에서 클라이언트에게 서빙해주는 방식 (정적, MVC, API)그냥 파일을 그대로 클라이언트한테 전달.과정 : 웹브라우저에서 localhost:8080/hello-static.html 을 치면 내장 톰캣서버에서 요청이 왔다고 스프링
JAVA Spring boot 공부중서버에서 클라이언트에게 서빙해주는 방식 (정적, MVC, API)그냥 파일을 그대로 클라이언트한테 전달.과정 : 웹브라우저에서 localhost:8080/hello-static.html 을 치면 내장 톰캣서버에서 요청이 왔다고 스프링

JAVA SPRING BOOT 공부중테스트코드 적을 때 주석으로 해놓고 하면 좋음given : 주어진상황 when : 이걸 실행했을 때then : 결과값given 주어진 상황에서 when 해당 테스트 코드를 실행했을 때 then 결과값이 이렇게 나와야해
JDBC API로 직접 코딩하는 것은 옛날 방식이라 요즘에는 안쓴다고 함. 하지만 알아두는게 좋다고 함.테스트 코드는 단위테스트했을 때의 코드와 별로 추가된게 없다.@SpringBootTest,@Transactional를 넣으면 통합테스트가 되고, @Transactio

JAVA, Spring 공부중엔티티 매니저 팩토리를 통해 엔티티 매니저를 각 요청마다 생성하게 되는데 엔티티 매니저를 사용하여 DB커넥션을 사용하여 DB를 사용하게 됨.엔티티 매니저 팩토리엔티티 매니저JPA 가장 중요한 2가지객체와 RDB 매핑하기엔티티를 영구 저장하는
JAVA, JPA 공부중@Entity : JPA 관리하는 엔티티. 테이블과 매핑할 클래스는 @Entity 필수로 붙음.기본 생성자 필수 (파라미터가 없는 public 또는 protected 생성자)final 클래스. enum, interface, inner 클래스 사용
JAVA, JPA 공부 중 연관관계 매핑 양방향 매핑 객체와 테이블에 패러다임의 차이가 있음. 객체는 참조를 사용하고 (member.name식의 참조) 테이블은 외래키를 이용하여 조인하여 사용하는 차이가 있어 사용에 어려움이 있음. 그래서 연관관계를 설정할 때 연관

java, jpa 공부중객체는 상속관계 O, RDB 상속관계X (슈퍼 타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사)상속 관계 매핑 : 객체의 상속 구조 ~(매핑)~ DB의 슈퍼 타입 서브타입 관계상속관계매핑은 물리모델로 바꾸는 어떤 방법이든 지원을 해줌조인전
java jpa 공부중Member의 속성만을 조회할 때 Team의 내용까지 조회를 해야할까? 아니오.em.find() : DB를 통해서 실제 엔티티 객체 조회em.getReference() : DB조회를 미루는 가짜(프록시) 엔티티 객체 조회.: DB에 쿼리가 안나갔는
JAVA공부중scanner를 이용 사용자의 값을 받아 배열처리를 하고있는 와중에 발생한 예외이다. 사용자에게 받는 값이 설정된 자료형과 맞지않아 생긴 예외이다.상품의 이름과 상품의 가격을 연달아 받아야하는데 아무래도 그 코드가 꼬인 듯하다.문제의 코드 (상품등록 시 예

JAVA공부중기본형(Primitive Type) : 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입참조형(Reference Type) : 데이터에 접근하기 위한 참조(주소)값을 저장하는 데이터 타입항상 변수의 값을 복사해서 대입기본형 : 값을 복사하여 대입참조형 :

JAVA 공부중중복 줄어들고, 편리한 확장이 가능함.상속된 상태에서 자식클래스를 호출하면 메모리 구조가 자식 객체 안에 부모와 자식 둘 다 존재한다.상속관계에서 객체를 생성하면 내부에는 부모와 자식 모두 생성됨.상속관계의 객체를 호출할 때 대상 타입을 정해야함. 이때

부모는 자식을 품을 수 있음부모 변수가 자식 인스턴스를 참조했을 경우 부모 자신의 메소드는 호출이 가능하지만, 자식의 메소드를 호출을 할 수가 없음. 왜냐면 상위 계층의 메소드는 호출이 가능하지만 하위 계층의 메소드는 호출이 불가능하니까.(당연함!)근데 왜 이런 다형적

JAVA 공부중animal과 같이 추상적인 의미의 클래스를 추상 클래스로 만들어서 사용한다.(왜냐면 animal의 자식들인 개, 고양이, 소 등과 같은 객체를 만들어서 사용하지 animal자체로는 뭘 생성해서 하지 않기 때문)선언 시 abstract 키워드 붙여서 사용

사용자의 입력을 받을 때 사용scanner로 사용자의 입력을 받아 사용하고 있었는데 이건 입출력 방식이 느리면 여러 줄을 입력받을 때 시간초과가 날 수 있다고 한다.또한 System.out.println(); 도 출력 시 시간초과를 낼 수 있다고 함.시간초과를 막기위해
JAVA 공부중백준 알고리즘 문제를 풀다가 발견한 EOFA+B - 4 문제EOF = End Of File : 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내는 용어사용자의 데이터를 불러오는 Scanner와 BufferReader 둘 다 기능이 있음내장함
java 공부중 중첩 클래스 중첩클래스 : 클래스 안에 클래스 중첩클래스 종류 정적 중첩 클래스 -> 정적 변수와 같은 위치에 선언 (static붙음) 내부 클래스 내부 클래스 -> 인스턴스 변수와 같은 위치 지역 클래스 -> 지역 변수와 같은 위치 익명

JAVA 공부중자바의 예외 처리 키워드 : try, catch, finally, throw, throwsThrowable: 최상위 예외Error : 메모리 부족, 시스템 오류와 같이 애플리케이션 복구 불가능 시스템 예외.(애플리케이션 개발자는 이 에러를 잡으면 안됨)E
JAVA 공부중 알고리즘을 푸는 중 문자열.charAt(0)을 출력했을때는 무리없이 문자가 출력이 되었는데 문자열.charAt(0) + 문자열.charAt(문자열.length()-1)와 같은 값을 출력하려고 보니 아스키코드값으로반환이 되었다. 문자열.charAt의
JAVA 공부중(...이어서)클래스를 정의하는 시점에서 제네릭을 사용하면 컴파일 시점에서는 제네릭 타입 정보(Integer, String, boolean등)을 모르기때문에 getName, getSize와 같은 메서드를 사용할 수 없음. 그래서 일단 오직 Object 메
JAVA공부중nextLine() : 줄바꿈을 포함하여 전체 줄 입력받음.next() : 공백이나 줄바꿈을 기준으로 하나의 단어를 입력받음.nextLine은 전에 nextInt 이후에 남은 줄바꿈 문자를 읽게되어 빈 문자열이나 잘못된 값을 입력받을 수 있음. nextIn
java 공부중순서가 있고 중복을 허용. 크기 정적 고정.인덱스 검색 : 필요한 인덱스의 값을 빨리 찾을 수 있음. (참조값(주소값)을 계산해서 접근하기때문)데이터 검색: 배열의 크기만큼의 연산 시간이 걸림데이터를 추가할 때 위치에 따라 성능 변화가 발생배열의 첫번째

java 공부중배열 리스트의 단점 : 배열의 사용하지 않는 공간 낭비, 배열의 중간에 데이터 추가.=> 앞이나 중간에 추가하거나 삭제할 때도 효율적인 자료구조가 노드로 서로 연결하는 방식.Node 인스턴스 생성 후 item에 내용을 넣고, next에 다음 Node의 참
python 알고리즘 공부중15552번입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있음.input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우
http 연결 방식: 단방향 클라이언트가 서버에 요청을 보내야지만 연결이 가능했음. 경매사이트, 채팅과 같이 클라이언트가 요청을 보내지않더라도 응답을 보내줘야하는 경우가 생김. http 연결방식을 이용해서 해결해보자면 클라이언트가 예를들어 0.5초씩 계속 요청을 보