본문 바로가기

All199

오픈소스에 기여하며 얻은 보람과 사람 - OSSCA Yorkie 목차0. 오픈소스에 기여하게 된 계기1. 이런 걸로도 오픈소스에 기여할 수 있다고?2. 기여는 개발자의 불편한 부분에서부터 시작된다.3. 유저로서 고쳐지길 원하는 부분을 기여하다. 4. 기여를 통해 제대로 알게 된 개념들5. 기여를 하여 얻은 것은 바로 보람과 사람 0. 오픈소스에 기여하게 된 계기필자의 첫 오픈소스 기여에 대해 회고하는 마음으로 작성해본다. 개발자라면 한 번쯤은 오픈소스에 기여해보고 싶은 마음이 있을 것이다. 오픈소스를 통해 개발 생태계 자체가 건강하게 발전한 점에서 ‘나도 기여해보고 싶다!’라는 생각을 가지고 있었고 마침 오픈소스 컨트리뷰션 아카데미(OSSCA)가 진행된다는 얘기를 들었다. OSSCA 참여 프로젝트는 Apache Zeppelin, ArgoCD, Node.js 등등이 있.. 2024. 12. 22.
[Vite] Vite는 어떤 역할을 하고 있는가 [Vite] Vite는 어떤 역할을 하고 있는가Vite를 사용하면서 잘 알지 못하고 사용하는 것 같아 한 번 정리하고자 글을 작성한다.공식 홈페이지에 따르면 ‘Next Generation Frontend Tooling’ 이라고 소개한다.Vite는 웹 개발에서 개발 서버와 번들링을 모두 처리하는 현대적인 빌드 도구로 설계되었다. Vite의 기능 1 : 개발 서버 & HMR(Hot Module Replacement)프론트엔드 개발자로서 Vite의 가장 체감되는 기능은 단연코 개발 서버 지원 및 HMR 이다. Vite의 핵심적인 기능인 "개발 서버"의 서버 시작 시간을 어떻게 개선했는지에 대한 공식 문서의 설명을 정리해보았다. Vite는 애플리케이션의 모듈을 Dependencies와 Source code 두 .. 2024. 10. 27.
[기록결산][글또] 회고를 곁들인 다짐글 글또 10기를 시작하며 글또는 '글쓰는 개발자 모임'으로 마지막 10기에 참여하게 되었다.글또를 시작하며 회고를 곁들인 다짐글을 써본다. 나의 첫 번째 글또이자 마지막 글또이기에 조금 더 애살있게 활동하고자 한다.  먼저 크게 큰 범주로 이루고자 하는 다짐은 딱 두 가지이다.  첫 번째는 글또 10기를 하면서 배운 것들을 내 문장으로 적는게 목표이다.  개발자로서 일을 하면서 마주했던 어려움들이 결국엔 나의 기술적 자양분이 되었다.일을 진행하면서 알게 된 지식들이 많지만 따로 기록하지 않으면 모두 내 것이 되진 않아 따로 찾아보는 경우가 종종 있다. 깊게 고민한 흔적을 잘 정리해보는 경험을 하고 싶다. 어쩌면 당연한 것인지만 기술적으로 배운 것들을 설명하지 못한다면 알고 있는게 아닐 것이다.예를 들어, .. 2024. 10. 13.
[기록결산] 내 것으로 만들기 [기록결산] 내 것으로 만들기기록은 중요하다. 하지만, 기록을 잘 정리했는지 혹은 기록으로 인한 지식이 내 것이 되었는지는 더 중요하다. 인간은 망각의 동물로 그 때 당시엔 이해됐던 것들이 지금은 전혀 기억나지 않는 경우도 종종 발생한다. 아래 글은 불가 7개월 전에 작성한 글에서 태도에 대한 부분말고는 기억이 잘 나지 않아 몹시 당황스럽다. (월별기록결산은 실패 ^^) [기록결산] 애쓴 것은 언젠가 정산된다.[기록결산] 애쓴 것은 언젠가 정산된다.생애 첫 연말정산을 끝내고, 1월도 막바지라는 생각에 '기록결산'이란걸 해보려고 한다. 딱 드는 생각은 뭐다? 월말결산을 월마다 해야한다는 뜻이지요 ..bo5mi.tistory.com그래서 내 것으로 만든 것들을 잘 정리해보았다.  pnpm은 performan.. 2024. 8. 11.
[TS|TIP] 회전된 사각형을 내접하는 사각형(BoundingBox) 구하기 회전된 사각형을 내접하는 사각형(BoundingBox) 구하기해당 아이디어를 기억해놓기 위한 기록이다. 아래는 순서대로 BoundingBox를 구하기 위한 함수들이다.가능한 한 함수가 하나의 기능을 하도록 구현하였다.  1. 각도를 라디안(radians)으로 변환하는 함수const toRadians = (angle: number): number => { return (angle * Math.PI) / 180;}; 2. 회전한 사각형의 경계 계산에 사용되는 코사인, 사인 값을 구하는 함수const getCosSin = (radians: number): { cos: number; sin: number } => { return { cos: Math.abs(Math.cos(radians).. 2024. 7. 24.
[DX] ESLint, Prettier 무엇인지 알고 설정해보기 들어가면서ESLint와 Prettier는 React의 기능이 아니지만, React 프로젝트에서 자주 사용하는 도구이기 때문에 해당 카테고리에 기술한다.  Prettier와 Lint를 사용하지 않으면 다음과 같은 문제가 발생할 수 있다.  - 의도하지 않은 구현 실수 때문에 에러가 발생하는 경우(예를 들어, 일관되지 않게 function과 arrow function를 혼용하여 this 바인딩이 의도한대로 발생하지 않는 문제) - 협업하는 인원이 많아질수록 개개인별 코드짜는 스타일이 달라 가독성이 떨어지는 경우(예를 들어, 줄바꿈이 4줄코드와 2줄인 코드의 연속적인 충돌 혹은 사용하지 않는 인자들의 잔재) 이러한 문제들은 작지만 신경 쓰이는 부분들로, 개발 생산성을 저하시킬 수 있다. (사실 필자가 겪은 .. 2024. 6. 3.
[tailwind CSS] backgroundImage 설정 방법 - (config/style/custom) tailwind CSS - backgroundImage 설정 방법 - (config/style/custom)tailwind css로 backgroundImage를 설정하는 방법은 기록하고자 한다. tailwind 왕왕초보의 무작정 적용기! 목차0. 이미지 파일 부터 넣기 - assets 폴더를 pulbic에 넣을 것인가? src에 넣을 것인가?1. backgroundImage를 tailwind.config.js 파일에서 설정해보기2. style 속성에 backgroundImage를 설정해보기3. 일회성 속성일 경우, 임의 값을 설정하여 backgroundImage를 설정해보기 0. 이미지 파일 부터 넣기 - assets 폴더를 pulbic에 넣을 것인가? src에 넣을 것인가?public 폴더public.. 2024. 6. 2.
[Javascript] 직렬화(Serialize), 역직렬화(Deserialize) 직렬화(Serialize), 역직렬화(Deserialize) 1. Javscript JSON 이란 JSON(Javscript Object Notation)은 자바스크립트 객체를 문자열로 표현하는 데이터 포맷이다. 자바스크립트 객체 리터럴과 유사하지만 객체가 아닌 문자열일 뿐이며, 이를 이용해 다른 도메인과 데이터를 주고 받을 수 있게 된다. JSON은 XML 등 다른 데이터 포맷에 비해 간결하며, 손쉽게 자바스크립트 객체로 변환할 수 있어, 웹 어플리케이션에서 Server-Client간의 데이터 교환에 주로 JSON을 사용한다. 2. JSON 표기법 JSON은 자바스크립트 객체와 유사하지만 표기법이 조금 다르다. { "name" : "Choi", "age" : "secret", "gender" : "fe.. 2024. 3. 17.
[Fabric.js] The transformation matrix in fabric.js (fabric.js의 변환 행렬) 번역 및 예제 The transformation matrix in fabric.js 이 글은 faric.js을 공부하면서 마주했던 transmation matrix에 대해 정리한 글에 대한 (가벼운) 번역이자 추가 설명을 위한 글입니다. The transformation matrix in fabric.js Recently I’m using the excellent fabric.js library for a side project. I came across the transformation matrix. The purpose of this article… medium.com The purpose of this article is to detail how the transformation matrix works and e.. 2024. 2. 29.