분류 전체보기233 JPA 기본 구조 & 영속성 컨텍스트 기본 구조 EntityManagerFactory 초기화 DB작업이 필요할 때마다 EntityManager 생성 EntityManager로 DB조작 EntityTransaction으로 트랜잭션 관리 BUT!!! 스프링과 연동시에는 대부분 스프링이 대신 처리하므로 매핑 설정 중심으로 작업을 권장! Entity기본 객체 EntityManagerFactory Persistance 객체를 이용하여 _createEntityManagerFactory_메서드로 사용할 DB를 생성한다. 해당 객체로 EntityManager 객체를 생성해준다. EntityManagerFactory emf = Persistance.createEntityManagerFactory("jspbegin"); EntityManager EntityM.. FrameWorks/JPA 2023. 8. 24. JPA 세팅 및 기초 세팅 및 기초 pom.xml org.hibernate hibernate-core ${hibernate.version} org.hibernate hibernate-hikaricp ${hibernate.version} mysql mysql-connector-java 8.0.27 ch.qos.logback logback-classic 1.2.6 persistance.xml 해당 파일은 main/resources/META-INF에 생성해준다. study.jpa.jpa01.User true 기본기 사용 User.java @Entity //DB 테이블과 맵핑 대상 @Table(name = "user") //user 테이블과 맵핑 public class User { @Id //식별자에 대응(변수명과 칼럼의 이름이 같.. FrameWorks/JPA 2023. 8. 24. IntelliJ에서 Mybatis 사용시 Warnning 표시 제거 방법 SQL - No data sources configured - SQL dialect detection - Unresolved reference IDE/IntelliJ 2023. 8. 18. Symbol Symbol( )심볼은 생성자가 없으므로 new를 사용하여 객체를 생성하지 않는다.Symbol( ) 함수를 호출하면 매번 새로운(고유한) 심볼이 생성된다.심볼은 전역 심볼 레지스트리(Global Symbol Resgistry)란 심볼들이 저장되는 전역공간에 저장된다.const sym1 = Symbol(); const sym2 = Symbol(); const sym3 = Symbol('foo'); const sym4 = Symbol('foo'); console.log(sym1 === sym1); // true console.log(sym1 === sym2); // false console.log(sym3 === sym4); // false일반적으로 심볼은 객체의 프로퍼티 키로 사용된다.JavaScript에.. Language/JavaScript 2023. 7. 11. reactive( ) Vue reactive functionconst targetMap = new WeakMap() // targetMap stores the effects that each object should re-run when it's updated let activeEffect = null // The active effect running function track(target, key) { if (activeEffect) { // { // run them all effect() }) } } function reactive(target) { const handler = { get(target, key, receiver) { let result = Reflect.get(target, key, receiver) t.. FrameWorks/Vue 2023. 7. 11. MIME-Type / Content-Type MIME(Multipurpose Internet Mail Extensions)이란?MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기 위해 개발되었다.현재는 웹을 통해서 여러형태의 파일 전달하는데 쓰이고 있다. MIME 사용 이유MIME을 사용하기전에는 UUEncode에는 치명적인 단점이 있는데 이를 보강하기 위해 등장하게 되었다.예전에는 텍스트파일을 주고받는데 ASCII로 공통된 표준에 따르기만하면 문제가 없었다. 하지만 네트워크를 통해 ASCII 파일이 아닌 바이너리 파일을 보내는 경우가 생기게 되었다.바이너리파일→ 음악파일, 무비파일, 워드파일 등등ASCII만으로는 전송이 불가능하여 이러한 바이너리 파일들을 기존의 시스템에서 문제 없이 전달하기 위해 텍스트파.. Study/WAS만들기 2023. 6. 18. Thread / Runnable / Thread Pool Thread어떤 프로그램 내에서 실행되는 흐름의 단위특히 프로세스 내에서 실행되는 흐름의 단위 Runnable쓰레드의 run( ) 메서드만 가지고 있는 인터페이스다중 상속이 되지 않는 문제를 해결하기 위해 생긴 인터페이스사용시 Runnable객체를 생성후 해당 객체를 Thread로 생성하여 사용한다.Runnable runnable1 = new MyServer(); Runnable runnable2 = new MyServer(); Thread thread1 = new Thread(runnable1); Thread thread2 = new Thread(runnable2); thread1.start(); thread2.start();Thread Pool쓰레드를 미리 원하는 갯수 만큼 생성해 두는 것Execut.. Study/WAS만들기 2023. 6. 11. Thread / Runnable Thread쓰레드를 사용하려는 클래스에 Thread를 상속받아 사용한다.각 쓰레드는 각각의 Stack을 가지고 있다.각각의 Stack을 가지고 있기 때문에 개별로 로직처리가 가능해 동시에 작업이 가능하다.run( )쓰레드를 상속받으면 반드시 재정의해 주어야 하는 메서드쓰레드 작업을 할 로직을 작성해준다.public class MyThread extends Thread { @Override public void run(){ ... } } start( )Thread를 상속받은 클래스의 run( ) 메서드를 실행 시켜주는 메서드public class TestThread { MyThread myThread = new MyThread(); myThread.start(); }Runnable쓰레드를 상속받게 되면 다.. Study/WAS만들기 2023. 6. 11. Reflection ReflectionClass 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법컴파일 과정에서 import한 파일을 의존하여 가져가지 않고, 런타임과정에서 해당 class의 소스를 읽는 방법현재 Class가 해당 Class를 의존하지 않고 사용할 때 해당 Class의 정보를 가져오는 방식의존→ 해당 Class가 없으면 동작하지 않음→ import를 해주어야 온전히 컴파일 되는 것(?) 사용방법"class".class //로 가져오기 "인스턴스".getClass() //로 가져오기 Class.forName("클래스명") //으로 가져오기 예시public static Class getInstance(String url){ String propertiesPath = "path"; Proerties prop.. Study/WAS만들기 2023. 6. 6. Socket과 ServerSocket 동기 통신시 사용(Java I/O는 Blocking을 하기 때문) Socket 프로세스간 통신을 담당한다. Socket 객체안에 Inputstream과 OutputStream이 있어 이를 통해 통신(입출력)한다. setSoTimeout(”millisecond”) 밀리초 단위로 일정 시간 동안 입력이 없으면 소켓을 닫아주는 메서드 예외처리를 해주어 서버가 다운되지 않게 처리해주어야 한다. ServerSocket 포트와 연결(bind)하여 입력을 기다렸다가 입력이 들어오면 Socket을 생성해 데이터를 주고 받을 수 있게 해주는 객체 하나의 포트에 하나의 ServerSocket만 연결 할 수 있으나 프로토콜이 다르면 같은 포트를 공유 할 수 있다. 서버소켓 생성 서버 소캣을 생성하여 포트를 정해 요청을 받아.. Study/WAS만들기 2023. 5. 31. [변수 + “구분자”] = value this[변수 + “구분자”] = value현재 스크립트에서 새로운 변수 값을 할당하여 해당 value 값을 설정 변수1[변수2 + “구분자”] = value선언되어 있는 변수(List 형식)에 Set or Map과같이 새로운 key를 할당해 value값을 설정var test = {}; var transId = "val"; test["_label"] = "test1"; console.log(test); // {_label : "test1"} test[transId + "_label"] = "test2"; console.log(test); // {_label : "test1", val_label : "test2"} transId = "sample"; test[transId + "_label"] = "sam.. Language/JavaScript 2023. 5. 12. 3. Stateful Widgets State Stateful WidgetStateless Widget ← 데이터 없이 단순히 UI만 만듬위젯에 데이터를 저장하고 싶을 때 사용실시간으로 데이터의 변화를 보고 싶을 때 사용StatelessWidget을 StatefulWidget으로 변경할 수 있음 Stateful Widget의 종류데이터가 없는 위젯데이터가 있는 위젯데이터에 따라 UI가 변경될 수도 있음 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); }.. FrameWorks/Flutter 2023. 4. 24. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음 💲 추천 글 728x90 반응형