분류 전체보기233 [Spring] Model과 ModelMap의 차이점 공통점 기본적으로 기능적인건 같기때문에 무엇을 쓰던지 상관은 없다. 차이점 Model 인터페이스로 구현되어 있다. ModelMap 클래스로 구현되어 있다. LinkedHashMap을 상속 받는다. Linked~~의 속성상 추가시 입력 순서가 정해진다. 필자는 본인이 공부한 내용을 메모용도로 사용한 것이며 잘못된 정보로 되어있으면 수정할테니 댓글 달아주시면 감사하겠습니다. ㅠㅠ FrameWorks/Spring & Boot 2023. 4. 10. [Java] Generic, WildCard (<T>, <?>) Generic Generic은 입력되는 객체의 타입을 보장하기 위해 사용된다. 입력으로 정해진 객체 혹은 그의 부모, 자식 등으로 다양한 객체 타입을 하나의 코드로 사용할 수 있는 편리한 기능이다. Generic 타입의 매개변수 E: Element, 컬렉션의 요소를 표시할 때 사용 T: Class Type V: Value K: Key Genric의 사용 예시 // java.util.List public interface List { boolean add(E e); // 이하 코드 생략 } // 초기화시 타입에 대한 선언이 가능하다. List foos = new ArrayList(); foos.add(new Foo("bar")); WildCard Generic으로 구현된 메소드의 경우에는 선언된 타입으로만.. Language/Java 2023. 4. 10. [Flutter] 객체 생성시 Const를 붙이라는 Warning 제거 회사에서 Intellij를 사용하라고 해서 접한지 얼마 되지 않아 사용하는 여러가지 분편한 점들이 발견 되었다. 그 중 Flutter사용 중 다음과 같이 const를 붙이라는 문구가 계속해서 나타나는데... VScode의 경우 setting.json에서 저장시 자동으로 Fix해주는 문구를 삽입해주면 되지만 Intellij는 setting.json파일이 없는 것 같았다. "editor.codeActionsOnSave": { "source.fixAll": true } #추가로 넣으면 좋음 "dart.previewFlutterUiGuides": true, "dart.openDevTools": "flutter", "[dart]": { "editor.formatOnSave": true, } 코드를 입력하고 실행을.. FrameWorks/Flutter 2023. 4. 9. 4. Classes 4-0) Your First Dart Class class Player{ String name = 'nico'; int xp = 1500; } void main() { var player = Player(); //new를 붙여도 되지만 안붙여도 됨 print(player.name); print(player.xp); player.name = 'lalala'; print(player.name); } 4-1) Constructor 생성자 요약 가능class Player{ late final String name; late int xp; -- Player(String name, int xp){ this.name = name; this.xp = xp; } -- //생성자를 다음과 같이 줄일 수 있음 Player(.. Language/Dart 2023. 4. 5. 3. Function 3-0) Defining a Function void sayHello(String name){ print("Hello ${name}, nice to meet you!"); } //위와 같읕 코드 void sayHello(String name) => print("Hello ${name}, nice to meet you!"); void main() { sayHello("nico"); } 3-1) Named Parameters Named Parameters를 사용하지 않았을 때String sayHello(String name, int age, String country){ return "Hello, ${name}, you are ${age}, and you come from ${country}"; } void.. Language/Dart 2023. 4. 5. 2. Data Types 2-0) Basic Data Types numint 와 double은 num을 상속받고 있어 자료형 중 num을 사용하여 정수, 실수 둘다 사용 할 수 있음 2-1) List [ ] 대괄호를 사용하여 선언 생성 방법var numbers = [1, 2, 3, 4]; numbers.add(1); //위와 같음 List numbers = [1, 2, 3, 4]; numbers.add(1);collection ifvar giveMeFive = true; var numbers = [ 1, 2, 3, 4, if(giveMeFive) 5, ];collection forvar oldFriends = ['nico', 'lynn']; var newFriends = [ 'lewis', 'ralph', 'darren', fo.. Language/Dart 2023. 4. 5. 1. Variables 1-1) Hello Worldvoid main()java의 main메서드와 같은 역할 ;(세미콜론)을 붙여주어야 실행이 된다세미콜론을 사용하지 않는 경우가 있기 때문 1-2) The Var Keyword var는 모든 DataType을 추측하여 해당 자료형으로 선언됨var를 사용할 경우함수나 메소드 내부에 지역변수를 선언할 때 사용 명시적으로 자료형을 작성할 경우class안에서의 변수를 선언 할 때 사용 1-3) Dynamic Type 다양한 타입의 데이터를 변수에 담을 수 있음사용하는데에는 유용하지만 추천하진 않음var name; // or dynamic name; name = 'nico'; name = 12; name = true;//dynamic type 활용 void main(){ dynamic .. Language/Dart 2023. 4. 5. 0. Why Dart Dart Nativemachine code JIT(Just In Time) and AOT(Ahead Of Time)JIT작성한 코드의 결과를 바로 화면에 보여줌AOT컴파일을 먼저하고 그 결과인 바이너리를 배포개발중에는 JIT로 즉시 결과를 보여주고 배포 배포 후에는 AOT로 실제 기계어로 변환 Null Safety프로그램을 안전하게 만들어줌개발자가 null을 참조할때 발생하는 문제를 해결등 등… 다른 언어와의 차이점react.js or django는 javascript나 python의 규칙을 수정 할 수 없지만 Dart와 Flutter는 가능따라서 속도의 향상을 야기할 수 있음 Uploaded by N2T Language/Dart 2023. 4. 5. 팩토리 메서드(Factory Method Pattern) 팩토리 메서드(Factory Method Pattern)객체를 생성할 때 어떤 클래스의 인스턴스를 만들 지 서브 클래스에서 결정하게 함인스턴스 생성을 서브 클래스에게 위임부모 추상 클래스는 인터페이스에만 의존하고 실제로 어떤 클래스를 호출할 지는 서브 클래스에서 구현새로운 구현 클래스가 추가되어도 기존 Factory코드의 수정 없이 새로운 Factory를 추가하면 됨ex) 컴퓨터를 예로 들면 키보드, 마우스, 모니터, 스피커 등을 다 따로따로 만들어주는 방법예제) 사용자 관리 프로그램이 있고 네이버 계정으로 가입할 수 있다고 가정1. Product(User)public interface User { void signup();}User 인터페이스 정의public class NaverUser imple.. Study/디자인패턴 2023. 4. 4. IntelliJ에서 Spring-boot-devtools 사용 방법 Spring-boot-devtools란?? Spring Boot를 사용하는데 있어서 좀 더 편리한 추가 도구 세트가 포함되어 있는 라이브러리 추가 개발 기능 시간을 단축시켜 주는데 도움을 줌 1) 오픈소스 빌드 자동화 툴(Gradle 혹은 Maven) 내에 라이브러리를 추가 # Gradle dependencies { compileOnly("org.springframework.boot:spring-boot-devtools") } org.springframework.boot spring-boot-devtools 2.7.4 2) Automatic Restart 서버의 내용을 수정하면 재 기동해야 하는 문제를 자동으로 해결해주는 기능 class 경로의 파일이 해당됨 💡 해당 옵션에 대한 설명 - spring.d.. IDE/IntelliJ 2023. 4. 4. IntelliJ에서 개인설정 Template 추가하기 Settings(command + ,)에 들어간 후 live templates를 찾는다. 단축어를 등록할 언어를 선택한다. (필자의 경우 HTML에 ThymeLeaf를 추가) 오른쪽 상단에 파란색 +버튼을 클릭하여 추가 할 수 있다. 만약 하단부에 노란색 느낌표가 뜬다면 Define을 클릭해 해당 확장자를 다시 선택해주면 해결됨 적용을 눌러주면 다음과 같이 사용 가능 IDE/IntelliJ 2023. 4. 4. 싱글턴(Singleton Pattern) 싱글턴(Singleton Pattern)특정 클래스에 객체 인스턴스가 하나만 만들어지도록 해주는 패턴전역 변수를 사용할 때와 마찬가지로 객체 인스턴스를 어디서든지 액세스 할 수 있게 만들 수 있음public static final 필드외부에서 객체를 생성할 수 없도록 생성자를 private로 접근 범위를 제한이미 할당했는데 싱글턴 내부에서 다시 객체를 할당하는 실수가 없도록 final로 선언public class Singleton{ public static final Singleton INSTANCE = new Singleton(); private Singleton(){} ...}//또는public class Singleton{ public static final Singleyon .. Study/디자인패턴 2023. 3. 28. 이전 1 ··· 8 9 10 11 12 13 14 ··· 20 다음 💲 추천 글 728x90 반응형