일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- Kubernetes
- vuejs
- Vue
- 자바
- Di
- 해시맵
- ORM
- CI
- hibernate
- k8s
- map
- CI/CD
- 프로그래머스
- docker
- builder-pattern
- dabase
- DevOps
- superBuilder
- java
- 알고리즘
- 뷰
- 코딩테스트연습
- cd
- CKA
- IntelliJ
- programmers
- JPA
- Oracle
- SpringMVC
- Today
- Total
목록전체 글 (110)
문홍의 공부장
정규표현식은 쓸 때마다 헷갈려서.. 매번 검색하는 것도 성가시니 이번 기회에 정리를 하고 넘어가야겠다. 정규표현식 정리 표현식 설명 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자 (문자의 종류 가리지 않음, 단, \ 는 넣을 수 없음) * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. []내에서 ^가 선행하여 존재하면 not 을 나타낸다. {} 횟수 또는 범위를 나타낸다. () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한..
1. IoC(Inversion of Control) 제어의 역전(IoC)이란 한마디로 말하면 프로그램의 제어 흐름 구조가 바뀌는 것이다. (기존 개발자(사용자) 주도 => Spring 주도) 일반적으로, main() 같은 프로그램이 시작되는 지점에서 다음에 사용할 오브젝트를 결정, 생성하고, 만들어진 오브젝트 내의 메소드를 호출하는 작업을 반복한다. 이런 구조에서 각 오브젝트는 프로그램 흐름을 결정하거나 사용할 오브젝트를 구성하는 작업에 능동적으로 참여한다. 즉, 모든 종류의 작업을 사용하는 쪽에서 제어하는 구조이다. 이에 반하여 IoC는 제어 흐름의 개념을 거꾸로 뒤집는다. 오브젝트는 자신이 사용할 오브젝트를 스스로 생성하거나 선택하지 않는다. 그리고 자신이 어떻게 만들어지고 어디서 사용되는지 알 수 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ve8Lh/btqBOs7KIYl/SfrmmF6y3pOiEQoQTjXXLk/img.png)
Spring Framework 란? 자바 엔터프라이즈 개발을 위한 ①오픈소스 ② 경량급 ③애플리케이션 프레임워크. ① 엔터프라이즈 개발 용이 : 개발자가 복잡하고 실수하기 쉬운 Low Level에 많이 신경 쓰지 않으면서 Business Logic 개발에 전념할 수 있도록 해준다. ① 오픈소스 : 소프트웨어(S/w) 혹은 하드웨어의(H/W) 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어, 오픈 소스 라이선스에 준하는 모든 통칭을 일컫는다. (소스가 공개되어 여러 개발자가 플랫폼을 함께 개발, 구축, 보완해 나가는 시스템. ) ② 경량급 : 단순한 웹컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용할 수 있다. ③ 애플리케이션 프레임워크 : 특정 계층이나 기술, 업무 ..
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 나의 풀이 이것도 최근에 문제 풀다가 배열 내림차순하는 방법 찾아봤었어서.. 사실 처음엔 List 객체에 문자열을 하나씩 넣고, Collections.reverse()를 이용해 데이터를 내림차순해서 제출했었는데, 테스트에서 몽땅 실패가 나왔다^^; 그래서 다시 구글링을 해서 Collections.reverseOrder()라는 메소드를 사용했다. 저번에 문제풀면서 이 메소드도 공부 했었는데 그새 까먹음ㅎㅎ... 복습 열씨미 하자. 123456..
문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 나의 풀이 얼마 전에 문제 풀다가 정규표현식을 사용했어서, 여기서도 자연스럽게 정규표현식으로 숫자 여부를 확인하면 되겠다고 생각이 떠올랐다. 정규표현식은 쓸 때마다 헷갈려서, 이번 기회에 한 번 정리를 하고 넘어가야겠다. 12345678public boolean solution(String s) { if(s.length() == 4 || s.length() == 6) { return s.matches("^[0-9]*$"); } retur..
문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가pPoooyY면 true를 return하고Pyy라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 나의 풀이 대소문자 구별이 없기 때문에 우선 모든 문자를 대문자로 바꾸고 시작했다. 12345678910111213141516171819b..
문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 나의 풀이 연습문제라 그냥 머리 속에 가장 먼저 떠오른 쉬운 방법으로 해결했다. 다른 사람의 풀이를 보니 대다수의 사람들이 나와 같은 방법으로 풀었더라. 몇 가지 오..! 싶은 풀이는 아래에서 정리. 123456789101112131415public long solution(int a, int b) { ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/IZwl5/btqBAURfKJP/fQZ4qt9XCCxDzTQwLjHa3k/img.png)
객체지향 프로그래밍 (Object Oriented Programming, OOP) 컴퓨터 프로그램을 객체(Object) 들의 모임으로 파악하고자 하는 프로그래밍 패러다임 중 하나. 프로그래밍에서 필요한 데이터를 추상화시켜 객체를 만들고, 그 객체들 간의 유기적인 상호작용(메세지를 주고 받으며, 데이터를 처리)을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 프로그래밍의 장단점 장점 코드의 재사용성 남이 만든 클래스를 가져와 사용할 수 있고, 상속을 통해 확장하여 사용할 수 있다 유지보수 용이 절차지향 프로그래밍에서는 코드 수정을 위해 일일히 찾아 수정해야하는 반면, 객체지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부의 멤버 변수/메서드로 있기 때문에, 해당 부분만 수정하면 된다. 대형 프로젝트..