👩🏻‍💻 TIL 55

기업협업에서 배운 것 정리

Original 변경 사항을 Fork 리파지토리에 반영하기 Fork 리파지토리의 변경은 pull request를 통해 Original에 반영할 수 있지만, 역으로 Original에서 변경된 사항을 내 Fork 리파지토리에 반영해야 할 필요가 있는 경우도 있을 것이다. Fork 리파지토리 입장에서 바라본 Original 리파지토리는 upstream이라고 부르는데, 로컬에서 자신의 원격을 origin으로 인식하듯, Original 참조시에는 upstream을 사용하면 된다. upstream을 인식할 수 있도록 다음과 같이 등록하자. (Original의 GitHub URL 주소를 등록) $ git remote ## remote로 등록되어 있는 저장소 주소를 보여줌 origin $ git remote add u..

👩🏻‍💻 TIL 2022.01.17

GraphQL

GraphQL 서버는 스키마를 사용하여 사용가능한 데이터의 형태를 설명한다. 이 스키마의 계층 구조 정의 type 과 field 는 백엔드 데이터 저장소로부터 채워진다. 스키마는 또한 클라이언트가 실행할 수 있는 query와 mutation 을 정확히 지정한다. 이 포스트는 스키마의 기본 구성 요소와 GraphQL 서버용 구성 요소를 만드는 방법에 대해 설명한다. GraphQL 사양은 인간이 읽을 수 있는 스키마 정의 언어인 SDL 을 정의한다. 이는 너가 너의 스키마를 정의하고 그것을 string 으로써 저장하는 것을 의미한다. type Book { title: String author: Author } type Author { name: String books: [Book] } 이런 형식.. # Th..

👩🏻‍💻 TIL 2022.01.04

쿼리 루트 타입, mutation

const typeDefs = gql` type Query { // 쿼리 루트 타입이라고 한다 teams: [Team] } type Team { // 여긴 그냥 타입 id: Int manager: String office: String extension_number: String mascot: String cleaning_duty: String project: String } ` const resolvers = { Query: { teams: () => database.teams } } 이 쿼리 루트 타입에서는 어떤 형식으로 들어오고 어떤 형식으로 반환될 지가 정의되어있다. teams 이라는 쿼리가 오면은 Team 이라는 데이터가 여러개 복수로 반환된다는 의미이다. 그니까 teams 라는 쿼리를 날리면 ..

👩🏻‍💻 TIL 2022.01.01

ORM - prisma

이 포스트에서는 ORM 의 기본적인 개념과 장단점을 설명하고 Prisma 의 장단점에 대한 내용을 다룹니다. ORM 프리즈마를 알기 전에 ORM 에 대해서 먼저 알아보자. ORM (Object-relational mapping) 은 DB 데이터(스키마)를 객체로 매핑해주는 역할 모델링된 객체와 관계를 바탕으로 SQL 을 자동으로 생성해주는 도구 ORM 이란? 다시 말해서,,, ORM (object-relational mapping) 이란 객체(클래스)와 관계(관계형 데이터베이스) 와의 설정을 의미한다. 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터베이스는 테이블을 사용한다. 여기서 객체 모델과 관계형 모델 간에 불일치가 존재하는데 이 객체간의 관계를 바탕으로 SQL 을 자동 생성하여 불일치를 해..

👩🏻‍💻 TIL 2021.12.31

2021_12_26_TIL

git rebase -i main 맨 상단만 pick 하고 나머지 커밋은 s 로 남겨둔다. 그 다음 에디터가 떴을 때, 남기고 싶은 커밋 메시지만 남긴 후 나머지 커밋 메시지는 지워준다. 보통 마지막 커밋 메시지를 남김 (커밋을 깔끔하게 하나로 관리하기 위한 행위를 하고 있는 중인 것이다.) 그리고 보통 git rebase 를 하기 전에 main 브랜치에서 git pull 해주는 것은 필수이다. 또한 현재 작업하고 있는 브랜치로 가서 "git rebase -i master" 명령어로 git merge 와 같은 역할을 해줘야 브랜치가 최신 상태로 업그레이드 된다.

👩🏻‍💻 TIL 2021.12.26

2021_12_19_TIL

