최근에 갑자기 저소음 적축 기계식 키보드에 꽂히는 바램에 키보드 하나를 구매하게 되었다.기존에 사용하던 제품은 레오폴드 FC660 청축(4년 사용) 이였고 무슨 생각이었는지 회사에서 청축을 신나게 사용했었다.저소음 적축을 알아보면서 고민해오던 키보드들에 대해 주관적이지만 제품을 구매하시는 분들께 도움이 되고자 제품 리뷰를 합니다, 처음에는 청축에서 넘어가는 거라 갈축 또는 적축을 생각하며 제품을 찾았는데 회사 직원분 저소음 적축을 타건해 볼수 있는 기회가 생겨 타건 하였을 때 순간 구매 기준이 확 바뀌게 되어버렸다. 구매 기준회사에서 사용할 키보드텐키리스10만원 초중반 가격대저소음 적축 저소음 적축 삼대장 비교각 키보드 제조사별 하우징, 키캡, 내부 설계에서 차이가 존재하므로 같은 스위치라도 타건과 타건..
리눅스(Linux) 리눅스는 "무료 유닉스" 정도로 생각할 수 있다. 비싼 비용을 지불해야만 사용할 수 있는 유닉스에 비해 리눅스는 무료이면서도 유닉스와 거의 동일한 기능과 역할을 제공한다. 어떤 면에서는 유닉스보다 뛰어난 기능을 발휘한다. 또한 리눅스는 멀티유저, 멀티태스킹을 지원하는 유닉스처럼 보이는 운영체제이다. 하지만 리눅스는 유닉스와는 독립적으로 개발되었으므로 유닉스 계열 운영체제가 아니라 유닉스 클론(Clone) 운영체제이다. 리눅스는 장점 중에 하나는 유닉스와 다르게 무료이다. 쉽게 이야기하면 리누스 토발즈(Linus B. Torvalds)는 자신이 만든 리눅스 운영체제 소스코드를 무료로 배포하였고, 이것을 세계적인 수많은 개발자들이 자신의 입맛대로 각양각색의 리눅스를 만들어서 배포한 것들이..
Spring이 내부 매커니즘으로 사용하는 캐시도 조심해서 써야 한다. Spring MVC에서 작성되는 메서드의 리턴 타입에 문자열을 반환할 수도 있고, ViewResolver를 사용하여 뷰 객체를 반환할 수도 있다. @Controllerpublic Class SampleController {@RequestMapping("/member/")public String hello(@PathVariable int id) {...생략return "redirect:/returnUrl;}} @Controllerpublic Class SampleController {@RequestMapping("/member/")public ModelAndView hello(@PathVariable int id) {...생략return..
Java 기본적인 환경 세팅에 대해 알아보자. 윈도우 환경 어디에서든지 Java 명령어를 가능하게 하는 세팅이다. 어떤 개발 툴에서는 Java 환경 세팅이 안 되어 있으면 프로그램이 실행이 안 되는 경우도 있고 JAVA_HOME 이라는 시스템 변수는 개발 세팅에 있어서 광범위하게 사용된다. 특히 리눅스 환경 서버 세팅에서 JAVA_HOME을 등록하지 않고 다른 설정을 잡기란 쉬운 일이 아니다. 추후 리눅스에서 JAVA_HOME 등록 방법을 설명하도록 하겠다. Windows10 다른 윈도우 버전과는 UI만 다를 뿐 세팅 방법에는 차이가 없다. 1. Java 명령어 확인 위와 같은 명령어로 확인했을 때 컴퓨터가 인식을 못 하면 환경 변수 설정이 되어 있지 않은 것이다. 2. 환경변수 추가 시스템 -> 고급 ..
스프링 프레임워크(Spring Framework) 우리나라에서는 자바 기반의 프로젝트를 진행할 때 대부분 스프링 프레임워크를 사용한다. 스프링 프레임 워크를 웹 프로젝트로 오해하는 분들도 많다. 하지만 스프링 프레임워크는 웹 애플리케이션, 간단한 애플리케이션, 여러 서버와 연동하여 동작하는 엔터프라이즈 애플리케이션도 범용적인 스프링 프레임워크다. Spring의 가장 큰 특징은 복잡한 애플리케이션도 POJO(Plan Old Java Object)로 개발할 수 있다는 점이다. 이 밖에도 JMS, JMX, Mail, Web Service 등 여러 가지 기능을 POJO 기반으로 사용할 수 있다. 스프링의 핵심 기술(Spring Core technology) 스프링의 핵심 기술은 바로 DI(Dependency I..
코딩을 할 때 객체 생성을 막고 싶을 때가 있다.유틸리티 클래스(Utiliy class)들은 객체를 만들 목적의 클래스가 아니다. 객체를 만들면 오히려 이상하다. 하지만 생성자를 생략하면 컴파일러는 자동으로 디폴트 생성자(default constructor)를 만들어 버린다. 귀가 닳도록 듣고 입이 아프도록 많이 했던 말이다.. 이렇기 때문에 생성자를 만들지 않으려고 생성자를 선언하지 않았어도 사용자는 해당 클래스의 객체를 만들 수 있게 된다. 이런 경우 디폴트 생성자를 private로 정의해 놓고 객체를 생성하지 못하도록 막아야한다. /* 객체를 만들 수 없는 유틸리티 클래스 */public class UtilityClass {/* 기본 생성자가 자동으로 생성도지 못하도록 하여 객체 생성 방지 */pr..
Singleton싱글턴은 객체를 하나만 만들 수 있는 클래스다.싱글턴을 구현하는 흔히 사용하는 방법 두가지는 다음과 같다. 생성자를 private로 선언하고 public static final로 선언한 필드 변수에 인스턴스 저장생성자를 private로 선언하고 public statc ClassType getInstance() { return INSTANCE;} public class Elvis { private static final Elvis INSTANCE = new Elvis(); private Elvis() { ... } public static Elvis getInstance() { return INSTANCE; } public void leaveTheBuilding() { ... } }위 코드..
프로그래밍 상상력을 키워주는 알고리즘 이야기 이 책은 알고리즘이나 자료구조를 공부하기 위해서 읽는 책은 아니다. 알고리즘에 대한 흥미를 이끌어내주는 교양서적으로 생각하면 된다. 책 제목 그대로 누워서 읽는? 출퇴근하며 읽기 정말 좋은 책이다. 책의 구성은 다음과 같다. 1장. 재즈로 여는 아침의 향기2장. 록과 함께하는 정오의 활기3장. 하드코어로 달아오르는 뜨거운 오후4장. 클래식으로 마무리하는 차분한 저녁 책 제목을 생각하지 않으면 이게 IT 전문서 인가라는 생각이 들 정도이다. 초반부에는 간단한 논리 또는 퀴즈로 시작하여 알고리즘의 기본 정렬 이야기 등 재밌는 이야기로 시작된다. 후반부에는 암호화 알고리즘 RSA의 탄생 과정, 재귀, 스택, 다양한 알고리즘 등이 소개된다. 알고리즘에 입문하시는분들 ..
객체지향 개발과 관련된 용어들클래스 "상태"와 "행위"를 갖는 자바의 기본 단위를 의미한다. 모듈화가 가능한 가장 작은 단위를 클래스라고 보면 된다.상태와 행위어떤 사물을 나타낼 때에는 상태와 행위로 구분하여 표시하는 것이 가능하다. 자바에서 "상태"는 클래스나 인스턴스 변수로, "행위"는 메소드로 표현할 수 있다.캡슐화연관된 "상탱"와 "행위"를 결정하는 기능을 묶어 주는 것을 의미한다. 이렇게 묶어주면 기능을 클래스 밖에서 접근 가능한 대상을 제한하는 정보 은닉이 가능하다. 그리고, 하나의 객체를 위한 코드가, 다른 객체를 위한 코드와 무관하게 수행할 수 있는 모듈화가 가능해진다.객체클래스는 사물의 단위를 의미하지만, 객체는 각 사물을 의미한다.상속부모에 선언된 변수와 메서드에 대한 사용권을 갖는 것..
JMH 툴을 통해 Collection 관련 객체에 대해 성능 테스트를 진행 해보자.JMH 툴 설치가 아직 안되신 분들은 JMH 설치 설치 및 설정 방법 글을 참고 하기 바란다.[엔지니어링/성능과 튜닝] - [성능과 튜닝] JMH 설치 및 설정 방법 Set 클래스 중 무엇이 가장 빠를까?Set 관련 클래스들의 성능을 비교해 보기 위해 아래와 같이 JMH 테스트 코드를 만들었다.데이터를 담을 때 얼마나 시간 차이가 발생하는지 확인해 보자. @State(Scope.Thread) @BenchmarkMode({Mode.AverageTime}) @OutputTimeUnit(TimeUnit.MILLISECONDS) public class SetAdd { int LOOP_CONUT = 1000; Set set; Str..
- 프로그래머
- sort algorithm
- Java
- 제주도 여행
- 리액트 16
- javascript
- 정렬 알고리즘
- 리액트
- Eclipse
- 자바스크립트
- React
- 리눅스 명령어
- effective java
- spring
- 개발환경
- Linux 명령어
- 제주도 3박4일 일정
- 자바
- 경력관리
- Collection
- Tomcat
- SQL
- 프로그래머스
- 회고
- Maven
- 오라클
- 오라클 내장 함수
- 성능분석
- 이직
- 소프트웨어공학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |