전체 글 234

[필기] 데이터베이스 시스템 카탈로그

Q) 데이터베이스 시스템 카탈로그의 구성요소가 아닌 것은? 1) SYSCOLUMNS 2) SYSTABLES 3) SYSCONTENTS 4) SYSVIEW  해설) 시스템 카탈로그의 구성요소는 SYSTABLES, SYSCOLUMNS, SYSVIEW, SYSTABAUTH, SYSCOLAUTH이다.  데이터베이스 구축25년 필기 1회차 794번- 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스- 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다. - 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구..

Java Spring Boot 애플리케이션에서 Go REST API 호출

Java 프로젝트에 Go 코드를 직접 합치는 것은 어렵지만, 두 언어로 작성된 애플리케이션을 함께 사용할 수 있는 방법은 있다.가장 일반적인 방법은 Java 애플리케이션과 Go 애플리케이션을 각각 독립적으로 실행하고, 서로 RESTful API를 통해 통신하게 하는 것이다. Java Spring Boot 애플리케이션 설정: - 기존의 Spring Boot 애플리케이션을 유지- 필요한 경우, Spring Boot 애플리케이션에서 Go 애플리케이션의 API를 호출할 수 있도록 RestTemplate 또는 WebClient를 설정Go 애플리케이션 설정: - 앞서 설명한 대로 Go 애플리케이션을 설정하고 RESTful API를 구현 Java 애플리케이션에서 Go 애플리케이션 호출: - Java 애플리케이션에서 ..

IT/Go 2025.01.22

[필기] 소프트웨어 설계 디자인 패턴

Q)  다음 상황에 적용하기에 가장 적절한 디자인 패턴은?- 장기 게임을 하는 프로그램에서 사용자의 선택에 맞추어서 특정 루틴의 레벨을 간단하게 교체할 수도 있다.- 메모리가 적은 환경에서는 속도는 느리지만 메모리를 절약하는 알고리즘을 사용하고, 메모리가 많은 환경에서는 속도는 빠르지만 메모리를 많이 사용하는 알고리즘을 사용한다.- 스프레드시트 소프트웨어의 디버그 판에서 복잡한 계산을 실행할 때, '버그가 있을지도 모르는 고속의 알고리즘'과 '저속이지만 확실한 계산을 실행하는 알고리즘'을 준비해서 전자의 검산을 후자로 실행시킨다.1) Strategy 패턴 2) Observer 패턴 3) Command 패턴 4) Decorator 패턴 해설)- Strategy 패턴은 객체가 할 수 있는 특정 행위나 알고리..

[필기] 엔티티 Entity

Q) 정보를 송수신할 수 있는 능력을 가진 개체로써, 주어진 입력에 대하여 어떤 기능을 수행하고 출력하는 것은? 1) 데이터(Data) 2) 엔티티(Entity) 3) 프로토콜(Protocol) 4) 스테이트(State)  해설)- 일반적으로 엔티티는 데이터를 포함하거나 처리할 수 있는 구조체나 객체를 의미한다- 엔티티는 정보를 송수신할 능력을 가지고 있으며, 주어진 입력을 기반으로 특정 기능을 수행하고 결과를 출력할 수 있다- 데이터는 단순히 정보의 집합이며, 스스로 기능을 수행하거나 입력을 처리하지 않는다- 프로토콜은 통신 규약이나 데이터 교환 방식을 정의한 것이다- 스테이트는 시스템의 특정 시점에서의 상태를 나타낸다   소프트웨어 설계25년 필기 1회차 287번

[필기] 소프트웨어 개발 - 모델 Model

Q) 소프트웨어 개발에 이용되는 모델(Model)에 대한 설명 중 거리가 먼 것은? 1) 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다. 2) 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다. 3) 모델을 통해 이해 당사자 간의 의사소통이 향상된다. 4) 모델을 통해 향후 개발될 시스템의 유추는 불가능하다. 해설)모델은 개발 대상을 추상화하고 시각적으로 표현하는 도구이다.모델은 소프트웨어에 대한 이해도를 높이고, 이해 당사자 간의 의사소통을 향상시키는 역할을 하며,향후 개발될 시스템을 예측하고 유추하는 데에도 활용될 수 있다.  [소프트웨어 설계][25년 필기 1회차 81번]

[필기] 소프트웨어 아키텍처

