반응형 Programming150 나의 첫 오픈소스 기여: Next.js 공식 문서 한글 번역 참여한 계기 개발자가 된 후 오픈소스에 꾸준히 기여하려고 마음을 먹었다. 첫 번째로 내가 가장 잘 할 수 있고 장벽이 낮은 공식 문서 번역 or Merge Request 부터 시작하기로 했는데, 그동안은 업무에서 주로 사용하던 JS, React, Vue, React Native 공부만 하기도 바쁘다고 느껴져 시작을 못했었다. 그런데 이직 과정을 마치고 잠시 쉬던 중 마침 어떤 페이스북 개발 커뮤니티에서 한 우리나라 개발자분이 Next.js 공식 문서 한글 번역 프로젝트를 시작하신 것을 보았다. 번역 프로젝트는 항상 은근히 인기가 많아서 후다닥 들어가 봤는데, 다행히 프로젝트를 여신 지 사흘 정도 되어서 linking and navigating 파트를 맡을 수 있었다. https://github.com/N.. Programming/Next.js 2023. 8. 15. [CSS] 글꼴 이탤릭체로 만드는 법 업무에서 이탤릭체로 'Coming soon!'이라는 문장을 이탤릭체로 별도 출력해야하는 티켓이 있었다. 그런데 어떤 CSS 요소가 폰트의 스타일을 지정해줄까? tailwind 등에는 별도의 클래스가 있겠으나 scss를 사용하는 경우에는 pure css를 사용하게 된다. font-style 글자의 모양을 정하기 위해서는 'font-style' 속성을 쓰면 된다. font-style의 종류 normal 특별히 꾸미지 않는 일반적인 모양(글꼴의 디폴트 생김새가 될 것이다.)을 말한다. italic 이탤릭체 oblique 대부분의 글꼴에서 이탤릭체와 동일하지만, 일부 글꼴에서는 이탤릭체는 필기체처럼 표현되고 oblique는 그냥 기울기만 기울인 것처럼 표현된다. inherit 부모 요소의 속성을 그대로 상속 받.. Programming/HTML, CSS 2023. 8. 12. [IntelliJ IDEA] 'Initial heap size set to a larger value than the maximum heap size' 에러 해결기 이 에러는 맥북 프로 M2의 개발 환경을 세팅하면서 겪은 IntelliJ IDEA 관련 에러다. 사실 어제 이 에러를 겪었는데, 처음이 아니라 두 번째였다. 그런데 왜 또다시 몇 시간을 에러 해결에 쓰게 되었냐 하면, 입사 직후 IntelliJ를 처음 설치하면서 겪었을 때 구글링 후 해결한 뒤 제대로 정리해놓지 않았었다 ^^; 스스로에게 너무 화도 나고 짜증스러웠던 기억이라, 앞으로 더욱 정리를 잘 해야겠다는 동기 부여가 확실히 됐다. 사실 매일 업무 일지를 쓰고 있는데도 이렇게 빨리 치워버리고 싶은 마음에 잘 적지 않은 것이 발목을 잡을 줄 몰랐는데, 좋은 사례가 됐다. heap memory란? 사용자에 의해 자원이 할당되고 해제되는 메모리의 부분이다. 스택 메모리와 반대의 역할을 한다고 보면 된다. .. Programming/Java 2023. 7. 31. [JavaScript] .getMonth() 메서드는 왜 zero-base일까? .getMonth() 메서드란 const moonLanding = new Date('July 20, 69 00:20:18'); console.log(moonLanding.getMonth()); // (January gives 0) // Expected output: 6 Date.prototype.getMonth() 메서드는 Date 객체의 월 값을 현지 시간에 맞춰 반환한다. 그런데 이 때 월은 0부터 시작한다. 월만 0부터 시작하는 이유는? 모든 Date관련 get 메서드가 zero-base라면 이상할 게 없다. 하지만 연, 일은 그렇지 않은데 월만 그런 것은 매우 이상하다. 사람에게 자연스럽지 않고 일관성도 없기 때문이다. 호기심이 발동했는데, JS의 아버지인 브랜든 아이크의 예전 트윗에서 답을 발견.. Programming/Javascript, Typescript 2023. 7. 25. SPA(Single Page Application) Single Page Application (단일 페이지 애플리케이션) 현재 페이지를 동적으로 렌더링함으로써 사용자와 소통하는 웹 어플리케이션 단일 페이지로 구성되며 서버로부터 최초에만 페이지를 다운로드하고, 이후에는 동적으로 DOM을 구성 처음 페이지를 받은 이후부터는 서버로부터 새로운 전체 페이지를 불러오는 것이 아닌, 현재 페이지 중 필요한 부분만 동적으로 다시 작성함 연속되는 페이지 간의 사용자 경험(UX)을 향상 모바일 사용량이 증가하고 있는 현재 트래픽의 감소와 속도, 사용성, 반응성의 향상은 매우 중요하기 때문 동작 원리의 일부가 CSR(Client Side Rendering)의 구조를 따름 SPA 등장 배경 과거 웹 사이트들은 요청에 따라 매번 새로운 페이지를 응답하는 방식이었음 MPA(M.. Programming/ETC 2023. 7. 15. [JavaScript] new 연산자 예전에 정리해봐야지~ 했던 new 연산자. 왜 정리하고 싶었는지는 잊어버렸지만, 종종 만나게 되기에 정리해보자. 정의 new 연산자는 '생성자 함수' 앞에 붙여 객체를 만들어주는 연산자라고 할 수 있다. new라는 이름이 암시하듯이 새로운 객체입니다~! 라는 의미로 받아들였다. JavaScript에서 생성자 함수는 객체를 만드는 함수다. 아래에서 Person함수는 생성자 함수이며, 일반 함수와 구분하기 위해 대문자로 시작한다. function Person(name){ this.name = name; this.introduce = function(){ return 'My name is '+this.name; } } var p1 = new Person('river'); document.write(p1.int.. Programming/Javascript, Typescript 2023. 7. 13. [React] 'as' props React 컴포넌트 라이브러리 중 'as'라는 이름의 프로퍼티를 사용하는 경우가 있는 것 같다. (아마 material UI로 추측한다.) as의 역할은 해당 컴포넌트 외부(다른 파일)로부터 HTML을 가져와서 대체할 수 있도록 해주는 것이다. 기본 JSX/HTML 문법은 아니고, 일부 라이브러리에서 사용하는 것으로 보인다. 예시 코드 // class형 컴포넌트 ... return ( ... ) 'studentInputText' 컴포넌트에서는 태그에 전달된 prop들을 그대로 사용할 수 있다. 사용 이유? 정확히 알기 힘들지만(한글 자료 너무 없음!) 코드를 직접 만져 본 입장에서는 유지보수의 의미가 큰 것 같다. 해당 컴포넌트에 조건이 너무 많이 걸려 있거나 내부 작업이 많이 필요하다면 메인 컴포넌트(.. Programming/React 2023. 7. 13. 이전 1 2 3 4 5 6 ··· 22 다음