전체 글

커다란 자갈돌은 짱돌 빙글빙글 돌아가는 맷돌🪨 FE 개발자를 위한 여정을 엉망진창 기록하자
SQL1. board 스키마 생성CREATE DATABASE Board;USE Board;2. 사용자  테이블 생성CREATE TABLE users( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, job VARCHAR(100), birth DATE, PRIMARY KEY (id));3. 사용자 데이터 삽입INSERT INTO users(name, job, birth)VALUES("장재현", "director", "810101");INSERT INTO users(name, job, birth)VALUES ("chae", "std", "2000-01-26");날짜 형식이 달라도, 동일하게 DB에 들어오는걸 볼 수 있다.inser..
백엔드 심화DBMS데이터베이스 : 데이터를 효율적으로 관리하기 위해! 중복을 막고, 빠른 데이터 연산을 가능하도록 한다DBMS 데이터베이스를 관리하는 시스템 오라클, MYSQL, MariaDB 엔진의 순위는 크게 바뀌지 않는다.MYSQL이랑 MariaDB는 부모가 같아서 거의 비슷한 엔진이다. RDBMS 데이터 간 관계column 컬럼 > 속성, 세로줄row 행 > 데이터, 가로줄게시글 번호 (Pk)제목내용작성일자수정일자작성자직업생년월일1파묘 감독천만영화2024-02-222024-02-22장재현감독8101012풍수사최종보스 무찌름2022-12-192022-12-19최민식배우6205303무당일본어 잘함2020-03-012020-03-01김고은배우9107024장의사대통령도 염함2019-04-052019-04..
Server, RouterServer : Request를 받는다Router : Request의 URL에 따라 루트를 정해준다. 어디로 갈지 길을 정해주는, 경로를 가이드 해주는express 장점? 🔥라우터 정리 Node.js 에서의 라우팅요청 Request이 날아왔을때, 원하는 경로에 따라 적절한 방향으로 경로를 안내URL, method 데이터에 따라서 호출해주는 "콜백함수"를 라우팅해준다. user.js, channel.js를 합치는 새파일 app.jsroutes 폴더에 user, channel 파일을 넣는다모듈화 할 파일에 (user, channel.js)express.Router() 호출해서 가져온다. > app = express() 대신 모두 router 변수로 변경한다.모듈화로 내보낸다.//e..
로그인 로직app.post("/login", (req, res) => { console.log(req.body); //userId, pwd //userId가 db에 저장된 회원인지 const { userId, password } = req.body; var loginUser = {}; db.forEach((val) => { if (val.userId == userId) { loginUser = val; } }); //userId 값을 못찾으면 if (loginUser == {}) { console.log("아이디같은거찾음"); //pwd 맞는지 비교 if (val.password === password) console.log("비번 같다"); els..
핸들러 handlerhttp request 가 날아오면 자동으로 호출되는 메소드노드 : 콜백함수로, app.HTTPMETHOD(path, 핸들러)*스프링 : 컨트롤러 *부정문보다, 긍정문으로 조건문을 시작하면 조금더 클린코드와 가깝다!`!youtuber` → `youtuber` 예외처리map 객체가 아닌 arr 로 객체 생성했을때?let findFruit = fruits.find((val) => val.id == id); [id]로 찾으면, 객체는 배열 형식으로 생서되었기 때문에 id 값이 아닌, 인덱스 값으로 탐색하게 된다.원하는 id값을 가진 객체를 호출하기 위해서 `.find()`메서드로 배열 안을 탐색해서 값을 찾아낸다. findFruit? res.json(findFruit) : res.statu..
전체조회Map이 key-value 쌍으로 생성되어도, JSON형식으로 바로 브라우저에 보낼수는 없다. 입력정제가 필요하다~ forEach() 자바스크립트 함수`JSON.stringify` 메소드 : app.get("/youtubers", (req, res) => { let youtubers = {}; db.forEach((val, key) => (youtubers[key] = val)); res.json((youtubers));}); for + each " 개선된 for문"배열 + 일반적 사용까지 확대객체(배열)에서 요소를 하나 꺼낸 다음 매개변수로 그 요소를 전달하여 호출하는 콜백함수const arr = [1,2,3,4,5];arr.forEach((val, idx, all)=>console.log..
http 메소드 postex. 회원가입post는 url이 아니고 숨겨서 body에 담아서 전송하게 된다.웹 브라우저에서 확인할 수 없고, Postman에서 테스트를 돌려서 확인할 수 있다. Postman API Platform | Sign Up for FreePostman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.www.postman.compc에 설치해서 사용하는 것을 권장한다. 웹 버전에서는 불가능한 기능이 많기 때문! Postman여러 메서드(GET,..
🙌문제설명양의 정수 `n`이 주어집니다. 이 숫자를 `k`진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다.`0P0`처럼 소수 양쪽에 0이 있는 경우`P0`처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우`0P`처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우`P`처럼 소수 양쪽에 아무것도 없는 경우단, `P`는 각 자릿수에 0을 포함하지 않는 소수입니다.예를 들어, 101은 `P`가 될 수 없습니다.예를 들어, 437674을 3진수로 바꾸면 `211`0`2`01010`11`입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, 총 3개입니다. (211, 2, 11을 `k`진법..
string만 담던 MapKey (id)Value (productName)1"notebook" / 10000002"cup" / 130003"chair" / 2100004"diary" / 26000문자열 + 부가 정보들(가격)let db = new Map();let nodebook = { productName: "notebook", price: 1000000,};let cup = { productName: "cup", price: 13000,};let chair = { productName: "chair", price: 210000,};let diary = { productName: "diary", price: 26000,};db.set(1, nodebook);db.set(2, cup);db..
닷다라다나닷
닿망징창 여정