Q) 다음 설명에 해당하는 아키텍처는?네트워크의 어떠한 노드라도 주어진 연산을 수행할 수 있는 비중앙집중적인(Decentrailized) 아키텍처로, 서버와 클라이언트의 구분이 없다. 별도의 중앙 서버 없이 사용자의 PC 사이에서 파일을 주고받기 위한 파일 공유 네트워크 등이 이에 해당한다.1) 마이크로 서비스(Micro Service) 아키텍처 2) 분산 컴포넌트(Distributed Component) 아키텍처 3) 서비스 지향(Service Oriented) 아키텍처 4) 피어 투 피어(Peer-to-Peer) 아키텍처 해설)피어 투 피어 네트워크는 각 노드가 동등한 역할을 하여 네트워크에 참여하는 구조를 가지며, 파일 공유 서비스에 자주 사용된다.  [소프트웨어 설계][25년 필기 1회차 164번..

[필기] 애자일(Agile) 프로세스 모델

Q) 애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은? 1) 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다. 2) 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다. 3) 협상과 계약보다는 고객과의 협력을 중시한다. 4) 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다. Agile Software Development - 애자일(Agile) 방법론은 소프트웨어 개발방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법이다.- 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다. - 협상과 계약보다는 고객과의 협력을 중시한다. - 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.  - 프로젝트의 요구..

[프로그래머스 12932] [Java] 자연수 뒤집어 배열로 만들기

✏️ 1번 방법import java.util.Arrays;public class 프로그래머스_자연수뒤집어배열로만들기 { class Solution { public int[] solution(long n) { String str = String.valueOf(n); int end = str.length(); int[] answer = new int[end]; for(int i=0; i  String.valueOf()파라미터를 문자열로 형변환해주는 메서드 특징1. null값에 대한 처리가 가능하다  - 빈 값이 들어왔을 때 예외를 던지는 것이 아니라 "null" 문자열 반환해줌으로써 ..

StringBuilder

String 객체끼리 더하는 방법은 메모리 할당과 해제를 발생시키는데 덧셈 연산 많아진다면 성능적으로 좋지 않다많은 문자열을 연결하면 중간 문자열 객체가 생성되어 비효율적인 코드가 생성된다 Java에서 String  객체는 변경이 불가능하다. (불변 객체 (immutable) )한 번 생성되면 내용을 바꿀 수 없다.따라서 하나의 문자열을 다른 문자열과 연결하면 새 문자열이 생성되고, 이전 문자열은 가비지 컬렉터로 들어간다. (JVM의 GC가 처리)StringBuilder 는 변경 가능한 문자열을 만들어 주기 때문에, String 을 합치는 작업 시 하나의 대안이 될 수 있다. StringBuilder        ( java.lang.StringBuilder )mutable한 성질.  값이 변할 수 있다..

IT/JAVA 2025.01.19

[필기] 요구사항 검증 방법

Q) 시스템 명세, 설계 결과, 프로그램 코드 등을 각각 여러 사람이 검토하게 함으로써 그 안에 포함되어 있는 오류를 조기에 발견하고자 하는 활동은? 1) 인스펙션(Inspection) 2) 워크 스루(Work-Through) 3) 디버깅(Debugging) 4) 검사(Testing) [소프트웨어 설계]25년 필기 1회차 278번Q)  프로그램 품질관리의 한 방법으로서 워크 스루(Walk-through)와 인스펙션(Inspection)이 있다. 워크 스루에 대한 설명으로 옳지 않은 것은? 1) 소프트웨어 품질을 검토하기 위한 기술적 검토 회의이다. 2) 제품 개발자가 주최가 된다. 3) 오류 발견과 발견된 오류의 문제 해결에 중점을 둔다. 4) 검토 자료는 사전에 미리 배포한다. 소프트웨어 개발 25년 ..

[필기] 익스트림 프로그래밍 XP

Q) 익스트림 프로그래밍(XP)에 대한 설명으로 틀린 것은? 1) 빠른 개발을 위해 테스트를 수행하지 않는다.2) 사용자의 요구사항은 언제든지 변할 수 있다.3) 고객과 직접 대면하며 요구사항을 이야기하기 위해 사용자 스토리(User Story)를 활용할 수 있다. 4) 기존의 방법론에 비해 실용성(Pragmatism)을 강조한 것이라고 볼 수 있다. 해설) XP에서는 테스트 주도 개발(Test-Driven Development, TDD)과 같은 테스트 활동을 수행하여 소프트웨어의 품질을 유지하고 개선한다 |  익스트림 프로그래밍 5가지 가치, 기본원리 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법 1. 의사소통2. 단..

