본문 바로가기

전체 글37

apt update와 upgrade의 차이 apt update설치 가능한 패키지 목록을 최신 상태로 가져오는 명령어새로운 버전의 프로그램이 배포되었을 때, ubuntu는 이를 공식 서버에 등록하고 우리가 apt update 명령어를 실행하면 새로운 버전에 대한 정보를 가져온다.이 과정은 실제 프로그램을 업데이트하지 않고, 단지 정보만 갱신한다.대부분의 가이드에 update 후 install 하는 이유가 여기에 있다. apt upgrade현재 시스템에 설치된 패키지를 실제로 최신 버전으로 업그레이드 이미 설치된 패키지를 최신 버전으로 업그레이드한다.업그레이드를 통해 보안 배치나 성능 개선이 반영된 최신 버전이 설치된다. 2024. 11. 5.
ubuntu에 Java 설치 패키지 목록 최신화sudo apt update패키지 목록은 각 패키지의 최신 버전, 의존성 정보, 보안 패치 등을 포함한다.최신 패키지 목록을 가져와야 보안 패치나 버그 수정이 반영된 버전을 설치할 수 있다.설치 가능한 openjdk 리스트 확인sudo apt list openjdk* 원하는 버전 설치sudo apt install openjdk-17-jdk 설치된 자바 버전 확인java -version 환경 변수 설정 없이도 java 명령어가 인식되는 이유패키지 관리 시스템이 자동으로 경로 설정을 관리한다.ubuntu는 update-alternatives 시스템을 통해 설치 경로를 관리한다.jdk를 설치하면 /usr/bin/java에 대한 심볼릭 링크가 설정되어 java 명령어가 실행 파일을 기리키게 된.. 2024. 11. 5.
zustand에 devtools 사용하기 zustand에는 별도로 시각화 할 수 있는 devtools가 없기 때문에 redux devtools와 연동한다이 때 redux 설치는 필요없다. 크롬에서 redux devtools 설치https://chromewebstore.google.com/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=ko store에 devtools 적용import { create } from "zustand";import { devtools } from "zustand/middleware";type CounterStore = { count: number; increment: (by: number) => void; decrement: (by: number) => vo.. 2024. 10. 27.
NVM으로 nodejs 버전 관리하기 Node Version Manager (NVM)은 여러 nodejs 버전을 쉽게 관리하고 전환할 수 있게 해주는 도구 등장 배경npm으로 설치한 한 가지 node 버전만으로 모든 프로젝트를 실행하려고 하면 정확한 실행 결과를 얻지 못할 수 있다.예를 들어 내가 사용하고 있는 버전은 10인데  A 프로젝트는 node 17버전을 요구한다면 에러가 발생할 수 있다.실무에서 여러 프로젝트를 작업하기 때문에 이때마다 node 버전을 삭제하고 새로 설치하는 것은 번거롭다.여러 버전을설치한다고 해도 node 버전 각각에 독립적인 글로벌 모듈 설치 공간이 필요하다.nvm은 위의 문제를 모두 해결하여 각 프로젝트 별로 다른 node 버전으로 실행할 수 있다.설치Windowhttps://github.com/coreybut.. 2024. 10. 26.
크론(cron) 표현식과 크론탭(crontab) 명령어 정리 크론(cron)은 리눅스 리눅스/유닉스 시스템에서특정 시간에 명령어나 스크립트를 자동으로 실행하게 도와주는 스케줄링 도구이며 이때 크론 표현식을 사용하여 실행 시간을 지정  *   *   *    *     *분 시 일 월 요일   명령어 필드의미와 값의 범위분몇 분에 실행할지0-59시몇 시에 실행할지0-23 (24시간제)일며칠에 실행할지1-31월몇 월에 실행할지1-12요일무슨 요일에 실행할지0-6 (0은 일요일)명령어실행할 명령어 또는 스크립트예: sh run.sh 특수 문자 의미* : 모든 경우에 해당 (예: 매일, 매월, 매주), : 여러 값을 지정할 때 사용 (예: 1,15 → 1일과 15일에 실행)- : 범위를 지정할 때 사용 (예: 1-5 → 1일부터 5일까지 실행)/ : 간격을 지정할 때 사.. 2024. 10. 15.
티스토리 단축키 단축키 확인: Ctrl  + /많이 쓰는 단축키1. 제목 토글: Ctrl + Alt + 1 2. 본문 토글: Ctrl + Alt + 2 3. 글머리 기호 토글: Ctrl + Alt + 4 4. 글자색, 배경색: Ctrl + Alt + [ 또는 ]- 글자색이에요, 배경색이에요 5. 코드 블럭: Ctrl + Alt + ,public class CallableMainV1 { public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService es = Executors.newFixedThreadPool(2); Future future = es.submit(new MyCallable()); .. 2024. 10. 5.
[BoxFit] 이미지 크기 조절 fit 옵션 BoxFit은 Flutter에서 이미지를 박스(컨테이너) 안에 배치할 때 이미지의 크기와 위치를 어떻게 조절할지 결정하는 데 사용 Container( width: double.infinity, height: 300, color: Colors.amber, child: Image( image: const AssetImage('asset/image/onb.jpg'), fit: BoxFit.contain, ),)BoxFit.fill이미지를 박스의 크기에 맞게 강제로 늘리거나 축소이미지 비율이 유지되지 않음 BoxFit.contain이미지의 비율을 유지하면서 박스 안에 완전히 맞춤박스와 이미지의 비율이 다르면 여백이 생김 BoxFit.cover이미지를 박스의 크기에 맞추되 박스를 완전히.. 2024. 10. 5.
자바 메모리 구조 (스택, 힙, 메서드 ...) Java의 가비지 컬렉션(GC) 메커니즘은 자동으로 메모리를 관리하긴 하지만, 그 과정에서 발생할 수 있는 성능 저하를 최소화하고 고급 기능을 최적화 하기 위해서는 메모리 구조에 대한 지식이 필요하다.1. 메모리 누수나 다른 메모리 관련 문제들은 애플리케이션의 안정성과 성능에 큰 영향을 미칠 수 있다. 2. 메모리 구조에 대한 이해는 이러한 문제들을 효과적으로 진단하고 해결하는 데 도움을 준다. 3. 예를 들어, 특정 객체가 왜 가비지 컬렉션의 대상이 되지 않는지, 혹은 왜 특정 시점에 메모리 사용량이 급증하는지 분석할 수 있다. 4. 고급 Java 기능들, 예를 들어 멀티스레딩, 동시성 컨트롤 등을 사용할 때, 각 기능이 메모리에 어떤 영향을 미치는지 이해하는 것이 중요하다. JVM 메모리 구조 5가지.. 2024. 5. 5.
Suspense를 활용한 SSR Architecture의 성능 개선 react 18의 주요 기능 중 하나인 Suspense가 Server Side Rendering 성능 개선을 위해 어떤 역할을 하게 될지 알아보자  SSR 개요1. 서버 사이드 렌더링(SSR)은 서버에서 React 컴포넌트를 사용해 HTML을 생성하고, 이 HTML을 사용자에게 전송하는 것을 말한다. 2. SSR은 사용자가 JavaScript bundle이 로드되고 실행되기 전에 페이지의 내용을 볼 수 있게 해준다.  React에서 SSR의 과정1. 서버에서 전체 app에 대한 데이터를 fetch한다. 2. 그 다음에 서버에서 전체 app을 HTML로 렌더링하여 응답으로 보낸다. 3. 클라이언트에서 전체 app에 대한 Javascript 코드를 로드한다. 4. 클라이언트에서 JavaScript 로직을 서.. 2024. 5. 1.