반응형
전체 글

전체 글

    Spring Boot에서 src/main/resource 파일 접근 방법 및 주의사항.

    Spring Boot를 이용해서 빠르게 프로젝트를 제작해야 할일이 있어서 작업을 하던 도중에 src/main/resource 위치에 파일에 접근이 필요했다. 그래서 ClassLoader를 사용해서 resource를 획득한 후 해당 경로를 얻어 Paths 객체를 만들고 파일을 읽었다. 로컬에서 개발할 때는 정상적으로 읽어졌다. 1String jsonTxt = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource("course.txt").toURI())));cs 하지만 war로 빌드하고 서버에 올리고 나서 문제가 발생했다. 해당 파일 자체를 읽지를 못했다. 왜그럴까? 한참 고민하다가 인터넷 검색해서 한가지 글을 보았다...

    백준 6603번 로또 문제 풀이

    매주 진행중인 알고리즘 공부 중 오늘은 백준 6603번 DFS와 백트래킹 문제를 풀어보자. #문제 https://www.acmicpc.net/problem/6603#풀이과정사용자로 부터 로또번호를 생성할 번호의 개수 k를 입력받고 입력받은 k개의 숫자를 이용하여 로또를 오름차순으로 6개짜리 배열을 만들어 출력해야한다. 처음에 문제를 보자마자 재귀를 써야겠다는 생각은 하였지만 백트래킹을 써야하는지는 감이 오지 않아서 고민을 많이 했다. 시작점을 0번째 부터 로또를 딱 만들수 있는 크기인 k - 5번까지 사용하는 반복문을 만들어서 배열을 만든다. 그리고 findLottoNum 메소드에 현재 인덱스와 만들고 있는 String값을 전달해준다. 그럼 현재 인덱스 바로 앞에 위치할 숫자를 구해서 String에 붙혀..

    윈도우 10에서 우분투 bash셀 사용방법

    윈도우10에서 bash 셀을 사용하기 위해서 우분투 설치를 지원합니다. 회사 동료 소개로 알게된 내용을 공유합니다. 설치 과정과 사용법을 알아보겠습니다. #설치방법 우선 Windows 기능에서 기능 켜기/끄기 설정창에 들어가 Linux용 Windows 하위 시스템을 키고 재시작을 수행합니다. 그리고 Microsoft App store에 들어가서 ubuntu를 검색하고 원하는 버전을 선택하여 설치합니다. 다운로드 받은 후 계정과 비밀번호를 설명하면 우분투를 사용할 수 있습니다. #ssh 원격접속 설정방법 우분투를 설치 후 ssh 접속설정방법을 알아보자. 우분투 패키지 업데이트 업그레이드sudo apt-get update sudo apt-get upgrade ssh 설정 vi /etc/ssh/sshd_con..

    [공유] UML 다이어그램 정리 블로그

    학교에서 그리고 처음 입사 했을때는 UML을 많이 사용했는데, 지금은 프로젝트가 바쁘다는 핑계로 안하는 것 같다. 많이 까먹었다. 다시정리하자 http://hongjinhyeon.tistory.com/25

    오토 스케일링(Auto Scaling) 소개

    클라우드 환경이 대세다. 솔직히 말하면 대세인건 알지만 간단하게 aws 내 작은 서버 하나를 사용하고 있는 정도만 사용하고 있다. 아니 물론 SaaS 프로그램은 많이 사용하고 있지만 실질적으로 클라우드 환경이 어떻게 구성되고 있는지는 자주 사용하지 않아 100% 다 알지 못한다. 그래서 공부를 더욱 열심히 하고 있고 오늘은 오토 스케일링에 대해 알아보자. #오토스케일링 서버를 운영하다보면 갑작스럽게 트래픽이 몰리는 경우가 있다. 예를 들면 이벤트를 한다거나 특정 티켓이 오픈되는 경우가 될 수 있다. 이런 경우에 서버의 자원이 자동으로 확장되어 트래픽에 대응할 수 있다면 얼마나 좋을까? 이때 사용되는 기술이 오토 스케일링이다. 사용자가 미리 지정한 오토 스케일링 정책에 따라 트래픽이 발생하였을 때 미리 지..

    [공유] store procedure를 사용하는 이유

    스토어 프로시저를 사용하는 이유에 대해 자세히 기록된 블로그가 있어서 공유하고 나중에 확인해봐야지. http://genesis8.tistory.com/183?category=167682

    파티셔닝의 정의와 종류 그리고 샤딩

    샤딩과 파티셔닝 DB 보안 회사를 다니고 있고 대규모의 서비스가 기본인 현 시대에 파티셔닝과 샤딩에 대해 많이 들었지만 자세히 알지는 못했다. 이번기회에 한번 정리를 해보자. #파티셔닝 파티셔닝은 퍼포먼스, availability, maintainablity를 목적으로 논리적인 데이터를 다수의 엔티티로 분할하는 행위를 뜻한다. 대부분의 DBMS에서 지원하지만 Mysql 5.1 미만에서는 지원하지 않는다. 샤딩 또한 이 파티셔닝의 한 종류이다. 수평 파티셔닝 (horizotal partitioning, Range Based Partitioning) 샤딩과 동일한 의미를 가지며 스키마를 다수의 복제본을 구성하고 각각의 샤드에 샤드키를 기준으로 데이터를 분리하는 것을 말한다. DBA가 데이터의 패턴과 저장공간..

    클라우드 컴퓨팅 설명 및 서비스 종류 정리

    클라우드 서비스 아마존과 MS, 구글 뿐만 아니라 국내에서는 NHN, 카페 25시등 클라우딩 컴퓨팅 사업에 뛰어들고 있다. 대체 클라우드가 왜 인기가 있고 클라우드가 무엇인지 알아보자. 클라우드란? 클라우드는 사용자가 서비스를 사용한 만큼의 비용을 지불하면서 서비스를 사용하는 것을 말하고 언제 어디서든 서비스를 접근하여 사용할 수 있는 서비스를 말한다. 인기 이유 인터넷이 보급되고 각 가정에 컴퓨터와 IT 기기들이 대중화 되면서 그 인기와 함께 기술도 같이 향상되었다. 나 또한 IT 업계에서 3년정도 일을 하고 있다. 세상이 편해지고 주머니가 가볍게 편하게 모든 서비스를 이용하고 싶어 카카오 페이, 삼성페이등도 넘처나는 시대가 되었다. 컴퓨터 역시 예전에는 사람들이 노트북을 들고다니고 별도의 소프트웨어를..

    백준 알고리즘 10988번 문제 팰린드롬 문제 풀기

    팰린드롬은 단어를 앞뒤로 거꾸로 했을 때 동일한 단어를 이야기한다. 코드가 아주 간단하다.입력받은 String 길이의 반만큼 반복문을 돌면서 앞과 뒤가 맞는지 체크하고 앞에서오는 인덱스 i와 뒤에서 오는 인덱스 j가 서로 교차하는 순간까지 서로 다르지 않으면 1을 반환하고 체크하던 도중에 한부분이라도 같지 않으면 0을 반환하면 된다.자세한 코드는 아래 또는 github에서 확인 가능하다. 12345678910111213141516171819202122232425262728293031323334package test; import java.util.Scanner; public class WedulPlindrom { public static void main(String args[]) { Scanner sc..

    피보나치 수열 재귀, DP, loop 방법으로 구현하고 차이 확인

    피보나치 수열을 이용한 재귀 프로그래밍은 대학교 1학년때 처음 재귀를 구하면서 접했었다. 당시에는 재귀의 예제로써 피보나치와 팩토리얼함수를 구현하는 것으로 소개되었다.하지만 시간복잡도에 대해 다시 공부하던 중 우리가 배웠던 피보나치 수열의 재귀는 좋은 방식이 아니라는 것을 알게되었다. 피보나치 수열의 3가지 방식에 대해 구현해보고 차이를 느껴보자. 우선 피보나치 수열은 현재 값을 구하기위해서는 이전의 값(n-1)과 그 더 이전의 값(n-2)을 더하면서 구한다.N = (n - 2) + (n -1)0, 1, 1, 2, 3, 5, 8, 13, 21, 34........ 1) 재귀방식재귀로 구현하는 방식은 가장 익숙한 방법이지만 매번 구할 때 마다 처음까지 가야하는 가장 안좋은 BigO(2^n)의 시간 복잡도를..

반응형