분류 전체보기 65

[네트워크]웹(Web)이란? - 웹의 발전, 보안의 중요성

현대 사회에서 ‘웹’은 단순한 정보 공유 수단을 넘어 우리의 일상을 바꾸는 핵심 기술로 자리 잡았습니다. 이번 글에서는 웹의 개념, 발전 과정, 그리고 웹 보안 및 구조적 개념(프론트엔드와 백엔드)에 대해 알아보겠습니다. 🌐 웹(Web)이란?웹이란 인터넷을 기반으로 정보를 공유하는 서비스 중 하나로, 보통 HTTP 프로토콜을 통해 통신합니다.이때 정보를 제공하는 쪽을 웹 서버(Web Server), 정보를 요청하고 받는 쪽을 **웹 클라이언트(Web Client)**라고 합니다.예를 들어 식당에서, 손님이 주문을 하고 종업원이 음식을 서빙하는 관계처럼, 클라이언트는 요청하고 서버는 응답하는 구조입니다.여기서 ‘HTTP’란 웹에서 정보를 주고받기 위한 규칙(Protocol)으로, 웹 서비스의 근간이 되는..

네트워크 2025.03.24

[JAVA] 디자인패턴 : 빌더 패턴(Builder Pattern)

소프트웨어 개발에서 객체 생성은 가장 기본적이면서도 중요한 작업 중 하나입니다. 특히 복잡한 객체를 생성할 때는 코드의 가독성과 유지보수성을 높이기 위해 적합한 디자인 패턴을 사용하는 것이 좋습니다. 이 글에서는 객체 생성 관련 디자인 패턴 중 하나인 빌더 패턴 (Builder Pattern)에 대해 설명하고, 예제를 통해 이를 이해해보겠습니다. 1. 빌더 패턴이란?빌더 패턴은 복잡한 객체를 단계별로 생성할 수 있도록 도와주는 디자인 패턴입니다. 이 패턴은 다음과 같은 상황에서 유용합니다:생성할 객체의 속성이 많을 때.객체를 생성하는 과정에서 매개변수의 순서나 가독성이 문제가 될 때.선택적인 속성들을 처리해야 할 때.빌더 패턴을 사용하면 객체의 생성 로직과 표현 로직을 분리하여 코드의 유연성과 가독성을 ..

Java 2025.01.16

[Flutter] Dio 패키지를 활용한 HTTP 통신 실습

Flutter로 애플리케이션을 개발할 때, REST API를 활용한 데이터 통신은 매우 중요합니다. 이번 포스팅에서는 Flutter에서 인기 있는 HTTP 통신 패키지인 Dio를 사용하여 서버와 데이터를 주고받는 방법을 단계별로 살펴보겠습니다. 💡 학습 목표1. Dio 패키지를 설치하고 기본 사용법 익히기2. REST API로 데이터 가져오기3. JSON 데이터를 Dart 객체로 변환하기 1. Dio 패키지 설치하기 dio install | Dart packageA powerful HTTP networking package, supports Interceptors, Aborting and canceling a request, Custom adapters, Transformers, etc.pub.devD..

Flutter 2025.01.15

[DART] 비동기 프로그래밍(Future) 알아보기

Dart는 비동기 프로그래밍을 지원하며, 이를 통해 프로그램의 흐름을 중단하지 않고 작업을 처리할 수 있습니다. 이번 포스팅에서는 Dart의 비동기 프로그래밍 개념과 Future 타입, 그리고 이를 활용한 실습 코드를 살펴보겠습니다. 💡 학습 목표1. Dart 비동기 프로그래밍의 개념 이해하기2. Future 타입 알아보기3. Future.delayed 함수와 함께 Future 타입 활용해 보기 1. Dart 비동기 프로그래밍의 개념동기 프로그래밍모든 코드가 순차적으로 실행됩니다.하나의 작업이 끝나야만 다음 작업이 실행됩니다.예: 파일 읽기 작업이 끝난 뒤에야 다음 코드가 실행.비동기 프로그래밍코드가 동시다발적으로 실행됩니다.작업의 실행 순서가 보장되지 않습니다.Dart 비동기 프로그래밍은 작업 완료를..

Flutter/Dart 2025.01.15

[Flutter] Callback 함수 - 자식 위젯 이벤트 처리

Flutter에서 자식 위젯에서 발생한 이벤트를 부모 위젯이 처리하도록 만드는 방법은 여러 가지가 있습니다. 그중 하나는 콜백 함수를 사용하는 것입니다. 이번 포스팅에서는 콜백 함수를 통해 부모 위젯이 자식 위젯의 이벤트를 처리하는 방법을 단계별로 살펴보겠습니다. 1단계: 기본 구조 작성하기우선, 부모 위젯과 자식 위젯의 기본 구조를 만듭니다. 자식 위젯에서 이벤트를 발생시키지만, 아직 부모 위젯과 연결되지는 않은 상태입니다.class ParentsView extends StatefulWidget { const ParentsView({super.key}); @override State createState() => _ParentsViewState();}class _ParentsViewState ex..

Flutter 2025.01.15

[Flutter] 연습하기 5 - Flutter shopping cart app

