분류 전체보기 40

[Javascript] 객체, 배열 정리

배열 push, pop, shift, unshift let arr = new Array(); let arr_1 = new Array(5); // empty array 5 let arr2 = []; arr.push('a'); // 맨 뒤에 추가 arr.push(1); arr.push({name: 'hello'}); arr.unshift(10); // 맨 앞에 추가 arr.pop(); // 맨 뒤 arr.shift(); // 맨 앞 splice, slice arr.splice(2,1,6,7,8); // 인덱스 2부터 1개 삭제, 그 자리에 6,7,8 추가 arr.splice(3); // 인덱스 3부터 끝까지 삭제, 삭제한 배열 리턴 let newArr = arr.slice(1, 4); // 인덱스 1~3 요..

개발 2023.05.08

[크롬 브라우저 하드웨어 가속] Udemy 화면 재생 안될 때

맥북으로 유데미 강의를 듣는데, 아무래도 들으면서 실습을 하거나 필요한 자료 찾으려면 아이패드랑 미러링 해서 보는 게 훨씬 편해서 미러링을 했더니 화면이 그냥 검은 화면만 나오고, 소리와 자막만 재생되었다. 처음엔 그게 미러링 탓인줄도 모르고, 그냥 동영상 재생이 안되길래 당황했는데, 알고보니 미러링 때문이었다... 아마 영상 캡쳐로 인식하거나 그런 것 같다. 케이블 연결도 시도해보고 했는데, 찾아보니 https://business-support.udemy.com/hc/ko/articles/115005369487-%EB%8F%99%EC%98%81%EC%83%81-%EC%9E%AC%EC%83%9D-%EB%AC%B8%EC%A0%9C 이 링크에서 '브라우저 하드웨어 가속 설정' 을 해제하라고 해서 시도해봤다...

개발 2023.05.08

[230427] css box-sizing, <section><div><article> 차이점

CSS 자식 컴포넌트가 부모 컴포넌트 width를 넘어서서 검색으로 -webkit-fill-available을 사용했는데, box-sizing 속성을 지정해주어서 해결됐다. box-sizing https://developer.mozilla.org/ko/docs/Web/CSS/box-sizing#css 한 페이지에 div 를 너무 무지성으로 나누는 거 아닌가, 뭔가 구분을 둬야 할 것 같아서 찾아봤다. 차이점 - 의미적 차이 https://velog.io/@yunsungyang-omc/html-%EB%8C%80%ED%91%9C%EC%A0%81%EC%9D%B8-%EB%B8%94%EB%9D%BD%EC%9A%94%EC%86%8C-%EB%B9%84%EA%B5%90-arcicle-section-div (html) ..

개발/TIL 2023.04.27

[230424] Angular - Observable subscribe, Router, ActiveRoute

Observable lazy loading Observable: 변화하는 데이터 소스들 ex) (user Input)events, HTTP Requests, triggered in Code... Observer: 관찰자, 코드의 다른 부분들 비동기 데이터를 다루는 새로운 표준 lazy하다. 각 이벤트에 subscribe 하면, 구독한 관찰자에게만 보내진다. ngOnDestroy에서 unsubscribe 해줘야함 : 안하면 메모리 누수! promise = 오직 하나의 값만 반환 observable = 구독을 하거나 취소하는 등 직접 관리. 앵귤러 라우팅 객체 (gpt 답변) Router: Router 클래스는 라우팅과 관련된 주요 동작을 제공하는 핵심 클래스입니다. navigate, navigateByUr..

개발/TIL 2023.04.24

[230421] 변수 바인딩 event 주의, 컴포넌트 구분, routerLink

