본문 바로가기

분류 전체보기

(76)
[클론코딩 요약/노마드코더] 바닐라 JS로 크롬 앱 만들기 - #2 PRACTICE #2.0 Your first JS Function console.log incoInfo.favFood 비슷하다. console 은 Object 이다. console이라는 Object 와 log 라는 function(key) 가 있는것 function(argument) function sayHello (name) { console.log('Hello ' + name); } sayHello("sejin"); #2.1 More Function Fun sexy string~ '', "" , `` 자바 스크립트에서는 "(따옴포)" 도 스트링이고 '(싱글 따옴표)' 도 스트링이다. 기존 스트링 방식 에서는 ex ) "Hello " + name + "you are " + age + ... 불편하다. 대신 백틱(`)을..
[클론코딩 요약/노마드코더] 바닐라 JS로 크롬 앱 만들기 - #1 THEORY # 자잘한 강의 내용 기록 #1.1 Super Powers of JS JavaScript 는 브라우저에서 대체 불가능한 언어이다. 단순히 홈페이지를 구현하는것이 아닌 많은 인테렉티브 디자인 또한 구현 가능하다. #1.2 ES5, ES6 ES..WTF? JavaScript는 언어, ECMAScript 는 Specification 이다. ES5 = ECMAScript5 ES6 = ECMAScript6 : 버전이랑 어떤걸 배워야 할지 걱정하지 않아도 된다. 그냥 강의의 자바 스크립트를 배워랏 자바스크립트는 매우 기능 집중화 되어있어 누군가 업데이트를 하면 모든 브라우저에서 작동을 하게 된다. JS 는 Specification 인데 체계 메뉴얼과 같다. (ex :메뉴얼 이렇게 하면 이렇게 해야합니다~, 오류 나..
[Effective java] Item 7 - 종료자(finalize) 사용을 피하라 * finalize 는 어떤 클래스든 오버라이드 하여 사용 가능한 기능이다. public class FiinalIzerExample { @Override protected void finalize() throws Throwable { super.finalize(); } } 왜 문제가 생기는지? 하지만 종료자(finalizer)는 예측 불가능 하며, 대체로 위험하고, 일반적으로 불필요하다. 종료자는 GC 에 의해 실행되는데 GC에서 종료자 스레드가 종료 우선순위가 높지 않다면 혹은 다른 이유로 즉시 실행 되리라는 보장이 전혀 없기 때문이다. 또한 종료자를 사용하면 프로그램 성능이 심각하게 떨어진다. * 현재 자바9 에서는 finalizer 가 deprecated가 되었다고 한다. 'Cleaner' 라는게 ..
[Effective Java] Item 6 - 유효기간이 지난 객체 참조는 폐기하라. C 나 C++ 처럼 손수 메모리 관리를 해야하는 언어와 달리 Java에서는 JVM 에서 GC(Garbage collertion : 쓰레기 수집가) 를 이용하여 안쓰는 객체를 지우는 기능(쓰레기 수집) 이 가능하지만 메모리 관리를 하지 않으면 '메모리 누수' 의 문제가 생긴다. 그 결과로 GC 가 할일이 많아져 성능이 저하되거나 메모리 요구량이 증가한다. 극단적으로는 디스크 페이징 (Disk paging), OutOfMemortError 가 던져지면서 프로그램이 중단될 것이다. 1. 메모리 누수는 어디서? 스택이 커졌다가 줄어들면서 제거한 객체들을 쓰레기 수집기가 처리하지 못할때, 가용범위를 벗어난 만기 참조(obsolete refrence) 를 그대로 가지고 있을때 * 만기 참조 : 다시 이용되지 않을 ..
[디자인패턴] 빌더(Builder) - 개념 정리,예제 1. 정의 상위클래스에서 인터페이스를 받아 구현한 하위 클래스가 부분 객체를 생성하고, 디렉터 클래스가 조립 절차에 따라 객체를 조립하여 복합객체를 생성한다. 대충 이런 느낌 아닐까? (생각중.. ) 2. 구성 요소 구성요소는 3개가 필요하다 - 상위 클래스, 하위 클래스, 디렉터 클래스 1. 상위클래스에서는 공통으로 사용할 객체와 인터페이스를 정의하고 하위클래스에서 사용할 추상(Abstract) 메서드를 선언한다. 2. 하위클래스에서는 상위클래스를 상속 받고 추상메서드를 오버라이드 하여 구현한다. 3. 디렉터 클래스에서는 인터페이스를 사용해서 상위클래스에 대한 의존성을 주입하고 하위 클래스들에 대한 객체를 받아 각 부분을 조립하는 메서드를 제공한다. 3. 장점 - 여러 단계와 다양한 절차를 통해서 객체..
[REACT] Dotenv module - .env 파일로 환경변수 생성 1. what is Dotenv? .env 파일에서 process.env(파일명)으로 환경 변수를 로드하는 zero dependency environment variables 모듈이다. + zero dependency : 모듈이 작동하기 위해 다른 패키지에 의존하지 않음을 의미 2. 사용방법 1) 아래에서 확인 가능하다. www.npmjs.com/package/dotenv dotenv Loads environment variables from .env file www.npmjs.com 2) 리액트에서는 최상의 루트에 .env(txt) 파일을 만들어야한다. 3) 환경변수 이름은 자유롭게 작성하되 REACT_APP_ 은 필수로 포함시켜야 한다. 2. 장점 1) 각종 API 나 IP, 중요한 계정 정보등 전역..
[Python] 최대공약수, 최소 공배수 구하기(math, 유클리드 호제법) 파이썬 math 모듈을 사용하여 간단하게 구할수 있다 - def min(n,m) : 최소 공배수 - def max(n,m) : 최대 공약수 from math import gcd; def min(n,m) : return n*m // gcd(n,m) def max(n,m) : return gcd(n,m) 혹은, 유클리드 호제법을 이용하여 구할 수 있다. def max(n,m): if m>n : m,n = n,m while m != 0 : n = n%m n,m = m,n return n def min(n,m): return n*m // max(n,m)