private field 선언

- # prefix를 사용하여 field 명을 정의하는 경우 private field 로 사용할 수 있습니다.

- private 필드는 사용전에 선언되어야 합니다.

 

[example] 

class Rectangle {
  height = 0;
  width;
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
}

let r = new Rectangle(10, 20);

console.log(r); // RectangleTest {height: 10, width: 20}

// class field 값 변경가능 
r.height = 20;

console.log(r); // RectangleTest {height: 20, width: 20}
// private field 정의
class Rectangle {
  #height = 0;
  #width;
  constructor(height, width) {
  this.#height = height;
  this.#width = width;
    // delete this.#height; // Uncaught SyntaxError: Private fields can not be deleted
    // this.#height = 10; // Uncaught SyntaxError: Identifier 'Rectangle' has already been declared
  }
}

let r = new Rectangle(10, 20);

// 접근불가
r.height; // undefined

 

 

[References]

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes

 

Classes - JavaScript | MDN

Class는 객체를 생성하기 위한 템플릿입니다. 클래스는 데이터와 이를 조작하는 코드를 하나로 추상화합니다. 자바스크립트에서 클래스는 프로토타입을 이용해서 만들어졌지만 ES5의 클래스 의

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes/Private_class_fields

 

Private class fields - JavaScript | MDN

class 의 속성(property)들은 기본적으로 public 하며 class 외부에서 읽히고 수정될 수 있다. 하지만, ES2019 에서는 해쉬 # prefix 를 추가해 private class 필드를 선언할 수 있게 되었다.

developer.mozilla.org

https://ui.toast.com/weekly-pick/ko_20200312

 

은닉을 향한 자바스크립트의 여정

ECMAScript 클래스 필드(class field) 명세중에 `Private field` 즉 `Private Property` (이하 Private 속성) 가 있다. 클래스 필드 스펙은 Stage 3(Candidate)까지 올랐으니 아마 곧 Stage 4(Finished)를 거쳐 표준 스펙이 될

ui.toast.com

 

728x90

 

1. 소스 노출

브라우저에서 개발자 도구를 이용하면 누구나 웹사이트의 소스코드를 볼 수 있습니다.

만약 소스코드에 서비스 로직 또는 사용자 개인정보와 같은 민감정보들이 있다면 큰 문제가 됩니다.

 

2. 브라우저에 종속

브라우저별 JavaScript 지원 여부가 다르고, 브라우저의 정책이나 지원에 따라 기존의 동작이 변경되는 문제가 발생할 수 있습니다.

※ 크로스 브라우징(Cross Browsing) : W3C (World Wide Consortium)에서 채택된 웹표준 기술을 기본으로 적용하여 어느 한쪽에 최적화되지 않고, 공통 요소를 사용하여 다양한 기종 혹은 브라우저를 지원하는 웹페이지를 제작하는 기법을 말합니다. 

 

3. 동적객체

JavaScript 객체는 동적객체 이므로 속성 변경이 쉽다는 단점이 있습니다.

3-1) 원시값 변수에 새로운 값을 할당시 원본값이 변경됩니다. 원본값을 보존하여 복사가 필요한 경우 문제가 발생합니다.

- 원시값 : Boolean, String, number, null, undefined

- 참조값 : Object, Array

3-2) class 의 속성(property)들은 기본적으로 public 하며 class 외부에서 읽히고 수정될 수 있습니다.

(ES2019 에서는 해쉬 # prefix 를 추가해 private class 필드를 선언할 수 있게 되었습니다.)

 

[References]

https://wooooooak.github.io/javascript/2019/04/22/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98%EC%B9%98%EB%AA%85%EC%A0%81%EC%9D%B8%EB%8B%A8%EC%A0%90/

 

자바스크립트의 치명적인 단점이 뭐라고 생각하시나요? · 쾌락코딩

자바스크립트의 치명적인 단점이 뭐라고 생각하시나요? 22 Apr 2019 | javascript 언젠가 신입 웹 개발자를 채용하는 최종 면접에서 이런 질문을 받은 기억이있다. 자바스크립트의 치명적인 단점이 하

wooooooak.github.io

https://kirinkong.tistory.com/115

 

[JavaScript] 객체 수정 제한 (const, Object.freeze(), Object.seal(), Object.preventExtensions())

자바스크립트 객체는 매우 유연하기 때문에 의도치 않은 변형이 일어날 수 있습니다. 이때 객체 수정을 막는 방법은 아래와 같습니다. 1. const 1-1) 설명 : 블록 범위의 상수를 선언합니다. 1-2) 기

