![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cOLLUA/btsEEERKz6A/6pbn7vb7kKmTcchTwZSctK/img.png)
종종 알고리즘을 풀다보면 아래와 같이 char 타입을 int 타입으로 변환해야하는 순간들이 있다. char 타입은 int 타입으로 강제 변환을 하게 되면 아스키 코드 값이 나오게 되기 때문에 형변환했다가 당혹스러운 순간이 있다. 이때 알아두면 좋은 방법 두가지를 소개한다. 방법1 - '0' 빼주기 char 타입 값에 '0' 아스키 코드 값을 뺐다. 전제조건은 char 타입 값은 48~57 사이 값이어야 한다는 점이다. 0의 아스키 코드 값이 48인점을 이용해서 아스키 코드값들끼리의 연산을 통해서 나온 아스키 코드 값을 int형으로 강제 형변환하는 것이다. 하지만, 구글링을 해서 더 좋은 방법이 있는지 확인해본 결과 역시나 원하는 메서드를 자바는 미리 제공하고 있었다. 방법2 - Character.getN..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cy9ZUZ/btsEGLvcxdA/gNEg6NNL4VFYgwpYlOGbak/img.png)
문제출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 입출력예 소스코드 class Solution { public String solution(String my_string, int[] index_list) { String answer = ""; for(int i : index_list){ answer += my_string.charAt(i); } return answer; } }
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/czX20v/btsEBm3YcTx/iyKHOvNzp03ooKxkIhnk0K/img.png)
회원 리포지토리 테스트 케이스 작성 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해 서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번 에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. Test case 작성 테스트 메서드 작성 시 메서드 앞에 @Test 어노테이션을 명시한다. 각각의 테스트 메서드는 독립적으로 실행되어야 한다. 테스트는 각 테스트끼리의 순서가 관계가 없어야 하고, 의존 관계가 없어야 한다. 따라서 하나의 테스트가 끝날 때마다 공용 데이터들을 깔끔하게 지워줘야 한다. 이를 위해 @BeforeEa..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cAyPzo/btsEAb3aDJR/triasH5LX1TZBr3JILx6J0/img.png)
회원 객체 회원 리포지토리 인터페이스 회원 리포지토리 메모리 구현체 회원 리포지토리 테스트 케이스 작성 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. 테스트 케이스 작성은 다음 글에서 확인할수 있습니다. -> 회원 리포지토리 테스트 케이스 작성
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ccKZ6p/btsEBpfi8yP/dby2ESRVk3iIQMaqGAkmek/img.png)
비즈니스 요구사항 정리 회원 도메인과 리포지토리 생성 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/KsylL/btsEy52sR8p/fyYEULgNyDWlQQALYBRSDK/img.png)
API API는 "Application Programming Interface"의 약자로, 두 개의 소프트웨어 애플리케이션이 서로 상호 작용하기 위한 인터페이스를 제공하는 방법이나 규약을 가리킵니다. 이는 두 애플리케이션이 서로 통신할 수 있도록 데이터 및 기능을 공유하고 사용할 수 있게 해줍니다. @ResponseBody 문자 반환 @ResponseBody 를 사용하면 뷰 리졸버(viewResolver)를 사용하지 않음. (MVC 동작시 사용) 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아님) @ResponseBody 객체 반환 @ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨 @ResponseBody 사용 원리
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/T7D9e/btsEAjscrDA/MrQOH8yC6VXPU537KY7UQ0/img.png)
MVC MVC는 "Model-View-Controller"의 약자로, 소프트웨어 아키텍처 패턴 중 하나입니다. 이 패턴은 소프트웨어를 세 가지 주요 구성 요소로 나누어 개발하는 방법을 제공하여 애플리케이션의 유지 보수성과 확장성을 향상시킵니다. 여기서 각 요소는 특정한 역할을 수행합니다: Model 애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 모델은 데이터의 상태를 관리하고, 데이터의 변경 및 조작을 담당합니다. 이러한 데이터 변경은 뷰 및 컨트롤러에게 통보됩니다. Controlloer 사용자 입력을 처리하고 그에 따라 모델과 뷰를 업데이트하는 역할을 합니다. 컨트롤러는 사용자의 요청을 받아 모델에게 전달하고, 모델의 데이터 변경을 감지하여 뷰를 업데이트합니다. View 사용자 인터페이스(UI)를..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bwYX3G/btsEuQSIAiK/6mmtQUtKvbnGOFOqs1Ln11/img.png)
정적 컨텐츠 MVC의 템플릿 엔진 API 정적 컨텐츠 정적컨텐츠는 웹페이지나 앱 내에서 동적으로 생성되거나 변경되지 않고 고정된 형태로 제공되는 콘텐츠를 말합니다. 이러한 콘텐츠는 사용자의 상호작용에 따라 변경되지 않으며, 한 번 생성된 후에는 주로 서버에서 클라이언트로 직접 제공됩니다. 대표적인 예로는 HTML 문서, 이미지 파일, CSS 파일, JavaScript 파일 등이 있습니다. 웹 브라우저에서 hello-static.html 호출시 내장 톰캣 서버가 스프링으로 전달하고, 1. 우선순위로 매핑된 컨트롤러가 있는지 찾는다. 없으면 2. resorces 내부에 있는 hello-static.html을 찾고 있으면 웹브라우저로 바로 반환을 해준다.
- Total
- Today
- Yesterday
- Java
- Replace
- 프로그래머스
- 엑셀 파일 추출
- 문자열 반복하기
- 렌더링 과정
- 대소문자 변환
- 신입개발자 면접 준비
- 블록스코프
- Object.clone()
- 마진과 패딩의 차이점
- 스코프
- fsd 아키텍처
- SQLD
- useeffet
- StringBuilder
- 호이스팅
- n 번째 원소부터
- 콜백 큐
- replace와 replaceAll의 차이점
- startsWith()
- 배열만들기1
- 중첩스코프
- rep;ㅁce
- nodelist
- 배열 만들기3
- SQL 개발자
- replaceAll
- 브라우저의 기본 구조
- fsd 구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |