전체 글 (730) 썸네일형 리스트형 [Flutter] 샘플 프로젝트 분석 플러터 프로젝트를 시작하면 아래와 같다. 카운터 어플리케이션 및 주석이 달려있다. import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: const MyHomePage.. [Flutter] 계층 구조 이해하기 플러터에서 위젯은 계층 구조로 이루어져 있다. 뭐 전체적인 모습은 아닐수도있다.하지만 해당 구조로 이루어져 있고 계층 형으로 각각의 부모를 상속 받는다. 위젯의 트리를 반환하는 build()함수를 구현하여, 고유 특성 정의가 가능하다. 계층 구조는 위젯의 UI를 더 구체적으로 표현이 가능하다. 계층들은 앱을 만드는 데 많은 옵션을 주고, 위젯 계층 블록들을 사용할 수 있게 한다. UI는 크게 두가지로 분류한다. 변경되는 화면 or 불변의 화면 사용자가 버튼을 누를때마다 변경되면 StateFul widget이다. 쉽게 얘기하면, 팝업 메뉴 버튼이 있고, 이에 따라 State가 계속 바뀐다고 가정하자 그러면, 해당 앱은 Stateful widget이고 State를 받아서 계속 변경되는 것이다. [Computer Science] RFC? 오늘은 RFC라는 지식에 대해서 포스팅해보려고 한다. 때떄로 다른 모듈이나 외부 연동을 할 때 사용하는 통신 방법이라고 한다. Remote Function call로 해당 작업을 하는 것을 의미한다. SAP나 ERP같이 외부 모듈과 통신할때 주로 쓰이고, Flutter에서 Native에 대한 라이브러리나 통신을 위해 사용하기도 한다. RFC에서는 두가지 호출 인터페이스가 있다. non-sap || abap용 프로그램용 쉽게 얘기하면, SAP와 SAP가 아닌 장비끼리 서로 통신하는 경우 또는 SAP이지만 서로 다른 장비인 경우 즉 , 머신이 떨어진 모든 경우의 통신규약을 정의해놓은것으로 이해하면 편하다. 결국 메커니즘은 비슷하다. CALL FUNCTION .... DESTINATION의 구조로 이루어져 있.. [Spring] ObjectMapper 사용 쉽게 json과 ObjectMapper를 많이 쓴다. 이유는 String Object간의 자유로운 이동과 변환을 위해서 많이 사용한다. 내가 주로 사용하는것 외에도 다른 기능들이 존재할 것 같아서, 해당 기능들을 사용하면서 포스팅해보자 1. 의존성 추가 implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3' 2. 간단한 사용 예제 (Object -> String, writerValue) package com.example.demo; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import org.springframework.. [NestJs] QueryBuilder queryBuilder를 간략하게 썼었다. 근데 조금 더 심화를 써보자 1) 조인되는 엔티티가 여러개이다. 2) 조인되는 엔티티중 원하는 값만 가져오자 3) 각 조인되는 엔티티는 마스터 이외에는 left조인으로 해보자 or innerJoin으로 해보자 해당 조건을 충족하는 쿼리빌더는 아래와 같다. async getCart(id: string): Promise { const result = await this.cartRepository.createQueryBuilder('cart') .innerJoin(Food,'food','food.id=cart.foodId') .innerJoin(Member,'member','member.id=cart.memberId') .select (['food.id','food... [Java] mapMulti 사용 Java stream을 쓰다보면, Map을 많이 쓴다. 가령 이런.. 상황에서 말이다. dtos.stream().map(x -> x.getAddress()).collect(Collectors.toList()); 근데 어떤 상황에서 해당 방식으로 구현이 되어있었다. List dtos = List.of(new MemberDto("name1","id1","add1"),new MemberDto("name2","id2","ad2"),new MemberDto()); List result = new ArrayList(); for(MemberDto memberDto : dtos){ result.add(memberDto.getId()); result.add(memberDto.getName()); } 레거시 코드에서는 이.. [NestJs] AuthGuard 전략 복수개 적용하기 오늘은 AuthGuard를 이용하여, 해당 가드를 적용할건데 각기 다른 정책으로 관리가 되게 개발을 할 것이다. 쉽게 얘기하면, 한개는 일반 사용자인지, 즉 auth bearer token으로 요청을 하는지 또 한개는 해당 사용자이지만, 사업가의 authCode인지를 체크하는 것이다. 적용한 코드를 참고 바란다. 1.패키지 구조 2.auth-guard.ts import { ExecutionContext, Injectable } from "@nestjs/common"; import { AuthGuard as NestAuthGuard } from "@nestjs/passport"; import { Observable } from "rxjs"; @Injectable() export class JwtAuthGu.. [Database] maraiDb 인코딩 에러 해결 한글로 데이터를 넣게되면 마리아디비에서 해당과 같이 인코딩 문제가 발생한다. QueryFailedError: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE3\x85\x85\xE3\x84\xB7...' for column `leeds`.`campaign`.`name` at row 1 at QueryFailedError.TypeORMError [as constructor] (/Users/ysj/leeds_profile_nest/src/error/TypeORMError.ts:7:9) at new QueryFailedError (/Users/ysj/leeds_profile_nest/src/error/QueryFailedError.ts:9:9).. 이전 1 ··· 18 19 20 21 22 23 24 ··· 92 다음