전체 글 103

[JPA 프로그래밍] - 04. 엔티티 매핑

객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리한다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 주의점 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) DB에 저장할 필드에 final 사용 불가 final 클래스, enum, interface, inner 클래스는 @Entity로 맵핑할 수 없음 @Entity 속성 name @Entity(name="anotherMember") JPA에서 사용할 엔티티 이름을 지정 기본값은 클래스 이름을 그대로 사용(예: Member) 중복되는 클래스 이름이 없으면 가급적 기본값을 사용한다. @Table @Table은 엔티티와 매핑할 테이블 지정 속성 기능 기본값 name 매핑할 테이블 이름 ..

JPA 2024.04.06

[에러 해결] android studio에서 Dart SDK is not configured

상황 다음 캡쳐와 같이 Dart SDK is not configured 경고 메세지가 나온다. 해결 Open Dart settings 클릭한다. Dart SDK path 부분이 중요한데 플러터를 설치한 위치 밑에 'flutter/bin/cache/dart-sdk'이 부분까지 정확히 적어줘야 한다 그리고 두 개 체크박스까지 체크해준다. 상황2 run 버튼이 비활성화되어 있고 Add Configuration...이 보인다. 해결 안드로이드 스튜디오 첫 실행시 나오는 화면에서 Plugins -> flutter 검색 -> Install 또는 command + , 눌러서 Settings 창을 열고 좌상단 검색창에 'plugins' 검색 -> flutter 검색 -> Install

[에러 해결] Flutter SDK not available (feat. Intl)

상황 VS Code에서 Flutter Intl 익스텐션 설치 후 Command + Shift + P 단축키로 Command Palette...실행 Flutter Intl: Initialize 입력하고 누를시 다음과 같은 에러 발생 시도1 flutter가 설치된 경로를 ~/.zshrc에 PATH 추가하기 which flutter 위 명령어 입력시 [경로]/flutter/bin 까지의 경로를 확인하고, 아래처럼 ~/.zshrc에 flutter SDK 경로 추가한다. export PATH="$PATH:/Users/someone/Developments/flutter/bin" 그리고 재부팅 같은 에러가 나고 해결안됨 시도2 settings.json파일에 "dart.flutterSdkPath": "/Users/so..

[실전 Dart] 01.객체 생성 & 비교

1. 객체 생성 객체 생성시 값을 메모리에 저장하고, 메모리 주소를 반환함 값(Value) : 메모리에 저장된 데이터 참조(Reference) : 값이 저장된 메모리 주소 변수는 참조(메모리 주소)를 저장한다. String name = '철수'; //철수라는 값이 담긴 메모리 주소를 변수 name에 저장한다. 2. 객체 비교 객체 비교에는 두 가지가 있다. 값 비교 : 메모리에 담긴 값을 비교하는 방법 참조 비교 : 메모리 주소를 비교하는 방법 Dart는 기본적으로 참조 비교를 사용한다. 3. 메모리 할당 규칙 객체 생성시, 가변 객체는 항상 새 메모리를 할당하고 불변 객체는 값이 동일하다면 기존에 생성한 객체를 재활용한다. void main() { print('철수' == '철수'); // true (..

Dart 2024.03.14

터미널 꾸미기

1. iTerm2 다운로드 https://iterm2.com/index.htmlhttps://iterm2.com/index.html 2 homebrew 설치 zsh 설치와 관련 설정들을 위해 homebrew가 필요하다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3. .zsh 설치 MacOS Catalina 이후 버전은 기본적으로 zsh가 있다. 설치되어 있지 않다면 설치한다. zsh 설정 관리를 위해 oh-my-zsh도 설치한다. // zsh 설치 brew install zsh // oh-my-zsh 설치 sh -c "$(curl -fsSL https://raw.github...

카테고리 없음 2024.03.09

[JPA 프로그래밍] - 03. 영속성 관리

