일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 테스트 코드
- 항해
- 자바스크립트
- 백준
- 알고리즘
- React
- 개발 공부
- webGPU
- typescript
- 개발자
- javascript
- 항해99
- rust
- 보안
- 프론트엔드
- 리뷰
- 성장일지
- 항해 플러스 프론트엔드
- 항해플러스
- 회고
- 성능최적화
- 분기 회고
- React Query
- naver
- FE
- frontend
- 개발공부
- 항해 플러스
- wil
- GPU
- Today
- Total
목록전체 글 (48)
느릿늘있
GIT을 사용하면서 commit 메세지를 작성하는 단계에서 주로 제목에 prefix를 붙이는 편이다. 이렇게 하면 깃 히스토리도 깔끔해져서 가독성이 올라간다. 또한, 내가 한 작업이 정말 한 단위의 작업인지 다시 생각해볼 수 있다. 아래는 대표적인 prefix를 정리한 표이다. 각 팀의 상황에 맞게 변형 혹은 추가하여 사용하면 된다. no. prefix content 1 FEAT 새로운 기능 추가 2 DELETE 삭제 (상세 메세지 작성) 3 FIX 기능과 관련된 수정 4 STYLE 기능과 관련 없는 수정 5 REFACTOR 코드 리팩토링 작업 6 TEST 테스트 코드 관련 작업 7 CHORE 빌드 및 패키징 관련 작업, 잡다한 작업 8 DOCS 코드가 아닌 문서 수정
API에 충분한 수의 유저가 있다면, 명세에서 지정된 것은 아무런 상관이 없다: 시스템에서 관측될 수 있는 모든 행동 양식은 다른 이들에게 달려있을 것이다. — 하이럼 라이트 구글의 개발자 하이럼 라이트가 명명한 법칙이다. API를 작성할 때, 명세에 쓸 내용은 절대로 API의 모든 것을 포함할 수 없다는 사실을 경고한다. API에 기대하는 내용을 문서에 정리하더라도 사용자가 많아질수록 기대하지 않은 방법의 활용이 발생할 것이고 이를 "암묵적인 인터페이스 규약"(되니깐 쓰는 기능)이라고 한다. 서비스가 커질수록 새로운 암묵적인 인터페이스 규약은 계속 생겨날 것이고 이를 (지속적으로, 적은 비용으로) 잘 관리할 수 있는 방법에 대해 고민해보아야 한다. 단순히 문서에 추가하겠다는 생각은 정답이 아니다.
본 게시글은 W3C에 게시된 WebGPU Explainer 글을 학습을 위해 번역한 글입니다. 2. 추가 배경 지식 2.1. 웹 브라우저에 Sandboxed(격리, 은닉, 캡슐화 정도의 의미인 듯) GPU 프로세스 GPU-process 아키텍쳐에서 WebGPU는 반드시 구현가능하고 효율적이어야 합니다. GPU 드라이버는 웹 컨텐츠에 대한 접근보다 추가적인 커널 시스템 콜에 대한 접근을 더 필요로 합니다. 이로 인해 많은 GPU 드라이버들이 멈추거나 충돌하기 쉽습니다. 안정성(Stability)과 격리(sandboxing)를 향상시키기 위해서 브라우저는 다른 브라우저와 비동기 IPC(Inter Process Communication)로 통신하는 특별한 프로세스를 사용합니다. GPU 프로세스는 Chromiu..
본 게시글은 W3C에 게시된 WebGPU Explainer 글을 학습을 위해 번역한 글입니다. 1. 소개 WebGPU는 웹 페이지에서 시스템의 GPU를 사용하여 연산 및 복잡한 이미지 생성을 가능하도록 만들기 위해 제안된 Web API이다. 이는 기존에 WebGL이 제공하는 API와 그 목적이 유사하다. 하지만 WebGPU는 시스템 GPU(하드웨어)에 대해 한층 더 발전된 형태의 접근을 가능하게 한다. WebGL이 주로 이미지 생성과 관련된 기능을 제공하고 (엄청난 노력을 통해) 다른 종류의 연산 기능도 제공하게 된 반면에, WebGPU는 태생부터 시스템 GPU의 일반 연산 성능을 웹에서 지원하기 위해 개발되었다. 2. 이용 사례 WebGL vs WebGPU 비교 CAD 모델과 같은 다양한 객체를 매우 ..
1. 현상 업무중 만난 SQL 성능 향상 관련 이슈임 master 테이블과 현재 테이블을 비교하여 없는 값은 삭제하고 있는 값은 추가하는 로직 2. 원인 및 해결 [ 1. 쿼리문 합치기 + 트랜잭션 ] DELETE 로직에서 6번의 DELETE 쿼리문을 변수에 문자열로 저장 후 변경이 필요한 횟수만큼 반복하면서 DB에 요청을 하는 로직을 개선했다. 첫번째로 반복문을 한 번 돌 때마다 쿼리를 보내는 것이 아니라 반복문을 도는 동안 동적할당 변수에 계속 추가한 후 반복문이 끝나고 한 번만 쿼리를 보내도록 수정했다. 약 1만번의 쿼리 요청을 보내야하는 상황에서 해당 이슈가 발생했고 이를 한 번만 보내도록 수정한 것이다. 이에 시간은 약 5분에서 4초로 단축되었다. 이 때, 결과적으로 6만번(1만회 반복 * 6번..
Expo는 React Native 개발을 실시간으로 확인할 수 있게 해주는 테스팅 도구다. React Native가 앱으로 만들어지려면 JS, HTML, CSS 코드로 구성된 React Native JS Module들을 컴파일해서 Native 코드(*React Native 아님)로 동작하도록 만들어야 한다. 즉, React Native 자체는 OS와 다이렉트로 통신할 수 없기 때문에 Native 앱의 상태를 거쳐야 한다. 간단하게 적기는 했는데 핵심은 이러한 환경 설정을 학습하고 직접 구성하기까지는 시간이 많~이 걸린다는 얘기다. Expo를 쓰면 이 귀찮은 환경 설정에 대해 깊게 알 필요가 없다. 웹에서 브라우저의 도움을 받듯이 코드만 작성해서 바로 실행시키면 된다. Expo 자체가 코드를 제외한 Rea..