선언위치에 따른 변수의 종류 변수 종류는 세 가지이다. 클래스변수(class variable) 인스턴스변수(instance variable) 지역변수(local variable) 변수의 종류 선언위치 생성시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 클래스 영역 인스턴스가 생성될 때 지역 변수 메서드 영역 변수 선언문이 수행될 때 클래스 변수는 모든 인스턴스가 공통된 저장공간을 공유한다. 한 클래스의 모든 인스턴스들이 같은 값을 가진다. (자바스크립트의 프로토타입 같다.) 앞에 static이 붙는다. 클래스 변수는 객체생성 없이 클래스이름.클래스변수로 직접 사용가능하다. 인스턴스 변수는 독립적인 저장공간을 가지므로 서로 다른 값을 가진다. 인스턴스마다 고유한 상태를 가질 수 있..
Today I Learned JS project Setting up database Connecting to database Registering a user Getting user profile Updating entries Sign in Putting it All together Today was 휴일동안 해야지, 해야지 했던 것들을 드디어 했다. database까지는 마쳤다!!!! 이제 deployment가 남았지만(..) 그래도 일단 풀스택 비스무리한 무언가를 만들어낸 나를 칭찬해주자(!) 지금은 이렇게 힘들게 만들었지만 또 계속 하다보면 점차 소화될 것이고 더 잘해질 것이라 믿는다
Database와 Back-end 연결 psequel에서 smart-brain 이라는 database를 만듦 users 테이블 만들기 CREATE TABLE users ( id serial PRIMARY KEY, name VARCHAR(100), email text UNIQUE NOT NULL, entries BIGINT DEFAULT 0, joined TIMESTAMP NOT NULL ); login 테이블 만들기 CREATE TABLE login ( id serial PRIMARY KEY, hash VARCHAR(100) NOT NULL, email text UNIQUE NOT NULL ); 백엔드와 연결 npm install knex & pg(postgresql) // import const kne..
PostgreSQL Postgresql 설치 및 시작 // 설치, 홈브류가 업데이트된 상태여야 한다. (brew update) brew install postgresql // 시작 brew services start postgresql // 중지 brew services stop postgresql db 설치 createdb 'test' psql 'test' // psequal 테이블 생성 /* 테이블 생성 */ CREATE TABLE table_name (column_1 datatype, column_2 datatype); /* 예시 */ CREATE TABLE users (name text, age smallint, birthday date); /* 확인 */ test=# \d /* exit */ t..
스킬트리 문제 출처 - 프로그래머스 내가 푼 답 function solution(skill, skill_trees) { let arr = skill.split(''); let str, count = 0; for(let i = 0; i arr.includes(i)).join(''); if(str === skill.substring(0,str.length)) { count++; } } return count; } 처음에는 new RegExp를 쓰려고 용을 썼는데, 구현을 못해서 결국 그냥 filter로 했다. 다른 분들의 풀이를 보니 정..
쇠막대기 문제(스택) 문제 출처 - 프로그래머스 내가 푼 답 function solution(arrangement) { let count = []; let result = 0; for(let i = 0 ; i 0) { count = count.map(e => e + 1); } else if(arrangement[i+1] !== ')') { count.push(0); } } if(arrangement[i+1] === ')' && arrangement[i] !== &..
Today I Learned JAVA 자바의 컨스트럭터 문법과 특징 getter and setter 알고리즘 레벨 1을 풀다가 너무 쉬운 것 같아서 레벨 2로 갔더니 갑자기 엄청 어려워졌다. Today was 이사까지 겹쳐서 너무 힘들었다. 수업도 일찍 나가야되는데 이사하랴 청소하랴 잠도 너무 부족하고 피곤했다. 내일부터는 공휴일이 겹치고 이틀 휴가를 냈으니 집에 있을 동안 프로젝트 진짜 빨리 해치우고 싶다. 이걸 빨리 끝내야 다른 프로젝트도 할텐데 자바 교육을 병행하니까 쉽지 않다. 모처럼 집에 있으니 노력해서 최대한 해봐야지. (그렇지만 자바도 공부해야 수업을 따라갈 수 있으니...)
this() 다른 생성자를 통해 생성자를 호출하는 경우 package day6; class Book { String title; String author; int price; // constructor Book() { this("자바의 정석", "남궁성", 30000); // 다른 생성자를 통해 생성자를 호출하는 경우 this()문이 맨 첫줄이어야만 한다. System.out.println("자바의 정석 객체 생성"); } Book(String title, String author, int price) { this.title = title; this.author = author; this.price = price; } // print method void getBookInfo() { System.out...
Getter and Setter 예시 1 class Member4 { int i; String name; String account; String passwd; private int birthyear; void setBirthyear(int birthyear) { if(birthyear < 0) { return; } this.birthyear = birthyear; } int getBirthyear() { return birthyear; } } 예시 2 public class Time { private int hour; private int minute; private float second; // Getter public int getHour() { return hour; } public int get..
Continue continue문은 반복문 내에서 사용될 수 있다. break는 그 조건에 충족하면 loop를 탈출하라는 의미이지만, continue는 반대로 조건에 충족하면 다시 loop를 돌라는 의미이다. 이미 반복문을 쓴 상황에서는 loop가 되는데 왜 다시 loop를 돌게 하는 continue 구문이 필요한지 의문스러울 수 있지만, continue는 조건을 충족하면 그 밑의 코드는 수행하지 않고 다시 loop를 돈다. Scanner sc = new Scanner(System.in); int i; while(true) { i = sc.nextInt(); if(i > 0) { System.out.println("Loop!"); continue; // 만약 입력된 값이 양수일 경우 "Loop 종료"를 ..
Today I Learned JAVA 객체지향언어 특징 메서드 알고리즘 13문제(프로그래머스 js level1)
객체지향언어 객체지향언어의 특징 코드의 재사용성이 높다.(기존의 코드를 이용하여 새로운 코드를 작성) 코드의 관리가 용이하다. (코드의 관계를 이용하여 쉽게 코드를 변경) 신뢰성이 높은 프로그래밍이 가능하다.(제어자와 메서드를 사용해 데이터를 보호, 코드의 중복을 제거) 클래스와 객체 클래스: 객체를 정의해 놓은 것. 객체를 만들기 위한 설계도 같은 것. JDK(Java Development Kit)는 유용한 클래스(JAVA API)를 기본적으로 제공한다. 인스턴스: 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 하며 클래스로부터 만들어진 객체를 클래스의 인스턴스(instance)라고 한다. 인스턴스의 생성 Tv t; // 클래스명 변수명; t = new Tv(); //..
Node File System Module readFile, readFileSync const fs = require('fs'); // file system fs.readFile('./hello.txt', (err, data) => { if(err) { console.log('errrrrrorr'); } console.log('1', data.toString('utf8')); // print second }) const file = fs.readFileSync('./hello.txt'); console.log('2', file.toString()); // print first readFile이 더 윗줄에 있지만 readFileSync보다 늦게 로그된다. 왜냐하면 readFile은 asyncronous이고..
- Total
- Today
- Yesterday
- useEffect
- Redux
- Conflict
- rxjs
- 알고리즘
- this
- 개발 공부
- 인스턴스
- til
- CSS
- 깃
- react
- getter
- linkedlist
- GIT
- c언어
- youtube data api
- Prefix Sums
- SQL
- 제네릭스
- oracle
- package.json
- Session
- Data Structure
- JavaScript
- 자바
- Java
- 리덕스
- 포인터 변수
- jQuery
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |