
[java]함수형 인터페이스
2023. 1. 4. 13:53
Developer/Java
오늘은 함수형 인터페이스에 대해서 알아보도록 합시다 함수형 인터페이스를 왜 알아야 하냐면 이 전 내용에 람다식을 알아봤죠 람다식은 함수형 인터페이스로만 사용이 가능하기 때문에 알고 있어야 하는 것입니다 영어론 Functional Interface 한글론 함수형 인터페이스 라고 말합니다 특징부터 살펴보자면 함수형 인터페이스라는 것은 1개의 추상 메소드만 가지고 있는 인터페이스입니다 java8 버전부터는 인터페이스에서 디폴트 메서드를 포함할 수 있지만 여러 개의 디폴트가 있더라도 추상 메서드만 딱 하나면 함수형 인터페이스 라고 합니다 딱 이것만 기억하시면 됩니다 추상 메서드가 한 갠가?! 한 개면 함수형 인터페이스 라고 인식 하시면 됩니다 함수형 인터페이스는 @FunctionalInterface 어노테이션을..
[java]람다식
2022. 12. 7. 13:56
Developer/Java
람다식 이란 함수를 함수 형태로 만들어놓지 않고 하나의 식으로 표현한 것입니다 이는 익명이라 할수있죠 자 한번 형태를 보자구요 우리가 기본적으로 알고 있는 함수 즉 메서드의 형태를 살펴봅시다 public static int[] report(String[] id_list, String[] report, int k) { } 접근지시자 public 키워드 static 반환 타입 int [] 함수명 report 매개변수 String []... 그러고 나서 { 이 영역에 우리는 코드를 짜게 되겠죠 } 람다식은 이렇지 않습니다 아주 간결해버리죠 ㅎㅎ () -> System.out.println("람다식 끝~"); 조금 더 유추하기 쉽도록 코드를 바꿔봅시다 (int x, int y) -> { return x+y; }..