안녕하세요! 이번 포스팅에서는 플러터(Flutter)를 활용해 쇼핑카트 앱을 만들어보는 과정을 소개하려고 합니다. 플러터의 다양한 UI 위젯과 상태 관리 방식을 익힐 수 있었어요. 1. lib/constants.dart 파일 만들기 2. lib/theme.dart 파일 만들기 3. main.dart 기본 코드 설계하기 4. 쇼핑카트 헤더 만들기 5. main 앱바 추가 6. 쇼핑카트 바디 만들기  1. 앱의 테마 설정앱의 색상과 테마는 constants.dart와 theme.dart 파일에 정의하여 유지보수가 쉽도록 설계했습니다. 이를 통해 전체 앱의 색상 일관성을 유지할 수 있습니다.constants.dartimport 'package:flutter/material.dart';const kPrimary..

Flutter 2025.01.14

[JAVA] 디자인패턴 : 어댑터 패턴(Adapter Pattern)

안녕하세요! 이번 포스팅에서는 디자인 패턴 중에서 **어댑터 패턴(Adapter Pattern)**에 대해 다뤄보려고 합니다. 어댑터 패턴은 개발 과정에서 자주 등장하는 호환성 문제를 해결하기 위해 사용되는 유용한 패턴 중 하나입니다. 특히, 서로 다른 인터페이스를 가진 객체들이 함께 동작해야 할 때 이 패턴을 통해 효율적으로 문제를 해결할 수 있습니다. 어댑터 패턴이란?어댑터 패턴은 호환되지 않는 인터페이스를 가진 클래스들이 함께 동작할 수 있도록 중재 역할을 수행하는 디자인 패턴입니다.기존 클래스의 인터페이스를 변경하지 않으면서도 새로운 요구사항을 수용할 수 있도록 변환기 역할을 합니다. 이를 통해 호환성 문제를 해결하고, 기존 코드를 수정하지 않고도 새로운 코드와 결합할 수 있습니다. 예를 들어, ..

Java 2025.01.13

[JAVA] 디자인패턴 : 싱글톤 패턴(Singleton Pattern)

안녕하세요! 이번 포스팅에서는 디자인 패턴 중에서도 가장 기본적이고 널리 사용되는 싱글톤 패턴(Singleton Pattern)에 대해 알아보겠습니다. 싱글톤 패턴은 프로그램에서 단 하나의 객체만 생성하도록 보장하는 패턴으로, 자원 관리와 제어가 중요한 시스템에서 매우 유용하게 활용됩니다. 싱글톤 패턴이란?싱글톤 패턴(Singleton Pattern)은 클래스의 인스턴스가 단 하나만 존재하도록 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 방법을 제공합니다. 이를 통해 동일한 객체를 여러 곳에서 공유할 수 있으며, 자원의 낭비를 줄이고 효율성을 높일 수 있습니다.주요 특징하나의 인스턴스만 유지: 인스턴스가 여러 개 생성되지 않도록 보장합니다.전역 접근 제공: 어디서든 같은 인스턴스에 접근할 수 있습니..

Java 2025.01.13

[JAVA] 디자인패턴 : 콜백(Callback) 패턴 알아보기

안녕하세요! 오늘은 디자인 패턴 중에서도 콜백 메서드라는 개념에 대해 알아보겠습니다. 콜백 메서드는 유연하고 확장 가능한 코드 설계를 가능하게 하며, 특히 비동기 처리나 이벤트 기반 시스템에서 널리 사용됩니다. 이번 글에서는 콜백 메서드의 개념, 장점, 그리고 실제 구현 사례를 통해 이를 쉽게 이해할 수 있도록 설명하겠습니다. 콜백 메서드란?정의콜백 메서드(Callback Method)는 특정 이벤트가 발생하거나 작업이 완료되었을 때 미리 정의된 로직을 실행하기 위해 호출되는 메서드입니다. 주로 비동기 작업이나 이벤트 기반 시스템에서 사용됩니다. 프로그램이 동작 중에 호출할 수 있도록 메서드의 실행 흐름을 역전(Inversion of Control) 시킬 수 있습니다.즉, 콜백 메서드를 활용하면 동작을 ..

Java 2025.01.13

[Flutter] 연습하기 4 - Flutter login app

안녕하세요! 오늘은 Flutter를 활용하여 간단한 로그인 화면을 구현하는 방법을 공유하려 합니다. 이 프로젝트는 Flutter를 처음 배우는 분들도 쉽게 따라할 수 있도록 구성되어 있습니다. 기본적인 UI 구성부터 네비게이션까지 한 번에 익힐 수 있었습니다. 프로젝트 소개Flutter를 사용하여 로그인 화면과 홈 화면을 구현합니다. StatelessWidget과 StatefulWidget의 사용법.TextFormField를 활용한 입력 폼 구성.Navigator를 사용한 화면 전환.Material Design을 활용한 UI 구성.주요 기능이메일 및 비밀번호 입력 폼.입력 데이터의 유효성 검사 및 저장.로그인 버튼 클릭 시 홈 화면으로 전환.프로젝트 파일 구조 1. pubspec.yaml 설정pubspe..

Flutter 2025.01.13