분류 전체보기99 [node.js + MongoDB] 왕초보도 할수있는 윈도우에 몽고DB 설치하기 + Studio 3T 설치 및 사용법 + 부록) node.js 와 설치한 몽고db 연결 이 글은 회사의 요청으로 몽고디비를 다루게 된 비운의 디자이너 친구를 위해 쓰였습니다. 몽고DB : 윈도우에서 사용할 몽고DB 프로그램 Studio 3T : 몽고DB를 편하게 다룰수 있게 해주는 프로그램 몽고DB 설치 Studio 3T를 사용하기 위해서는, 윈도우에 몽고DB가 설치되어 있어야 한다. 왜냐하면 스튜디오3T가 몽고db를 다루는 프로그램이기 때문이다. 아래 주소에 들어가서 다운받는다. 몽고db 다운 주소 : https://www.mongodb.com/try/download/enterprise Try MongoDB Enterprise Advanced Try MongoDB Enterprise Advanced on premise non-relational database including the E.. mongoDB/mongoDB 설치 및 node.js 연결 2022. 12. 30. [프로젝트 기획 - 풀스택] 포트폴리오 소개 Figma 프로토타입과 ERD 포트폴리오 소개 웹 - 풀스택 프로젝트 블로그는 토이 프로젝트들을 자세히 소개하는 공간으로 사용하고, 간단히 프로젝트들을 미리보기하며 바로 호스팅 페이지로 이동할 수 있는 포트폴리오 전용 웹 프로젝트를 제작하려 한다. 이를 위해 사용할 툴을 정리하고, 피그마로 와이어프레임을 만들었다. 또한 Figma에서 제공해주는 미리보기 툴을 사용해 프로토타입 링크를 제작하였다. 사용할 툴 Frontend - React Backend - Node.js Exrpess DB - MongoDB Server - AWS S3(이미지 호스팅) , 배포는 AWS EC2 또는 Cloud type 이용 예정 Figma 와이어프레임 회원가입, 로그인, 방명록 작성 및 수정, 삭제, 방명록 리스트 보기, 관리자가 업로드한 프로젝트 캐로셀.. 프로젝트/프로젝트 기획 2022. 12. 29. [Git] git branch 사본을 만들어주는 git branch 앞서 git status를 실행할 때마다, On branch master이라는 문구가 늘 출력되었음을 볼 수 있다. 여기서 branch란 무엇일까? 교과서적으로 브랜치(branch)는 '독립적으로 어떤 작업을 진행하기 위한 개념' 이라고 한다. 그러나 이렇게 말하면 이해하기 어렵다. 로그인, 회원가입 보일러 플레이트를 만든다고 가정해보자. JWT를 이용해 회원가입과 로그인을 구현하던 어느날, 아, 'passport라이브러리를 사용하게 수정해보고 싶은데..' 라고 생각하게 되었다. 그런데 만일 작업이 잘못되어 이전으로 돌아가야 할 상황이 생기면 어떻게 해야할까? passport 라이브러리를 사용해 코드를 수정하기 전, 모든 파일을 복사하여, 복사한 파일의 코드를 수정하.. GIT 2022. 12. 29. [Git] git diff 변경 내용을 보여주는 git diff 커밋은 터미널 명령어로 할 수 있지만, VsCode를 사용하면 깃 전용 메뉴를 이용해 GUI로 처리할 수도 있다. +버튼을 누르면 add를 실행해주고, - 버튼을 누르면 resotre를 실행해준다. 체크 버튼을 누르면 스테이징한 파일들이 커밋된다. commit 메세지를 '텍스트 두번째 줄 추가' 로 주고, 체크버튼을 눌러 commit 해 주었다. git log -all --online을 이용해 전체 깃로그를 확인해보니 커밋이 정상적으로 되었음을 알 수 있다. [ git diff ] 는 commit 전, 이전과 현재의 코드가 어떤 차이점이 있는지를 알려주는 명령어이다. 텍스트파일에 diff를 알아보기 위해 문장을 추가하고, 저장한 뒤 add와 commit을 실행하지 않.. GIT 2022. 12. 29. [Git] 깃 설치와 git add , git commit, git restore Git 개발자의 기본 소양이라 할 수 있는 Git을 사용해본다. 깃을 사용하기 위해서는 먼저 Git 프로그램을 다운받아야 한다. 공식 사이트 : https://git-scm.com/downloads 깃을 사용하기 위해 작업 폴더를 생성했다. 이 폴더에서 shift+우클릭을 하여 파워쉘을 연다. git을 사용하기 전에 git config를 이용해 설정을 해놓아야 하기 때문이다. git config —global 은 git의 전역 설정이며, 이메일과 닉네임은 커밋을 누가 작성했는지 표시하기 위해 작성한다. git config --global user.email "이메일" git config --global user.name "닉네임" 에디터(VsCode 사용함)로 폴더를 오픈한 다음, 새 터미널을 만들고 [.. GIT 2022. 12. 29. [MySQL] 12. ERD ( 개체 관계 다이어그램 ) 학교를 다니며 과제로 지겹게 했던 ERD... 나는 이걸 컴공생들만 주구장창 하고 나오는줄 알았는데 알바를 하며 알게된 언니가 국비생들도 이걸 무조건 그리게 시킨다고 말했다. 그래서 서로 신기해했다.ㅋㅋ(사실 DB를 배우면 누구나 하는거일텐데도 그냥 알바가 빡세서 무슨 이야기든 재밌었던것 같기도 하고...) 언니는 개발자로 벌써 일을 하고 있는데 난 아직도 디자인의 길을 벗어나지 못했다니.. 내년엔 얼렁 들어가기로ㅠ 개체-관계 다이어그램(Entity-Relationship Diagram) ERD는 데이터 모델을 그림으로 표현한 것이다. 실제 DB를 프로그램에 만들기 전인 설계 단계에서 거치는 과정으로 각 테이블과 테이블의 관계를 그림으로 나타내 그린다. 처음 만든 보일러 플레이트가 너무 형편없었기 때문에.. SQL 2022. 12. 28. [MySQL] 11. Trigger Trigger Trigger(트리거)는 테이블 내 데이터가 변동되는 작업인 INSERT, UPDATE, DELETE가 실행될 때 자동으로 함께 실행되는 코드를 의미한다. 실습을 위해 trigger_mart라는 새로운 DB를 셍성하고, school과 student라는 테이블을 추가해 주었다. school은 반이름과 공석이 저장되며 기본값으로 20이라는 공석의 값을 주었다. 학생은 auto_increment를 활용해 학생이 한 명 추가될 때마다 학생 번호가 1씩 늘어난다. CREATE TABLE trigger_mart.school( 반이름 varchar(100) 공석 int DEFAULT 20 ); CREATE TABLE trigger_mart.student( 학생이름 varchar(100), 학생번호 in.. SQL 2022. 12. 27. [MySQL] 10. Transaction Transaction Transaction(트랜잭션) 이란, 데이터베이스의 상태를 바꾸기 위해 수행하는 작업의 단위를 뜻한다. 따라서 쿼리 명령어들은 각각 하나의 트랜잭션이라고 할 수 있다. 트랜잭션 문법은 DB의 내용을 직접적으로 수정하는 여러 쿼리문을 실행할 때, 최소 하나라도 에러가 발생하는 경우 전체 쿼리문을 취소할 수 있도록 도와준다. 문법과 수행 로직은 아래와 같다. START TRANSACTION; -- 트랜잭션(한개의 작업)을 시작한다. 쿼리 내용 COMMIT; -- 문제가 없을 경우에만 모든 코드를 실행한다. ROLLBACK; -- 만일 에러가 발생하면 트랜잭션을 실행하기 전 상태로 되돌린다. 1. START TRANSACTION을 만나면 트랜잭션(한개의 작업)을 시작한다. 2. 쿼리 내.. SQL 2022. 12. 27. [MySQL] 9. INDEX INDEX 인덱스는 검색의 효율성을 증대시키기 위해 사용한다. PK(Primary Key)는 자동으로 index가 생성되어 있기 때문에 PK 컬럼은 인덱스를 따로 만들어 줄 필요가 없다. 따라서 인덱스는 기본키가 아닌 일반 컬럼들의 탐색 속도를 위해 존재한다. 그러나 index는 생성 시마다 하드의 용량을 차지하게 되기 때문에, 너무 많이 만들 경우에는 오히려 성능이 떨어질 수 있다. 예시로 사용한 csv 파일은 이곳에서 다운받는다. : https://www.data.go.kr/data/15053384/fileData.do 대전광역시_유성구_구즉도서관도서목록_20221027 대전광역시 유성구 구즉도서관에서 보유하고 있는 도서목록 정보(소장처, 자료실, 등록번호, 설명, 저자, 출판사, 출판년, 청구기호 .. SQL 2022. 12. 27. [MySQL] 8. 날짜 데이터 (datetime Data type과 now(), data_format(날짜,포맷형식)) MySQL에서의 날짜 데이터 사용 데이터 타입이 날짜(datetime)인 날짜 데이터를 사용해본다. user 테이블의 joinDate를 datetime으로 바꾸어주고, 데이터를 형식에 맞게 INSERT INTO 해 주었다. 지정한 날짜 '이후'의 데이터를 출력하려면 문자열과 같이 부등호 기호를 사용해주면 된다. joinDate > '날짜' 를 해주면, 해당 날짜 이후의 데이터를 조회한다. 날짜1과 날짜2 사이의 값은 AND 또는 BETWEEN 날짜1 AND 날짜2 또는, WHERE 조건>날짜1 AND 조건< 날짜2 를 사용한다. 3월 23일에 가입한 사람의 데이터만 출력하는 쿼리를 작성해 보았다. now() now()를 사용하면 오늘 날짜와 시간을 알 수 있다. 이때 now()에 파라미터로 숫자값을 줄 .. SQL 2022. 12. 26. [MySQL] 7. FUNCTION FUNCTION SQL에는 프로시저와 비슷한 기능으로 FUNCTION이라는 것이 존재한다. 직역하면 '함수'라는 뜻인데, js에서의 function과 같은 역할을 한다. 프로시저가 자주 사용되는 쿼리문을 작성하는 함수라면, Function은 자주 사용되는 계산식을 작성해 재사용하는 함수이다. Function은 프로시저와 다르게 CALL 없이 함수이름(파라미터);로 호출하여 바로 사용할 수 있다. RETURN문을 사용해 반환할 값을 지정해 줄 수 있으며, 이때 RETURN 할 값의 타입을 RETURNS 옆에 기재해 주어야 한다. Function을 작성할 때 필요한 데이터 특성 옵션으로는 DETERMINISTIC, NO SQL, READS SQL DATA, MODIFIES SQL DATA 이 있는데 공식 문.. SQL 2022. 12. 26. [MySQL] 6. 프로시저(stored procedure)와 추억 프로시저에는 개인적으로 특별한 추억이 있다. 대학교 3학년, 전과를 결심하고 처음으로 신청한 수업 중 하나가 DB수업이었다. 오라클 SQL Developer를 사용한 수업이었는데 나만 3학년이고 나머지는 모두 1,2학년이었다. 게다가 과도 조경과라고 되어있으니(전과 신청 학기라 전과는 다음학기에 실반영되었다) 교수님이 출석 부를때마다 나를 아주 신기하게 쳐다봤던 기억이 있다.ㅎㅎ 당시의 나는 설치부터 막히는 사람이었기 때문에.. 질문을 마구마구 쏟아부었는데 가끔 너의 열정에 지친다고 하셨었다(ㅋㅋㅋ). 그때가 안식년 직전이셨어서 지금은 은퇴하셔서 학교에 찾아가도 이제는 뵐 수 없게 되었다. 올해 7월에 서울에 있는 개발사 면접 제안을 주셨을때 갈 수 있었다면 참 좋았을걸, 망할 코로나로 2달내내 입원해있.. SQL 2022. 12. 26. 이전 1 2 3 4 5 6 7 ··· 9 다음