728x90
반응형

전체 글 607

AOP (Aspect Oriented Programming, 관심 지향 프로그래밍)

AOP (Aspect Oriented Programming, 관심 지향 프로그래밍)애플리케이션을 개발할 때에 구현해야 하는 기능들은 크게 공통 관심 사항과 핵심 관심 사항으로 분류할 수 있습니다.먼저, 핵심 관심 사항은 애플리케이션의 핵심 기능과 관련된 관심 사항으로,커피 주문 애플리케이션을 예로 든다면 메뉴 등록하기, 주문하기, 주문 변경하기 등이 있을 것입니다. 반면, 공통 관심 사항은 모든 핵심 관심 사항에 공통적으로 적용되는 관심 사항들을 의미합니다. 예를 들어, 메뉴 등록하기, 주문하기, 주문 변경하기 등 모든 핵심 관심 사항에는로깅이나 보안 등과 관련된 기능들이 공통적으로 적용되어야만 합니다. 이 때, 핵심 관심 사항과 공통 관심 사항이 코드에 아래와 같이 함께 모여 있으면필연적으로 공통 관심..

Java Spring 2024.12.26

IoC / DI (Inversion of Control / Dependency Injection, 제어의 역전 / 의존성 주입)

IoC / DI (Inversion of Control / Dependency Injection, 제어의 역전 / 의존성 주입)Java 애플리케이션의 동작 흐름에서 중요한 것은 무엇일까요?아무래도 Java는 객체지향 언어이므로, 객체들 간의 관계를 적절히 맺어주는 것이 중요한 요소일 것입니다.객체들 간에 관계를 맺어준다는 것은 거창한 것이 아닙니다. A 인스턴스가 B 인스턴스의 메서드를 호출하고 있다면 A는 B와 의존 관계를 맺은 것이 되며,이 둘의 관계를 “A가 B에 의존하는 관계”라고 표현할 수 있습니다. A가 B의 기능을 가져다가 사용하고 있으니까요.   위의 A와 B의 의존 관계는 개발자에 의해 만들어집니다.개발자가 직접 new 키워드를 사용하여 인스턴스를 생성하는 코드를 작성했기 때문입니다.그런..

Java Spring 2024.12.26

DAO, DTO 란?

DTO(Data Transfer Object)와 DAO(Data Access Object)는 소프트웨어 개발에서 자주 사용되는 디자인 패턴 또는 개념으로, 주로 데이터 처리와 관련된 구조를 명확히 하고 코드의 재사용성을 높이기 위해 사용됩니다.DTO (Data Transfer Object)DTO는 계층 간 데이터 교환을 위한 객체입니다. 주로 데이터베이스, 비즈니스 로직, 또는 클라이언트와 서버 사이에서 데이터를 전송하기 위해 사용됩니다.DTO는 순수한 데이터 구조로, 데이터의 필드와 이를 가져오거나 설정하기 위한 getter/setter만 포함하며, 비즈니스 로직을 포함하지 않습니다.주요 특징데이터 전달 목적: 주로 컨트롤러와 서비스 계층 간, 또는 API 응답으로 사용.비즈니스 로직 없음: 데이터를 ..

Java Spring 2024.12.24

W3School 파이썬 기초 2 : 데이터 타입

Python에는 기본적으로 다음 카테고리의 데이터 유형이 내장되어 있습니다.텍스트 유형:str숫자 유형:int, float, complex시퀀스 유형:list, tuple, range매핑 유형:dict세트 유형:set,frozenset부울 유형:bool이진 유형:bytes, bytearray, memoryview없음 유형:NoneType x = "Hello World"strTry it »x = 20intTry it »x = 20.5floatTry it »x = 1jcomplexTry it »x = ["apple", "banana", "cherry"]listTry it »x = ("apple", "banana", "cherry")tupleTry it »x = range(6)rangeTry it »x = {..

W3School 파이썬 기초 1 : print, 변수, 주석, 컬랙션 언패킹

import sys  print("Hello, testers~ ")# 주석 """_summary_이것도 주석이라고 하네파이썬은 변수에 할당하지 않은 문자열 리터럴을 무시함. 주석처럼 사용"""# 시스템 버전 가지고 오기  import sys   해서 가지고 옴print(sys.version)# 파이썬은 들여쓰기로 구문을 구분하는 코드블럭을 만든다.if 5 > 2 :     print("5는 2보다 큽니다.")    # 파이썬의 변수 ( 자동 타입 캐스팅, 대소문자 구분 )# 아래와 같이 함수 밖에 선언된 변수는 모두 : 전역변수 x = 10y = "테스트"    print(x,y)# 캐스팅x = str(3)y = int(3)z = float(3)print(x,y,z)# 타입 확인print(type(x))..

환경 구축 -Vs Code에 파이썬 개발 환경 구축하기 ( 펌 )

Python의 편집기로 다양한 platform이 존재하지만, 최근에는 Visual Studio Code가 가벼워 많이 활용되고 있다.Python을 Visual Studio Code에서 사용하기 위해서는 복잡한 설치 및 설정 과정이 필요하다.1. Python 설치2. Visual Studio Code 설치3. Visual Studio Code 에 Python Extension 설치4. 작업 환경 설정5. Hello World 실행1. Python 설치Python을 설치하기 위해서 아래 사이트에 들어가서 Download -> Window 탭에 들어가보자.https://www.python.org/ Stable Releases가 안전하다는 뜻이고 64 bit로 설치해 주기 위해 WIndows x86-64 exe..

[Android 빌드 에러 ] figlib 관련

Android의 implementation 'com.androidplot:androidplot-core:1.4.1' // 차트 라이브러리 를 사용하던중 Gradle 버전을 7.2 이상 사용하면서 오랜만에 빌드를 해보니  Execution failed for task ':app:checkDebugAarMetadata'.> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.  Execution failed for task ':app:mapDebugSourceSetPaths'.> Could not resolve all files for configuration ':app:debugRuntimeClasspath'. Execut..

Android 2024.11.07

[Android 빌드 실패] Gradle 7.2 이상

오랜만에 예전 프로젝트를 빌드하려고 했을때, 갑자기 빌드가 안된다  인터넷을 서치 해보니.. Gradle 7.2 이하와  그 이상의 빌드 스크립트(?) 가 달라지면서,  생기는 문제로 의심해 보려고 한다. 기존 빌드 스크립트 (  7.2 Gradle 이전 ) build.gradle(project) buildscript { repositories { google() mavenCentral() } dependencies { ... classpath "org.jetbrains.kotlin:kotlin-serialization:1.9.22" ... }}allprojects { repositories { goog..

JAVA 2024.11.07

BlueTooth Classic VS BlueTooth Low Energy

BLE(Bluetooth Low Energy)와 Bluetooth Classic은 둘 다 **Bluetooth** 기술을 기반으로 하지만, 목표로 하는 사용 사례와 성능 요구 사항에 따라 서로 다른 **프로토콜 스택**과 특성을 가집니다. 그 결과, 두 기술은 전송 속도, 전력 소비, 연결 방식에서 큰 차이를 보입니다. 아래는 **BLE**와 **Bluetooth Classic**의 프로토콜 차이에 대한 설명입니다. ### 1. **주요 목표 및 사용 사례**- **Bluetooth Classic**:   - 주로 **고대역폭**과 **지속적인 데이터 전송**이 필요한 애플리케이션에 사용됩니다.   - 음성 통화(헤드셋), 고음질 음악 스트리밍(A2DP), 파일 전송 등이 주요 사용 사례입니다.   - ..

Android 공부 2024.09.13
728x90
반응형