일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 서구맛집
- 걷기
- 비전공자개발자이야기
- 유연성
- 칼국수맛집
- 달리기
- 코로나19
- 마라탕맛집
- SementicTags
- TypeORM
- 근지구력
- 인천맛집
- 다이어트
- 청라맛집
- 아이들이 좋아하는
- SementicWeb
- 근력
- 심박수
- 에너지원
- 송도커낼워크
- 심폐지구력
- 부평파스타맛집
- 바이러스
- 무궁화분식
- HTML
- 탄수화물
- 시맨틱태그
- 조깅
- K 디지털 크레딧
- 막창맛집
- Today
- Total
목록전체 글 (139)
songin.dev님의 블로그
프로젝트 소개 취미 여가 공유 플랫폼 프립 웹사이트를 모티브로 한 프로젝트 누구나 호스트가 되어 자신의 취미와 여가생활을 상품으로 등록하여 판매할 수 있고, 다양한 취미, 여가 프로그램에 참여할 수 있다. 개발인원 Frontend : 3명 Backend : 3명 내가 맡은 역할 PM ERD 설계 메인페이지 조회 API 구현 리스트페이지 조회, 필터링 API 구현 KPT 회고 KEEP Daily Standup Meeting을 만족스럽게 진행하였다. Trello를 이용한 티켓관리를 잘 수행하였다. Frontend와 Backend 팀원간의 소통이 원활하게 진행될 수 있도록 노력했고, 소통이 잘 이루어졌다. 메인페이지, 리스트페이지, 필터링 등 API 기능을 구현하면서 MySQL query문 작성능력이 향상되었..
JSON_ARRAYAGG와 JSON_OBJECT JSON_ARRAYAGG JSON_ARRAYAGG는 원하는 항목을 JSON ARRAY로 추출한다. JSON_OBJECT JSON_OBJECT는 원하는 항목을 JSON OBJECT로 추출한다. 구현하고자 했던 로직 내가 구현하고자 했던 로직은 카테고리에 들어갔을 때 보여지는 리스트에 대한 데이터를 GET 요청이 들어오면 깔끔하게 정리해서 보내주는 것이였다. Frontend 팀원 요청에 따라 maincategory에 name은 하나의 key값과 value값으로 subcategory와 products는 각각의 key 값 안에 배열에 객체 형태로 데이터를 담아서 보내주기로 하였다. JSON_ARRAYAGG 안에 JSON_OBJECT를 담아 JSON_OBJECT 안..
프로젝트 소개 아디다스 스포츠 브랜드 아디다스 커머스 사이트 클론 코딩 개발인원 Frontend : 3명 Backend : 2명 내가 맡은 역할 ERD 설계 회원가입 및 로그인 API 구현 위시리스트 API 구현 장바구니 API 구현 KPT 회고 KEEP 적극적으로 나서서 매일 아침 Planning Meeting을 주도하고, 프로젝트가 끝난 후 진행됐던 회고 미팅에서도 나의 제안으로 서로의 좋았었던 점과 아쉬웠던 점을 서로 이야기했던 것이 좋았다. 프로젝트 진행과정을 Trello, notion 등을 이용해 기록하였던 것이 원활한 팀 소통에 도움이 되었다. PROBLEM Treelo에 비해 notion은 정돈이 잘 안된상태로 관리되다보니 자료를 찾기가 어려웠다. 역할 배분이 매끄럽지 못했던 것 같다. CR..
git branch 작업 팀 단위로 프로젝트를 진행할 때 깃허브를 이용해서 개인의 작업공간(branch)을 가지고, 중간 작업물을 공유하며 최종 작업물을 main branch에 병합(merge)하게 된다. 보통 기업에서 프로젝트 진행시 main branch merge의 권한은 CTO 혹은 리드개발자가 갖게 되며, 일종의 회사에서 서류를 결재받는 내용과 비슷하다.(기업에서 일해본적은 없음..) git branch 작업 순서 main branch 내려받기 git clone [REPO_URL] [DIR] 보통 main branch에는 기본적인 환경세팅을 마친 작업 파일이 담겨져 있다. main branch 파일을 내려받아 각자가 맡은 영역을 자신만의 branch를 만들어 작업을 수행하게 된다. [REPO_UR..
SQL SQL (Structured Query Language)은 구조적인 질의 언어라는 뜻이다. SQL 이라는 질의 언어를 통해서 데이터베이스를 제어, 관리한다. SQL statements에는 DDL, DML, DQL이 있다. DDL DDL (Data Define Language)은 Schema 내의 객체를 정의하고 관리할 때 사용되는 쿼리문을 의미합니다. CREATE, ALTER, DROP이 대표적인 DDL입니다. 이 외에도 DELETE, TRUNCATE, RENAME이 있습니다. CREATE : 스키마 및 테이블 생성 ALTER : COLUMN(열) 변경, 추가, 삭제, 수정 DROP : Table 삭제 DELETE : Table 내의 데이터 삭제 TRUNCATE : 모든 ROW(행)의 데이터와 존..
Scope Scope란? scope은 JavaScript의 문법이 아니다. JavaScript에서 scope란, '변수가 어디까지 쓰일 수 있는지'의 범위를 의미합니다. is not defined 변수가 아직 선언되지 않았다는 뜻입니다. 변수는 let, const, var 등으로 선언할 수 있으며, JavaScript가 변수를 선언한 영역(block)에 접근할 수가 없다면 is not defined와 같은 에러 메시지를 나타내게 됩니다. 변수가 선언된 위치에 따라 어디서든 활용 될수도, 특정한 영역 내에서만 사용될 수도 있습니다. 이러한 개념이 바로 scope입니다. Block scope을 더 파헤치기 전에 먼저 알아야할 개념은 block입니다. 우리는 function 과 if 문, for..
시맨틱 웹(Sementic Web) 시맨틱 웹(Semantic Web)은 '의미론적인 웹'이라는 뜻으로, 현재의 인터넷과 같은 분산 환경에서 리소스(웹 문서, 각종 파일, 서비스 등)에 대한 정보와 자원 사이의 관계-의미 정보(Semanteme)를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 프레임워크이자 기술이다. 웹의 창시자인 팀 버너스 리가 1998년 제안했고 현재 W3C에 의해 표준화 작업이 진행 중이다. 출처 : 시맨틱 웹 - 위키백과 시맨틱 웹은 웹에 존재하는 수많은 웹페이지들에 메타데이터를 부여하여, 기존의 잡다한 데이터 집합이었던 웹페이지를 ‘의미'와 ‘관련성'을 가지는 거대한 데이터베이스로 구축하고자 하는 발상이다. 시맨틱 태그..
클로저 function outerFunc() { var x = 10; var innerFunc = function() { console.log(x); } return innerFunc; } var inner = outerFunc(); inner(); // 10 outerFunc 실행 컨텍스트는 사라졌지만, outerFunc 변수 객체는 여전히 남아있고, innerFunc의 스코프 체인으로 참조되고 있다. 이것이 자바스크립트에서 구현한 클로저라는 개념이다. 이미 생명 주기가 끝난 외부 함수의 변수를 참조하는 함수를 클로저라고 한다. function outerFunc(arg1, arg2) { var local = 8; function innerFunc(innerArg) { console.log((arg + ..
스코프 체인 자바스크립트 코드를 이해하려면 스코프 체인의 이해는 필수적이다. 이를 알아야, 변수에 대한 인식 메커니즘을 알 수 있고, 현재 사용되는 변수가 어디에서 선언된 변수인지 정확히 알 수 있기 때문이다. 자바스크립트에서는 함수 내의 {,} 블록은, 이를테면 for() {}, if {}와 같은 구문은 유효 범위가 없다. 오직 함수만이 유효 범위의 한 단위가 된다. 이 유효 범위를 나타내는 스코프가 [[scope]] 프로퍼티로 각 함수 객체 내에서 연결 리스트 형식으로 관리되는데, 이를 스코프 체인이라고 한다. 전역 실행 컨텍스트의 스코프 체인 var var1 = 1; var var2 = 2; console.log(var1); // 1 console.log(var2); // 2 위의 예제 코드는 함수..
실행 컨텍스트 개념 실행 가능한 자바스크립트 코드 블록이 실행되는 환경 console.log('This is global context'); function ExContext1() { console.log('This is ExContext1'); }; function ExContext2() { ExContext1(); console.log('This is ExContext2'); }; ExContext2(); /* This is global context This is ExContext1 This is ExContext2 */ 전역 실행 컨텍스트가 가장 먼저 실행되고, 이 과정에서 새로운 함수 호출이 발생하면 새로운 컨텍스트가 만들어지고 실행되며, 종료되면 반환된다. 이와 같은 과정이 반복된 후, 전역 ..
자바스크립트 프로토타입 체이닝 자바스크립트에서는 클래스 개념이 없다. 대신에 객체 리터럴이나 생성자 함수로 객체를 생성한다. 이렇게 생성된 객체의 부모 객체가 '프로토타입' 객체다. 즉, 상속 개념과 마찬가지로 자식 객체는 부모 객체가 가진 프로퍼티 접근이나 메서드를 상속받아 호출하는 것이 가능하다. 자바스크립트의 모든 객체는 자신의 부모인 프로토타입 객체를 가리키는 참조 링크 형태의 숨겨진 프로퍼티가 있다. 이러한 링크를 암묵적 프로포타입 링크(implicit prototype link)라고 부르며 이러한 링크는 모든 객체의 [[Prototype]] 프로퍼티에 저장된다. 여기서 주의할 점은 함수 객체의 prototype 프로퍼티와 객체의 숨은 프로퍼티인 [[Prototype]] 링크를 구분해야 하는 것..