| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 라즈베리파이 메모리
- 개방폐쇄 원칙
- ondevice ai
- autolayout
- ios
- 라즈베리파이 회로
- 객체 지향 언어 vs 절차 지향 언어 차이점
- rubikpi
- 제트팩 컴포즈
- 포트넘버
- 라즈베리파이
- java 클래스 로딩
- qualcomm ai hub
- SWIFT
- numpy
- 디자인 패턴
- 2025 정보처리기사 필기
- 네트워크프로그래밍
- 절차 지향 언어
- 프로그래밍뷰
- Xcode
- 라즈베리파이 os
- 안드로이드
- 2025 정보처리기사
- jetpack compose
- 라즈베리파이 개발환경
- java 실행과정
- 자바 소켓통신
- static 맴버 로딩
- 라즈베리파이 led
- Today
- Total
목록분류 전체보기 (39)
From_Base
이번 포스팅에서는 Jetpack Compose 프레임워크를 이용한 Android 앱 개발의 기본이 되는 MainActivity 클래스와 그 안의 onCreate, setContent 등 MainActivity를 구성하는 핵심 요소들을 하나씩 짚어보는 시간을 갖도록 하겠습니다. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { Chapter1Theme { Greeting("반갑습니..
개요:Jetpack Compose는 Google에서 출시한 최신 네이티브 Android UI 툴킷입니다. Kotlin 언어 기반의 선언형 UI 프레임워크로, 기존의 명령형 XML 레이아웃 방식에서 벗어나 Kotlin 코드로 UI를 정의함으로써 더욱 직관적이고 효율적인 UI 개발 방식을 제시하며 Android 개발의 새로운 표준으로 자리 잡고 있습니다. 이 글에서는 Jetpack Compose의 핵심 개념, XML과의 차이점, 주요 장점, 그리고 간단한 예제를 통해 Jetpack Compose를 소개하겠습니다. XML vs Jetpack Compose: 안드로이드 UI 개발은 오랫동안 XML을 기반으로 이루어져 왔습니다. XML은 UI 레이아웃을 명확하게 정의할 수 있다는 장점이 있지만, 코드가 길어지고..
Observer Pattern Observer(옵서버) 패턴이란? 데이터의 변경이 발생했을때, 상대 클래스 및 객체에 의존하지 않으면서 데이터 변경을 통지하고자 할 때 사용하는 패턴데이터의 변경이 발생했다하더라도 통지대상인 상대 클래스 및 객체에 의존하지않기때문에, 새롭게 통지대상 클래스가 추가된다하더라도 데이터를 관리하는 클래스는 영향받지않도록 해주는 패턴 성적 출력 예제를 통해 알아보는 Observer Pattern 성적정보를 여러가지 방식으로 출력해주는 프로그램을 만들고자한다. 여러가지 출력방식을 구현하기에 앞서, 목록형태로만 출력되도록 일단 구현해보자. ScoredRecord 클래스: 성적정보들을 저장/관리하는 클래스DataSheetView클래스: 성적을 목록형태로 출력하는 클래스 이 성적정..
Builder Pattern Builder(빌더) 패턴이란? 객체를 생성할때, 생성자의 인자가 많은 경우에 사용 생성자의 인자들 중에서, 우리가 반드시 제공해줘야하는 필수적 인자들과 + 재공하지않아도되는 선택적 인자가 혼합되어 있는 경우에 유용하게 사용되는 생성형 디자인패턴 Immutable 객체(변경할 수 없는 객체)를 생성하고 싶은 경우에 사용. 객체가 생성된 이후 수정이 불가능 public class Book{ private Long id; //필수적인 속성 private String isbn; //필수적인 속성 private String title; //선택적인 속성 private String author; //선택적인 속성 private int ..
Command Pattern Command(커맨드) 패턴이란?실행될 기능을 캡슐화(클래스화)함으로써 각 기능을 객체로 만들어 관리하기에, 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴 이벤트가 발생했을 때(ex 버튼 클릭), 해당 이벤트에 대해 실행될 기능을 다양하게 해주면서도 기능의 변경이 필요한 경우엔 쉽게 변경이 가능하도록해주는 패턴 변경 및 추가 삭제가 빈번한 경우, 이벤트를 발생시키는 클래스(ex 버튼)를 변경하지 않으면서도 기능변경이 가능하도록해주는 패턴커맨드 패턴은 실행될 기능을 캡슐화함으로써 기능의 실행을 요구하는 호출자 클래스(Invoker)와 실제 기능을 실행하는 수신자 클래스(Receiver) 사이의 의존성을 제거한다 (호출자와 수신자간의 연관관계 제거)...
OCP (개방-폐쇄원칙) 좋은 소프트웨어를 위한 설계 원칙 SOLID 좋은 소프트웨어란,이해하기 쉽고, 변경하기 용이하며(유지보수 용이), 새로운 기능으로의 확장이 용이한 소프트웨어를 말한다.이러한 장점을 갖춘 좋은 소프트웨어를 만들기 위해서는 설계 원칙을 준수해야 한다. 로버트 마틴이 주장한 다섯 가지 설계 원칙을 통틀어 SOLID(SRP, OCP, LSP, ISP, DIP)라고 부르며, 이 중 가장 핵심이자 디자인 패턴 이해에 필수적인 원칙이 OCP이다. OCP(개방-폐쇄 원칙) Open = 개방: 새로운 기능을 추가할 수 있도록 열려 있어야 한다.Closed = 폐쇄: 새로운 기능의 추가로 인해 기존의 코드가 변경되지 않도록, 영향을 받지 않도록 폐쇄 설계되어야 한다. 즉,OCP 원칙은 기존 코드..
Strategy Pattern Strategy(전략) 패턴이란? Strategy 패턴은 실행중에 알고리즘 전략을 선택하여 해당 객체의 동작을 실시간으로 변경할 수 있게 하는 행위 디자인 패턴이다.여기서 '전략'이란, 기능이나 동작이 될 수도 있는 특정한 목표를 수행하기 위한 행동 및 알고리즘을 말한다.(ex: 로봇 객체의 이동 및 공격 알고리즘) 객체가 수행할 수 있는 기능들을 각각 전략클래스로 미리 모델링(캡슐화)해두면, 이 모델링(캡슐화)되어진 전략클래스들을 이용하여 쉽게 전략을 교체할 수 있기때문에, 알고리즘 변경이 빈번하게 요구되는 경우나 쉽게 전략을 바꿔야 할 필요가 있는 경우에 적합한 행위 디자인 패턴이다.(ex: 로봇1 객체의 구체적인 이동 전략을 걷기 -> 뛰기로 바꿔야할 경우, 혹은 다..
소켓 통신이란?TCP/IP 네트워크를 이용해 쉽게 통신 프로그램을 작성하도록 지원하는 기반 기술을 말한다. 소켓(Socket)통신하는 두 프로세스 간의 양방향 통신 링크의 한쪽 끝 단을 말한다. 즉, 클라이언트와 서버간에 데이터를 주고받을 수 있게해주는 데이터 통로역할을 해주는 도구이다.이 소켓을 통해서 데이터를 보낼 수도있고 받을 수도있다.소켓은 특정 포트 번호와 연결되어있어서, 하나의 시스템 내에서 각각의 프로세스는 여러 개의 소켓들을 만들어 각자 자신의 통신을 처리해낼 수 있게된다.특히, 소켓은 네트워크 하부 구조와 상관없이 데이터 읽기/쓰기 인터페이스를 제공해준다. (자바에서 기본으로 제공해주는 스트림 클래스를 통해서 가능하다) 소켓으로부터 얻은 스트림을 통해서 데이터를 입출력하고, 해당 데이..