전체 글 295

[코딩테스트 연습] 평균 일일 대여 요금 구하기

문제 설명다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다.동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다. 💡 문제ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로..

MySQL/1일 1쿼리 2024.11.25

[코딩테스트 연습] 평균 일일 대여 요금 구하기

문제 설명다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다. 자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트(예: '열선시트', '스마트키', '주차감지센서')로 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트' 가 있습니..

MySQL/1일 1쿼리 2024.11.25

[3일차] Admin Page - 게시글 관리

Repository(4) Service(5) Controller(6) 화면 구성관리자 페이지에서 어떤 목적과 어떤 기능을 만들건지 잘 설계하고 들어가기!!회원 관리 기능-  회원 조회-  회원 생성- " data-og-host="maze910.tistory.com" data-og-source-url="https://maze910.tistory.com/254" data-og-url="https://maze910.tistory.com/254" data-og-image="https://scrap.kakaocdn.net/dn/7N8UX/hyXwiOfBqJ/qmbxKSouA0mKAApMQ9a2D1/img.png?width=800&height=565&face=0_0_800_565,https://scrap.kakao..

My Project/amigo 2024.11.25

[Flutter] 심화 버전 - 해시 함수

해시 함수해시 함수(Hash Function)는 입력값(키나 데이터)을 고정된 크기의 해시값(Hash Value)으로 변환하는 수학적 함수입니다.해시값은 보통 숫자나 문자열의 형태로 표현되며, 입력값의 크기와 관계없이 항상 고정된 길이를 가집니다. 사용 목적빠른 데이터 검색:해시값을 인덱스로 사용하여 데이터를 빠르게 검색하는 데 활용 (예: 해시 테이블, HashMap)객체를 빠르게 저장하고 삭제데이터 무결성 확인:데이터를 해싱한 값(체크섬)을 저장하고, 이후 해시값을 비교하여 데이터 변조 여부를 확인 (예: 파일 다운로드 검증)암호학:비밀번호나 민감한 정보를 암호화하는 데 활용 (예: SHA-256)고유 식별자 생성:데이터를 해싱하여 고유한 식별자를 생성 (예: Git의 커밋 ID) 입력값 → 해시값 ..

[Flutter] 심화 버전 - 가변 객체 -> 불변 객체

import 'package:equatable/equatable.dart';void main(){ print(const Post('홍길동전1') == const Post('홍길동전1')); print(const Post('홍길동전1')); print('-------------------------'); print(identical(const Post('홍길동전1') , const Post('홍길동전1')));}// 1. 가변 객체로 만들었다.// 2. 가변 객체를 불변 객체 허용으로 만들고 싶다면??class Post extends Equatable{ final String title; const Post(this.title); @override // [] 객체 배열을 반환해라 => 너가 사..

[Flutter] 심화 버전 - 객체 동등성 재정의

객체 비교와 객체 동등성 재정의Dart에서는 기본적으로 객체를 비교할 때 주소 값으로 비교 처리를 합니다.flutter에서 동일한 위젯을 재사용할 수 있다면 이미 만들어진 객체를 재사용하여 메모리 낭비를 줄일 수 있습니다. 객체 동등성 재정의 : 메서드를 재정의하여 객체를 비교할 때 논리적 동등성(내용 기반 비교)을 구현하는 것을 의미합니다.hashCode, operator를 재정의 해야 합니다.void main(){ // 객체 비교와 객체 동등성 재정의 // Dart 에서는 기본적으로 객체를 비교할 때 주소값으로 비교 처리 // 플러터에서 동일한 위젯을 재사용할 수 있다면 이미 만들어진 객체를 // 재사용하여 메모리 낭비를 줄일 수 있다. // const Container(), const Co..

[Flutter] 심화 버전 - 불변 객체

불변 객체 (Immutable Object)불변 객체란 한 번 생성되면 내부 상태(값)를 변경할 수 없는 객체를 말합니다.객체의 데이터가 설정되면, 이후에는 그 값을 변경할 수 없으며, 변경하려면 새로운 객체를 생성해야 합니다.즉, 메모리에 할당한 뒤 값을 변경할 수 없는 객체  특징값 변경 불가:객체의 모든 필드는 객체가 생성될 때만 설정 가능하며, 이후에는 변경할 수 없습니다.Thread-safe:불변 객체는 값을 변경할 수 없으므로, 여러 스레드에서 동시에 접근해도 안전합니다.새 객체 생성:불변 객체의 값을 변경하려는 모든 작업은 기존 객체를 수정하지 않고 새로운 객체를 반환합니다.재사용 가능:동일한 값을 가진 불변 객체는 재사용이 가능하여 메모리 효율성을 높일 수 있습니다.장점안정성:값이 변경되지..

[Flutter] 심화 버전 - 가변 객체

가변 객체 (Mutable Object)가변 객체란 한 번 생성된 후에도 내부 상태(값)를 변경할 수 있는 객체를 말합니다.객체의 메모리 주소는 유지되면서, 그 안에 저장된 데이터나 속성이 수정 가능합니다.즉, 메모리에 할당된 뒤 값을 변경할 수 있는 객체 // 내부 값이 변경이 되더라도 주소 변경 안됨 특징값 변경 가능: 객체를 생성한 이후, 내부의 데이터나 필드를 자유롭게 수정할 수 있습니다.효율성:값이 자주 변경되는 경우, 새로운 객체를 생성하지 않아 메모리 사용량이 적음.객체를 수정하기 위해 매번 새로운 객체를 생성할 필요가 없으므로 성능이 향상될 수 있음.동일 참조:동일한 객체를 참조 중인 여러 변수에서 값이 수정되면, 참조하는 모든 변수에 영향을 미침. 장점수정이 빈번한 작업에 적합:데이터를 ..

[Flutter] 심화 버전 - 객체

1. 객체 생성과 메모리 규칙 할당다트는 거의 모든 것이 객체이다. int, 정수형 값도객체입니다.즉! 연산자를 사용할 수 있다. 2. 객체 비교에 대한 이해객체를 비교할 때 두가지 방법이 있습니다.값 비교(value)주소 값 비교(Reference) -> dart에서는 기본적으로 주소값 비교를 사용 불변 가변불변 : 한번 생성이 되면 내부 상태 값을 변경할 수 없는 객체 (사용하는 이유 ➡️ 메모리 사용량을 줄이고 안정성이 증가)가변 : 항상 새로운 메모리 주소를 할당 받고 그 공간에 값을 저장 import 'package:flutter/material.dart';void main(){ // dart .. 문법 정리 - 심화 버전 // 1. 객체 생성과 메모리 규칙 할당 // 다트는 거의 모든 ..

[Flutter] (MVVM 활용) 게시글 생성 화면의 뷰 모델(PosCreateViewModel) 만들어 보자

게시글 생성 화면lib/view/post/post_create_pageimport 'package:flutter/material.dart';class PostCreatePage extends StatefulWidget { const PostCreatePage({super.key}); @override State createState() => _PostCreatePageState();}class _PostCreatePageState extends State { @override Widget build(BuildContext context) { return const Placeholder(); }} ConsumerStatefulWidget 활용import 'package:flutter/mat..

Flutter/MVVM 활용 2024.11.22