자주 사용되니 잊지 말자!display: flex : 수평, 수직을 쉽게 정렬하기flex-direction : 정렬 방향을 결정 방식 (수평, 수직)align-items : flex 요소의 수직 방향 정렬justify-content : flex 요소의 수평 방향 정렬
오늘은 왕초보 2주차를 학습함.불상사 발생!위치를 안 알려주어 안 되는 거 같다는 결론 도달함수정 후 다시 해보았지만 역시나 안 됨.앞에서 튜터님이 왜 dict를 통으로 외우라한게 생각났지만 방법은 모르겠음.변수 뒤에 \[]로 감싸줘야 함! 문제 해결!번외로로도 작성
라는 숙제를 짜는 오늘 아침.호기롭게 코딩을 해본다.도전!시무룩.. 그래도 포기할 순 없지. 자 드가자!전과 똑같이 온도가 나오니 temp값을 공백으로주니 아무것도 안 나온다.데이터를 받아와야하나? 근데 온도 필요가 없는데?일단 글자를 추가해야하는 거니까 append를
데이터 베이스와 SQL을 공부하였다.우선 데이터베이스는 무엇인가?테이블들이, 데이터들이 모여 있는 공간을 데이터 베이스라고 한다.그 중 RDBMS 는 어떻게 구성 되어 있나?2차원 데이터라고도 하는데, 엑셀로 생각하면 쉽다. 행과열. 열과행.이름과 나이, 성별은 속성(
What I learned new 왕초보 강의 firebase 구글(Google)이 소유하고 있는 모바일 과 앱의 애플리케이션 개발 플랫폼. firestore 클라우드 기반으로 데이터베이스 서비스로 데이터를 저장하고 관리할 수 있는 기능을 제공하는 NoSQL (비관계
replace(바꿀 컬럼, '현재 값', '바꿀 값') : 지정문자를 다른 문자로 수정substr(조회 할 컬럼, 시작 위치, 글자 수) : 원하는 특정 문자만 추출concat(붙이고 싶은 값1, 붙이고 싶은 값2, ...) : 여러 컬럼의 문자를 합쳐 원하는 포맷팅i
subquery: 하나의 SQL 안에 또 다른 SQL문을 말함. 메인쿼리-서브쿼리 종속 관계여러번의 연산을 한번에 수행 할 때, 조건문에 연산 결과를 사용해야 할 때, 조건에 query 결과를 사용하고 싶을 때 사용가장 가운데 가로 (안에 있는 가로), 특정 구문만 보
shift() & pop() : 요소 제거shift: 배열의 가장 첫 번째 원소를 제거하고 제거된 요소 반환pop: 배열의 가장 마지막 원소를 제거하고 제거된 요소 반환unshift() & push() : 요소 추가unshift: 배열의 앞쪽에 데이터를 삽입, 삽입 된
메모리에 저장한 뒤 읽어들여서 재사용 => 변수변수 이름 : 저장된 값의 교유 이름변수 값: 변수에 저장된 값변수 할당: 변수에 값을 저장하는 행위변수 선언: 변수를 사용하기 위해 컴퓨터에 알리는 행위변수 참조: 변수에 할당된 값을 읽어오는 것var : 재선언 o, 재
ES6 신문법임!let x = 10;if (x > 0){ console.log('x는 양수 입니다')}ex) y의 길이가 5보다 크거나 같으면 길이를 반환해주자.default => if 문의 else 같은 기능break문이나 continue 꼭 쓰기!let age
ECMAScript6는 JavaScript의 버전 중 하나.2015년도 이전 => varlet (변수), const (상수)condition ? true인 경우 : false인 경우: 배열이나 객체의 속성의 구조를 분해한 뒤 각각 변수에 할당:요소들을 전개함. ...
값의 저장 방식과, 불변성 여부에 따라 나뉨. 1\. 값이 담긴 주소값을 바로 복제. 2\. 불변성을 띄움. (데이터영역 메모리 변경 X)변수 할당을 할 때 test가 변수명에 직접 들어가는 방식이 아닌, 데이터 영역에 변수가 담긴 메모리와 주소가 생기고, 그 주소가
What I learned new 실행 컨텍스트(Execution Context) JS는 코드를 실행 할 때 필요한 여러가지 정보(변수, 함수, 스코프, this)들을 알고 있어야 하는데 이것들을 별도의 객체로 모아 관리함. => 실행할 코드에 필요한 환경 정보을 모
변수의 선언은 선언, 초기화, 할당 단계를 거친다변수 선언은 실행 컨텍스트의 변수 객체에 변수를 등록하는 단계로 var let const 로 선언을 하게 되는데, 이 때 JS가 견적을 짜는거라고 보면된다.😎 :자, 너는 변수 a고, 너는 함수고, 너는 b. 또 다른거
개인 과제의 필수요구사항 [x] [1] jQuery 라이브러리 사용없이 순수 바닐라 자바스크립트 사용하기 [x] [2] TMDB 오픈 API를 이용하여 인기영화 데이터 가져오기 [x] [3] 영화정보 카드 리스트 UI 구현 [ ] [4] 영화 검색 UI 구헌. [ ]
What I learned new 호이스팅 함수정의 방식 1. 함수 선언문: 함수명 a가 곧 변수명 function 정의부만 존재, 할당 명령이 없는 경우 function a() { ... } a(); // 실행 ok 2. 함수 표현식. 정의한 function을
What I learned new 새로 배운것 검색기능 구현과 enter 누를 때도 정상 작동하는 작업을 했다. How solve issue 해결 방법 Realization 느낀점
깃허브(GitHub)는 파일들을 업로드해서 저장하고, 다른 개발자들과 공유, 협업에 쓰이는 클라우드 개념의 저장소다.백업 및 공유를 위해선 터미널 사용을 한다.터미널은 단축키 ctrl+shfit+' 로 열 수 있고, mac은 그냥 해도 되지만 window는 꼭 터미널을
하샤드 수란??샤드 수 또는 니번 수는 주어진 진법에서 그 수의 각 자릿수 숫자의 합으로 그 수가 나누어지는 양의 정수를 말한다즉 12 라면 각 자리수를 더한 1+2 = 3으로 12를 나누면 나누어 떨어지는 수다.내가 생각한 방법은자리수를 문자열로 바꾸어 떨어트리기1-
육캔두잇!기간 : 24. 01.10 - 24.01.26개인과제에서 작성한 내배캠 인기영화 콜렉션을 발전시키는 팀 프로젝트팀원들의 프로젝트 N개 중 1개를 대표로 선택, 팀 프로젝트로 발전프로젝트 명 : Fresh Tomatoes소개한 줄 정리 : 영화 평가 사이트 r
🚨Issue occuring 데이터 받아옴. 화면에 띄우기 💦What I tried 💡How solve issue for문으로 각 요소 가져오기 카드에 추가하기 📃What I learned new 🤔Realization
🚨Issue occuring 💦What I tried 💡How solve issue 📃What I learned new 🤔Realization
📃What I learned new 🤔 node.js란? V8엔진으로 빌드된 JavaScript 런타임이다 코어 라이브러리와, v8엔진, libuv를 통해 JS를 브라우저 없이 실행하게 도와준다. v8엔진 : 구글 크롬 브라우저에서 사용 하는 JS 엔진 =>브라
: 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어: 데이터 정의 언어CREATE : DATABASE, TABLE, VIEW, INDEX 등을 생성DELETE : DATABASE, TABLE, VIEW, INDEX 등을 삭제ALTER : DATABA
: sql 작성 시 컬럼 별로 미리 정해둔 조건: 테이블 생성 시 정할 수도 있고, ALTER로 수정 변경 가능하지만 웬만하면 생성 시에 확실하게 설계하기!NULL : 값이 없어도 됨NOT NULL : 값이 꼭 존재해야함: 중복된 키를 허용 하지 않음(유일성 보장):
n번 째마다 가격이 count배.가지고 있는 금액이 얼마나 모자른지 return=> money -= price \* count안 모자르면 0 return반복문 조건은 무조건 1번은 타니 초기값은 1로, 타는 횟수만큼 빼야하니 종료값은 count로 설정.잔액에서 금액 \
: 시스템에 대한 엑세스를 제공하기 위해 사용자를 식별하는 프로세스사용자가 부분적으로 변경 가능(비밀번호나 회원정보)ex1) id와 password로 사이트나 프로그램에 로그인=> 이 사이트의 회원인지.ex2) 회사 사원증으로 회사 출입.: 인증을 한 사용자의 권한을
n번 째 행렬의 2번째 요소는 어떻게 접근해야할까?=> 행렬은 아래와 같은 식이므로 이중 for문 사용하기(a11 a12 a13)(a21 a22 a23)(a31 a32 a33)이렇게 되면 테스트 2번에 걸리게 된다.왜?🤨 if로 길이제한까지 주었는데?내가 잘못 이해한
🏁 목표: RDB(MySQL) 데이터 모델링, JWT, Express Middleware를 이용한 인증 로직 추가1\. API 명세서를 작성하여, 최종적 결과물을 미리 파악합니다.2\. MySQL, Prisma를 이용해 데이터베이스를 설계하고 활용합니다. \-
문제 해석 : 두 수의 최대 공약수,최소공배수 담기1\. 최대공약수(gcd),최소공배수(lcm) 구하기gcd = 두 수가 다 나누어 떨어지기lcm = 두 수의 곱을 최대공약수로 나누기gcd,lcm push하기최대 공약수 구하기이렇게 하니 모든 공약수가 push되어 sh
bcrypt 패키지를 사용하여 비밀번호를 10 복잡도로 hash.jsonwebtoken 패키지의 sign을 사용하여 토큰 발급.첫 번째 인자로 토큰에 담을 JSON 데이터(payload) 두 번째 인자로는 키(key)막연하게 오더키를 받아와 주소창에서 사용할 생각이었으
기간 : 24. 02. 07 ~ 24. 02. 15프로젝트명 : 구석탱이우리 동네의 정보를 구석탱이까지 알리겠습니다.사용자 인증 기능회원가입 기능새로운 사용자가 ID와 비밀번호의 형태로 서비스에 가입할 수 있어야 합니다.이 때, 비밀번호는 안전하게 암호화되어 저장되어야
와이어 프레임 API ERD 게시글 작성 게시글 조회 카테고리 별 조회 상세 조회
API 좋아요 🚨Issue occuring prisma.likes.create({}) 부분에서 prisma와 관련해 LikesuserId_key에 관련된 오류 발생 💦What I tried create문에는 문제가 없어보였고 프리즈마에 제약 조건이 이상한 거 같
nickname과 like과 같은 선상에서 조회되도록 빈 배열을 만들어 주었고,여러개의 게시글을 조회하여야하니 for of 문을 사용해 조회한다.Likes 테이블에서 post_Id를 카운팅하여 like에 담아준 뒤, 배열에 넣어준다.조회와 로직은 비슷하나 상세 조회이기
: 현실 셰게의 물체나 개념을 소프트 웨어 세계로 옮긴 것.: 객체를 도출하고 각각의 역할을 명확하게 정의하는 것에 초점을 맞춤.: 객체의 집합으로 프로그램을 표현하는 프로그래밍 패러다임상태와 메서드가 같으 모듈 내부에 배치되는 프로그래밍 방식: 프로그래밍의 방식이나
용어 단위 테스트 (unit test) 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차 모든 함수와 메소드에 대한 테스트 케이스(Test case)를 작성하는 절차 테스트 케이스 (Test Case) 특정한 프로그램 경로를 실행 or 특정
테스트 케이스를 작성 중 강의에선 'test'를, 과제 해설 영상에선 it을 사용한다.다른 점은 무엇일까?공식 문서에 나와있듯이 같은 기능을 하는 함수이다.기호에 맞게 보기 좋게 알아서 사용하면 된다테스트 코드 장난아니다
필수 구현 사항 로그인 및 회원가입 사용자는 “고객님” 혹은 “사장님”으로 계정을 생성하고 로그인 할 수 있어야 합니다. 회원가입 시 이메일 인증 기능을 넣어주세요. 이 때, “고객님”으로 가입 시 100만 포인트를 지급해주세요.
🚨Issue occuring email과 number에 대해 유효성 검사를 진행하여햐 하는데 어떻게 진행 할 것인가? 💦What I tried joi 라이브러리를 사용 정규 표현식을 몰라도 사용 가능 정규표현식 사용 다른 라이브러리를 사용하지 않기 때문에 의존성
📃What I learned new package 모듈 : 재사용 가능한 코드 조각 패키지 : 모듈을 패키지화한 모듈의 모음 패키지 매니저 : 패키지의 설치, 업데이트, 삭제 등을 할 수있는 패키지 관리자. 다른 개발자들의 코드를 다운로드하거나 내 코드를 배포 할
Code review service layered 회원가입 API 로그인 API 🚨Issue occuring 💦What I tried 💡How solve issue 📃What I learned new 🤔Realization
User라는 추상 클래스를 정의해볼게요. User 클래스는 name, age라는 인자를 받고 getRole이라는 추상 함수를 포함합니다! ❎도전 ✅정답 💡고찰 getRole의 반환값을 string로 지정. 정확도가 떨어지고, 예상치 못한 오류 발생 가능성이 높음!
👍Keep 이해가 될 때까지 공부한 것 난이도있는 프로젝트를 책임감 있게 완성한 것 발견된 문제에 대한 빠른 언급 및 대처 git을 통해 협업하는 과정에서 별 문제가 없었던 점 도전 정신이 투철했던 점 도전해보고 싶었던 부분을 자신있게 도전한 점 맡은 부분은 책임지
사용자가 원하는 공연을 예매할 수 있는 웹 사이트를 구현 \- 물론, 백엔드만 구현하는 것을 목표각 공연은 공연명, 공연시간, 장소, 가격 등의 정보를 가지고 있어야 함.사용자는 이를 통해 원하는 공연을 선택하고 예매 로그인 / 회원가입 프로필 보기 새 공연 등록 공
예매 환불 로직을 짜던 중 예매로 인해 soft delete된 seat를 가져와야함.soft delete 된 데이터가 데이터가 테이블에는 남아있어 조회가 될 줄 알았으나 find같은 메서드로 검색이 안 된 다는걸 몰랐음사용법을 제대로 모르고 쓰는 줄 알고 공식문서도 보
로그인 / 회원가입 프로필 보기 새 공연 등록 공연 목록 보기 공연 검색하기 공연 상세보기 예매 확인하기 공연의 좌석 예매 정보 확인하기 좌석을 지정하여 예매하기 동시성 처리하기 예매 취소하기 테스트 코드 내용 채우기erd의 수정이 약간 있다.기존 Ticket을 Re
주어진 배열 중 3가지를 더하였을 때 0이 되어야 함=> 1,2,3 -> 1,2,4 -> 1,2,5 ... 의 합이 0이 되는 걸 찾아야 함.=> 3중 for문으로 돌기0인 경우 answer를 1씩 더해주기재귀함수 사용3자리일 때 더하고 0이 되면 +1 으로 카운팅co
과제 개요 사용자 관리 기능 [ ] 로그인 / 회원가입 기능 [ ] 사용자 정보 수정 및 삭제 기능 보드 관리 기능 [ ] 보드 생성 [ ] 보드 수정 보드 이름 배경 색상 설명 [
회원 정보 수정하는 중, 처음 1회는 이상이 없지만 그 후부터는 에러가 발생 공식문서 확인 후 1번째 요소로 기준으로 2번에 요소들을 변경하는 것을 확인1) 유저 확인2) 입력한 비밀번호와 유저 비밀번호 확인3) 데이터 변경 및 업데이트4) save위에 과정을 통해 데
📃What I learned new CI (Continuous Integration) - 지속적 통합 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합히는 것을 의미 => merge 자주 하는것이 좋음 => 오류를 빨리 잡을 수 있음 CD
출처아래 두 가지 지표로 평가를 함.하나의 데이터 패킷이 한 지점(출처 등) 에서 다른 지점(도착 등) 으로 전송되어 소요되는 시간만약 도로에 차를 많이 지나갈 수 있게 할려면 제한속도를 높일 것인가?(=Latency를 줄이는 것)도로의 폭을 넓힐 것인가?(= Thro
🚨Issue occuring 1) 🚨 회원 가입 중 이메일 인증 메일 전송 후 인증을 하지 않은 상태로 API 요청이 time out이 되었을 때 rollback이 되지 않고 DB에 저장이 됨 2) 🚨 💦What I tried 💡How solve iss
Q. 프로세스와 쓰레드에 대해서 설명하고 그 차이에 대해서 설명해주세요.: 운영 체제로부터 자원을 할당 받은 자원의 단위실행되어 작업 중인 프로그램메모리에 적재되고, 자원을 할당 받은 동적인 상태자신만의 고유 자원을 할당 받아 사용운영체제에게 stack, heap, d
👍 업무적으로 소통이 잘 되었고, 문제 해결에 있어 서로로 부터 문제 해결 하는 과정이 좋았다 👍 맡은 부분에 있어 노력하는 모습과 추가 기능에 도전하는 모습과 책임감이 좋았다👎 서로의 코드에 대해 피드백과 문제 해결이 조금 더 구체적이면 좋았을 거 같다👎 본인
구현하고 싶은 기술 스크래핑, 크롤링 위치 기반 서비스 대용량 트래픽 모니터링 & 로깅 redis docker, docker compose ci/cd python 주제 환경 보호 socket.io - 채팅 open api -> 환경 오염에 대한 정보 제공, 재활
출처클라이언트와 웹 서버 간의 소통을 하기위해 사용되는 방법으로 리소스와 동작을 분리하기 위해 사용.9가지의 메서드가 존재.GET주로 조회에 사용하며 서버에게 리소스를 보내도록 요청하여 서버의 리소스를 읽는다.전달할 데이터가 있는 경우 query를 통해서 전달한다.PO
: 데이터가 테이블에 저장되어 있고, 다른 테이블과 관계가 연결되어 있어 상호작용과 파악이 용이함삽입이상 : 저장 시 불필요한 데이터도 같이 넣어짐삭제이상 : 삭제 시 원하지 않는 데이터도 같이 삭제됨갱신이상 : 특정 부분만 수정이 되어 기존 데이터와 모순이 발생함:
로드 밸런싱 (Load Balancing)여러 서버에 트래픽 분산 시키기 = 수평적 확장DB 최적화인덱싱, 쿼리 최적화, 캐시 등모니터링A. 지속적인 모니터링과 로드 밸런서를 통해 트래픽을 분산시켜 부하를 줄이고, 데이터베이스 쿼리를 최적화 및 인덱싱, 캐시 사용으로
와이어프레임 ERD
어떻게 링크에 무작위 스트링으로 반환할것인가?반복문 사용❌ => 하드코딩encodeURI 같은 URI 인코딩 함수❌ => 숫자는 안 됨uuid 사용 ✅어떻게 유저와 채널 아이디를 담을 것인가?uuid를 사용❔ => 값을 담지 못함\-> uuid와 redis 사용✅ =>
🚨 front에서 userid를 받아와 user를 구분하는게 아닌 로그인을 하면 인증이 되어있는 상태로 채팅을 할 수 있어야함.🚨🚨 WebRTC로 N:M 간 통신을 위해 SFU서버, 미디어 서버 구축🚨브라우저에서 socket 연결 시(chat) 토큰을 받아 올
: 클라이언트와 서버가 데이터 송수신을 위해 반드시 거쳐야하는 연결ebsocket은 서버와 클라이언트가 실시간으로 양방향 통신을 할 수 있게 해주는 프로토콜새로고침 없이 화면을 바꾸기위해서 사용 되기도 함서버를 중심으로 정보 전달이 이루어지므로 메모리 문제, 비용 문제
getUserMedia() : 브라우저가 사용자에거 카메라 랙세스 권한 요청. 성공하면 mediaStream이 srcObject 반환 localStream전달된 객체는 전역 getUserMedia()범위에 있으므로 브라우저 콘솔에서 검사할 수 있음. 콘솔을 열고 s
mediasoup-client 내에 있는 Device 메서드를 사용해 chat에 join 시 Device를 생성 하고 싶음아래 코드는 방에 join 시 Device를 생성하는 부분\->모르겠음npm 참고import 로 가져오기\->import는 / 같은 절대 경로로 사
0 getUserMedia()를 통해 stream이 성공적으로 받아와 진다.1 각 클라이언트는 new Device()를 통해 객체를 생성, 라우터로부터 rtpCapabilities를 받아 device.load() 실행Device 객체 : 클라이언트 측에서 라우터와 연결
사이드 프로젝트 notion 프로젝트 개요 프로젝트 명 : 숨진 사람(숨겨진 진실을 찾는 사람들) 프로젝트 소개 현대 사회에서 발생하는 개인적 또는 기업 관련 문제들을 해결하기 위해 온라인 전문 탐정 중개 플랫폼입니다. 서비스 완료 후 클라이언트의 평가를
머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요
불필요한 DB접근과 특정 컬럼 조회를 하지 못함QueryBuilder: 필요한 필드만 가져옴으로 성능을 최적화getManyAndCount : 한 번의 쿼리로 총 개수와 데이터를 함께 가져와 효율적제네릭 타입 : 데이터의 일관성 유지typeORM 기본 메서드인 find,
🚨Issue occuring > 💦Tried & 💡Solve 📃What I learned new 🤔Realization
Grafana 설정 중 loki의 연결이 정상적으로 이루어지지 않음사진1) grafana 설정사진2) Sava시 뜨는 에러메시지사진3) docker log해당 엔드포인트가 잘못 되었거나, loki실행이 안 되어있음을 예상할 수 있음loki 로 요청 보내보기응답이 정삭적