오늘 할 일 : 버그 픽스 끝내기, 다른 페이지 수정 완료하기 버그 픽스는 끝냈고, 그룹 부분 수정 중복되는 코드가 많은데, 하나로 묶거나 추상화 하기에도 애매한 것 같다, 일단 Service에서 관리할 로직과 데이터, 그리고 컴포넌트에서 직접 관리할 로직과 데이터를 잘 생각해서 구분한 뒤에 중복되거나 재사용이 가능한 부분을 정리해서 따로 빼서 만들어야 할 것 같다. 지금은 그걸 정리 안한 채로 섞어서 사용해서 많이 헷갈리게 된 것 같다. search 나 sorting 은 서비스로 따로 빼기 데이터 다루는 부분도 한번 정리하기 굳이 양방향 바인딩이 아니어도 되는, 단방향이어도 되거나 바인딩이 필요 없는 변수에 바인딩을 주면, 쓸데없는 이벤트 훅이 돌 수도 있으므로 주의해야 함! ngOnChages() 이..

개발/TIL 2023.04.21

[230420] 데이터 추상화, Angular 라이프사이클

중복된 코드가 너무 많다. 예쁘게 함수로 만들고 중복 없이 사용하고 싶은데, 아직 코드가 너무 중구난방이라 어렵다. 오늘 목표: 다른 페이지 다 정리해서 PR 올리기, 서비스 상속 알아보기 서비스 부분 강의 다시 들어야겠다. 아니면 다른 방법 있는지 좀 더 알아봐야겠다. 기능 제대로 확인 안하고 머지해버렸다! 이게 말이 되냐고,,, 정신차리자 추상화된 데이터모델 T에 무조건 test라는 속성은 있었으면 좋겠다면? export interface Selected { selected: boolean } export interface T extends Selected { // ***** 요소 추가 } 근데 T가 정해지지 않은 추상화인데,,, 저러면 그냥 인터페이스를 만드는거 아닌가? 다시 찾아봐야겠다. ngDo..

개발/TIL 2023.04.20

[230418] Service 상속, 추상화

Service 파일을 만들어서 구현했는데, 같은 동작을 하는 파일들이 많아져서 중복되는 코드가 많아졌다. 불-편 해서 챗GPT에게 물어보니 service도 클래스를 추상화해서 그 추상 클래스를 상속받아 구현할 수 있다고 한다. 내가 원하는 기능이 가능할지는 모르겠지만, 그게 된다면 좋은 방법인 것 같다. contents -a -b -c -d 각 a, b, c, d가 비슷한 service(정렬, 검색, 페이지네이션 등)를 가지고 있으니까, ContentsService를 만들어서 상속을 시켜주면 되지 않을까 싶다. 그치만 의문점: search를 각각 자식클래스에서 구현해야 한다. 그러면,,, search 기능만 컴포넌트로 뺄 수가 있나? 헤더 컴포넌트를 따로 뺐다가 결국 합쳤는데, 그 부분이 구현이 되는지 ..

카테고리 없음 2023.04.18

[230417] Angular Service, Component

컴포넌트별로 나누어서 개발하여 재사용에 용이하게 함 MVC(Model-View-Controller)모델 ng generate component test ng g c test ng g c test --skip-test // spec.ts 없이 생성 ng g c test/sub-test // test 폴더 아래에 생성 test.component.ts test.component.scss test.component.html test.component.spec.ts // 테스트용 파일이라 사용하지 않음. 네 개의 파일이 생성됨. 기본적으로 …/src/app/ 아래에 폴더 생성 후 생성된다. app-root import { Component } from '@angular/core'; @Component({ sele..

개발/TIL 2023.04.18

[프로그래머스] 전화번호 목록(C++)

[Level2, 해시] 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습..

개발/알고리즘 2023.03.28

[Git] git reset vs revert

reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다. revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다. reset git reset --hard (돌아갈 커밋 해시) 돌아갈 커밋 해시 위치로 돌아간 후, 그 커밋 이후의 내용과 커밋들은 전부 삭제한다. 커밋 해시는 `git log` 를 통해 확인 가능 hard : 해당 커밋 이후의 내용과 커밋들을 모두 삭제하고, 변경사항도 모두 삭제. mixed: 해당 커밋 이후의 커밋은 삭제하고, 변경된 내용은 staging 해놓음. soft: 해당 커밋 이후의 커밋은 삭제하고, 변경된 내용은 working directory에 남아있음. 🚨reset 으로 날아간 파일 살리기 git reflog reflog 는 프로젝트가 위치한 커밋이 바뀔 ..

개발 2023.03.28