전체 글
-
Flutter - Thread, Future, async 심화Flutter 2021. 10. 9. 02:11
[Thread] - 프로세스 내에서 실행되는 흐름의 단위 - Dart는 싱글 스레드로 운영되는 언어이다. 싱글 스레드로 동작 한다는 뜻은 오직 한번에 하나의 작업만 실행되고, 이 작업이 실행되는 동안 코드상에 존재하는 다른 작업들이 개입할 수 없다. - Dart는 이런 싱글스레드의 단점을 Event loop로 해결한다. Dart는 스레드가 생성된 순간 3가지 작업을 하게 된다. -> 선입 선출 방식으로 Micro Task(이벤트 큐로 넘어가기 전에, 아주 짧은 시간동안 비동기적으로 먼저 실행되고 끝 나는 작은 작업)와 Evnet 준비 -> main 함수 실행 -> Evnet loop 실행 [Evnet loop] - 외부에서 전달되는 이벤트가 발생했을 때 이벤트과 관련된 코드들이 이벤트 큐에 등록이 된다...
-
Flutter - Future, async, awaitFlutter 2021. 10. 7. 00:15
[Future] - 미래에 구체적인 결과물로 실제적인 객체로 반환된다는 의미 - 일종의 약속이자, 해당 결과를 추후에 확인 가능하다는 의미 - Future 클래스는 일정 소요시간이 지난 후에 실제 데이터 값이나, 에러가 있는 경우 에러를 반환한다. - Future 클래스는 Future같이, 제네릭처럼 어떤 결과물을 받아야 할지 미리 지정해둘 수 있다. - Future와 일반 void 함수의 차이점은 언제 함수의 실행이 끝날지 지정해 줄수 있다는 것. [async] - async 클래스는 await 메서드를 가지고 있다. - await 으로 선언된 메서드는 응답이 처리될 때 까지 대기하는 비동기 식으로 동작한다. - async제어자는 항상 중괄호 앞에 선언해야 한다. 선헌하게 되면 await 키워드를 사용..
-
flutter - 2.0 button ElevatedButton으로 구글, 페이스북, 메일 로그인 버튼 만들기Flutter 2021. 10. 6. 02:47
1. 구글, 페이스북 이미지 파일 imges 폴더를 만든 후 해당 파일을 저장한 뒤, pubspec.yaml 파일에서 경로 설정해주기 2. 코드 import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Login app', theme: ThemeData(primarySwatch: Colors.grey), home: LogIn(), ); } } class LogI..
-
Flutter - final 과 constFlutter 2021. 10. 6. 00:07
final 과 const는 '제어자' 라고 하며 제어자란 클래스, 변수, 메서드를 정의할 때 함께 쓰여서 이것들을 사용하기 위한 옵션을 정해주는 역할을 수행한다. - final 과 const 키워드의 가장 중요한 역할은 변수값이 한번 초기화 되면 바꿀 수 없게 하는 것이다. - 문제는 이 같은 역할을 하는 final 과 const의 차이점이다. [final] - final 변수는 런타임 시에 상수화 한다. - final은 const와는 달리 초기화 되는 시점이 앱이 실행이 될 때이다. - final은 한번 초기화되면 immutable하기 때문에 값을 변경하고 싶다면 아예 새롭게 빌드 메서드 내에서 rebuild 해야 한다. [const] - const 변수는 컴파일 시에 상수화 한다. - const는 선..
-
day70 - Spring Framework(spring boot의 설정 application.properties)KIC/Spring 2021. 9. 28. 19:23
스프링 부트에서는 기존 스프링에서 web.xml 같은 설정 파일들을 application.properties에 가독성 좋게 모아놓았다. [서버] 실습해보니 스프링 부트는 톰켓 서버를 로딩하지 않는다. 자기가 알아서 서버를 핸들링 한다고 한다. [기존 스프링의 viewResolvor] 기존 스프링의 viewResolvor 부분이다. 기존이라면 sevlet.xml에서 이렇게 썼을 내용을 단 두줄로 해결한다. [DB 연결] db 연결 부분 [Multipart] 기존 sevlet.xml의 multipartResolver 부분이다. [UTF-8 ENCODING] 기존의 web.xml encodingFilter 부분이다.
-
day69 - Spring Framework(spring boot 시작하기 STS4)KIC/Spring 2021. 9. 27. 23:50
[sts4 개발 환경] [sts4 설치하기] https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE. spring.io [File - New - Project] Spring Starter Project 이름, 패키지 등 원하는 부분 변경하여 설정 검색해서 원하는 설정을 기입하고 완료
-
day68 - 스프링 팀 프로젝트 관리자 페이지 구현KIC/Spring 2021. 9. 27. 23:39
[userController.java] package com.kic.shopPro.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.kic.shopPro.domain.TopItemVO; i..
-
day67 - Spring Framework(mvc)KIC/Spring 2021. 9. 23. 15:58
[EventController.java] package controller; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import event.Event; import event.SearchOption; import service.EventService; import event.EventType; @Controller @RequestMapping("..