본문 바로가기

컴퓨터 프로그래밍

(10)
[TEST] Mock 이란? 단위테스트를 하기 위해서 한번에 메서드 하나만을 실행하는 것인데 이러한 메서드가 다른 Network, Database 등등 제어하기 어려운 것들에 의존하고 있다면 어떻게 단위 테스트를 해야할까? * 단위 테스트란 상대적으로 격리된 방식으로 코드의 구별된 단위를 테스트하는 것 . Mock이란? 이러한 실제 객체를 만들어 사용하기에 시간, 비용 등의 Cost 가 높거나 혹은 객체 서로 간의 의존성이 강해 구현하기 힘들 경우 가짜 객체를 만들어 사용하는 방법 Mock 객체는 언제 필요한가? - 테스트 작성을 위한 환경 구축이 어려운 경우 - 테스트가 특정 경우나 순간에 의존적인 경우 - 테스트 시간이 오래 걸리는 경우 - 개인 PC의 성능이나 서버의 성능 문제로 오래 걸릴 수 있는 경우 시간을 단축하기 위해 ..
[Exception] Spring boot ".properties file" Setting Error [ Error Description ] ***************************APPLICATION FAILED TO START*************************** Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class ※ 원인 : Project build 할 때 DB 설정 파일의 경로를 찾지 못하여 발생하는 Error 1. [ Spring Boot 2.4 이상의 Version을 사용할 경우 ] .properties 파일을 ..
로드 밸런싱이란? 1) 로드 밸런서를 사용하는 이유 서버는 수백만 명의 사용자를 동시에 처리해야하는 할 경우 부하가 발생할 수 있다. 이때 발생한 서버의 부하를 해결하기 위한 방법으로 2가지 종류가 있으며 추가 장비 없이 하드웨어의 성능을 높이는 "Scale-up" 방식과 추가적으로 여러 서버를 두는 "Scale-out" 방식이 있다. Scale-up(스케일 업) Scale-out(스케일 아웃) CPU 변경, RAM 추가 등의 하드웨어 장비의 성능을 높임 수직 확장으로 성능 확장에 한계가 있음 하나의 장비에서 처리하던 일을 여러 장비에 나눠서 처리 수평 확장적으로 지속적인 확장이 가능 성능 증가에 따른 비용 증가폭이 큼 비교적 저렴한 서버 사용으로 비용 부담이 적음 한 대의 서버에 부하가 집중되어 장애 영향도가 크다 읽기..
[운영체제] 운영체제의 기능 - 반효경 교수님 OS ● 운영체제의 기능 ● [ 강의 목차 ] 1. CPU 스케줄링 2. 메모리관리 3. 디스크 스케줄링 4. 저장장치 계층 구조와 캐싱(Caching) 1) CPU 스케줄링 * FCFS [First-Come First-Served] - CPU 큐에 먼저 도착한 프로세스를 순서대로 처리하는 것을 말한다. - 이로 인해, 프로세스들이 대기하는 평균 시간이 길어질 수 있음 -> "비효율적일 수 있음" * SJF [Short-Job-Frist] - CPU 사용시간이 가장 짧은 프로세스를 제일 먼저 처리하는 것을 말한다. - CPU를 길게 사용하려는 프로세스가 무한정 기다리게 됨 -> "효율성은 좋지만, 형평성에 안좋음" * RR [Round Robin] - 각 프로세스는 동일한 크기의 CPU할당 시간을 가지게 된다..
[운영체제] 운영체제의 목적 - 반효경 교수님 OS ● 운영체제 목적 1) 컴퓨터 시스템의 한정된 자원을 효율적으로 관리하기 위함이 가장 큰 목적(효율성) 2) 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록 하기 위함(형평성) 3) 사용자 및 운영체제 자신의 보호 * 컴퓨터를 켤때 부팅 된다고 하는데 이는 운영체제(OS)가 컴퓨터 메모리에 올라가서 실행이 되는 것을 의미한다. (운영체제는 컴퓨터가 꺼지기 전까지 계속해서 실행됨) ● 컴퓨터 시스템 구조 [ CPU ] ① CPU의 역할 - 명령어 해석과 실행 : 컴퓨터의 프로그램에서 명령어를 읽고 해석하여 실행 한다. - 데이터 처리 : 산술연산과 논리 연산을 수행할 수 있다. - 주기억장치 접근 : 주기억장치인 메인메모리에서 데이터를 읽거나 쓸수 있다. 이는 프로그램의 명령어나 데이터를 가져와 작..
[Spring기초] Spring 기술면접 준비 - 기초편 1) @SpringBootApplication 이란 무엇인가요? @SpringBootApplication은 스프링 부트 애플리케이션을 작성할 때 사용되는 어노테이션으로, 스프링 애플리케이션 개발에 필요한 여러 가지 어노테이션을 자동으로 구성하며, 애플리케이션을 실행하는 데 필요한 기본 구성을 제공합니다. @SpringBootApplication 해당 어노테이션의 주요 구성으로는 @Configuration, @EnableAutoConfiguration, @ComponentScan이 있으며 해당 어노테이션의 자세한 기능에 대해 설명드리겠습니다. 첫번째. @Configuration 어노테이션은 스프링 설정 클래스임을 나타내게 됩니다. 두번째. @EnableAutoConfiguration 어노테이션은 스프링 부..
[프로그래머스] Lv0. 문자열 뒤집기/배열자르기/정수의 합 ■ 문제 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 답안 예시 : my_string = 'apple' -> 결과값 : elppa이 나와야 함 class Solution { public String solution(String my_string) { StringBuilder sb = new StringBuilder(my_string); String reversedStr = sb.reverse().toString(); return reversedStr; } } 💻 [ 내가 짠 코드 분석 ] 해당 문제는 문자열에 관련된 함수가 어떤게 있는지 알아보기 위한 문제였다. 문자열을 뒤집기 위해 StringBuil..
[프로그래머스] Lv0. 최대값 만들기 ■ 문제 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 해당 문제는 배열의 정렬을 알면 쉽게 풀수 있는 문제라고 생각한다. java에서 제공하는 Arrays클래스의 sort()함수를 이용하여 ①오름차순으로 배열을 정렬한 후 ②가장 배열.length-1(가장 큰 값) 과 배열의 그 다음 큰 값인 배열.length-2를 곱해주면 배열의 가장 큰 최대 값이 만들어진다. import java.util.Arrays; class Solution { public int solution(int[] numbers) { int max = 0; Arrays.sort(numbers); max = numbe..