프로그래밍
-
의존성 주입이란? (DI)프로그래밍/Spring 2018. 6. 18. 22:28
스프링에서는 중요한 개념들이 존재합니다 그중 DI는 의존성 주입이라고 불리는 개념인데 객체를 직접 생성하는 것이 아닌 외부에서 객체를 주입시켜 사용하는 방식입니다 먼저 의존성이란 무엇일까요?간단히 생성자 호출 즉 new 연산자 입니다 Spring.class public Spring(){ new Java(); } 위의 코드는 Spring이라는 클래스 내에서 Java클래스를 호출합니다 즉 Spring 클래스가 Java클래스를 의존한다고 말을하는 것 입니다 Java java = new Java();Spring spring = new Spring(java);간단한 위의 코드를 예시로 들어보면 java클래스를 생성하고 Spring 클래스를 생성할때 매개변수로 java를 넣어줍니다이때 Spring 클래스에서 jav..
-
해시테이블이란?프로그래밍/알고리즘 2018. 6. 17. 22:31
해시테이블은 key와 value로 데이터를 저장하는 자료구조 중 하나입니다 (공간을 소모하여 시간을 얻는방법 혹은 가장 빠른 데이터를 검색하는 방식이라고도 부릅니다)출처 : https://ratsgo.github.io/data%20structure&algorithm/2017/10/25/hash/ 각각의 객체는 고유한 주소값을 가지며 이를가지고 hash Function을 통해 이 값을 테이블에 넣어 저장하는 방식입니다 이를 해싱이라고 하며 해시테이블의 가장 큰 장점은 원하는 데이터를 바로 찾을 수있다는 점입니다 시간복잡도로는 O(N) ~ O(1)로 가능한데O(1)이 가능한 이유는 각각의 객체는 고유한 주소값을 가지고 이 주소값을 가지고 해싱한다면 똑같은 값을얻어 바로 원하는 key로 value에 접근이 가..
-
자료형의 범위에 대하여프로그래밍 2018. 6. 17. 19:08
안녕하세요 오랜만에 포스팅 올립니다 :)이번시간에는 각 언어마다 존재하는 자료형에 대하여 알아볼려고 합니다 자료형의 범위를 사진으로 보면 아래와 같습니다출처 : https://m.blog.naver.com/PostView.nhn?blogId=satyee&logNo=140127143696&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F 먼저 비트(bit)와 바이트(byte)의 개념에 공부를 한뒤 진행하도록 하겠습니다 컴퓨터에서는 전기 신호를 받아 이진수의 개념으로 모든 것을 처리합니다 표현하는 단위를 비트라고하며 비트는 0과 1로 표현합니다그러나 bit는 컴퓨터에서 처리하는 최소 단위이고 이러한 비트를 8개 묶은것을 바이트라고합니다 즉 1byte = 8bit의 개념으로 ..
-
버블 정렬프로그래밍/알고리즘 2018. 6. 5. 20:22
지난 시간에는 선택 정렬에 대해서 알아봤습니다!!그렇다면 이번에는 또 다른 정렬 방법중 하나인 버블 정렬에 대하여 알아볼 계획입니다 먼저 버블 정렬이란?출처 : http://wonjayk.tistory.com/219 위의 사진과 같이 반복하는 정렬 방법입니다!!바로 옆의 Index와 값의 교환을 N번 까지 반복하는 간단한 정렬입니다 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] arr = new int[scanner.nextInt()]; for (int i = 0; i < arr.length; i++) { System.out.print(i + 1 + "번째 값 입력 : "); arr[i] = ..
-
경우의 수 출력하기프로그래밍/알고리즘 2018. 5. 22. 23:45
오랜만의 간단한 알고리즘 문제를 가지고 돌아왔습니다!! 문제)두개의 수를 입력받는다첫번째 입력 K에는 K의 수만큼 a를 출력하고두번째 입력 N에는 N의 수만큼 b를 출력하는데 규칙이 존재한다.a와 b의 우선순위에서는 ab의 순서로 출력이 되며 각각의 나올수 있는 경우의 모든 수를 출력한다. 예시) 입력- K : 2, N : 2출력 aabb abab abba baab baba bbaa 입력- K : 3, N : 2출력 aaabb aabab aabba abaab ababa abbaa baaab baaba babaa bbaaa 설명 먼저 K의 수만큼 a가 출력 되고 N의 수만큼 b가 출력됩니다.a와b가 출력 될수있는 모든 경우의 수가 출력이 되는데a와b의 우선순위는 a>b이기때문에 a부터 순서대로 b까지 출력..
-
Spring boot란?프로그래밍/Spring 2018. 5. 13. 23:53
먼저 Spring boot를 알기전에 Spring이란 무엇인지에 대하여 먼저 알아보도록 하겠습니다. 1. Spring스프링은 자바 플랫폼을 기반으로 만들어진 오픈소스 프레임워크로 간단하게 스프링이라고 합니다.대표적인 사례로 전자정부 표준프레임워크의 기반으로 사용되며 현재는 spring 5.0.7까지가 릴리즈된 버전 이며 나중에 가면 더 늘겠지요?? 2. Spring boot스프링 부트는 스프링에서 어려운 설정이나 WAS에 대한 설정없이 바로 개발에 들어갈 수 있도록 만든 프레임워크 입니다!최소한의 설정으로 스프링의 여러가지 라이브러리나 플랫폼을 사용할 수 있는 장점과 내장형 톰캣, 제티 등을 탑재하여 단독 실행가능 기능을 제공합니다. 자세한 사항은 : https://spring.io/ 여기서 접속하셔서 ..
-
KiwiJuice프로그래밍/알고리즘 2018. 5. 6. 09:54
오늘은 간단한 시뮬레이션 알고리즘 기초중 유명한 알고리즘인 키위주스 알고리즘을 풀어보도록 하겠습니다. 문제 타로는 맛있는 키위 주스를 준비했습니다. 타로는 맛있는 키위주스를 준비했습니다. 타로는 0부터 N-1이라 이름을 붙인 N개의 병에 키위주스를 넣었습니다. 이때 i번째의 병의 용량은 capaties[i] 리터이며 타로가 i번째 병에 넣은 키위 주스의 양을 bottles[i] 리터라고 합니다.타로는 병에 키위주스를 재분배하려고 하며, 0부터 M-1까지 M회 조작합니다.i번째의 조작은 타로가 병 fromId[i]부터 병 toId[i]에 키위 주스를 넣는 것을 의미합니다. 병 fromId[i]가 비어있거나 병 toId[i]가 꽉 차 있는 순간, 타로는 더 이상 키위 주스를 넣지 않습니다.N개의 요소를 가진..