목록전체 글 (85)
잘 정리해보자
IoC (Inversion of Control - 제어의 역전) : 스프링에서는 프로그램의 흐름을 프레임워크가 주도하게 됨으로 제어의 역전이라고 한다. 제어권이 컨테이너가 관리하면서 객체의 생성 및 생명주기 관리를 한다. 이러한 제어로 의존성 주입(DI), 관점지향 프로그래밍(AOP) 등이 가능하게 된다. DI (Dependency Injection - 의존성 주입) : 의존성이란, 어떠한 작업1을 변경 하기 위해 다른 작업2 까지 변경해야 하는 경우 작업1이 작업2에 대해 의존성을 가지고 있다고 한다. 그리고 의존성 해결을 위해 객체의 인스턴스를 외부에서 받을 필요가 있다. (스프링은 setter메소드를 이용한 의존성 주입이다.) 의존성으로 인해 java코드를 직접적으로 변경해서 작업을 수행해야 하는 ..
*파라미터명 : *가 붙은 파라미터는 파라미터값을 여러개 받을 수 있으며, list 처럼 사용할 수 있다. (형식은 tuple) **파라미터명 : **가 붙은 파라미터는 파라미터값을 딕셔너리 형태로 여러개 받을 수 있다. ex) def vartest1(*values) : print(values) def vartest2(**values) : print(values) vartest1(1,2) vartest2(x=1,y=2) 실행결과 : (1, 2) -> * 붙은값 {'x': 1, 'y': 2} -> ** 붙은값
2018.06 작성 아이폰 라이브러리 빌드시 에러 에러 : arc forbids explicit message send of retain, 원인 : arc는 Automatic Reference Counting 의 약자로 retain, release 등 레퍼런스 카운팅 관련 함수와 관련된다. 라이브러리가 왜 ARC 컴파일이 안되게 되었는지는 아직 이해가 가지 않지만.ㅠ 앱만되는걸까...? 해결 : 1. Edit->Refactor->Converto to Objective-C ARC... 를 이용하여 리팩토링이 가능 2. 빌드 타겟의 Build Phases 에서 에러발생 파일에 -fno-objc-arc 옵션을 추가 or Build Settings -> objectiv-C Automatic Reference C..
2018.06 작성 Error message : Cannot synthesize weak property in file using manual reference counting Week 부분을 NO -> YES로 변경
javascript에서 변수 선언 시, var / let / const 방식이 있다. 1. var : 변수 선언 후 같은 변수를 여러번 선언해서 값을 변경할 수 있다. 2. let: 선언 한 경우 선언한 변수 명을 여러번 선언할 수 없으며 값을 변경 할 수 있다. ex ) let v = “test”; > 실행결과 : “test” let v = “abc”; > 실행결과 : Uncaught SyntaxError: Identifier 'a' has already been declared v = “test123”; v = “test123”; > 실행결과 : “test123" let은 재선언은 안되지만, 선언 후 값은 변경 할 수 있다. 3. const : 선언한 변수명을 재선언 할 수 없으며 값을 변경 할 수 ..
‘use strict’ : 선언 한 경우 엄격한 스크립트가 적용되며, 실수 코딩들을 에러로 반환한다. 'use strict'를 선언하지 않고 진행한 실수코딩들은 에러로 인식되지 않으며 결과값은 undefined이나 문제없이 진행이 된다. (함수 안에서 사용하거나 스크립트 전체에서 사용 할 수 있음.) 1. 함수 안에서 선언한 경우 - 함수 안에서 전역 변수 선언 시 에러로 처리 된다. ex ) function test(){ ‘use strict’; str = “wow”; console.log(str); } test(); > 실행결과 : Uncaught ReferenceError: str is not defined (에러로 처리됨) - 함수의 파라미터 값이 중복일 경우 에러로 반환 ex ) function..
오라클에서 Explain을 통해 실행계획을 보는 방법 ----------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 18 | 221 | 9 (34)| 00:00:01 | | 1 | SORT UNIQUE | | 18 | 221 | 9 (34)| 00:00:01 | | 2 | UNION-ALL | | | | | | | 3 | HASH GRO..
Lint (린트) : 코드의 오류나 버그, 스타일 등을 점검하는 것. ESLint 포맷팅 코드 품질 (코드 에러를 체크) 설치 npm install eslint app.js console.log() (function(){ })() .eslintrc.js (eslint 설정파일) : eslint 설정파일 읽은 후 lint 실행 module.exports = {} 실행 npx eslint app.js > 실행결과 : 빈값 (lint에서 실행된게 없음. -> 설정파일에서 아무것도 선언된게 없어서, 검사할 부분이 없음.) .eslintrc.js module.exports = { rules : { "no-unexpected-multiline" : "error" } } > eslint 실행 시, rules 의 규칙..