언제부터일까? 나의 개발 능력의 발전은 멈춘 것만 같다. 뛰어난 개발자가 되고 싶어 학교에서 공부도 열심히 했고 실무경험도 2년 반이나 쌓았지만 아직도 모르면 도움을 요청해야 하는 그저 그런 개발자 신세에서 벗어나지 못하고 있다. 무엇이 문제였을까? 가만히 생각해보면 지금까지 나는 공부를 하는 척만 해왔지 진짜 공부를 해본 적이 없었던 것 같다. 지금까지 나는 공부라기보다는 돈을 벌기 위한 행위에만 집중해왔던 게 아닐까? 개발자의 길을 걸어가면서 느끼는 것이 있다. 개발자로서 행복하고 싶다면 실력이 있어야 한다는 것을 나 스스로에게 당당해야 한다. 어떻게 보면 개발은 문제가 생기고 그것을 해결해나가는 과정의 연속이라고 볼 수 있다. 그런 면에서 본다면 개발자로서 가져야 할 중요한 역량 중 하나에 문제를 ..
개발자나 코딩을 배우는 학생들이라면 알고리즘 연습이나 간단한 코드를 짜고 실행해보고 싶을 때가 종종 있으실겁니다. 이럴때 간단한 코드 한줄을 실행해보기 위해 무거운 프로그램들을 깔기는 시간도 많이 걸리고 환경을 세팅하기도 귀찮습니다. 이럴때 웹 컴파일러를 사용하면 간단하게 코드를 짜고 실행할 수 있습니다. Tutorialspoint(https://www.tutorialspoint.com/) 이곳에서는 거의 모든 언어를 작성하고 컴파일 할 수 있습니다. 그리고 회원가입하면 작성한 코드도 저장할 수 있습니다. 자신이 작성하고 싶은 언어를 클릭한 후 코드를 작성하고 상단에 Execute 버튼을 눌러주면 오른쪽 Result 창에 컴파일 된 결과가 나오게 됩니다. 하지만 대부분의 웹 컴파일러들은 속도가 느리기에 ..
어노테이션(Annotation)이란? 자바에서 어노테이션은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종을 말합니다. 보통 @기호를 앞에 붙여서 사용하며 JDK 1.5 버전 이상에서부터 사용이 가능합니다. 자바 어노테이션은 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동합니다. 어노테이션은 메타데이터라고 볼 수도 있습니다. 메타데이터란 어플리케이션이 처리해야 할 데이터가 아니라 ,컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할것인지를 알려주는 정보입니다. 어노테이션의 사용처 1. 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공 2. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 3. 실행 시 특정 기..
스트림(Stream)이란? 스트림은 자바8부터 추가된 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자입니다. Iterator와 비슷한 역할을 하지만 람다식으로 요소 처리 코드를 제공하여 코드가 좀 더 간결하게 할 수 있다는 점과 내부 반복자를 사용하므로 병렬처리가 쉽다는 점에서 차이점이 있습니다. [Java] 람다식(Lambda Expressions) -> 사용법 & 예제 Iterator과 Stream의 코드 비교 ArrayList list = new ArrayList(Arrays.asList(1,2,3)); Iterator iter = list.iterator(); while(iter.hasNext()) { int num = iter.next(); System.out.p..
제네릭을 사용해야하는 이유 제네릭 타입을 사용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있기 때문입니다. 자바 컴파일러는 코드에서 잘못 사용된 타입 때문에 발생하는 문제점을 제거하기 위해 제네릭 코드에 대해 강한 타입 체크를 합니다. 실행 시 타입 에러가 나는것보다는 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지하는 것이 좋습니다. 또 제네릭 코드를 사용하면 타입을 국한하기 떄문에 요소를 찾아올 때 타입 변환을 할 필요가 없어 프로그램 성능이 향상되는 효과를 얻을 수 있습니다. ArrayList list = new ArrayList(); //제네릭을 사용하지 않을경우 list.add("test"); String temp = (String) list.get(0)..
스레드의 종류 스레드는 일반 스레드(Normal Thread)와 데몬 스레드(Daemon Thread) 두 가지 종류로 나눠집니다. 데몬 스레드란? 데몬 스레드는 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드입니다. 주 스레드가 종료되면 데몬 스레드는 강제적으로 자동종료됩니다. 그 이유는 주 스레드의 보조 역할을 수행하는데 주 스레드가 종료되면 데몬 스레드의 존재가 의미 없어지기 때문입니다. 이 점을 제외하면 데몬 스레드는 일반 스레드와 크게 차이는 없습니다. 이처럼 데몬 스레드는 간단히 말해 자신을 만드는 스레드의 종속되어있는 스레드라고 생각하면 되며 데몬 스레드를 만들려면 Thread 클래스의 setDaemon()에 true 값을 넣어 주면 됩니다. 간단한 예제 import java.awt..
스레드는 자신의 run()메소드가 모두 실행되면 자동으로 종료됩니다. 하지만 경우에 따라서는 실행중인 스레드를 종료할때도 있을텐데요. 스레드를 즉시 종료시키기 위해서 stop() 메소드를 제공하고 있는데, 이는 실제로 잘 사용하지 않습니다. 그 이유는 stop() 메소드는 쓰레드가 사용 중이던 자원들이 불완전한 상태로 남겨지기 때문입니다. interrupt() 메서드를 활용하여 스레드(Thread)안전하게 종료하기 가장 안전하게 스레드를 정상 종료시키려면 interrupt() 메소드를 사용하면 됩니다. interrupt() 메소드는 스레드가 일시 정지 상태에 있을 때 InterruptedException 예외를 발생시키는 역할을 합니다. 여기서 주목할 점은 interrupt() 메소드를 이용하기 위해서는..
실행중인 스레드를 잠시 멈추게 하고 싶다면 Thread 클래스의 정적 메소드인 sleep() 메소드를 사용하면 됩니다. Thread.sleep()메소드를 호출한 스레드는 주어진 시간 동안 일시 정지 상태가 되고 다시 실행 대기 상태로 돌아갑니다. 사용법 (Thread.sleep) try{ Thread.sleep(1000); }catch(InterruptedException e){ e.printStackTrace(); } 매개값에는 얼마 동안 일시 정지 상태로 있을것인지 밀리세컨드 (1/1000) 단위로 시간을 알려주면 됩니다. 위와 같이 1000이라는 값을 주면 스레드는 1초동안 일시 정지 상태가 됩니다. 일시 정지 상태에서 주어진 시간이 되기전에 interrupt() 메소드가 호출되면 Interrupt..
멀티 스레드란? 멀티스레드란 응용 프로그램 실행 시 동시에 다수의 처리를 병행하기 위하여, 여러 개의 처리 단위인 스레드를 생성하여 운영하는 방법을 말합니다. 멀티 스레드는 동시성 또는 병렬성으로 실행됩니다. 동시성이란 머맅 작업을 위해 하나의 코어에서 멀티 스레드가 번갈아가며 실행하는 성질을 말하고 병렬성은 멀티 작업을 위해 멀티 코어에서 개별 스레드를 동시에 실행하는 성질을 말합니다. 싱글 코어 CPU를 이용한 멀티 스레드 작업은 병렬적으로 실행되는 것처럼 보이지만 사실은 번갈아가며 실행하는 동시성 작업입니다. 멀티 스레드의 우선순위 정하기 멀티스레드의 순서를 정하는 것을 스레드 스케줄링(thread scheduling)이라고 합니다. 스레드 스케줄링 방식에는 우선순위(priority)방식과 순환 할..
윈도우를 설치할 때 패스워드를 등록하는 절차를 그냥 건너뛰게 되면 PC에 로그인 암호가 걸리지 않습니다. 로그인 암호가 걸려있지 않으면 타인이 내 PC를 자유롭게 사용할 수 있습니다. 보통 편의를 위해 카카오톡, 네이버아이디등 각종 ID를 자동 로그인으로 설정해두고 많이들 사용하는데 이럴 경우 여러 가지 사고가 발생할 가능성이 높습니다. 그렇기에 여러사람이 같이 사용하는 공간에 있는 PC라면 로그인 암호를 설정하는 것이 좋습니다. 이번 포스팅에서는 윈도우10에서 로그인 암호를 설정하는 방법에 대해 알아보려 합니다. 윈도우10 로그인 암호(비밀번호) 설정 방법 1. [Windows Key] + [I] 키를 눌러 Windows 설정에서 계정을 클릭합니다. 2. 좌측탭에서 로그인 옵션을 클릭하고 비밀번호 추가..
윈도우10에서는 보안을 위해 설치시 로그인 패스워드 등록을 의무화 하고 있습니다. 로그인 암호만 설정해줘도 모르는 사람들이 내PC를 사용한다던지 PC를 확인하는등의 불상사를 예방할 수 있습니다. 모든 암호는 오래 사용하면 보안에 취약해지므로 주기적인 패스워드 변경은 필수입니다. 그렇기에 로그인 암호도 생각날때마다 주기적으로 교체해주는것이 좋습니다. 이번 포스팅에서는 윈도우10 로그인 패스워드 변경방법에 대해 알아보려합니다. 로그인 패스워드 변경 방법 1. [Windows Key] + [I]를 눌러 WIndows 설정창에 들어간 뒤 계정 버튼을 누릅니다. 2. 좌측탭에서 로그인 옵션탭을 클릭하고 비밀번호의 변경 버튼을 클릭합니다. 3. 현재 설정되어있는 로그인 암호를 입력한 뒤 다음을 누릅니다. 4. 자신..
윈도우10에서는 보안설정을 위해서 로그인 시 암호 등록을 의무화하고 있습니다. 이러한 보안설정이 필요한 부분이 맞지만 부팅할 때마다 매번 암호를 입력하는 것은 다소 번거로운 부분이 있습니다. 특히 자취방등과 같은 나 혼자만 사용이 가능한 장소에 있는 PC는 본인 외에는 사용할 수 있는 사람이 없기에 굳이 로그인 암호를 걸어둘 필요가 없고 로그인 암호는 그저 컴퓨터 부팅에 있어 하나의 절차만 추가되는 꼴이 되어버립니다. 이런 경우에는 그냥 로그인 암호를 제거하고 사용하는 것이 편리합니다. 이번 포스팅에서는 윈도우10에서 로그인 암호를 제거하는 방법에 대해서 알아보도록 하겠습니다. 자동 로그인 설정으로 패스워드 입력절차 생략하기 암호는 해제하지 않고 자동 로그인 설정으로 암호 입력 화면을 스킵하는 방법입니다..
가끔 자신이 플레이하는 게임 영상을 찍고 싶거나 자신이 만든 파워포인트 PPT 발표자료를 영상으로 만들고 싶을 때가 종종 있습니다. 이럴 때 자신이 보고 있는 컴퓨터(PC) 화면을 영상으로 만들어야 하는데요. PC 화면을 녹화하려면 프로그램을 다운받아야 했지만 윈도우10에서는 화면을 녹화할 수 있는 기능이 자체적으로 내장되어 있습니다. 자주 자신의 PC화면을 영상화시켜야 하는 상황이 아니라면 이 기능을 활용하여 영상을 만드는 것이 편리합니다. 좀더 전문적인 녹화를 위해 프로그램을 사용하고싶다면 아래 글을 참고해주세요. [Windows] 무료 화면 녹화 프로그램 OBS Studio 설치 & 초기세팅 윈도우 10 화면 녹화 방법 녹화 화면 설정 1. [ Windows Key ] + [ I ]를 눌러 Wind..