이번 주 할일 페이지네이션 실습 영상 보기 - (월)까지 이력서 - (월)까지 소셜 로그인 통신 - (월)까지 상세페이지 라우팅 장바구니 담기 기능 구현 (상품 id, 수량) 리뷰 달기 기능 구현 (페이지네이션) 이번 주는 금요일에 git rebase 를 안보고 명령어를 쳐봤다가 대형 사고가 일어나서 git reset 을 10번 사용했고 이마저도 정상적으로 작동이 안되는 것 같아서 멘붕이 되었다. 주말에 천천히 기능 구현이나 해볼까 했더니 git rebase 와 몇시간 동안 씨름했다.... 결국엔 모든걸 바탕화면에 백업하고 완전 초초초초초초기 상태로 돌아갔다.... 그리고 branch 를 삭제해버리고 강제로 push... (아 이거 강제로 push 해도 될란지 모르겠다.) => 원래 하는거였다! 암튼 이..

👩🏻‍💻 TIL 2021.12.19

2021_11_18_TIL

원격 저장소에서 로컬 저장소로 소스를 가져오는 명령어 pull fetch fetch 와 pull 의 차이는 가져온 소스를 merge 하느냐 안하느냐의 차이 pull과 fetch의 차이는 무엇일까? git pull: git remote 명령을 통해 서로 연결된 원격 저장소의 최신 내용을 로컬 저장소로 가져오면서 병합한다. git push의 반대 성격이라 생각하면 된다. git fetch: 로컬 저장소와 원격 저장소의 변경 사항이 다를 때 이를 비교 대조하고 git merge 명령어와 함께 최신 데이터를 반영하거나 충돌 문제 등을 해결한다. 일반적으로 브랜치를 만들지 않고 혼자서만 작업하면서 Git과 Github를 사용한다면 pull과 fetch를 사용할 일이 거의 없을 것이다. 하지만 대체적으로 Git을 ..

👩🏻‍💻 TIL 2021.11.18

2021_11_14_TIL

위코드 2주차....바쁘게 지나간 일주일이었다. 나는 이 일주일을 기록해보고 회고해보고자 한다. 월 - 금 우선 이번 주 중점적으로 했던 일은 HTML + CSS + JS 로 인스타그램을 따라 만들어 보는 것이다. 아래는 결과물이다. 인스타그램을 따라 만들면서 느꼈던 생각은... 역시 난 프론트엔트 개발자가 적성에 맞는다는 느낌이었다. 기능 하나하나를 구현하고 원하는 대로 결과가 이루어질 때마다 희열이 느껴졌다. 사실 나는 HTML 과 CSS 가 좋아서 프론트엔드 개발자가 되기로 맘 먹은 거였는데 JS 로 기능을 구현할 때, 내가 이런 기능을 구현하려면 어떤 순서와 절차가 필요할까? 내가 빼먹은 순서, 절차가 있는가? 그게 화면에서 구현이 잘 되어지는가? 이렇게 수학 문제를 푸는 느낌이고 직접적으로 해결..

👩🏻‍💻 TIL 2021.11.14

git - branch 사용법

깃(Git) 에서 브랜치(branch) 를 사용하는 방법에 대해서 알아보자. 깃(Git) 은 동시에 여러 개발자들이 프로젝트에서 각기 다른 기능을 개발할 수 있도록 브랜치 기능을 제공한다. 각자 각기의 작업공간에서 작업하므로 서로에게 영향을 주지 않는다는 면에서 서로 다른 개발 작업을 수행할 수 있다. 브랜치의 기본 동작과정 기본적으로 Git 저장소를 만들면 자동적으로 마스터 브랜치가 생성이 되는데, 이 브랜치는 일반적으로 배포가 가능한 수준의 안정화된 버전을 포함하고 있다. 마스터 브랜치는 항상 안정화되고 배포가 가능한 상태여야 한다. ↓ 즉, 합치기(Merge) 가 수행되기 전까지는 안정적으로 배포가 이루어지고 있다가, 모든 기능이 합쳐진 이후에 또 다시 배포할 수 있으므로 개발의 안정성이 매우 뛰어..

👩🏻‍💻 TIL 2021.11.10