컴포넌트는 배포 단위입니다. 컴포넌트는 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위입니다. 자바의 경우 jar 파일이 컴포넌트이고, 루비에서는 gem파일, 닷넷에서는 DLL 입니다. 컴파일형 언어에서 컴포넌트는 바이너리 파일의 결합체이며, 인터프리터형 언어에서는 소스 파일의 결합체입니다. 모든 언어에서 컴포넌트는 배포할 수 있는 단위 입자입니다. 여러 컴포넌트를 서로 링크하여 실행 가능한 단위 파일로 생성할 수 있으며, 여러 컴포넌트를 묶어서 .war파일과 같은 단일 archive로 만들 수도 있습니다. 또는 컴포넌트를 .jar나 .dll 같이 동적으로 로드할 수 있는 플러그인이나 .exe파일로 만들어서 독립적으로 배포할 수 있습니다. 컴포넌트가 마지막에 어떤 형태로 배포되든, 잘 설계된 컴포너..
아마 예전에 배웠을 것입니다. 시간이 지나서 까먹었을 뿐.. ㅠㅠ 교육 실습 중에 누가 이런 이야기를 하였습니다. 상수를 왜 대문자로 표기하지 않나요? (클린 코드 관점에서 상수는 대문자로 표기하며 단어간 언더바(_)로 연결) 예를들면, class Class { final int numberOfStudent = 10; } 여기에서 numberOfStudent는 상수일까요? 아닐까요? 제목에도 작성하였지만, 상수가 아닙니다. 얼핏보면 상수처럼 생겼죠? 상수였다면, NUMBER_OF_STUDENT 라고 선언해야 맞습니다. 상수의 정의는 상수란 변하지 않고, 항상 일정한 값을 갖는 수를 말한다. 라고 합니다. (위키백과) final int numberOfStudent = 10; 가 상수가 아닌 이유는 클래스 ..
최근 클린 코드를 학습하고 있습니다. 고맙게도 회사에서 교육을 시켜주고 있어, 강한 의지 없이도 학습을 이어나갈 수 있게 해주네요. 클린 코드의 오류 처리 챕터에서, null을 반환하는 코드는 일거리를 늘릴 뿐만 아니라 호출자에게 문제를 떠넘긴다. 라는 항목을 보고, 제가 그동안 고민해 왔던 것을 작성해보려고 합니다. 교재는 엉클밥의 클린 코드입니다. (물론 책으로 공부하진 않습니다..) Java에서는 Optional이라는 Null을 예방하는, Java을 Null-safe 하게 만들어 주는 훌륭한 클래스가 있습니다. 저는 주로 JPARepository에서 Entity를 불러올 때 많이 사용하는데요, 제가 기존에 사용하는 방식의 예제를 보면 다음과 같습니다. (Null-Safe하지 않은 방식) Stock이..
Stylus는 User Client 단에서 css(Stylesheet)를 overriding해주는 도구입니다. 저는 주로 폰트를 변경하는데 많이 사용하지요. 이번 포스팅에서는 Stylus를 이용하여 Rancher의 logging 폰트를 변경해보겠습니다. 바로가기: Stylus 설치 후 관리 메뉴를 눌러주세요. 새 스타일 작성을 눌러주세요. 이후에는 (1) 코드 부분에 적용하고자 하는 스타일을 입히고, (2) 적용하고자 하는 사이트 URL을 입력하며, (3) 이름을 입력 후 저장하면 해당 코드가 특정 URL에서만 적용이 됩니다. .logs-body { font-family: 'Monaco for Powerline'; font-size: 11px; line-height: 1.4; } 저희 경우에는 저의 개인..
사용하고 있는 크롬 확장 프로그램 중 Video Speed Controller를 소개합니다. 최근에 가장 유용하게 사용하고 있는 확장 프로그램중 하나 인데요, 유튜브를 시청할 때 배속을 빠르게 변경할 수 있는 프로그램입니다. 바로가기: Video Speed Controller 단축키(Shortcuts)를 변경해서 사용할 수도 있구요, 제가 주로 사용하는 건, S : 속도 느리게 D : 속도 빠르게 Z : 10초 뒤로가기 X : 10초 빠르게 가기 R : 속도 1.0으로 만들기 (Reset) 그리고 밑에 Other에 Remember playback speed와 Force last saved speed 를 체크해야 현재 설정된 배속이 다음영상에도 적용됩니다. 이걸 사용하고 난 이후에는 영상을 기본 1.1 ~..
요즘 React + Next.js, MUI(Material UI) 조합으로 Front-End를 개발하고 있습니다. MUI에서 Tabs 라는 훌륭한 기능이 있는데, 이름 그대로 Tab을 만들어주고, Active되어 있는 탭과 Inactive되어 있는 탭을 구분 시켜줍니다. 예전에는 직접 구현해야 했지만, 요즘은 UI Framework에서 다 제공해줍니다. 아래는 MUI에서 제공하는 기본 탭입니다. 기본도 훌륭하지만, 우리는 조금 더 차별화를 위해 조금이라도 더 수정을 하고 싶어합니다. 저는 개인적으로 Circluar Button 스타일을 좋아하니, 제가 좋아하는 Circular button 형태로 만들어보겠습니다. 기본 Tabs MUI 기본 Tabs와 거의 유사한 코드입니다. 아래 그림을 보면, Activ..
최근에 회사에서 고맙게도 리얼포스 R2를 구매해줘서 정말x10 만족하면서 사용하던 중 다른 무접점 키보드도 궁금해 졌습니다. 그래서 집에서 사용할 키보드를 알아보던 중 한성 GK893B와 앱코 KN01 BT를 알게 되었어요. (텐키리스만 알아봄..) 마음이 GK893B에 가 있었으나.. 구매할 당시 KN01 BT가 할인을 하는 바람에 KN01 BT를 구매하게 되었습니다. (4만원 차이) 첫 인상은 키캡과 바디가 뽀안 하얀색이라 맘에 들었습니다. 하지만 책상에 올려놓고 타건을 해보니 스페이스바와 백스페이스 키에서 누를 때 마다 철심 소리가 너무 크게 나서 기분이 확 상하더군요 ㅠㅠ (지금 생각해보면 리얼포스 R2를 수준의 스테빌을 기대했던거 같아요..) 바로 판매처에 문의를 했는데, 앱코 본사로 보내면 기..
Termux 라고 들어보셨나요? 구글에서 Termux라고 검색하면 정말 다양한 용도로 활용되고 있는 Application임을 확인할 수 있습니다. 저는 주로 ssh(secure shell) 을 사용하여 제가 관리하고 있는 서버에 접속하는 용도로 사용하고 있어요. 이번 포스팅에서는 Termux를 이용하여 안드로이드에서 zsh를 설치하고 간단히 활용하는 방법을 알아 보겠습니다. 1. Termux 다운로드 예전에는 Google Play Store에서 다운로드 받을 수 있었지만, 지금은 Deprecated되고 GitHub와 F-Droid 에서 Release 되고 있습니다. Google Play Store (Deprecated) Termux and its plugins are no longer updated on..
- Total
- Today
- Yesterday