[java]스레드2(Thread)
2022. 12. 6. 16:32
Developer/Java
스레드 두 번째 내용입니다 스레드는 6가지의 상태가 있습니다 NEW 생성은 되었지만 준비되지 않은 상태입니다 RUNNABLE 실행 중이거나 준비되어있는 상태입니다 WAITING 다른 스레드가 호출하기를 기다리는 상태입니다 TIMED_WATING 스레드가 sleep 메서드로 자는 상태입니다 BLOCK 스레드가 다른 작업 요청으로 인해 멈춘 상태입니다 TERMINATED 종료 이처럼 여섯가지의 상태가 있고 스레드는 JVM이 어떤 상태인지 기록하고 관리합니다 ㅎㅎ 음 그리고 스레드가 우선순위를 정할 수 있어요 setPriority 메서드를 이용해서 가능합니다 ㅎㅎ 먼저 스레드를 생성하는 클래스를 살짝만 수정해줍시다 생성자를 만들어주고 getName으로 어떤 스레드가 먼저 실행하는지 확인해보도록 합시다 pack..
[java]스레드(Thread)
2022. 11. 29. 16:48
Developer/Java
우리가 자바 공부를 할 때 자주 접했던 자바의 장점 중 하나가 c와 다르게 멀티 스레드가 가능하다 라는 내용을 한 번쯤은 접해보거나 들어봤을 겁니다 그럼 이제 자바의 장점 중 하나인 스레드를 알아보도록 합시다 ㅎㅎ 스레드를 이해하기 위해선 프로세스가 무엇인지를 이해해야 합니다 먼저 프로세스란 동작하고 있는 프로그램을 프로세스라 합니다 이 프로세스 내에서 실행되는 흐름의 단위 정도로 생각하시면 됩니다 좀 편하게 생각하고자 한다면 스레드가 모여서 프로세스를 이룬다고 생각하셔도 괜찮습니다 스레드는 구현하기 위해 Thread클래스를 이용하는데 java.lang.Thread 에서 import 해서 사용하면 됩니다 ㅎㅎ 스레드를 생성하기위해서는 2가지 방법이 있습니다 1. 상속받아서 쓰레드를 생성한다 2. Runn..
[java]I/O_2
2022. 10. 13. 09:45
Developer/Java
이 전 글에 작성한 코드에 보면 이미 있는 파일을 읽어 오는 부분이 있습니다 그 부분에서 개선 할 내용이 있어서 글을 하나 더 작성 하게됐는데 그 부분이 뭐냐하면 파일을 읽어들일 때 얼마만큼을 읽어올 수 있는지 지정 할 수 있습니다 코드 비교를 해봅시다 아주 간단하니 걱정마세요 while((readData = finput.read()) != -1){ // -1 이란 읽을 데이터가 더 없을때 까지라고 생각하면 된다 foutput.write(readData); // write 함수로 데이터를 읽어서 output에 쓴다 } byte[] buffer = new byte[512]; while((readData = finput.read(buffer)) != -1){ foutput.write(buffer, 0, re..

[java]I/O
2022. 10. 12. 10:53
Developer/Java
I/O 라는 것은 인풋 아웃풋 입니다 입 출력이라고 흔히 말하죠 간단히 생각하면 간단 하지만 파고들수록 어렵고 아 이게 뭐지 싶습니다 후 저도 처음 접했을때 이게 뭔가 싶었어요 그냥 파일을 만드네 음 그런가보다 하며 넘어갔던 내용인데 자바를 통해서 웹을 개발 한다고 하면 모르면 안될 내용이라 작성합니다 일단 의미부터 알아보죠 자바에선 파일과 콘솔의 입출력을 직접 다루진 않습니다 바로 스트림을 통해서 다루는 것이죠 이 스트림이라는 것은 실제로 사용자가 입력하거나 출력이 표현되는 흐름 이라고 알고 계시면 됩니다 이번 시간에는 파일의 입출력을 알아볼것인데 처음 다루는 내용인 만큼 간단한 내용으로 알아보도록 합시다 I/O에 관련된 클래스들은 검색 해보시면 아주 상세히 나옵니다 ㅎㅎ 구조는 그렇게 파악 하시고 일..
[javascript]div태그를 input처럼 사용하고 전체 선택 설정
2022. 10. 6. 10:30
Developer/Javascript
안녕하세요 오늘은 제가 현업에서 근무하며 생긴 이슈를 처리하는 과정에 대해 설명하고 비슷한 이슈가 있을때 좀 더 편하게 처리 하시라는 의미로 작성합니다 간혹 사용자입력을 받는 영역을 지정해놓고 input 태그를 이용해서 대부분 사용 하실 거라 생각합니다 그렇지만 div 태그에 텍스트가 들어가있는 경우가 있습니다 input태그 처럼 사용하는것이지요 일단은 div 태그를 input 처럼 사용하는 속성은 contenteditable='ture' 입니다 내용1 내용2 숫자 이런 상태이면 숫자 라는 택스트를 수정 할 수 있게 됩니다 input과도 같은 느낌이죠 ㅎㅎ 근데 저에게 생겼던 이슈는 기존에 저 태그에 content 속성만 들어가있는게 아니라 다른것도 하나 더 끼어있었습니다 저 div에 onfocus 이벤..
[java]Stream
2022. 10. 4. 16:49
Developer/Java
스트림은 자바 8버전 부터 사용 가능한 기능입니다 컬렉션의 엘리먼트를 조작하고 처리할 수 있죠 ㅎㅎ 스트림이 나오기 전에는 컬렉션의 엘리멘트를 순회하려고 Iterator 객체를 이용해야 했습니다 ㅎㅎ while(iterator.hasNext) { String str = iterator.next(); } 이런 식으로요 ㅎㅎ 하지만 이제 스트림이 있기때문에 좀 더 간결하게 짤 수 있습니다 list.stream().filter("datachk"::equals).forEach(System.out::println); 하나씩 뜯어서 봅시다 ㅎㅎ filter에서 한번 걸러주죠 엘리먼트 중에서 datachk이라는 문자열과 같은지 equals로 판별하고 마지막에 프린트 한다 라는 뜻으로만 생각 하시면됩니다 ㅎㅎ 이외에도..
[java]자바 중급 개념정리
2022. 9. 30. 15:28
Developer/Java
중급 개발자라면 알아야 할 내용들을 한번 더 정리 해봅시다 ㅎㅎ 저 또한 아직 부족함이 많은 사람임을 알기에 정리하며 저도 공부하고자 합니다 저번에는 Object와 String관련 내용, 박싱 언박싱을 알아보았는데 중급 개발자라면 당연히 알아야 하는 여러가지 클래스를 더 알아봅시다 Math 수학 계산을 위한 클래스로 이 클래스는 생성자의 접근제어자가 private이기 때문에 new 키워드로 객체를 생성 할 수 없습니다 하지만 메서드들이 static 이므로 객체 생성 없이 사용가능한거죠 ㅎㅎ 쉽기도 또는 어렵기도 한 이 클래스의 유용한 메서드들을 살펴봅시다 int i = Math.max(1, 3);//3 int j = Math.min(20, 2);//2 System.out.println(Math.abs(-..
[java]자바 중급 개념정리1
2022. 9. 29. 13:45
Developer/Java
자바 개발자 중급 정도 일때에 꼭 알아야하는 개념들을 정리 해보겠습니다 저도 중급정도의 경력인데 아직 너무 모자란 탓에 다시한번 정립하는 차원에서 정리하게 되었네요 먼저 모든 클래스의 조상 Object 클래스 입니다 오브젝트 클래스 안에서 가장 많이 사용하는것 중 하나가 equals 입니다 객체가 갖고있는 값을 비교합니다 객체라는것이 중요합니다 ㅎㅎ toString은 객체의 값을 문자열 형태로 리턴 합니다 아주 많이 쓰이죠 ㅎㅎ hashCode는 객체의 해시코드 값을 리턴 합니다 Override는 이미 존재하는 메서드를 개발자가 상황에 맞게 내용을 수정하여 사용 하는것입니다 전에도 한번 설명 했듯이 이미 있는 메서드 명이지만 내가 재정의 하여 사용한다 라고 생각하시면 되겠습니다 다음으로는 오토박싱 오토 ..