전체 글

개발기록
*문제 *풀이 첫번째 풀이 class Solution { public long solution(long n) { long answer = 0; for(int x = 1; x 제곱근 구하는 함수를 몰라서 함수 없이 풀어보려고 했는데 런타임 에러가 났다. (결과 값은 출력되긴 함) 원인은 for문의 x 자료형을 long이 아닌 int로 했기 때문이었다.. 그래서 테스트 케이스는 됐는데 제출하면 int 범위를 넘어서는 값들은 런타임 에러가 났던 것.. 두번째 풀이 class Solution { public long solution(long n) { long answer = -1; long x = (long)Math.sqrt(n); if(n == x*x){ answer = (x+1)*(x+1); } return..
* 스프링 프레임워크와 스프링 부트 - 스프링 프레임워크란? 스프링 프레임워크(Spring Framework) 자바 기반의 오픈소스 프레임워크로 Java EE에서 요구하는 수준의 복잡한 기능을 Java EE를 사용하지 않고 구현하기 위해 시작됨 스프링 프레임워크는 높은 수준의 스프링 기반 애플리케이션을 손쉽게 만들어주는 스프링(spring.io) 프로젝트 중 하나로, 20개 이상의 서로 다른 모듈로 구성됨 프로젝트 규모와 필요 기능에 따라 스프링 프레임워크를 기본으로 여러 모듈을 조합 한 형태로 사용하게 됨 스프링 프레임워크의 주요 특징 경량 컨테이너 객체 생성, 소멸과 같은 생명 주기를 관리하며 스프링 컨테이너로부터 필요한 객체를 얻어올 수 있음 제어의 역행 지원 메서드나 객체의 호출 제어권이 사용자가..
* REST API 개발 - REST API란? REST(또는 RESTful) 네트워크 상에서 클라이언트와 서버 사이의 통신을 구현하는 방법에 대한 아이디어 하나의 Resource는 여러 형태의 Representation(json, xml, text, rss 등)으로 전달할 수 있다 Representation : 클라이언트가 서버로 요청을 보냈을 때 서버가 응답으로 보내주는 Resource(파일, 프로 그램 호출 등)의 상태 REST API의 등장 배경 클라이언트-서버 프로그램 구조의 문제점 등장 동시 다중 접속에 대한 안정성, 보안, 백업, 장애 대응, 이중화 등 여러 기술적 문제를 자체적으로 해결할 수 있는 역량과 고수준의 개발자와 서버 엔지니어가 필요 요청, 응답, 메시지 규격 등 프로토콜을 자체적..
*문제 *풀이 class Solution { public long[] solution(long n) { //1 String str = String.valueOf(n); long answer[] = new long[str.length()]; //2 int i = 0; //3 while(n != 0){ answer[i] = n%10; n /= 10; i++; } return answer; } } 배열의 크기 지정 자연수 n을 String.valueOf()를 이용해 문자열로 변환 => toString()으로도 문자열 변환이 가능하다. 문자열 str이 length()를 참조 => 문자열의 길이(즉, 자연수의 자릿수) 구함 .length => 배열의 길이 .length() => 문자열의 길이 배열 크기 = 자연수..
*리스너 - 리스너란? 리스너(Listener) 컨테이너에서 발생하는 이벤트를 모니터링하다가 특정 이벤트가 발생하면 실행되는 특수한 서블릿으로, 이벤트 리스너(Event Listener) 라고도 함 웹 애플리케이션 실행에 필요한 정보를 제공하거나 톰캣 시작/종료와 같은 특정 상황에 자동으로 동작하는 프로그램을 구현할 때 사용 서블릿과 마찬가지로 애너테이션 기반 코드로 작성 가능 일반적인 형태의 서블릿이 아니라 특정 이벤트에 따라 동작하는 인터페이스를 구현한 클래스 먼저 리스너가 동작하기 위한 이벤트의 종류와 그에 따른 프로그램 API를 알아야 함 리스너의 동작 구조 기본적으로 생명 주기 변화와 Scope Object에서 관리하는 속성의 변화를 모니터링 하고 해당 이벤트가 발생하면 실행되는 구조 Servl..
*문제 *풀이 class Solution { boolean solution(String s) { boolean answer; int p = 0; int y = 0; // 1 String[] arr = s.split(""); // 2 for(int i = 0; i < arr.length; i++){ if(arr[i].equals("P") || arr[i].equals("p")){ p++; } else if(arr[i].equals("Y") || arr[i].equals("y")){ y++; } else continue; } // 3 if(p != y){ answer = false; } else { answer = true; } return answer; } } 문자열 s의 단일 문자를 String형의 배열..
*데이터베이스의 개요 - 데이터베이스란? 데이터베이스(Database) 사전적 의미 - 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합 방대한 데이터를 쉽게 검색하거나 찾을 수 있도록 체계적으로 분류 하고 정리해둔 정보의 집합 디지털화된 정보만 의미하는 것은 아님 DBMS(DataBase Management System) 데이터베이스는 DBMS라고 불리는 소프트웨어 시스템을 사용 효과적인 데이터 파일 관리와 운영을 위한 구조와 함께 인덱싱, 캐싱, 네트 워크 서버, 사용자 및 권한 관리, 백업/복원, 클러스터링 등 다양한 기능을 제공 DBMS의 종류: Oracle, MySQL, IBM DB2, MS SQL 등 데이터베이스와 데이터베이스 관리 시스템인 DBMS는 다른 의미이지..
*문제 *풀이 import java.util.*; public class Solution { public int solution(int n) { int sum = 0; // 1 String s = String.valueOf(n); // 2 String num[] = s.split(""); // 3 for(int i = 0; i 숫자 (String -> int)..
* MVC 패턴 - 디자인 패턴이란? 디자인 패턴(Desing Pattetn) 처음에는 건축학적 관점에서 출발한 개념이었음 1994년 GoF의 ≪Design Patterns: Elements of Reusable Object-Oriented Software≫를 통해 소프트웨어 설계에서 공통적으로 발생하는 문제에 대한 재사용 가능한 솔루션으로 제시됨 GoF의 디자인 패턴은 생성, 구조, 행동, 동시실행 등의 문제에 대해 여러 패턴을 제시하고 있으며 UML 클래스 다이어그램을 이용해 구조를 표현하고 있음 UML(Unified Modeling Language) 객체지향 설계와 구현을 지원하기 위해 만들어진 일종의 모델링 언어 시스템 분석, 설계에 필요한 내용을 여러 다이어그램 형태로 정의한 규격임 - 추상 팩..
*액션 태그 - 액션 태그란? 액션(Action) 태그 JSP에서 객체 생성과 공유, 페이지 이동과 전달, 태그 파일 작성 등에 필요한 기능을 제공하는 일종의 커스텀 태그 표준 액션이라고도 불리며 커스텀 태그 기반이지만 별도의 taglib 지시어 사용 없이 jsp 접두어 사용 jsp 접두어를 사용함 JSP에서 프로그램적인 요소를 많이 구현하거나 컨트롤러로 활용할 때 유용함 JSP 파일에서 커스텀 태그의 구조적인 특징을 살려 HTML 형태로 프로그램 요소를 처리할 수 있기 때문에 간편함 주요 액션 태그 - 자바 빈 자바 빈(Java Bean) 자바의 재활용 가능한 컴포넌트 모델 웹 개발에만 국한된 개념이 아니며 POJO라고 하는 단순한 구조를 가짐 POJO(Plain Old Java Object) : 특정..
징_
J.E