kirinkong.tistory.com

https://kirinkong.tistory.com/114

 

[JavaScript] private class fields (자바스크립트 private 변수)

private field 선언 - # prefix를 사용하여 field 명을 정의하는 경우 private field 로 사용할 수 있습니다. - private 필드는 사용전에 선언되어야 합니다. [example] class Rectangle { height = 0; width;..

kirinkong.tistory.com

 

728x90

 

Spring Boot project 최초 실행 시 run configuration 설정이 필요합니다.

Spring Boot Application이 실행 되도록 아래 그림과 같이 선택하여 설정합니다.

 

[References]

https://www.jetbrains.com/help/idea/run-debug-configuration-spring-boot.html#modify-options

 

Spring Boot run configuration | IntelliJ IDEA

 

www.jetbrains.com

 

728x90

'IntelliJ' 카테고리의 다른 글

[IntelliJ] Maven build (clean)  (0) 2022.09.30
[IntelliJ] Add File to Git  (0) 2022.09.29
[IntelliJ] Code Template 추가  (0) 2022.09.28
[IntelliJ] bitbucket 로그인  (0) 2022.09.21
[IntelliJ] IntelliJ bitbucket 연동  (1) 2022.09.21

 

1. IntelliJ 실행 후 Maven 패널 클릭

 

만약 우측에 Maven이 보이지 않는 경우 아래와 같이 실행하시면 됩니다.

Veiw > Tool Windows > Maven 클릭

 

2. Lifecycle 

Default(Build) : 일반적인 빌드 프로세스를 위한 모델이다.

Clean : 빌드 시 생성되었던 파일들을 삭제하는 단계

Validate : 프로젝트가 올바른지 확인하고 필요한 모든 정보를 사용할 수 있는지 확인하는 단계

Compile : 프로젝트의 소스코드를 컴파일 하는 단계

Test : 유닛(단위) 테스트를 수행 하는 단계(테스트 실패시 빌드 실패로 처리, 스킵 가능)

Pacakge : 실제 컴파일된 소스 코드와 리소스들을 jar, war 등등의 파일 등의 배포를 위한 패키지로 만드는 단계

Verify : 통합 테스트 결과에 대한 검사를 실행하여 품질 기준을 충족하는지 확인하는 단계

Install : 패키지를 로컬 저장소에 설치하는 단계

Site : 프로젝트 문서와 사이트 작성, 생성하는 단계

Deploy : 만들어진 package를 원격 저장소에 release 하는 단계

 

 

[References]

https://januaryman.tistory.com/128

 

메이븐이란 그리고 intellij에서 메이븐 기능 사용법

[Maven] 메이븐 이란? (정의, 예제) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 메이븐 알아보기 ] 입니다. : ) 1. 빌드 (Build) #1 빌드란?  - 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립

januaryman.tistory.com

 

728x90

 

다운로드 링크 : https://www.oracle.com/java/technologies/downloads/#java8

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

728x90

'JAVA' 카테고리의 다른 글

[JAVA] URL encoding the space character (공백문자 인코딩)  (0) 2022.04.07

 

1. 계정 생성(권한부여 포함) 후 HeidSQL 실행

- 계정생성 및 권한부여 방법 : https://kirinkong.tistory.com/107?category=1049068

 

[MariaDB] 계정 생성 및 권한 부여

1. 계정생성 - 생성문법 : create user '계정명'@'접속위치(host)' identified by '비밀번호' - 접속위치 : 특정 IP 지정, 모든 IP 허용('%'), 내부만 허용('localhost') -- 계정생성 create user 'test'@'localho..

kirinkong.tistory.com

 

2. 세션 관리자 팝업에서 신규 세션 생성 

2-1) 신규 버튼 클릭

2-2) 사용자 : 생성한 계정의 계정명 입력

2-3) 암호 : 생성한 계정의 암호 입력

 

3. 데이터 베이스 생성

- 세션 선택 후 우클릭 > 새로 생성 선택 > 데이터베이스 클릭

 

