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