no image
[Android Studio] TextView 기본 사용법
1. TextView 사용법을 알아보자. TextView는 안드로이드 UI를 구성함에 있어 화면에 텍스트를 표시하는 기능을 담당한다. 안드로이드에서 제공하는 위젯 중 가장 많이 사용되는 위젯이다. 텍스트 출력 기능을 가진 기본 위젯이므로, 텍스트와 연관된 기능을 포함하는 Button 또는 EditText의 부모 클래스이다. 2. 코드를 입력해보자. TextView를 화면에 표시하기 위해서는 Layout 리소스 XML에 TextView를 추가하면 된다. Layout/activity_main.xml 결과 3. JAVA 소스에서 TextView의 텍스트를 변경해보자. 앱 실행 시 처음 보여질 텍스트를 지정하기 위해 "text" 속성을 사용하였는데 만약 앱 실행 중 동적으로 텍스트를 변경하려면 어떻게 해야 할까..
2024.04.12
no image
[Android Studio] 프로젝트 생성 방법
프로젝트 생성 방법 안드로이드 2024.04.12일 기준으로 자바 언어 기반으로 프로젝트 생성 방법을 알아보자. 1. New Project 창 "Empty Views Activity"를 선택해 Next로 이동한다. 2. 프로젝트 설정 적절한 이름을 선택 후 언어와 build Configuration을 선택한다. 3. Finish를 눌러 프로젝트를 생성한다.
2024.04.12
[Spring Boot] @RestController
서론 @RestController는 @Controller와 @ResponseBody의 조합이다. @RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답을 담아서 전송한다. 따라서 return 값이 @Controller와 달리 반환 값으로 뷰를 찾는 것이 아닌, HTPP 메세지 바디에 바로 입력하게 된다. @RestController @RequiredArgsConstructorpublic class TestController { private final MemberService memberService; @GetMapping("api/board/member") public Member findMember(@RequestParam("id") Stri..
2024.04.10
no image
[Spring Boot] @Controller
서론 Spring에서 클래스에 컨트롤러를 지정해주기 위한 애노테이션은 2가지가 있다. 이 2가지의 주요 차이점은 HTTP ResponseBody가 생성되는 방식, @Controller + @ResponseBody 조합이 @RestController라고 말할 수 있다. 오늘은 Controller에 대해 알아보자 @Controller @Controller는 Spring MVC의 컨트롤러 애노테이션이며 주로 View(화면)을 반환하기 위해 사용한다. @Controllerpublic class TestController { // @RequestMapping(value = "api/board/update", method = {RequestMethod.GET}) @GetMapping("api/board/update..
2024.04.10
자바 [Algorithm] 알고리즘 - 구간 합
구간 합 구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘이다.코딩 테스트에서 사용 빈도가 높으니 꼭 알아야 한다.구간 합의 핵심 이론구간 합 알고리즘을 활용하려면 먼저 합 배열을 구해야한다.배열 A가 있을 때 합 배열 S를 구하는 공식S[i] = A[0] + A[1] + A[2] + … + A[i-1] + A[i] // A[0] 부터 A[i]까지의 합합 배열 S를 만드는 공식S[i] = S[i-1] + A[i]i에서 j까지 구간 합 구하는 공식S[j] - S[i-1]A[2] ~ A[5] 구간 합을 합 배열로 구하는 과정S[5] = A[0] + A[1] + A[2] + A[3] + A[4] + A[5]S[1] = A[0] + A[1]S[5] - S[1] = A[..
2024.03.19
no image
자바 [Algorithm] 자료구조 - 배열과 리스트
배열배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조이다.배열의 값은 인덱스를 통해 참조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다.배열의 특징인덱스를 사용하여 값에 바로 접근할 수 있다.새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하다.배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없다.구조가 간단하므로 코딩 테스트에서 많이 사용한다.리스트값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조이다.노드는 컴퓨터 과학에서 값, 포인터를 쌍으로 갖는 기초 단위를 부르는 말이다.리스트의 특징인덱스가 없으므로 값에 접근하려면 Head 포인터부터 순..
2024.03.19
no image
자바 [Algorithm] 디버깅
디버깅이란? 프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로 잡는 과정을 디버깅이라 한다. 문법 오류는 컴파일러가 자동으로 찾아 주므로 테스트할 때 문제가 되지 않는다. 논리 오류는 코드가 사용자의 의도와 다르게 동작하는 것이며 다양한 형태로 발생한다. 디버깅하는 법 코드에서 디버깅하고자 하는 줄에 중단점을 설정한다. 이때 중단점은 여러 개 설정할 수 있다. 2. IDE의 디버깅 기능을 실행하면 코드 1줄씩 실행하거나 다음 중단점까지 실행할 수 읶으며, 이 과정에서 추적할 변숫값도 지정할 수 있다. 이 방법으로 변숫값이 자신이 의도한대로 바뀌는지 파악한다 3. 변숫값 이외에도 원하는 수식을 입력해 논리 오류를 파악할 수 있다.
2024.03.19
no image
자바 [Algorithm] 시간 복잡도
1.1 시간 복잡도 표기법 알아보기 시간 복잡도란? 알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 수행시간 1억번의 연산을 1초의 시간으로 간주하여 예측한다. 시간 복잡도 정의하기 Big-Omega(Ω) : 최선일 때(Best Case)의 연산 횟수를 나타낸 표기법 Big-Theta(θ) : 보통일 때(Average Case)의 연산 횟수를 나타낸 표기법 Big-O : 최악일 때(Worst Case)의 연산 횟수를 나타낸 표기법 코딩테스트에서의 시간 복잡도 사용 유형은? 코딩테스트에서는 Big-O 표기법을 기준으로 수행 시간을 계산하는 것이 좋다. 다양한 테스트 케이스를 수행해 모든 케이스를 통과해야만 합격으로 판단하므로 시간 복잡도를 판단할 때는 최학일 때(Wo..
2024.03.16