정규식 / 정규표현식 (Regular Expressions; Regex) 정규표현식은 문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 '검색'하거나 '치환'하는 과정을 매우 간편하게 처리 할 수 있도록 하는 수단이다. matches (일치하는지 확인) replace(패턴에 맞는 값을 새로운 값으로 치환) Matcher, Pattern, find(), group() find(), group() (패턴에 맞는 값 1개씩 찾아내기) find(), group() (패턴에 맞는 값 모두 찾아내기) 대표적인 정규표현식 표현식 설명 ^ 문자열의 시작 ([]대괄호 안에서는 부정을 의미한다.) $ 문자열의 종료 . 임의의 한 문자 (문자의 종류 가리지 않음) * 앞 문자가 없을 수도..
Euqals, Hashcode 메소드에 대해 알아보자. 먼저 equals 메서드와 hash code가 왜 필요한지를 간단하게 알아보자. 만약 아래처럼 member1객체와 member2객체를 선언하고 객체를 비교했을 때 true 값을 받을 수 있을까 ?? 그렇다.. 너무 쉬운 질문이었다. 답은 당연히 false 일 것이다. 그 이유는 둘은 동일 객체가 아니기 때문이다. public class Test { public static void main(String[] args){ final Member member1 = new Member("1"); final Member member2 = new Member("1"); System.out.println(member1 == member2); // false Sy..
시작하며 컬렉션에 대한 내용을 정리하게 된 계기는 먼저 자바 Collection 만의 API 기능을 효율적으로 사용하기 위해서이다. 다음은 자료구조를 적극적으로 활용하기 위해서이다. 자료구조를 이용하면 훨씬 효율적으로 데이터들을 관리할 수 있고 심지어 코드의 가독성 또한 좋아지기 때문이다. 가독성이 안 좋아지고 복잡함을 증가시키는 IF 문을 피하는 코드를 만드는 것은 아주 효율적인 코딩이라고 생각한다. 예를 들어, List에 있는 이메일들을 중복 검사한다고 했을 때 단순하게 생각하면 List를 Email 숫자만큼 loop를 돌려 Email을 중복 검사하는 방법이 있을 수 있다. 하지만 HashSet, TreeSet을 이용하면 중복된 값이 저장이 되지 않기 때문에 좀 더 효율적으로 데이터를 관리하고, 소스..
String, StringBuffer, StringBuilder 차이 String String 클래스는 변경이 불가능한 immutable 클래스이다. String 클래스를 사용하여 String의 문자열을 추가할 때 기존 할당된 메모리 힙영역에 문자열을 수정할 수 없다. 예를 들어 String 문자열에 +를 하여 문자열을 추가 할경우에 내부적으로 새로운 객체를 생성하게 된다. String data = "ABC"; data += "DEF"; 예를 들어 "ABC" 에 "DEF"가 추가되었기 때문에 한개의 String 객체가 사용되었다고 생각할 수 있지만, String 객체는 내부 데이터를 수정할 수 없으므로 새로운 객체를 생성하여 기존 data변수에 새로 생성된 String 객체를 생성한다. 아래는 그림으로 ..
아스키코드(ASCII) 아스키 코드는 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계이다. 컴퓨터의 언어는 결국 숫자이다. 따라서 프로그램이나 다른 컴퓨터와 통신하려면 컴퓨터에서 문자와 기호가 해당 숫자 표현으로 변환되어야야하는 필요가 생겼다. 이필요성이 대두됨에 따라 1960년대에 ASCII(American Standard Code for Information Interchange)(아스키로 발음) 코드가 개발되었다. ASCII 표에는 128개의 숫자가 해당 문자에 할당되어 있다. ASCII 코드를 통해 컴퓨터 간에 또는 컴퓨터와 프로그램 간에 데이터를 저장하고 교환할 수 있게 되었다. ASCII는 0x00부터 0x7F까지의 총 127개 문자(제어 문자, 특수 문자, 숫자, 알파벳 등)로 이루어져..
Java란 자바는 썬 마이크로 시스템즈에서 개발하여 1996년 1월 공식적으로 발표한 객체지향언어이다. 기본적으로 자바프로그램들은 JVM위에서 동작한다. JVM 위에서 동작하기 위해서는 자바 바이트코드가 필요하다. 이 자바 바이트코드는 개발자에 의해서 작성된 자바 소스코드(.java)를 자바컴파일러(javac)로 변환 된 코드(.class)를 말한다. 아래 간단하게 자바프로그램 특징을 정리해보았다. 자바 프로그램 특징 자바프로그램은 운영체제에 독립적이다. 객체지향 언어이기 때문에 유지보수가 용이하다. 자동으로 메모리관리를 해준다. 동적 로딩을 지원한다. 오픈소스 자료가 풍부하다. 자바프로그램은 안정적이다. JVM이란 JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 주려 부..
HMAC HMAC란? 해싱 기법을 적용하여 메시지의 위변조를 방지하는 기법을 HMAC (Hash-based Message Authentication) 이라고 한다. 좀더 상세히 설명하면 Sender와 Recipient는 서로 API를 주고 받아야한다. 그럴때 이메시지가 Sender 가보낸 메시지인지 인증을 해야한다. 뿐만 아니라 이 메시지가 변조가 되었는지 확인을 해야한다. 이러한 문제점을 해결하는것이 HMAC이다. Sender는 메시지를 보내기전에 공유된 Secret키와 메시지를 기반으로 해쉬값을 만든다. 그리고 이해쉬값을 헤더값에 포함하여 전달해준다. 그리고 Recipient는 그 받은 메시지를 기반으로 또 자신이 가지고있는 공유된 Secret를 이용하여 해쉬를 만들어내고 헤더값에 넘어온 키를 대조한..
Class Diagram이란? Class Diagram은 UML의 한종류이다. UML은 프로그램 설계를 표현하기 위해 사용하는, 주로 그림으로 된 표기법을 의미한다. 객체지향 언어와 밀접한 관려이 있기에 객체지향 모델링 언어라고도한다. 소프트웨어 시스템, 업무모델링, 시스템의 산출물을 규정하고 문서화하는 언어이고 이 UML종류중 하나가 클래스 다이어그램이다. 클래스 다이어그램은 클래스들간의 관계를 보여주는 구조 다이어그램이다. 특징 클래스 다이어그램은 클래스 내부의 정적인 내용이나 클래스 사이의 관계를 표기하는 다이어그램으로 시스템의 일부 또는 전체의 구조를 나타낼수 있다. 클래스다이어그램은 클래스들의 관계를 쉽게 보고, 의존관계를 쉽게 파악하게 해준다. 클래스간의 관계 아래 그림은 클래스간의 관계를 표..
- Total
- Today
- Yesterday
- network
- Quasar
- java
- OAuth
- javascript
- Jenkins
- Chache
- #linux
- jenkins #mac방화벽
- Angular
- Spring
- JPA
- Gradle
- eslint
- HMAC
- kotlin
- Infra
- IntelliJ
- SSH
- batch
- OS
- https
- Github
- Linux
- tobi
- aws
- Collection
- vue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |