본문 바로가기

분류 전체보기

[부스트 코스] 웹 Front-End 와 웹 Back_End 웹 개발자 채용 공고를 살펴보면 백엔드 개발, 프론트엔드 개발이라는 용어가 자주 등장하는 것을 볼 수 있다. 웹 개발은 프론트엔드(FE)와 백엔드(BE)로 나눠진다. 완벽한 설명은 아니지만 쉽게 이야기하자면 프론트엔드는 물 위에 있는 백조의 모습을 표현하는 것이고 백엔드는 백조가 물 위에 떠있기에 열심히 물갈퀴질을 하고 있는 백조의 발을 표현하는 것 프론트엔드가 프로그램 쪽의 앞 쪽, 클라이언트의 입장에서 개발이 진행된다면 백엔드는 프로그램의 뒤 쪽, 즉 서버 입장에서 개발이 진행됨 프론트엔드를 다른 말로 클라이언트 사이드(Client side)라고 말한다면 백엔드는 서버 사이드(Server side)라고 말한다. 웹 프론트엔드(Front-End) 사용자에게 웹을 통해 다양한 콘텐츠(문서, 동영상, 사진..
[백준 1182] 부분수열의 합 (Java) https://www.acmicpc.net/problem/1182 접근 방법 백트래킹 방법을 이용했다. dfs와 유사하게 깊이 우선으로 탐색을 하되, 조건에 충족하지 않으면 이전 깊이로 돌아가 이어서 진행하는 방식으로 구현하였다. 입력값으로 받은 수열을 배열로 만들고 순차적으로 탐색을 하는데 깊이 들어갈 때 마다 해당 깊이의 값을 포함하고 다음 깊이로 재귀 해당 깊이의 값을 포함하지 않고 다음 깊이로 재귀 를 나누어 탐색하였다. 이 문제에서 조건은 total == S 구현 시 주의해야 할 점은 다음과 같았다. 원소가 하나인 경우도 경우의 수++ (ex. S = 0인 경우, {0}도 해당됨) 마지막 depth까지 가지 않았는데 total == S가 되더라도 경우의 수++하고, 마지막까지 가봐야 함 (또 다..
[백준 5430] AC (Java) 생각보다 정답 비율이 너무 낮은 것으로 보아 메모리 관리가 필요한 문제라고 생각했다. 메모리를 적게 사용할 방안으로 고민한 첫 번째 시도는 error가 발생할 상황을 exception이 일어나기 전에 처리하는 방법이었다. 명령어 p에 "D"의 갯수가 입력으로 들어오는 배열의 수 보다 많으면 error가 난다고 생각하여 이를 체크하는 메소드를 구현했고, 배열을 뒤집는 기능은 Collections.reverse()를 이용 했다. 중간에, UnsupportedOperationException이라는 처음 보는 에러를 보게 되었다. 배열에 담긴 데이터를 조작하기 위해 Arrays.asList()를 이용해 리스트를 변환했는데, 이렇게 리스트로 변환된 데이터를 늘이거나 줄이는 동작을 수행하려고 하면 발생하는 에러라고..
[백준 1966] 프린터 큐 (Java) https://www.acmicpc.net/problem/1966 최종 코드 import java.util.Arrays; import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int trial = scanner.nextInt(); int[] results = new int[trial]; scanner.nextLine(); for (int i = 0; i < trial; i++) { // 입력 받은 시도 횟수만큼 코드 실행 String input = scanner.nextLine(..
[Spring Boot] 갓 초기화한 스프링 부트 프로젝트 살펴보기 프로젝트를 구성하는 주요 파일 - build.gradle : 그래들 빌드 명세 - gradlew : 그래들 래퍼 - Application.java : 애플리케이션의 부트스트랩 클래스이자 주 스프링 구성 클래스 - application.properties : 애플리케이션과 스프링 부트 프로퍼티를 구성하는 데 사용하는 파일 - ApplicationTests.java : 기본 통합 테스트 클래스 Application.java Application.java는 스프링 부트 애플리케이션에서 구성과 부트스트래핑 두 가지 역할을 담당. 1. 스프링 구성 클래스 @SpringBootApplication : 스프링 컴포넌트 검색과 스프링 부트 자동 구성을 활성화한다. 이 애너테이션은 유용한 애너테이션 세 개를 묶은 것 (..
[Spring boot] 스프링 부트의 핵심 자동 구성 많은 스프링 애플리케이션에 공통으로 필요한 애플리케이션 기능을 자동으로 구성함 어떤 스프링 애플리케이션의 소스 코드에서든 애플리케이션의 특정한 지원 특징과 기능을 활성화하는 자바 구성이나 XML 구성(또는 둘 다)을 볼 수 있다. 예를 들어 JDBC로 관계형 데이터베이스에 접속하는 애플리케이션을 작성했다면 아마 스프링 애플리케이션 컨텍스트에 스프링 JdbcTemplate을 빈으로 구성했을 것. 빈 구성 메서드 모두 아주 복잡하거나 길지 않다. 하지만 둘 다 일반적인 스프링 애플리케이션의 구성에서 일부만 보여 준다. 메서드가 동일한 스프링 애플리케이션이 수도 없이 많다. 즉, 보일러플레이트 구성이다. 이런 일이 흔하게 일어난다면 일일이 작성할 필요가 없음. 스프링 부트는 이런 공통 구성 시나리오..
[부스트코스] 웹 프로그래밍 기초 - 웹의 동작(HTTP 프로토콜의 이해) 부스트코스 서포터즈 BOOSTER 2기에 도전합니다. 평소 개발 공부할 때 하향식 공부법(응용에서 초급 지식을 학습)을 선호해왔다. 그러다보니 기본이 흔들리는 것이 당연해졌다. 그동안 골다공증 마냥 슝슝 뚫려버려있는 웹 지식에 칼슘을 들이붓는 시간이 필요하다는 생각을 하게 되었다. 마침 네이버 부스트코스에서 서포터즈를 모집하고 있다는 소식을 접하게 되었다. 기본을 익히고자하는 목적에 좋은 동기 부여가 될 것 같아 도전! 부스트코스 서포터즈 BOOSTER 2기 소개 링크 : https://m.post.naver.com/viewer/postView.nhn?volumeNo=27274312&memberNo=34635212 인터넷 != www(world wide web) 보통 인터넷이라고 하면 웹 서비스를 생각하..
[백준 10866] 덱 (Java) https://www.acmicpc.net/problem/10866 접근 방법 - java.util.ArrayDeque를 이용 덱(Deque)이란? "큐의 양쪽 끝에서 삽입과 삭제가 모두 발생할 수 있는 큐로서, 큐와 스택의 성질을 모두 가지고 있는 자료구조이다." 출처: https://songeunjung92.tistory.com/25 [은져미] 최종 코드 import java.util.ArrayDeque; import java.util.Deque; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Deque deque = ..