일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 테이블
- 코딩
- 제네릭 함수
- 친구함수
- 자바스크립트라이브러리
- react
- C언어
- 웹개발
- 랜덤출력
- 함수표현식
- freiend클래스
- new연산자
- 생성자호출
- 함수중복
- friend함수
- 객체지향프로그래밍
- HTML
- time()
- 연산자재정의
- this객체
- 프로그래밍
- 멤버접근허용
- C++
- SQL
- 데이터베이스
- call by referance
- 자바스크립트
- jQuery
- freiend선언
- JS
- Today
- Total
목록분류 전체보기 (36)
Programming Storytelling
복사에는 얕은 복사와 깊은 복사가 있는데 그 두가지의 특징에 대해 살펴보도록 하겠다. 얕은복사 값만 복사하는 복사 형태 포인터 등을 복사 시 같은 주소를 참조하기 때문에, 값 변경, 동적 해제 등에서 문제가 발생한다. 깊은 복사 주소가 가리키는 값, 즉, 그 메모리의 값을 복사하는 복사 형태. 포인터 등을 복사 시 한 주소를 참조하지 않고, 새로 주소를 할당받은 후 참조하기 때문에, 문제가 발생하지 않는다. 복사 생성자란? 기본 복사 생성자 1.기본적으로 제공되는 생성자 중 하나 2.객체간의 변수의 값을 복사 해 준다. 3.호출시키는 객체의 선언과 동시에 초기화 할 때 발생한다. 복사 생성자의 호출 시점 1.객체의 선언과 동시에 초기화 될 때 2.함수에 매개변수로 객체를 전달할 때(call by valu..

rand(),srand() 함수는 cstdlib 헤더파일에 존재한다. 하지만 iostream헤더파일을 사용해도 된다. 먼저 rand()는 난수를 발생시키는 함수이다. 하지만 rand()는 정확히 말해서 난수를 발생시키는 것이 아니라 내부에 저장된 난수표에서 seed값에 따라 난수를 뽑아 오는 것 뿐이다. 그래서 이 seed값을 의도적으로 변경하지 않는 이상 항상 똑같은 난수를 뽑아내는 결과를 초래할 것이다. 따라서 진정한 의미의 난수를 발생시키기 위해서는 프로그램을 실행할 때마다 새로운 seed값을 설정해서 전혀 새로운 난수를 뽑아내도록 해야한다, 그 seed값을 설정하는 함수가 srand()이며 srand()는 time()로 현재의 시간(초)를 대입 해 주는 것이다. 이로서 프로그램 실행시마다 전혀 새..

C언어를 기반으로 구성된 C++은 어떤 기능이 추가되었을까? 이번 포스팅에서는 C언어에서 추가된 C++만의 새로운 기능을 대표적으로 살펴보겠다. 대표적인 추가기능으로는 크게 8개가 있는데 그 구성은 다음과 같다. 1.인라인 함수(inline function) 함수 호출 대신 함수 코드의 확장 삽입 2.함수 중복(function overloading) 매개변수에 디폴트 값이 전달되도록 함수 선언 3.참조와 참조 변수(reference) 하나의 변수에 별명을 사용하는 참조 변수 도입 4.참조에 의한 호출(call-by-reference) 함수 호출 시 참조 전달 5.new/delete 연산자 동적 메모리 할당/해제를 위해 new와 delete 연산자 도입 6.연산자 재정의 기존 c++연산자에 새로운 연산 정..
this는 함수 내에서 함수 호출 맥락을 의미한다.즉.함수를 어떻게 사용하느냐에 따라서 달라진다는 의미인데 함수와 객체의 관계가 느슨한 자바스크립트에서는 this가 이 둘을 연결 시켜주는 실질적인 역할을 한다. 함수에서의 this는 전역객체와 같은데 이를 설명하는 대표적인 예시코드를 살펴보도록 하자. function func(){ if(window === this) { document.write("window === this"); } } func(); this의 값은 전역객체인 window와 같다. 그럼이제 this의 메소드호출에 대해서 살펴보자. var b = { func : function() { if( b === this) { document.write("b === this"); } } } b.fu..

먼저 INSERT 는 테이블에 정보를 삽입하는데 쓰인다. 위 사진과 같은 명령을 내리면 테이블에 데이터가 삽입 된다. 삽입 된 정보가 무엇인지 확인하고 싶다면 $SELECT *FROM (테이블명) 라고 명령 프롬프트 창에 치면 된다. 해당 컬럼의 데이터 유형이 CHAR 이거나 VARCHAR2 등 문자 유형일 경우 ' ' 로 입력할 값을 입력한다. 숫자일 경우 숫자만 입력한다. 방식은 입력할 데이터의 컬럼명과 입력되어야 하는 값을 1:1로 매핑하여 입력하면 된다. 테이블 명 뒤에 () 안에 입력할 테이블의 컬럼을 정의하며, 컬럼의 순서는 테이블의 실제 컬럼 순서와 매치할 필요는 없다. 여기에 정의하지 않은 컬럼은 데이터 INSERT 시에 Default로 NULL이 입력된다. 단, Primary Key 나 ..

SQL은 Structured Query Language 의 약자로 관계형 데이터베이스 관리 시스템이다. SQL 서버에 접속 하기 위해서는 SQL이 설치된 파일 안으로 들어가야 하는데 SQL을 설치할때 표시되어있던 경로를 명령프롬프트창에 입력해서 들어가면 된다. 접속을 완료하고 명령프롬프트창에 이와 같은 명령을 내리게 되면 비밀번호를 입력 하라고 뜨면서 SQL서버에 접속 될 것이다. 사진에 보이는 "mysql>"가 SQL서버에 접속 했다는 증거이다. 이제 database 를 생성 후 해당 데이터베이스를 사용하겠다고 컴퓨터에 명령을 내리면 되는데 Query OK ...라고 뜨면 데이터베이스 생성에 성공한것이다. 위 사진은 사용자인 내가 특정 데이터베이스를 사용하갰다고 컴퓨터에 명령을 내리는 것이다. 이제 데..
React 구성요소에는 클래스 구성 요소 만들기,함수 구성 요소 만들기가 있는데 먼저 클래스 구성요소를 만들기 위해서는 구성요소의 이름을 대문자로 시작하고 구성요소에 extend React.Component 문을 포함하여 React.Component에 대한 상속을 만든다. 이 과정은 React.Component 함수에 대한 엑세스 권한을 부여 하는 것이다. render()메서드의 사용도 잊지 말도록 하자. render()메서드를 사용함으로 메서드는 HTML을 반환한다. 아래의 코드는 React에서 클래스 구성요소를 만드는 예제이다. class Apple extends React.Component { render() { return hello,apple!!; } } React에서는 apple구성요소가 있는..

React를 시작하기 위해선 npm 과 node.js가 설치되어 있어야 한다. npm과 node.js가 정상적으로 pc에 다운로드 되어있다면 이런 결과가 나타날 것이다. node.js와 npm의 다운이 끝났다면 먼저 create-react-app을 설치하여 React애플리케이션을 생성한다. 먼저 터미널에서 아래와 같은 명령을 내리면 create-react-app이 설치가 된다. 이젠 첫 번째 react 애플리케이션을 만들 준비가 다 된것이다. 이제는 반작용 응용 프로그램을 실행하는 데 필요한 모든 기능을 설정 해야하는데 아래와 같은 명령을 os에 내려보도록 하자. 이제 해당 디렉토리로 이동한후 npm start 명령을 내리고 새 브라우저에 호스트 주소를 부여하면 위와 같은창이 뜰것이다.이제 React를 ..