본문 바로가기

javascript

(9)
코테 - 탐욕법 lev1 Map()을 사용하고 싶어서 간단히 설명을 한다면 잃어버린학생의 번호를 key로 설정 value는 0 여벌옷이 있는 학생배열을 돌면서 앞뒤 번호에 잃어버린 사람이 있다면 value를 1로 해서 빌려주는 로직을 생각하였습니다 + 여벌옷이 있는학생이 잃어버릴 경우도 있다는..... 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업..
WEB프로젝트_TEAM_DREAM🧱 이번 프로젝트에서는 처음 시도해보는 것들이 조금 있어 걱정이 많았습니다. 하지만 프로젝트 기간동안 실제로 구현을 하고 작동하는 코드를 보며 첫 시도에 대해 앞으로는 좀더 긍정적인 태도를 갖게되는 계기가 되었습니다. TEAM_DERAM 프로젝트 경매 플랫폼(KREAM)을 모델링하여 진행한 두번째 프로젝트 프로젝트 기간 2023.04.20~2023.05.04 담당 API 그래프 데이터 API (체결된 주문을 시세파악 쉽게 하기위해 시각적인 정보로 나타내기 위함) bid info API (해당제품의 입찰, 낙찰데이터 가져와 판매자또는 구매자가 앞으로의 시세에 대하여 생각할수 있게함) like API (관심상품 추가/삭제 기능) like list API (관심상품 리스트 즉시구매가와 함께 보여줌) review ..
첫 WEB프로젝트 회고 - unic5n🦄 가구이커머스 모델링 첫 WEB프로젝트였고 내가 구현한 코드가 프론트를 만나서 실제로 작동되는 것을 보며 구현한 코드의 가치를 더욱 느낄수 있었던 경험이였습니다. 2023.4.3~2023.4.14 이주간의 프로젝트과정을 생각해보면 우여곡절도 많았고 힘들기도 했지만 소중했던 경험이 된것같습니다. 담당했던 부분은 PM(project manager)을 했고 BE로서 제품나열&필터, 상세페이지, 쇼룸, 리뷰작성, 제품구매확인페이지, 제품검색까지 구현했습니다. 가구 서칭 Keep (프로젝트에서 만족했고, 앞으로의 업무에서 지속하고 싶은 부분) 제품구매 페이지 & 쇼룸페이지를 위해 만든 쿼리문을 완성했을 때 쿼리문 작성전에 ERD를 보며 생각했던 로직으로 구현했을 때 제품 나열페이지에서 필터 조건을 줄때 쿼리빌더를 클래스화 시켰던게 이..
(unic5n)프젝 중 리팩토링 - 제품나열 DAO Ver2 (class) 마지막 update (23.06.12) ver1에서 하던걸 계속 이어서 하는 중 const getProductList = async (mainCategory, subCategory, pricefilter, start, limit, isnew) => { try { let conditionMain = ''; let conditionSub = ''; let order = 'ORDER BY p.id'; let conditionIsNew = ''; let condition = ''; if (mainCategory) conditionMain = `main_category.id = ${mainCategory}`; if (subCategory) conditionSub = `sub_category.id = ${subCa..
코테 - 두 개 뽑아서 더하기 function solution(numbers) { let answer =[] for(let i=0;i
Error : data must be a string or Buffer and hash must be string 회원가입시 password를 bcrypt로 단방향 암호화를 한뒤 DB에 저장을 해주고 select 문을 사용해서 email로 조건을 주어 password를 꺼내려고 했다. 단순하게 SELECT문에서 password만 써주면 password만 뽑아내는 줄 알았지만 다른 users table에 들어 있는 값도 나오기 때문에 해당에러가 hash는 string 형식으로 다루라고 Error문이 나온다. { try { const password = await appDataSource.query( `SELECT id, email, password FROM users WHERE users.email = ?`, [email] ); return password; } ... } //userService.js const ha..
구조분해할당-기초?예시 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게하는 javaScript 표현식입니다. let a, b, rest; [a, b] = [10, 20]; console.log(a); // Expected output: 10 console.log(b); // Expected output: 20 [a, b, ...rest] = [10, 20, 30, 40, 50]; console.log(rest); // Expected output: Array [30, 40, 50] 위의 코드를 말로 푼다면 [10,20]배열을 [a,b]에 하나씩 할당을 해주면서 a = 10, b= 20이 되게됩니다. 이제 객체를 분해해보겠습니다. let demo = {c:123,d:"too"} let {c,d} = demo;..
Array.map() / Array.forEach() arrow function은 callback 함수 callback함수는, 함수에 인자로 전달되는 함수 array의 반복문으로 사용되는 map, forEach => 배열관련 작업시 많이 사용 Array.map() 배열을 반복해준다. callback함수에서 return한 값으로 매요소를 수정한 결과를 모아 새로운 배열로 반환한다. const arr = [1, 2, 3]; const sq = arr.map(num => num * num ); const sq = arr.map(function(num){ return num * num; } Array타입의 데이터를 요소 갯수만큼 반복, 실행할 함수를 parameter로 전달 callback함수에서 array의 요소를 인자(num)로 받음 Array.forEach(..