일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- .ppk만들기
- 깃
- 입력
- 스프링
- 백엔드
- springboot
- BufferedReader
- RESTful웹서비스
- Git
- 스프링 OAuth
- 클론코딩
- 스프링부트
- 백엔드 개발자 뭐해?
- RESTful
- 인텔리제이
- Scanner
- string
- 프로그래머스
- 개발자
- Spring
- 다리를 지나는 트럭
- 리눅스 서버시간 변경
- 인스타그램만들기
- @RestCotroller
- Java
- 개발 뭐하지
- 예외처리
- git hub
- 서비스 계층
- 깃허브
- Today
- Total
목록Java (11)
It's Ward
*오늘의 삽질은 개발과 연관은 있지만 가볍게 남겨놓은 기록입니다. 혹시라도 누군가가 보신다면 편하게 의견 남겨주시면 감사하겠습니다. 2022.05.28 - [회고록/TIL] - [프로그래머스/JAVA] 다리를 지나는 트럭 [프로그래머스/JAVA] 다리를 지나는 트럭 이 프로그램을 풀면서 중점적으로 진행했던 사항은 1. 실제 트럭이 이동하듯이 Queue 안의 데이터 들이 순서대로 이동하면서 시간을 측정하게 하고싶었다. 2. Linked List, Stream 사용 등 익숙하지 않 its-ward.tistory.com 해당 프로그램을 작성하면서 문득 생각이 들었다. 내가 지금 하고있는 방식이 과연 최적화가 되는 방식일까? 속도가 과연 빠를까? 물론 이 프로그램을 가독성 있게, 실제로 구현되는것처럼 되는것은 ..
이 프로그램을 풀면서 중점적으로 진행했던 사항은 1. 실제 트럭이 이동하듯이 Queue 안의 데이터 들이 순서대로 이동하면서 시간을 측정하게 하고싶었다. 2. Linked List, Stream 사용 등 익숙하지 않은 JAVA 문법을 숙달하고싶었다. 문제 풀이에 걸린 시간 총 8시간.. 충격적이다. 배운게 많아서 정말 다행이다. 문제를 진행하면서 놓친점이 굉장히 많았는데.. 해당 내용은 오늘의 삽질에서 풀어보도록 하겠다. 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단,..
date: 2022-05-12 21:21:32 +0900 작성 변수나 메소드.. 클래스 이름을 정하는 것은 영어를 모국어로 사용하지않은 사람들에게는 굉장히 힘든 일입니다. 프로그래밍 이름 규칙을 배워야하는 이유 Java에서는 다음과 같은 규칙을 지향합니다. 프로그래밍을 할 때 이름이 굉장히 많이 쓰입니다. 변수, 함수, 클래스, 패키지.. 등등 모든 부분에 이름을 통해, 서로의 코드를 분석하며 협업 할 수 있기 때문에 유지보수 시 편리함 등, 의도, 상황에 맞는 이름을 짓는 방법을 배워야합니다. 패키지 모든 패키지명은 소문자로 지정합니다. com.sample.package.bluetooth com.sample.package.wifi com.sample.package.handler 클래스(Class) / ..
프로그래밍을 하다보면 문자열들을 더하고 없에거나 수정하는 작업은 빈번하게 일어난다. 그중 문자열을 더하는 과정에서 어떻게 처리했냐에 따라 속도차이가 발생하는데, 이 포스트는 String을 더하는 방법과 속도 차이에 대해 설명한다. 우선적으로 JVM에서 String이 어떻게 관리되는 지를 이해하여야 하는데 다음과 같이 String 문자열들을 String Pool에 저장하지만, new를 사용하게 되면 다른 주소값으로 Heap 영역에 저장됩니다. String pool은 HashMap 형태로 되어있어 new하지않은 str1과 str3은 동일한 데이터를 불러오는 형식으로 String 객체를 생성하면 String Pool 내에서 기존의 같은 값을 가지는 객체가 있는지 검사하고 있다면(hasIs) 그 객체의 참조값을..
1. Scanner와 BufferedReader를 굳이 나눠서 사용하는 차이점을 알아보기로 했다. 사용자 입장에서는 Scanner가 직관적이고, 다양한 메소드들을 제공하기때문에 처음 Java를 배우기엔 좋다고 생각하였으나.. 다음과 같은 차이점이 존재한다. Scanner BufferedReader 구분자 Space(공백), Enter(줄바꿈) Enter(줄바꿈) 반환 데이터 메소드 마다 다름 String 버퍼 크기 1024 8192 동기화 여부 X O (멀티스레드에서 안전함) 속도(천만번 입력) 4.8448초 0.6585초 2. 그렇다면 왜? Scanner와 BufferedReader는 속도차이가 날까? 단순하게 BufferedReader는 버퍼크기가 크기도 하고, 정규식을 따로 검사하지않고 문자열 그대..
equals( ) 두개의 String에 값만을 비교해서 같으면 true, 다르면 false를 반환한다.(대소비교) String str1 = "hello"; String str2 = "hello"; boolean equals = str.equals(str2); // 값이 같기때문에 true isEmpty( ) length()가 0 이면 true를, 아니면 false를 반환한다. String str1 = ""; boolean isEmpty = str1.isEmpty(); // 값이 비어있으므로 true startWith( ) 문자열이 지정한 문자로 시작하는지 판단. 같으면 true반환 아니면 false를 반환한다(대소문자구별) String str1 = "apple banana"; boolean isStart..
date: 2022-05-09 18:50:22 +0900 작성 자료형은 Java는 동일하지만 프로그램 컴파일러마다 조금씩 다를 수 있고, 해당 자료는 Java 기준으로 작성하였습니다. Java에서 변수를 선언할 때, 메소드를 선언할 때, 저장되는 값의 자료형을 선언합니다. 기본타입은 데이터의 실제 값을 의미합니다. 타입에 따라 적용 가능한 연산이 다릅니다. 기본 타입(primitive type) 데이터의 실제 값을 의미합니다. 정수 타입(byte, short, int, long), 실수 타입(float, double), 문자 타입(char), 논리 타입(Boolean) 참조 타입(reference type) 데이터가 저장된 주솟값을 의미합니다. 객체의 주소를 저장, 8개의 기본형을 제외한 나머지 타입 기..
date: 2022-05-09 19:12:57 +0900 작성한 자료 [Java 자료형(Data type)](/_post/java/java-data-type.md)에서 자료형에 대해 배웠지만, 직접적인 형 변환이 아닌 Java에서 제공하는 변환방법이 있다. 대표적으로 String -> Integer, Integer -> String을 살펴보고 동일하게 다른 자료형에서도 변환 할 수 있는 방법을 소개한다. ## String.valueOf(value) value 안에 들어간 타입을 String으로 변환 또한 파라미터가 ```null```이 들어가도 **NullPointerException** 오류를 발생시키지 않고, **"null"** 을 반환함. int intValue = 100; char charValu..
삽질시간 : 무려 1시간.. 문제사항 : 입력받은 데이터 혹은 Integer.parseInt() 로 변환한 타입이 int가 아닐 경우 오류 발생 (정수뿐만이 아닌 다른타입의 경우에도 동일할 것이다.) 해결 방법 : NumberFormatException try&catch 를 이용한 메소드 제작 및 예외처리 예외 처리라는것은 이전부터 어느정도 느낌적인 느낌으로 알고있었는데 정확하게 사용해본적은 없었다. 이번에 가상으로 물품과 재고를 등록하는 간단한 예시 프로그램을 작성하는데, 숫자를 입력해야하는 부분에 자꾸 문자가 들어가는 경우가 많이 발생하였다. 이런 실수가 생기게 되면, 컴파일은 정상적으로 작동되나, 런타임에서 오류가 발생하게 되는데 바로 NumberFormatException이다. 한마디로 숫자가 들..
JAVA에서 대표적으로 입력 받을 수 있는 클래스는 BufferedReader와 Scanner이다. 스캐너는 다음 게시물에서 확인 할 수 있다.2022.05.26 - [Java/Java 개념과 이론] - JAVA String 입력 - Scanner 들어가기 앞서.. 동일하게 Scanner와 BufferedReader를 사용할 때에는 해당 클래스를 호출해야 한다. 자바에서 사용하는 대부분 클래스는 import를 통해 호출해야한다. 물론 대부분 자바 개발 IDE(Intellij , Eclipse)는 당연하듯이 자동으로 import를 해주거나 간단하게 처리할 수 있지만 다른 환경(웹으로 진행하는 코딩 테스트 환경 - 대표적으로 프로그래머스, 기업 코딩 테스트 등)에서는 수동으로 import를 해야할 때가 있다..