[필기] 객체지향 분석 기법

Q) 객체지향 분석 기법 중 다음 설명에 해당하는 것은? - 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 포함한다.- 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다.- 클래스와 객체들의 관계를 식별한다.- 각 작업에 대한 다이어그램, 클래스 계층 정의, 클래스들의 클러스터링 작업을 수행한다.- 클래스와 객체를 구현한다. A) Booch 방법 - 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 포함하는 방법은 Booch 방법이다. |  객체지향 분석 방법론 종류 - 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석 기법- 가장 일반적으로 사용하는 방법- 럼바우의 분석 절차   - 객체 모델링 => 동적 모델링 => 기능 모델링순서분석 활동내용1객체 모..

[프로그래머스 181893] [Java] 배열 조각하기

import java.util.Arrays;public class PG181893_배열조각하기 { public int[] solution(int[] arr, int[] query) { for ( int i=0; i Arrays 클래스는 배열과 관련된 여러 메서드를 지원한다.*java.util 패키지에 포함되어 있으므로  import 필요import java.util.Arrays; Arrays.copyOf(복사할 배열, 복사할길이)복사할 배열의 인덱스 0부터 원하는 길이만큼 복사한다.복사할 배열이 복사할 길이보다 작으면 존재하지 않는 인덱스 이후의 값은 배열의 타입 기본값으로 초기화되어 복사된다. Arrays.copyOfRange(복사할 배열, 시작인덱스, 끝인덱스)복사할 배열의 ..

Web3

- Web3는 블록체인을 비롯하여 인터넷에서의 데이터 소유권과 제어를 분산시키는 기술을 포괄하는 용어이다.- 대부분의 인터넷 애플리케이션은 최종 사용자 데이터를 저장하고 사용하는 방법을 결정하는 중앙 집중식 기관에서 제어한다.- Web3(Web 3.0, 분산형 웹 또는 시맨틱 웹이라고도 함) 기술은 중앙 집중식 관리 구조와는 달리 커뮤니티 기반 프로젝트를 가능하게 한다.- 커뮤니티 기반 프로젝트에서는 최종 사용자가 데이터를 제어하고, 가격을 결정하고, 기술 개발에 직접적으로 기여하고, 프로젝트 방향에 대한 더 강한 발언권을 갖는다.- 이러한 기술에는 사용자의 상호 작용 방식을 자동으로 규제하는 메커니즘이 있다.- 따라서 중앙 집중식 기관이 이러한 상호 작용을 관리할 필요가 없다.- Web 3.0의 네 가..

IT/IT 2025.01.17

[백준 11720] [Java] 숫자의 합

풀이방법 1)public class BJ11720_숫자의합 { public int solution(String numbers) { int answer = 0; for (int i=0; ijava.lang.Character.getNumericValue(char)숫자 형태의 char형을 int형으로 변환그렇지 않으면 -1 반환 - Java 표준 라이브러리의 일부로, java.lang.Character 클래스에 포함된 기본 메서드- Java 표준 라이브러리는 Java 프로그래밍 언어와 함께 제공되는 기본클래스와 메서드의 집합이다. - 메서드 시그니처: public static int getNumericValue(char ch) - char 값이 숫자 형태(예: '0' ~ ..

배열, 리스트 (Java)

배열- 검색 연산은 빠르지만, 추가/삭제 연산이 느리다- 추가/삭제 : 새로운 데이터가 입력되거나 중간에서 특정 항목이 삭제될 경우 메모리 상의 주소를 모두 바꿔야 한다.- 배열의 검색  :  O(1)- 배열의 수정/삭제  :  O(ͷ)연결 리스트 Linked List- 배열과 같이 연속된 데이터를 저장하는 자료구조로서 추가/삭제 연산은 빠르지만, 검색이 느리다.- 아무 메모리에나 저장하고 기존 데이터에 부가 정보로 다음 데이터의 주소를 저장한다.- 검색  :  5번째 데이터를 찾고 싶다면 처음 주소지에서 다음 데이터의 주소를 찾는데 연산이 4번- 추가/삭제  :  기존 데이터 구조가 변하지 않고 데이터간의 주소 연결만 수정한다.- 리스트의 검색  :  O(ͷ)- 리스트의 추가/삭제  :  O(1)  기..

반응형