모바엑스텀(MobaXterm)이란?모바엑스텀은 SSH 접속 도구로 사용이 편리하고 SFTP 등을 지원해 많은 사람들이 이용한다. 나도 예전엔 SSH는 putty를 사용하고 SFTP로는 파일질라를 따로 사용했는데, 모바엑스텀은 SSH와 SFTP를 모두 지원하기 때문에 훨씬 편리하다. 모바엑스텀은 SSH, SFTP 뿐만 아니라 Telnet, Rsh, Sdmcp, RDP, VNC, FTP, Serial, File, Shell, Browser, Mosh, Aws S3, WSL 등도 지원한다. 추가로 서버에 접속하는 계정과 비밀번호를 저장해서 자동 로그인도 가능하다. 모바엑스텀 설치https://mobaxterm.mobatek.net/download-home-edition.html MobaXterm free ..
PIO(Programmed I/O)PIO는 주변장치들(I/O device) 사이 전송되는 모든 데이터가 CPU를 거쳐간다. 이때 CPU는 주변 장치들에 대한 지속적인 모니터링을 통해 주변 장치들이 준비가 됐는지 체크하기 때문에불필요하게 CPU 주기를 낭비하고 "Busy" 상태가 빈번하게 된다. 이러한 단점을 극복할 수 있는 방식이 Interrupt Initiated I/O 방식이다. Interrupt Initiated I/OPIO에서 CPU가 지속적으로 주변 장치들의 상태를 확인한 것과 다르게,Interrupt Initiated I/O 방식은 주변 장치들이 available 상태가 되면 interrupt를 발생시킨다. CPU는 interrupt가 발생하기 전까지 다른 작업을 수행하고,interrupt..
모놀리틱(Monolithic) 아키텍처 모놀리틱(Monolithic) 아키텍처는 하나의 어플리케이션을 단일 독립 시스템으로 구축하는 아키텍처를 뜻한다. 소규모의 어플리케이션이라면 모놀리틱 아키텍처가 간단한 구조로 유지보수하기 더 용이할 수 있다.하지만 어플리케이션의 규모가 커질수록 아래와 같은 어려움들이 발생한다. 영향도 및 전체 구조 파악이 어려움빌드, 테스트, 배포 시간이 증가부분의 장애가 전체 장애로 이어짐부분적인 scale-out이 어려움작은 수정 사항에도 전체를 재빌드 및 배포해야 함이러한 문제점들을 보완하기 위해 등장한 아키텍처가 바로 MSA(Micro Service Architecture)이다. MSA(MicroService Architecture)란?미국의 유명한 소프트웨어 개발자 마..
Virtual Thread의 탄생 배경Java 개발자들은 오랜 기간 동안 병렬 처리 단위로 스레드를 사용했다.스레드는 독립적으로 실행되며 각각의 스택(Stack)을 가지고 있고 프로세스보다 가벼워 컨텍스트 스위칭(Context Switching)이 빠른 장점이 있다. 그러나 자바 스레드는 운영체제(OS) 스레드의 Wrapper로 구현되어 있기 때문에 OS의 스레드보다 많은 수를 가질 수 없다. 게다가 OS 스레드는 비용이 비싸기 때문에 많은 수를 생성하기 힘들다. 문제는 많은 환경에서 Request-per-Thread 구조를 사용하고 있다는 것이다.이는 요청 하나에 스레드 한개가 작업을 진행하는 구조를 뜻한다.스레드 1개당 1MB 사이즈를 차지한다고 했을 때 8GB 메모리 환경에서 약 8000개의 스레드..
새로운 LTS 버전 Java 21의 등장Jrebel의 2023 Java Developer Productivity Report에 따르면 31%는 Java 8을 사용하고, 28%가 Java 11을, 그리고 19%가 다른 버전의 Java를 사용한다고 한다. 이런 상황 속 2023년 9월 19일 새로운 JAVA LTS 버전인 Java 21이 출시되었다. Java의 최신 버전을 적용하는 것은 아직 쉽지 않을지 모르지만 Java 21은 적용을 고려해 볼 만큼 좋은 발전들이 존재한다. Java는 언어의 발전을 위해 JEP(Java development Enhancement Proposal)를 사용해 새로운 기능들을 추가한다.JEP는 말 그대로 JDK를 향상시키기 위한 제안으로 새로운 기능을 Java에 추가할 수 있는..
블로그 이사했습니다 아래에서 볼 수 있습니다. https://code-lab1.com/red-black-tree/ [자료구조] 레드-블랙 트리(Red-Black Tree)란? 레드-블랙 트리 쉽게 이해하기 - 코드 연구소레드-블랙 트리는 자가 균형 이진 탐색 트리이다. 레드-블랙 트리는 다음과 같은 조건들을 만족한다.code-lab1.com 레드-블랙 트리(Red-Black Tree)레드-블랙 트리는 자가 균형 이진 탐색 트리이다. 레드-블랙 트리는 다음과 같은 조건들을 만족한다.1. 모든 노드는 빨간색 혹은 검은색이다.2. 루트 노드는 검은색이다.3. 모든 리프 노드(NIL)들은 검은색이다. (NIL : null leaf, 자료를 갖지 않고 트리의 끝을 나타내는 노드)4. 빨간색 노드의 자식은 검은..
가상 메모리(Virtual Memory) 메인 메모리의 크기는 한정되어 있다. 따라서 물리적인 메모리 크기보다 크기가 큰 프로세스는 실행시킬 수 없게 된다. 예를 들어 메인 메모리의 크기가 100MB 일 때 300MB 크기의 프로세스는 실행시킬 수 없다. 크기가 큰 프로세스를 실행시키기 위해서는 메인 메모리를 크게 키우는 방법이 있겠지만, 이것은 매우 비효율적이다. 따라서 나온 방법이 바로 가상 메모리(Virtual Memory)이다. 가상 메모리는 메모리 관리 기법의 하나로, 기계에 실제로 이용 가능한 자원을 추상화하여 사용자들에게 매우 큰 메모리인 것처럼 보이게 만드는 것을 말한다. 즉, 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식이다. 가상적으로 주어진 주소를 가상 주소(vi..
NoSQL이란? NoSQL은 비관계형 데이터베이스를 지칭한다. 즉, 관계형 데이터 모델을 지양 하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말한다. NoSQL은 기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태이다. NoSQL의 특징 RDBMS와 달리 데이터 간의 관계를 정의하지 않는다. RDBMS는 데이터 관계를 외래키 등으로 정의하고 JOIN 연산을 수행할 수 있지만, NoSQL은 JOIN 연산이 불가능하다. RDBMS에 비해 대용량의 데이터를 저장할 수 있다. 페타바이트 급의 대용량 데이터를 저장할 수 있다..
정규화(Normalization)란? 정규화는 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정이다. 이상현상이 존재하는 릴레이션을 분해하여 여러 개의 릴레이션을 생성하게 된다. 이를 단계별로 구분하여 정규형이 높아질수록 이상현상은 줄어들게 된다. 정규화의 장점 데이터베이스 변경 시 이상 현상(Anomaly)을 제거할 수 있다. 정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장 시, 그 구조를 변경하지 않아도 되거나 일부만 변경해도 된다. 데이터베이스와 연동된 응용 프로그램에 최소한의 영향만을 미치게 되어 응용프로그램의 생명을 연장시킨다. 정규화의 단점 릴레이션의 분해로 인해 릴레이션 간의 JOIN연산이 많아진다. 질의에 대한 응답 시간이 느려질 수도 있다. 데이터의 중복 속..
서브넷의 등장 배경 흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. 하지만 이 방식은 매우 비효율적이다. 예를 들어 어떤 기관에 A 클래스를 할당한다고 하면 16,777,214개의 호스트를 할당할 수 있게 되는데, 이 기관이 100개의 호스트를 할당한다고 하더라도 16,777,114개의 호스트가 낭비되게 된다. 이러한 비효율성을 해결하기 위해 네트워크 장치들의 수에 따라 효율적으로 사용할 수 있는 서브넷(subnet)이 등장하게 되었다. 혹시라도 IP 클래스에 대해 모르겠다면 다음 포스팅을 참고하자. [네트워크] IP,IP 클래스, IPv4, IPv6이란? | IP 클래스 구분 IP 주소 IP는 Internet Protocol의 약자로 기기간 네트워크 통신을 할 때 쓰는 프로토콜을 ..
웹사이트 접속 과정 한 대학생이 캠퍼스에서 노트북으로 구글에 접속한다고 하자. 어떤 과정을 통해 사용자는 구글에 접속할 수 있을까? 이 게시글은 그동안 공부한 내용들을 총 정리한다고 볼 수 있다. 자세한 내용이 궁금하다면 참고 링크를 참고하자. 1. 목적지 IP 주소 확인 사용자가 웹 브라우저의 주소창에 www.google.com을 입력하면, 해당 목적지의 IP주소를 알아야 한다. 브라우저는 캐싱된 DNS 기록이 있는지 체크하고, 만약 캐시가 있다면 캐시의 정보를 이용하고 없다면 DNS 서버에 정보를 요청해야 한다. 참고 : [네트워크] 도메인(Domain)과 DNS(Domain Name System)란? 도메인(Domain)이란? 도메인은 웹 브라우저를 통해 특정 사이트에 진입할 때, IP 주소를 대신..
IoC(Inversion of Control)란? IoC는 제어의 역전이라는 뜻으로 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 말한다. 이전에는 개발자가 객체를 생성하고 관리하며 프로그램의 제어 흐름을 스스로 조종했다. 하지만 Spring을 사용하면 스프링 컨테이너가 프로그램의 제어흐름을 제어하게 된다. DI(Dependency Injection)란? DI는 의존관계 주입이라는 뜻으로 여기서 의존관계(Dependency)는 어떠한 객체와 같이 수행(work with)되는 다른 객체와의 관계를 뜻한다. 더 자세한 내용은 다음을 참고 하자. [Spring] 의존관계 주입(Dependency Injection : DI)이란? 의존관계(Dependency)란? 의존관계 주입(Dep..
의존관계(Dependency)란? 의존관계 주입(Dependency Injection)에 대하여 알아보기 전에 의존관계가 무엇인지 알아야 한다. 의존관계는 의존 대상 B가 변하면, 그것이 A에 영향을 미칠 때 A는 B와 의존관계라고 한다. 쉽게 말해 B가 변경되었을 때 그 영향이 A에 미치는 관계를 말한다. 예를 들어 다음과 같은 상황을 가정해보자. 피자 가게의 요리사는 피자 레시피에 의존한다. 만약 피자 레시피가 변경된다면, 요리사는 피자를 새로운 방법으로 만들게 된다. 레시피의 변화가 요리사에 미쳤기 때문에 요리사는 레시피에 의존한다라고 할 수 있다. 이를 코드로 나타내면 다음과 같다. public class PizzaChef{ private PizzaRecipe pizzaRecipe; public ..
리눅스 cp 명령어 리눅스에서 cp 명령어는 copy의 줄임말로 말 그대로 무언가를 복사할 때 사용하는 명령어이다. cp [옵션][복사 할 디렉토리/파일명][복사 될 디렉토리/파일명] ex) cp original.txt copy.txt // 현재 디렉토리의 original.txt라는 파일을 copy.txt라는 파일로 복사 ex) cp /app/bin/original.txt /app/logs/copy.txt // /app/bin 디렉토리의 original.txt라는 파일을 /app/logs에 copy.txt라는 파일로 복사 cp 명령어는 위의 예시처럼 [복사할 디렉터리/파일명] [복사될 디렉터리/파일명] 인자를 필수로 갖는다. 경로를 지정하지 않으면 현재 위치를 기본값으로 설정한다. 자주 사용하는 옵션 -..
mv 명령어 mv는 move의 줄임말로 파일이나 디렉토리를 이동시킬 때 사용하는 명령어이다. mv [옵션] [이동시킬 디렉토리/파일] [이동 될 위치] ex) mv log.txt folder // 현재 디렉토리의 log.txt 파일을 folder 디렉토리로 이동 ex) mv log.txt log2.txt // 현재 디렉토리의 log.txt 파일의 이름을 log2.txt로 변경 ex) mv /app/bin/logs/log.txt /app/dw // /app/bin/logs 디렉토리의 log.txt 파일을 /app/dw 디렉토리로 이동 mv 명령어는 [이동시킬 디렉토리/파일] [이동될 위치] 두 인자를 필수로 갖는다. 경로를 지정하지 않는다면 현 위치를 디폴트로 설정한다. 이동시킬 때 새로운 이름을 지정할 ..
텔넷(telnet)이란? 텔넷(telnet)은 네트워크 통신을 테스트할 때 많이 사용하는 명령이다. telnet 명령어를 통해 원격 서버에 접속 할 수 있다. 예를 들어 'telnet 192.168.0.1 8080'와 같이 입력하면 192.168.0.1 IP 주소의 8080 포트로 접속을 시도한다. 이러한 텔넷은 텍스트 기반으로 동작하고 보안 연결을 제공하지 않기 때문에 민감한 정보를 전송하지 않도록 해야 한다. 윈도우 10에서 텔넷 사용하는 방법 윈도우는 보안에 취약한 텔넷 서비스를 비활성화시켜놓았다. 하지만 텔넷 명령어를 사용하고 싶다면 아래와 같이 활성화 시킬 수 있다. 가장 먼저 제어판에 들어가준다. 제어판은 검색해서 들어가거나 윈도우+R키를 눌러 실행창에서 'control'을 입력해 들어갈 수 ..
서류 LG CNS의 자기소개서는 아래와 같이 두 문항을 물어봤다. 1. My Competency 지원분야와 관련된 지식이나 경험을 기재하여 주십시오. (500자) -직무에 관련된 학습, 동아리 활동, 수상경험 등을 중심으로 자유롭게 기재해 주시기 바랍니다. 2. Why LG CNS LG CNS에 지원한 동기와 입사 이후 꿈꾸는 것은 무엇인가요? (500자) -*지원동기 : LG CNS에서 근무하고 싶은 이유, LG CNS를 알게 된 계기, IT 또는 컴퓨터에 관심을 가지게 된 계기 등 *꿈:입사 이후 성장하고 싶은 목표 및 비전 등 500자 씩으로 길게 쓸 수 없기 때문에 핵심만 작성하였다. 1번 문항은 내가 3년간 써온 기술 블로그, 프로젝트 경험, 스터디 경험 등을 사실 위주로 적었다. 최대한 구체적..
웹 서버(Web Server) 웹 서버란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠란 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠이다. 이때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할도 해준다. 이러한 웹 서버에는 Apache, NginX 등이 있다. WAS(Web Application Server) WAS란 DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버이다. HTTP 프로토콜을 기반으로 사용자 컴퓨터나 장치에 애플리케이..
포스트맨(Postman)이란? 포스트맨은 API를 디자인, 빌드, 테스트하기 위한 API 플랫폼이다. 포스트맨을 이용하면 API 라이프사이클의 각 단계를 간소화하고 협업을 쉽게 만들어 더 좋은 API를 더 빠르게 생성할 수 있다. 많은 개발자들이 API 테스트를 위해 사용하는 플랫폼으로, 사용법이 간단하고 직관적이다. 이번 포스팅에서는 포스트맨의 기초적인 사용법에 대해서만 다루고, Authentication이나 테스트 자동화 등 고급 활용법은 추후에 다루도록 하겠다. 포스트맨 설치 https://www.postman.com/downloads/ Download Postman | Get Started for Free Try Postman for free! Join 30 million developers wh..
리눅스 ip 주소 확인하는 법 리눅스에서 자신의 ip 주소를 확인하려면 아래와 같이 3개의 명령어를 활용할 수 있다. 1. ifconfig 2. hostname 3. ip 각각에 대해 알아보자. ifconfig 명령어 ifconfig 명령어를 사용하면 ip 주소뿐만 아니라 다양한 정보를 확인할 수 있다. 여기서 맨 위 inet 부분이 자신의 ip 주소이다. hostname 명령어 hostname -I 명령어를 사용하면 다른 부가 정보 없이 간단하게 자신의 IP 주소를 확인할 수 있다. 가장 간단한 방법이다. ip 명령어 ip addr 명령어를 통해서도 ip 주소를 확인할 수 있다. ip addr 명령어도 마찬가지로 자세한 결과를 보여준다. 따라서 ip 주소만 궁금하다면 grep 명령어를 통해 ip 주소만..
리눅스 OS 버전 확인 하는 법 리눅스의 버전은 아래 명령어를 통해 확인할 수 있다. $cat /etc/*release [그림 1]을 보면 해당 리눅스가 우분투 22.04.2 LTS 버전임을 알 수 있다. 그 외 여러 가지 정보도 함께 확인할 수 있다. 좀 더 간단하게 OS의 버전만을 보고 싶다면 아래와 같은 명령어를 사용할 수 있다. $cat /etc/issue* [그림 2]처럼 좀 더 간소화된 OS 버전을 보여준다. 리눅스 커널 버전 확인하는 법 리눅스의 커널 정보를 확인하고 싶다면 아래 명령어를 사용할 수 있다. $cat /proc/version 위와 같이 입력하면 [그림 3]처럼 커널 정보를 확인할 수 있다. 운영체제명과 커널버전, gcc 컴파일러 버전, 생성한 날짜 등의 내용을 확인할 수 있다...
Makefile이란? make 프로그램이란? 리눅스에서 Makefile은 소스 파일들을 쉽게 빌드할 수 있도록 돕는 make 프로그램의 설정 파일이다. [그림 1]과 같이 여러 개의 헤더 파일과 소스 파일을 빌드한다고 하자. 각 파일의 내용은 아래와 같다. hello.h void hello(); hello.c #include void hello() { printf("hello "); } world.h void world(); world.c #include void world() { printf("world\n"); } main.c #include "hello.h" #include "world.h" int main() { hello(); world(); return 0; } 이 헤더 파일과 소스 파일들을 ..
fork() 함수란?Unix 환경에서 fork() 함수는 함수를 호출한 프로세스를 복사하는 기능을 한다. 이때 부모 프로세스와 자식 프로세스가 나뉘어 실행되는데, 원래 진행되던 프로세스는 부모 프로세스(parent), 복사된 프로세스를 자식 프로세스(child) 라고 한다. fork() 함수는 프로세스 id, 즉 pid 를 반환하게 되는데 이때 부모 프로세스에서는 자식 pid가 반환되고 자식 프로세스에서는 0이 반환된다. 만약 fork() 함수 실행이 실패하면 -1을 반환한다. 더 읽기
오라클 테이블 생성하는 방법 오라클에서 테이블을 생성하기 위해서는 CREATE TABLE 명령어를 사용하면 된다. CREATE TABLE [1.테이블명] ( [2.컬럼명] [3.데이터 타입] [4.기본 값(생략가능)] [5.NULL(생략가능)] ); CREATE TABLE의 기본 사용법은 위와 같다. 테이블명 : 사용할 테이블 명을 입력 테이블명은 문자(영문, 한글), 숫자, 특수문자(_, #, $)만 가능하다. 반드시 문자로 시작해야 한다. 컬럼명 : 사용할 컬럼명을 입력 컬럼명은 문자(영문, 한글), 숫자, 특수문자(_, #, $)만 가능하다. 반드시 문자로 시작해야 한다. 데이터 타입 : 컬럼의 데이터 타입을 입력 오라클에서 지원하는 데이터 타입은 다음 글을 참고 [Oracle] 오라클 데이터 타입..
LOB(Large Object) 타입이란? LOB(Large Object)타입은 오디오, 비디오, 문서 등 다양한 데이터를 큰 용량까지 저장할 수 있는 데이터 타입이다. LOB은 아래와 같이 4가지 종류가 존재한다. BLOB(Binary Large Object) : 바이너리(binary)타입의 어떠한 데이터든 저장할 수 있다. 주로 이미지, 오디오, 영상에 활용된다. CLOB(Character Large Object) : 매우 큰 용량의 문자열 혹은 문서를 저장할 때 사용한다. 고정 길이를 사용한다. NCLOB(National Character Set Large Object) : National 문자열 세트를 저장한다. CLOB과는 다르게 가변 길이를 사용한다. BFILE(External Binary F..
CASE WHEN문 C언어나 JAVA등에서 조건식을 사용하기 위해서는 if문을 주로 사용한다. 오라클도 이와 유사하게 조건식을 사용할 수 있는 방법이 있다. 바로 CASE WHEN문이다. CASE WHEN [조건 1] THEN [출력 1] WHEN [조건 2] THEN [출력 2] ... ELSE [출력 N] END CASE WHEN문의 기본적인 문법은 위와 같다. 프로그래밍 언어에서 사용하는 if문과 거의 비슷하다. CASE WHEN 뒤에 조건을 작성하고, 해당 조건을 만족하면 THEN 뒤의 출력값을 출력하는 식이다. 예를 들어 SELECT CASE WHEN gender = 'M' THEN '남성' WHEN gender = 'F' THEN '여성' END AS '성별' FROM dual; 위와 같이 사..
우분투 터미널 안 열림 현상 해결 방법은? 얼마 전 버츄얼박스에 우분투를 설치했는데 터미널(Terminal)이 열리지 않는 현상이 발생했다. 이러한 현상은 무인 설치(Unattended Install)를 진행하면 발생하는 현상으로 보인다. 이를 해결하는 법은 간단하다. 1. 우분투의 Settings에 들어간다. 2. Region & Language 탭을 누르고 Language를 English(United States)에서 'English(Canada)'로 바꿔준다. 3. 로그아웃 후 다시 로그인한다. 위와 같은 과정을 거치면 터미널을 사용할 수 있게 된다.
SYSDATE 함수 SYSDATE는 지정된 형식으로 현재 날짜와 시간을 표시하는 함수이다. SELECT SYSDATE FROM DUAL; 위와 같은 방식으로 사용할 수 있다. 사용환경에 따라 결괏값은 다르겠지만 보통 일-월-년도와 같이 출력된다. 날짜 포맷 정하기 TO_CHAR() 함수를 통하여 SYSDATE의 포맷을 원하는 대로 정할 수 있다. SELECT TO_CHAR(SYSDATE, 'YYYY') as "연도" , TO_CHAR(SYSDATE, 'MM') as "월" , TO_CHAR(SYSDATE, 'DD') as "일" , TO_CHAR(SYSDATE, 'HH24') as "시간" , TO_CHAR(SYSDATE, 'MI') as "분" , TO_CHAR(SYSDATE, 'SS') as "초" ..
유산균을 먹게 된 이유 나는 예전에 장이 매우 약했다. 아마 과민성대장증후군이였던 것 같은데, 조금만 매운걸 먹거나 자극적인 음식을 먹으면 항상 배가 아팠다. 그리고 조금만 컨디션이 안 좋거나 긴장하면 배가 아팠다. 그러다가 친구가 유산균을 먹으면 나아진다고 하길래 유산균을 챙겨먹기 시작했다. 그런데 정말 효과가 너무 좋아서 이때부터 다양한 영양제를 챙겨먹기 시작하게 된 것 같다. 처음부터 캘리포니아 유산균을 먹은건 아니고, 아래와 같이 다양한 유산균을 먹어보았다. 락토핏 처음으로 유산균을 먹은건 락토핏 골드 20억 CFU(생균수)였다. 이 제품은 대한민국 1등 유산균이라는 명칭답게 아주 유명하다. 종근당에서 만들었고 품질은 믿을만 하다. 맛도 아주 좋고 물없이도 가루형태로 바로 섭취가 가능해서 복용이 ..
애플워치 SE 44mm 작년 대학교 졸업 후 졸업 선물로 애플워치 SE 44mm를 선물 받았다. 원래도 갖고 싶었던 애플워치였는데, 선물을 받게 되어서 정말 기뻤다. 사용한 지 벌써 10개월이 넘었는데, 한 번 리뷰를 해보고자 한다. 1. 디자인 애플워치 SE는 모든 애플 제품이 그러하듯 하얗고 심플한 포장박스에 담겨온다. 이 하얀 박스는 받게 되면 기분이 참 좋은 것 같다. 애플워치 SE의 구성품은 기본 루프와 본체, 그리고 충전기로 이루어져 있다. 애플워치 SE는 모서리가 둥근 사각형 모양이다. 삼성의 갤럭시 워치가 원형인 것과 비교된다. 솔직히 내가 애플을 좋아하는 것도 있지만, 갤럭시 워치보다 애플워치 디자인이 훨씬 예쁘다고 생각된다. 개인적인 생각으로 갤럭시 워치는 조금 올드한 이미지가 든다. ..
디베아 차이슨 ALLNEW 22000을 사게 된 이유 나는 작은 원룸에서 자취를 하고 있다. 원래는 집 청소를 할 때 다이소에서 산 정전기 청소포와 밀대를 이용했지만, 바닥이 깨끗하게 청소되지 않는 것 같았다. 그래서 가성비가 괜찮은 무선청소기를 하나 사기로 마음먹었다. 유튜브와 구글 등 여러 곳에서 검색 후 디베아 차이슨 ALLNEW 22000이 가성비가 좋기로 유명하다는 것을 알 수 있었다. 여기서 차이슨은 "차이나" + "다이슨"의 합성어로, 중국의 다이슨이라는 뜻인 것 같다. 즉, 다이슨만큼의 성능을 가지면서 중국의 가성비를 가지고 있다는 것이다. 1. 구성 차이슨 22000은 아래와 같은 구성으로 온다(구매 플랫폼 별 상이) 본체 UV터보브러쉬 UV침구브러시 NEW물걸레 키트 멀티카펫 브러시 솔..
맥북을 사게 된 이유 나는 '개발자는 무조건 맥북이지!'라는 생각을 가지고 있었기 때문에 늘 맥북을 갖고 싶었다. 맥북의 이미지는 고급지고 세련된 노트북이라는 느낌과, 스타벅스 입장권이라는 별명도 있을 만큼 허세의 이미지 또한 크다. 하지만 모두들 맥북이 한 번쯤은 사용해보고 싶은 노트북이라는 점에 대해서는 공감할 것이다. 깔끔하고 심플한 디자인에, 감성 넘치는 애플 로고가 더해져 괜히 카페 같은 데 가서 펼쳐놓고 자랑하고 싶은 마음이 드는 것이다. 대학생 때부터 이러한 생각을 가지고 있다가 회사에 취직하고 경제적으로 여유가 생겨 맥북을 구매하게 되었다. 내가 구매한 제품은 2021 맥북 프로 M1 Pro 16인치 스페이스 그레이 모델이었다. 이하 m1 pro로 지칭하겠다. 1. 디자인 맥북을 구매하면 ..
Logitech MX Vertical 스펙 제품명 : Logitech MX Vertical 높이 : 120mm 너비 : 79mm 깊이 : 79mm 무게 : 135g 센서 해상도(기본) : 1000 & 1600 dpi DPI(최솟값 및 최댓값) : 400~4000 dpi 버튼 : 4개의 커스터마이징 가능한 버튼(기본값 : 앞으로/뒤로, DPI 설정, 가운데 버튼) 충전식 Li-Po 배터리(240mAh) 무선 작동 거리 : 10m Windows 10 이상, macOS 10.15 이상 지원 버티컬 마우스를 사게 된 이유 직장 생활을 하다 보면 마우스를 오래 잡고 있게 된다. 나도 마우스를 오랜 시간 잡고 이용하는 편인데, 어느 날 손목이 저릿저릿하니 너무 아팠다. 마우스를 너무 오래 잡아서 그런 것 같았다. ..
영양제, 뭘 먹어야 하나?평소에 건강에 관심이 많은 나는 다양한 영양제를 챙겨 먹는다.어떤 사람은 영양제의 효과에 의문을 품기도 하고, 효능이 크지 않다는 의견들도 더러 있다. 약사, 의사, 교수, 기업 관계자 등 많은 사람들의 영양제에 대한 의견이 다양하기 때문에비판적인 시각을 가지고 잘 판단하여 영양제 섭취를 고려해야 한다. 나는 영양제를 섭취하며 그 효과를 몸으로 체감하고 있기 때문에 영양제 섭취에 긍정적이다.너무 과한 섭취와 맹목적인 신뢰는 지양해야겠지만, 몸에 필요한 성분이 부족할 때 영양제의 도움을 받는 것은건강에 큰 도움이 된다고 생각한다. 영양제에 관한 여러 정보를 찾아보던 중, 한 약사 유튜버(이하 고약사)가 추천하는 영양제 조합에 대해 알게 되었고몇 년째 꾸준히 해당 조합으로 영양제를 ..
신년계획 나는 연초가 되면 항상 신년계획을 짜곤한다. 물론 신년계획을 전부 달성한 적은 한 번도 없다...ㅠㅠ 그래도 이렇게 모두가 볼 수 있는 블로그에 내 목표를 적는다면 좀 더 열심히 노력하지 않을까라는 생각에 이렇게 블로그에 내 신년계획을 적어본다. 1. 건강챙기기 나는 취준생 시절부터 건강이 많이 악화됐다. 그 때부터 건강이 다른 무엇보다도 중요하다는 것을 느꼈다. 이를 위해 다음과 같은 것들을 이루고 싶다. 일주일에 3번 이상은 헬스장가서 운동하기 몸무게 65KG 달성(근육량 증가) 규칙적인 생활하기 저녁 8시 이후 야식 금지 스트레스 관리하기(명상, 호흡, 운동) 2. 개발 공부하기 개발자로서의 성장을 위해 할게 정말 많다. Spring 인프런 강의 복습 이펙티브 자바 읽기 JPA 인프런 강의..
꾸준한 성장 2022년에는 총 317,901명이 내 블로그를 방문해주었다. 2022년 블로그 연말 결산, 티스토리 일일 방문자 1000명 수익 공개 꾸준한 성장 내가 기술 블로그를 처음 시작한 것은 2021년 7월부터다. 처음엔 하루 10명도 안 되는 방문자에 기뻐하곤 했는데 어느새 하루 평균 천 명이 넘는 방문자가 방문해주기 시작했다. 2022년 code-lab1.tistory.com 2023년에는 총 864,332명이 내 블로그를 방문해주었다. 거의 세 배에 가까운 방문자 수의 증가가 있었다. 기술블로그의 특성상 일시적인 트래픽 증가보다는 꾸준하고 완만한 증가 그래프를 그리는 것 같다. 2023년에는 총 115개의 글을 작성했다. 매주 두 개 이상의 글을 작성하기 위해 노력했고, 글의 양보다는 질에 ..
SI(System Integration)란? SI는 시스템 통합(System Integration) 혹은 솔루션 통합(Solution Integration) 등을 나타낸다. 국내에서 통상적으로 SI는 여러 시스템을 통합하고 구축하는 일을 뜻한다. SI 기업은 보통 클라이언트의 요구사항에 맞춰 프로젝트를 진행하며 새로운 시스템을 구축한다. 이 때 클라이언트의 요구사항 분석, 시스템 설계, 개발, 테스트, 검수 등의 과정을 거친다. 클라이언트의 요구에 맞춰 다양한 기술을 프로젝트마다 새롭게 익혀야하는 경우도 생겨 많은 경험을 할 수 있다. SM(System Maintenance)란? SM은 시스템 유지보수(System Maintenance)를 뜻한다. 말 그대로 시스템을 유지보수하는 일을 뜻한다. SM 기업..