- 데이터베이스 이름 입력 후 확인 클릭 

 

4. DBeaver 실행 후 새 데이터 베이스 연결 버튼 클릭

 

5. Connect to a database 팝업창에서 MariaDB 선택 후 다음 버튼 클릭

 

6. 데이터베이스 정보 입력

- Database : (3)에서 입력한 데이터베이스 이름 입력

- Username : (2)에서 입력한 사용자 입력

- Password : (2)에서 입력한 암호 입력

- Test Connection.. 버튼 클릭 후 성공 시 완료버튼 클릭

 

7. 연결완료 확인

728x90

'DB > MariaDB' 카테고리의 다른 글

[MariaDB] 재설치 시 port 충돌  (0) 2022.10.24
[MariaDB] root 비밀번호 분실  (0) 2022.10.24
[MariaDB] 계정 생성 및 권한 부여  (1) 2022.09.29
[MariaDB] MariaDB 10.1 설치  (0) 2022.09.19

 

1. 계정생성

- 생성문법 : create user '계정명'@'접속위치(host)' identified by '비밀번호'

- 접속위치 : 특정 IP 지정, 모든 IP 허용('%'), 내부만 허용('localhost')

-- 계정생성
create user 'test'@'localhost' identified by '1234';

-- 생성 확인
select host, user from mysql.user where user='test';

 

2. 계정삭제 

-  삭제문법 : drop user '계정명'@'접속위치(host)' 

-- 계정삭제
drop user 'test'@'localhost';

-- 삭제확인
select host, user from mysql.user where user='test';

 

3. 권한부여

- 모든 권한 부여 : grant all privileges on 데이터베이스명.테이블명 to '계정명'@'접속위치';

- 모든 권한 회수 : revoke all on *.* from '계정명'@'접속위치';

-- 초기 권한 확인
select * from mysql.user where user='test';

-- 모든 권한 부여
grant all privileges on *.* to 'test'@'localhost';

-- 권한 확인
select * from mysql.user where user='test';

-- 모든 권한 회수
revoke all on *.* from 'test'@'localhost';

-- 권한 확인
select * from mysql.user where user='test';

 

 

[References]

https://mentha2.tistory.com/110

 

MariaDB 계정 생성과 권한 부여 및 회수 하기(grant, revoke)

MariaDB에서 계정을 생성하고 권한 부여하는 방법입니다. 계정 생성 방법 계정 생성 : create user '계정명'@'접속 위치(host)' identified by '비밀번호'; 접속 위치 관련 설명, 특정 IP 지정, 모든 IP 허용('%').

mentha2.tistory.com

https://mentha2.tistory.com/71

 

[MariaDB 사용자 권한 설정] 권한 설정 종류 정리

MariaDB의 root계정은 데이터베이스 서버에 대한 모든 권한을 가지고, 데이터베이스가 지원하는 모든 행위를 할 수 있다. 이 행위에는 데이터베이스, 테이블의 삭제, 다른 사용자 계정의 패스워드

mentha2.tistory.com

 

728x90

'DB > MariaDB' 카테고리의 다른 글

[MariaDB] 재설치 시 port 충돌  (0) 2022.10.24
[MariaDB] root 비밀번호 분실  (0) 2022.10.24
[MariaDB] 데이터 베이스 생성 (DBeaver 연결)  (1) 2022.09.29
[MariaDB] MariaDB 10.1 설치  (0) 2022.09.19

 

[문제점]

Git 프로젝트에서 새로운 파일을 생성하면 아래와 같은 팝업창이 나타납니다.

 

[해결방법]

1. Don't ask again 체크박스 체크 후 Cancel 버튼 클릭

2. 설정변경

2-1) File > Settings(macOS의 경우 Preferences 클릭) > Version Control > Confirmation 클릭 

2-2) When files are created 설정을 Do not add 선택

2-3) OK 버튼 클릭

 

[References]

https://junho85.pe.kr/1619

 

IntelliJ - Add File to Git 끄기

IntelliJ (외에 다른 Jetbrains 툴 포함)에서 Git 프로젝트인 경우 새로운 파일을 만들면 아래와 같은 팝업창이 나타납니다. 보통 "Remember, don't ask again"을 체크하고 Cancel을 하면 더 이상 물어보지 않습..

junho85.pe.kr

 

728x90

+ Recent posts