Java 54

4. 정규표현식이란, java 정규식 구성 및 가이드 + [JAVA에서 성능 높이기]

칭찬받은 정규표현식 공부해보자구~ ✨정규표현식이란 - 편집기의 패턴매칭을 위해 탄생한 문자열 패턴 매칭기 - 특정패턴을 이용해 문자열을 찾을 수 있게 표현한 것입니다. "정규표현식이란, 특정 문자열을 찿기위한 패턴을 기록한 것" 으로 이해할 수 있을 것 같습니다. 그럼 이제 패턴을 표현하는 방법? 패턴을 작성하는 방법에 대해 알아봅시다 💡 정규표현식의 표현 방식 아래의 순서로 정규표현식을 표현합니다 정규표현식(regex) = 패턴구분자 시작 + 작상할 패턴 + 패턴구분자 끝 + 패턴 변경자 (ex /패턴/ g) 👏🏻 정규표현식의 표현방법 [메타문자 - 수량자] 굉장히 많지만, 메타문자와 수량자에 대해서만 이야기 해보자 💡 메타문자 (Meta Character - 문자를 나타내는 문자) 정규표현식을 제어하..

2. 주석 사용 지양해야하는 이유 - 클린 코드 4장

오늘은 객체지향적인 코드를 위해, 주석 사용을 하지 말아야하는 이유에 대해 말해보자 불분명한 주석, 오래된 주석, 불필요한 정보를 전달하는 주석은 코드 해석을 헷갈리게 만들 수 있다. "나쁜 코드에 주석을 달지 마라. 새로 짜라." Brian Wilson Kernighan, Phillip James Plauger 주석 사용을 지양하라고 말하는 가장 큰 이유는 모든 주석을 계속 관리할 수 없기 때문 처음에 주석을 왜 사용하면 안되는지, 사수에게 물어봤을 때, 들은 답변이다. 지속적으로 관리되는 착한 주석은, 얼마든지 사용해도 좋다, 다만, 그건 너무 많은 불필요한 시관과 에너지 비용을 가져가는 일이다. -> 또한, 내가 보는게 아닌 타인이 볼 때 잘못된 해석을 야기시킬수 있다. 그렇다면, 어떻게 코드에 대..

[JAVA] record 불변 객체 타입 (feat Lombok @Value)

java 14에서 preview로 등장했고, java 16때 정식 기능으로 나온 기능입니다. 새로운 java Type 이며, 자바에서 불변객체를 만들기위해, 필요한 코드의 중복을 줄여주는 기능을 합니다. (👉 Lombok과 매우 비슷 := @Value) 기능 모든 프로퍼티를 포함한 생성자 제공 모든 프로퍼티에 private final 적용 모든 프로퍼티의 getter 메소드 생성 toString, equals, hashCode 메소드 생성 프로퍼티들에게 annotation을 붙일 수 있도록 허용 불변 객체 vs record 타입 vs @Value ✨[Record 타입을 사용하지 않은, 기존의 클래스] 불변 객체를 만들기 위해, 매개변수에 private final 을 붙힘 //Record를 사용하지 않은 ..

Java/Java 문법 2022.06.02

1. 자바 네이밍 규칙 (java 네이밍 컨벤션)

[짧은 정리] 상수(final) : 대문자 변수 : 소문자 or 카멜 메소드 : 카멜 클래스 : 파스칼 URL : 소문자 + 명사(자원) + 언더바(x) 대시[-]로 변수키워드 정렬 순서 : private static final (PSF) 0. 자바 공통 네이밍 규칙 1. 대소문자가 구분되어야하고, 길이에 제한이 없다 길이에 제한이 없다가 중요한 것 같다(변수명으로 의미부여를 명확하게 -> 주석사용 지양) 2. 예약어 사용 x java에서 사용하고있는 명들 (ex - class, import, char, break) 3. 숫자로 시작하면 안된다 4. 특수문자는 '_(언더바)' 와 '$' 만 허용한다. 5. 파스칼 표기법 (PascalCase)과 카멜 표기법(camelCase)를 사용한다. PascalCa..

0. Google style convention 적용하기

자잘한, 코드 작성 스타일을, 강제로 맞추는 - 구글에서 정한 컨벤션 스타일이다. 나는 회사에서 인텔리제이에 적용해서 사용한다..! 코드 스타일 강제 컨벤션(내용) 들여쓰기 4칸으로 중괄호 생략 x 변수 선언 들여쓰기 구글 스타일 컨벤션 적용법 1) git hub 저장소에서 압축 파일 다운 https://github.com/google/styleguide -> download.zip 2) 인텔리제이에 적용 (순서대로) Intellij-java-google-style.xml Preference - editor - code style - schema - import (1)번 Java - tap size 4 - indent 4 - continuation indent 4 3) 코드 정렬(ctrl + alt +L..