영속성 컨텍스트란 엔터티를 영구 저장하는 환경 이라는 뜻 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다. EntityManager.persist(entity) -> 엔티티를 영속성 컨텍스트에 저장한다는 뜻!! 엔티티의 생명주기 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 //객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); 영속(managed) 영속성 컨텍스트에 관리되는 상태, 1차 캐시에서 관리되는 상태 //객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); mem..

JPA 2024.03.02

Webpack - 프론트엔드 개발환경 이해 [2/3]

1. 웹팩의 등장 배경 import/export 구문이 없었던 모듈 이전의 상황을 살펴보자. math.js: function sum(a, b) { return a + b } // 전역 공간에 sum이 노출 app.js: sum(1, 2) // 3 위 코드는 모두 하나의 HTML 파일 안에서 로딩해야만 실행된다. math.js가 로딩되면 app.js는 이름 공간에서 'sum'을 찾은 뒤 이 함수를 실행한다. 문제는 'sum'이 전역 공간에 노출된다는 것. 다른 파일에서도 'sum'이란 이름을 사용한다면 충돌한다. 1.1 IIFE IIFE(Immediately Invoked Function Expression)는 정의되자마자 즉시 실행되는 Javascript Function 을 말한다. 전역 스코프가 오염되..

NPM - 프론트엔드 개발환경 이해 [1/3]

1. Node.js 란 무엇일까 기존 웹에서는 정적인 html 파일에 다이나믹한 변화를 주기 위해 JavaScript가 쓰이고 있었다. 이 언어를 해석하는 주체는 브라우저로 각 브라우저 마다 JS 해석 엔진이 있다. 예로 크롬은 V8, 익스플로러는 Chakra 등. 브라우저에서만 동작하던 JS를 V8엔진에 살을 붙여서 브라우저가 아닌 다른 환경에서도 쓸 수 있게 만든 것이 Node.js이다. 쉽게 말해 자바스크립트 실행 환경이라고 볼 수 있다. 따라서 Node.js만 있으면 브라우저 없이도 자바스크립트 문법을 실행할 수 있다. 2. 프론트엔드 개발시 Node.js가 필요한 이유 최신 스펙으로 개발 가능 빌드 자동화 개발 환경 커스터마이징 3. Node의 REPL 기능 REPL(read-eval-print..

[모던 자바스크립트 Deep Dive] 09. 타입 변환과 단축 평가

9.1 타입 변환이란? 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것 원시 값은 변경 불가능한 값(Immutable value)이므로 변경할 수 없다. 9.2 암묵적 타입 변환(implicit coercion) = 타입 강제 변환(type coercion) 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것 문자열, 숫자, 불리언과 같은 원시 타입 중 하나로 타입을 자동 변환한다. 9.2.1 문자열 타입으로 변환 +연산자 피연산자 중 하나 이상이 문자열일 때 문자열 연결 연산자로 동작한다. 문자열 연결 연산자의 피연산자 중 문자열 타입이 아닌 피연산자를 문자열 타입으로 암묵적 타입 변환한다. // 숫자 타입 0 + '' // -> "0" -0 + '' // -> "0" 1 +..

[모던 자바스크립트 Deep Dive] 07. 연산자

연산자 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만듦 값으로 평가된 피연산자를 연산해 새로운 값을 만듦 피연산자 연산의 대상 값으로 평가될 수 있는 표현식 연산의 대상이 되어야 하므로 값으로 평가할 수 있어야 함 7.1 산술 연산자 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만듦. 산술 연산이 불가능한 경우 NaN 반환 7.1.1 이항 산술 연산자 2개의 피연산자를 산술 연산하여 숫자 값을 만듦 피연산자의 값을 변경하는 부수 효과가 없다. => 언제나 새로운 값을 만듦 이항 산술 연산자 의미 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 % 나머지 7.1.2 단항 산술 연산자 1개의 피연산자를 산술하여 숫자 값을 만듦 단항 산술 연산자 ..