전체 글
-
day33_2 - JAVA (자바, IO스트림)KIC/JAVA 2021. 7. 29. 17:20
[java.io 패키지] -> 자바의 기본적인 데이터 입출력 API 제공 [InputStream] -> 바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스이다. [inputStream 주요 메서드] [OutputStream] -> 바이트 기반 출력스트림의 최상위 클래스로 추상 클래스이다. 3 09 00 [콘솔] -> 시스템을 사용하기 위해 키보드로 입력을 받고 화면으로 출력하는 소프트웨어 [File 클래스] -> 파일 시스템의 파일을 표현하는 클래스 -> 파일 크기 파일 속성, 파일 이름 드으이 정보를 제공한다. -> 파일 생성 및 삭제 기능 제공 -> 디렉토리 생성, 디렉토리에 존재하는 파일 리스트 얻어내는 기능 제공 ex) [output 메서드] package javaPro.java_io; imp..
-
day33_1 - JAVA (자바, 멀티 스레드)KIC/JAVA 2021. 7. 29. 12:00
[스레드의 일반적인 상태] [스레드 그룹] -> 관련된 스레드를 묶어 관리 목적으로 이용한다. -> 스레드 그룹은 계층적으로 하위 스레드 그룹을 가질 수 있다. [자동 생성되는 스레드 그룹] [스레드 그룹 생성] -> 부모 그룹을 지정하지 않으면 현재 스레드에 속한 그룹의 하위 그룹으로 생성한다. [스레드 폭증으로 일어나는 현상] ->병렬 작업 처리가 많아지면 스레드 개수 증가 -> 스레드 생성과 스케줄링으로 인해 CPU가 바빠짐 -> 메모리 사용량이 늘어남 ->애플리케이션의 성능 급격히 저하 [스레드 풀(Thread Pool)] ->작업 처리에 사용되는 스레드를 제한된 개수만큼 미리 생성해 놓는 것 -> 작업 큐(Queue)에 들어오는 작업들을 하나씩 스레드가 맡아 처리한다. -> 작업 처리가 끝난 스..
-
flutter - Dart 시간 변환(DateTime, millisecondsSinceEpoch, fromMillisecondsSinceEpoch)Flutter 2021. 7. 29. 00:16
졸업 작품 때문에 Dart 시간 변환에 대해서 공부했다. -> DateTime 에서 millisecondsSinceEpoch로, millisecondsSinceEpoch에서 DateTime으로 변환 하는것이 목적이다. flutter 로는 단순 결과를 얻기 힘들어서 DartPad를 활용했다. [DartPad] https://dartpad.dev/ -> 해당 코드는 https://www.python2.net/questions-701627.htm 여기서 많이 참고하였다. void main(){ final date1 = DateTime.fromMillisecondsSinceEpoch(1577836800 * 1000).toUtc(); // 01/01/2020 @ 12:00am (UTC) final date2 = ..
-
day32 - JAVA (자바, 스트림 예제, 멀티 스레드)KIC/JAVA 2021. 7. 28. 11:35
[Collectors 예제] package javaPro.java_Stream; import java.util.List; import java.util.Map; import java.util.stream.Stream; import java.util.stream.Collectors; class CollectEx2 { public static void main(String[] args) { Student2[] stuArr = { new Student2("나자바", true, 1, 1, 300), new Student2("김지미", false, 1, 1, 250), new Student2("김자바", true, 1, 1, 200), new Student2("이지미", false, 1, 2, 150), new ..
-
flutter 에러 - Missing type arguments for generic method 'push<T extends Object?>'. Try adding an explicit type, or remove implicit-dynamic from your analysis options file.Flutter 2021. 7. 28. 03:32
->페이지를 이동하는 시키기 위해 버튼을 만들고 navigator를 사용하였는데 이러한 오류가 떴다. -> 읽어봐도 어떻게 해결해야하는지 감이 오지 않아 구글에 찾아보았다. ->아직 이유는 모르겠지만 제네릭 자료형이 맞지 않아서 오류가 난 것일까 -> stateful widget 문제인가 싶어서 간단한 예제를 만들어 적용해보았는데 그것도 아니였다. ->MaterialPageRoute 맞춰줘야 하는 것이 아직 무슨 의미인지 잘 모르겠어서 좀 더 공부해봐야 할 것 같다. -> push 옆에 를 붙여주었더니 정상적으로 페이지가 이동되었다. [참고한 페이지] https://stackoverflow.com/questions/60798549/try-adding-an-explicit-type-like-dynamic-..
-
day31 - JAVA (자바, 스트림, 플랫맵, 필터)KIC/JAVA 2021. 7. 27. 15:30
[stream Ex] package javaPro.java_Stream; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.stream.Stream; public class StreamEx0 { public static void main(String[] args) { List list = Arrays.asList("홍길동", "김삿갓", "이몽룡", "성춘향"); System.out.println("외부 반복자 사용"); Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } System.ou..
-
day30 - JAVA (자바, 스트림, 병렬 처리)KIC/JAVA 2021. 7. 27. 00:04
[리덕션] -> 대량의 데이털르 가공해 축소하는 것 -> 데이터의 합계, 평균값, 카운팅 최대값, 최소값 -> 컬렉션의 요소를 리덕션의 결과물로 바로 집계할 수 없을 경우에는 집계하기 좋도록 필터링, 매핑, 정렬, 그룹핑 등의 중간 처리 과정이 필요하다.(스트림 파이프 라인의 필요성) [파이프 라인] -> 여러개의 스트림이 연결되어 있는 구조 -> 파이프라인에서 최종 처리를 제외하고는 모두 중간 처리 스트림 [중간 처리와 최종 처리] -> Stream 인터페이스는 필터링, 매핑, 정렬 등의 많은 중간 처리 메소드를 가진다. -> 스트림에서 다시 중간 처리 메소드를 호출해 파이프 라인을 형성한다 [스트링 타입이 제공하는 최종 처리 메서드] [루핑(loooping)] -> 요소 전체를 반복하는 것을 루핑이라..
-
day29 - JAVA (자바, 메소드 참조, 스트림, 병렬처리)KIC/JAVA 2021. 7. 25. 01:11
[정적 메소드와 인스턴스 메소드 참조] -> 클래스 메소드 참조 클래스 :: 메소드 -> 인스턴스 메소드 참조 참조변수 :: 메소드 [매개변수 메소드 참조] - (a, b) -> {a.instanceMethod(b); } ==> 클래스 :: instanceMethod [생성자 참조] (a, b) -> {return new 클래스(a, b);} ==>클래스 :: new [스트림] -> 자바 8부터 추가된 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해준다. -> 람다식(함수적 - 스타일)으로 처리할 수 있도록 해주는 반복자 [반복자 스트림] [스트림의 특징] -> iterator 와 비슷한 역할을 하는 반복자 -> 람다식으로 요소 처리 코드를 제공 대부분의 요소처리 메소드는 함수적 인터페이스 매개 타입을 ..