[JAVA] 자바 클린 코딩 하기 - 객체지향이기위해 지켜야하는 것들

첫 회사에 들어와, 온보딩을 하면서 가장 많이 배우고, 아직도 어려운게 깨끗하게 코딩하고, 협업을 위해 규칙있게 코딩하는 방법이다 즉, 클린코딩,, 말로만하고, 글로만 읽는 클린코딩이 아니라 내 코드에 직접 적용하려니 헷갈리는게 이만저만이 아니었다. 그래서! 알아가고 있는 것을 기록하기위한 포스팅이다! (계속계속 추가할 예정) 목 록 1. 자바 네이밍 규칙 + 메소드 명은 직관적이게 + 메소드 명은, 그 메소드를 가지는 객체의 기준으로 작성 (ex - Member.createMember() X 👉 Member.create() ) 객체를 기준으로 더 직관적이게 작성 2. 주석 사용은 지양 3. 정적변수, 동적변수 - 재할당 하지 않는 것은 final 처리 (상수 변환) 4. 정규표현식은 나이스? 5. In..

[JAVA8] Stream API란 - fiter /map /of 사용방법

JAVA Stream API JAVA stream 과 stream API는 다릅니다. java stream 은 java 에서 다루는, 입출력 흐름입니다. 우리가 코드에서 stream으로 사용하는 것이, Stream API입니다. // 컬렉션에서 스트림 생성 Stream stream = list.stream(); Stream API란, 컬렉션 또는 배열 인스턴스에 저장된 데이터를 가지고, 중간연산과 최종연산을 진행하기 좋은 구조로 배치시키는 복사본이라고 할 수 있습니다. Stream API 특징 스트림은 외부 반복을 통해 작업하는 컬렉션과 다르게, 내부 반복을 통해 작업을 수행합니다. 스트림은 재사용이 가능한 컬렉션과 다르게 단 1번만 사용할 수 있습니다. 스트림은 원본 데이터를 변경하지 않고, 복사해서 ..

Java/Java 문법 2022.05.24

private final VS private static final 왜 쓸까

private final VS private static final final final은 무언가를 제한하겠다는 의미 final은 재할당을 제한함 - 메모리의 재할당, 즉 값은 변할 수 있음 상수의 경우 재할당을 하지 못하면, 초기화값이 불변하기 때문에 값이 불변 static static은 값을 static(정적) 메모리 영역에 올리겠다는 선언 즉, 어디에서 호출해도, 모든 곳에서 데이터를 공유함 - 정적메모리 영여에 올려져있어 전역적으로 사용이 가능 [예시] public class MutableTest { private final Map mutableMap = new HashMap(); public void testFinal() { // 재할당 안됨 // mutableMap = new HashMap()..

Java/Java 문법 2022.03.10

ArrayList<Dto> Map value 값으로 정렬

Class public class test { private String name; private LinkedHashMap data; public EventSummary(String name){ this.login = login; events = new LinkedHashMap(); events.put("TotalData",0); } } 대에충 이런식의 클래스 ArrayList TestList 라는 리스트가 존재할때, 이 클래스안의 Map 안의 특정 키값으로 정렬을 하고 싶을때! test.stream().sorted((t1, t2) ->Integer.compare(e2.getData().get(key), e1.getData().get(key))).collect(Collectors.toList()); co..

Java/Java 문법 2022.01.16

[JAVA] 자바 문자열 다루기

1. 문자열을 구성하는 문자의 개수 세기 자바에서 문자열의 개수를 세기 위해선 replace를 이용하면 구할 수 있다. ex) 입력: 가가가bbbbcc# 출력: 가3b4c2#1 while(input.length()>0){ String a = input.substring(0,1); int totalsize = input.length(); input = input.replace(a,""); int nowsize = input.length(); result = (Integer.toString(totalsize-nowsize)); } 이런식으로 문자열을 replace로 공백으로 바꾼후 바뀐 사이즈로 계산할 수 있다. 2. 문자열 인덱스로 해당 문자 변환하기 이걸 쉽게쉽게 하기위해선, StringBuilder를 ..

Java/Java 문법 2022.01.07
반응형