본문 바로가기

각종 언어 기본 문법31

Cpp 기초 : 자료형 - 숫자형 (3) 실수 Floating Point Number 참고: https://codetorial.net/articles/floating_point.html 숫자를 부동소수점 방식으로 표현하기 - Codetorial 부호, 지수, 가수 IEEE 754 부동소수점 표현에서 숫자는 아래와 같이 부호부, 지수부, 가수부의 세 부분으로 구성됩니다. 각 부분의 역할과 사용하는 비트 수는 아래와 같습니다. 부호부 (Sign) : 1비 codetorial.net 부동소숫점이란 소숫점이 움직인다는 뜻이다. 부동소수점에서 부동은 움직이지 않는다는 뜻의 不動이 아니라, 오히려 그 반대의 의미로 소수점이 떠다니며 움직인다는 의미의 부동 (浮動)이다. 대부분의 프로그래밍 언어가 그렇듯, 부동소수점 표현법은 IEEE 754 표준을 따른다. Si.. 2023. 12. 25.
Cpp 기초 : 자료형 - 숫자형 (2) 정수 (2/2) 이 글에선 저번 글에 이어서, 형식 지정자에 따라 (signed int, unsigned int) 정수가 어떻게 달라지는 지 좀 더 자세히 기술에 보겠다. Number System. 먼저 심화 정수 내용을 알려면, 진법에 대해 살짝이라도 감이 있어야 한다. 우리는 일상생활에서 10진법을 쓰지만, (숫자 총 0~9, 10개 사용) 컴퓨터는 0과 1로만 이루어진 2진법을 쓴다. 우리가 2라고 썻지만, 컴퓨터는 10으로 알아듣는 것을 염두해두자. 실제로 6+7의 경우 컴퓨터는 각 숫자를 이진법으로 전환하여 계산한다. 정수를 리터럴로 써줄 때, 십진법이 아닌, 2진법/8진법/16진법으로 표기할 수도 있다. 앞에 0이 달리면 8진수 / octa 앞에 0b가 달리면 2진수 / binary 앞에 0x가 달리면 16진.. 2023. 12. 25.
Cpp 기초 : 자료형 - 숫자형 - 정수 (1) Integer Type / 정수형 프로그래밍에서 정수(integer)는 소수점이 없는 숫자를 의미한다. 정수는 양수, 음수 또는 0일 수 있다. 3.0은 실수이지 정수가 아니다. 정수는 3으로 깔끔하게 표현되어야 하기 때문이다. C/C++에서 정수는 short/int/long 등으로 세분화 할 수 있는데, 각 종류마다 표현 가능한 숫자의 범위나 잡아먹는 데이터 용량이 다르다. 여기서 말하는 short/int/long 등은 type specifier, 우리말로 형식 지정자라고 부른다. 정수 안에서도 어떻게 세분화 되고 뭐가 다른지는 차근 차근 더 자세히 설명하겠지만. 간단히 예만 들어보겠다. 예를 들어 정수형은 int가 디폴트인데. int는 32 비트 (= 4바이트) 이다. int a = 3; 이라고 선언.. 2023. 12. 8.
JavaFX - 개요 및 라이프사이클 JavaFX란? 크로스 플랫폼에서 실행하는 Rich Client Application을 개발하기 위한 그래픽과 미디어 패키지다. 자바7부터 JDK에 포함되어 있음. 자바7 이후 버전을 사용한다면 (대부분 그렇겠지만) 별도 SDK 설치 없이 바로 사용 가능하다. JavaFX 어플리케이션에서 UI 생성, 이벤트 처리, 멀티미디어 재생, 웹 뷰 등과 같은 기능은 JavaFX API로 개발하고, 그 이외 기능은 자바 표준 API를 활용해서 개발한다. JavaFX는 화면 레이아웃 스타일과 어플리케이션 로직을 분리할 수 있다. 디자이너와 개발자들이 분업/협업할 수 있다는 것은 정말 큰 장점이다. 그래프 디자이너가 CSS로 작업할 동안 개발자들은 로직에 좀 더 집중할 수 있으니까. (심지어 내 회사에서는 CSS파일을.. 2022. 10. 20.
메이븐으로 자바 프로젝트 생성하기 (실습 - 2) 메이븐 관련 세 번째 글이다. 첫 번째 글은 메이븐이 무엇인지에 대해 설명하였다. 앤트 빌드가 아닌 메이븐 빌드에 가진 장점과 특징에 대해 설명했다. 두 번째 글은 직접 IDE를 사용하여 메이븐으로 조그만 프로젝트를 만들어 보았다. 새 메소드 (mockito)를 사용하기 위하여, 기존 junit 외에 새 라이브러리를 다운받는 과정이 나와있다. 세 번째 글 역시 실습이다. 이번에는 서브 모듈 프로젝트를 생성하여, 프로젝트 프로젝트 간 의존성이 있을 때, 어떻게 pom.xml이 기록되고 라이브러리가 다운받아지는지 작성하고자 한다. 메이븐이란? (JAVA Maven the build tool) 회사에서 일을 하면서 내가 정말 해멨던 메이븐에 대해서 정리해보고자 한다. 나는 회사에서 메이븐 때문에 고생을 많이 .. 2022. 10. 3.
메이븐으로 자바 프로젝트 생성하기 (실습 - 1) 지난 번 글에선 메이븐이 무엇인지 설명했었다. 이미 만들어져있는 프로젝트나 폼파일을 가지고 설명했었다. 메이븐이란? (JAVA Maven the build tool) 회사에서 일을 하면서 내가 정말 해멨던 메이븐에 대해서 정리해보고자 한다. 나는 회사에서 메이븐 때문에 고생을 많이 했다. 정말정말정말정말!!!! 코드가 아무리 맞게 짜여져 있어도 메이븐 mylittlenotepad.tistory.com 이번 글에선 실습이다. 직접 텅빈 폴더에서, 폼파일도 작성하고 라이브러리도 다운받으며 메이븐 프로젝트의 생성 과정을 지켜보자. 학습/실습 목표 IDE(예: 인텔리제이)를 활용하여 메이븐 프로젝트를 생성할 수 있다. pom.xml에 적힌 태그들을 이해할 수 있다. plugin, dependency, versi.. 2022. 9. 24.
메이븐이란? (JAVA Maven the build tool) 회사에서 일을 하면서 내가 정말 해멨던 메이븐에 대해서 정리해보고자 한다. 나는 회사에서 메이븐 때문에 고생을 많이 했다. 정말정말정말정말!!!! 코드가 아무리 맞게 짜여져 있어도 메이븐이 꼬여 있으면 ㅠㅠ 프로그램이 작동하지 않는다..... (아무리 apple.java, banana.java, kiwi.java가 알맞게 짜여있어도) 처음에는 이것이 도무지 이해가 가지 않았었다. 아니 난 옆자리 분과 토씨하나 틀리지 않고 똑같은 코드를 가지고 있는데, 내 컴퓨터에선 작동 자체가 되지 않는 것인가? 처음엔 이 순간만 모면하면 되겠지, 어떻게든 run만 되면 되겠지 란 마음으로 대충 환경을 설정하고 새로고침하고 생활하다가... 왜 이게 작동되는지 모르고, 왜 이게 안되는지 모르니깐 버리는 시간이 많더라. 그.. 2022. 9. 18.
자바스크립트 기초강의 - 4 호이스팅 ■ 호이스팅 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것처럼 하는 것을 호이스팅이라고 부른다. 그렇기 때문에 var name만 선언된 이후 값이 따로 할당되지 않았음에도 불구하고, console.log(name); 에서는 undefined만 뜰 뿐 에러가 발생하지 않는다. undefined가 뜨는 이유는 세번째 줄의 할당값은 아직 두번째줄 console.log(name)에 가지 않았기 때문이다. 호이스팅은 let이나 const에서도 되지만 TDD라는 것 때문에 아래 예제의 let은 레퍼런스 에러를 가지게 되었다. 2022. 3. 20.
자바스크립트 기초 강의 - 3 함수와 객체 유투브 코딩앙마 100분 강의를 참고 하여 쓴 요약 노트입니다. 이미 Python 및 Java, C 지식을 아는 상태에서 강의를 들었으며, 프로그래밍적인 측면에서 너무 쉽거나 당연한 부분은 아주 간단히 넘어가거나 적지 않았음. ■ 함수 중복되는 코드는 함수를 쓰는 것이 좋다. ▼ 함수포맷: function 함수명(){ // 어쩌고저쩌고 return 1234; } console.log(), alert(), confirm() 같은 것도 다 함수다. 함수 안에 넘어가는 것은 참조변수가 아닌 매개변수다. (copied value가 들어감) 만약 매개변수가 없다면 function 함수명() ← 이렇게 공란으로 둔다. function sayname(name = "Jane Doe") { ... } ← 이렇게 매개변수.. 2022. 3. 20.
자바스크립트 기초 강의 - 2 변수연산 변수타입 반복문 조건문 ■ 변수 연산 및 타입 typeof 라고 하면 타입이 뜸. 예: console.log(typeof 3); console.log(typeof "xxx"); 개인 코딩에서는 굳이 typeof를 사용할 일이 없을 테지만, 단체프로젝트나 api통신등에 따라 받아온 변수를 타입에 따라 알맞게 처리해야할 때 사용된다. boolean은 true, false라고 기입 (자바처럼, 전체 소문자) 숫자를 0으로 나누면 ZeroDivisionError가 아니라 Inf 반환 문자열/3 등의 잘못된 연산을 하면 에러가 뜨는 것이 아니라 NaN이 반환 null은 존재하지 않은 값, undefined는 값이 미할당일 때 뜸. let x; console.log(x); 라고 하였을 때 undefined가 뜸 let x = null; .. 2022. 3. 20.
자바 스크립트 기초 강의 - 1 변수 출력 선언 이미 Python 및 Java, C 지식을 아는 상태에서 강의를 들었으며, 프로그래밍적인 측면에서 너무 쉽거나 당연한 부분은 아주 간단히 넘어가거나 적지 않았음. ■ 코맨드 선언 세미콜론 : 파이썬처럼 굳이 문장에 끝에 ;을 붙일 필요는 없지만, coding convetion상 붙이는게 권고. //두개를 붙이면 주석 처리 ■ 출력 (ALERT, CONSOLE.LOG) 파이썬의 print. Java의 System.out.println. C의 printf와 같은 것. 크게 2가지로 볼 수 있음. 콘솔로 보여주느냐 아님 팝업으로 띄우느냐. alert() 팝업으로 뜸. (확인을 눌러야 종료) console.log() 코멘드창에 뜸. ■ 대화상자 (ALERT, PROMPT, CONFIRM) 아래 3가지는 팝업창이.. 2022. 3. 19.
테이블 생성하기 테이블 작성 : CREATE 테이블은 Create Table 문으로 작성한다. 테이블이나 콜롬이름으로 사용할 수 있는 문자는 정해져있다. (예를 들어 코딩 변수명 규제 처럼, 숫자로 시작 불가) 콜롬에는 데이터형(形, 숫자, 문자열, 날짜 등)을 지정한다.. 테이블에는 제약 (Primary Key, Not Null 등)을 설정할 수 있다. 테이블 작성 규칙 ■ 명명 규칙 데이터베이스나, 테이블, 콜롬 등의 이름에 사용할 문자는 영문자, 숫자, 언더바(_)만 가능하다. 예: Customer_ID라고 써야지 Customer-ID 안된다. #,!,* 같은 기호도 불가능. 한글도 불가능. 이름의 첫글자는 반드시 영문자여야 한다. 숫자나 언더바가 먼저 올 수 없다. 같은 데이터베이스 안에 같은 이름의 테이블을 2.. 2021. 11. 15.
SQL 구조화 질의 언어 개요 SQL - 구조화 질의 언어 SQL은 Structured Query Language의 줄임말이다. 직역하면 구조화 질의 언어인데, 과연 슨 언어일까? SQL은 DB를 제어하기 위해 개발된 언어다. 데이터 검색, 등록, 삭제등의 작업은 모두 SQL로 가능하다. 표준 규격(ISO 국제 표준화기구 또는 ANSI 협회에서 지정) 있지만, DBMS별로 차이가 있을 수 있다 모든 RDBMS가 표준 규격을 다라야 한다는 강제성은 없다. 다시 말해, RDBMS가 요구하는 독자적인 문법이 있을 수 있다. 참고로, 에스큐엘, 또는 시퀄 이렇게 발음된다. 한국인은 대부분 에스큐엘이라고 부르는데, 영미권 사람들 중에는 시퀄이라고 발음하는 사람을 많이 본다. SQL 문은 RDBMS에 부여한 명령 종류에 따라 다음 세가지로 구분.. 2021. 11. 15.
데이터 베이스 개요 데이터 베이스란 무엇인가. ■ 용어 설명 # 데이터베이스 Database 줄여서 DB 대량의 정보를 컴퓨터가 효율적으로 접근할 수 있도록 가공 및 저장한 것. # Database Management System 줄여서 DBMS DB를 관리하기 위한 시스템으로 다수의 사람이 안전하고 쉽게 다룰 수 있음. 엑셀이나 워드등을 통해서도 데이터를 관리 할 수 있지만, DBMS를 사용해야 여러 사람이 동시에 조회/편집이 가능 수천만건 이상의 대규모 데이터 관리 가능. # Relational Database Management system 줄여서 RDBMS 관계형 데이터베이스로 현재 가장 많이 사용 엑셀시트처럼 행/열로 이루어진 2차원 표 형태로 데이터를 관리하여 이해가 쉬움 SQL(Structured Query L.. 2021. 11. 15.
자바 개념 노트 [6-2] : CLASS : 클래스 만들기, 필드, 생성자, 메소드 ■ 클래스/객체 개념 심화 ▷ 클래스 만드는 과정 1) 소스 파일 생성 : .java 2) 소스 작성: class {...} ← 이 안에 클래스 구성 3가지 요소인, 필드/생성자/메소드등 기술. 3) 컴파일 하면, .class 생성 ▷클래스로 객체 찍어내기 (feat new 연산자) 포맷: = new 예: Waffle w1 = new Waffle(); new는 클래스로부터 객체를 생성하는 연산자다. new 연산자 뒤에는 생성자가 오는데, 생성자는 클래스()형태를 가지고 있다. new 연산자로 생성된 객체는 힙영역에 생성되고, 이 객체는 자신의 주소를 리턴하여 클래스 변수에 저장한다. 여기서는 w1가 클래스변수(객체명)로 스택 영역 위치. w1가 참조하는 Waffle 객체는 힙영역 위치. new 연산자로 .. 2021. 8. 13.
자바 개념 노트 [6-1] : CLASS : 클래스,객체, 필드, 메소드, OOP 기초 😃 기본 개념 및 요약 😃 클래스 = 설계도 = 와플팬 객체 = 인스턴스 = 설계도로찍어낸것 = 와플 필드 = 속성 = 특징 메소드 = 동작 = 함수 프로그래밍책에서 OOP/객체/클래스 설명할 때 지겹도록 지겹도록 지겹도록 사용하는 비유 : 와플과 와플팬 - 클래스 like 와플팬, 객체 like 와플 ■ 클래스, 객체, 필드, 메소드 기본 개념 와플팬으로 애플잼와플, 누텔라와플 등을 여러 가지 와플을 만들 듯. 클래스(설계도) 하나로 여러 객체를 만들 수 있다. 여기서 클래스로 객체를 찍어내는 것을 *인스턴스화* 한다고 한다. 그래서 객체와 인스턴스를 동일 개념으로 봐야한다. ▷객체: 물리적으로 존재하는 것 (자동차, 책, 사람), 추상적인 것(회사, 날짜 등) 중에서 자신의 속성과 동작을 가지는 모든.. 2021. 8. 11.
이것이 자바다 확인 문제 풀이 6장 (13번~20번), 챕터6, Chapter6 ■ 문제13 답: public class Member{ //field String name; String id; String password; int age; } (문제 에서 생성자,메소드 없이 필드만 작성하라고 했고, 실제로 생성자 코드 작성은 필수가 아님) ■ 문제 14 답: (13번 코드에서 생성자 추가하기) public class Member{ //field String name; String id; String password; int age; Member(String name, String id){ this.name = name; this.id = id; } } △this를 쓰면 이렇게 해도 되고. public class Member { String name; String id; String .. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 6장 (1번~12번), 챕터6, Chapter6 ■ 문제1 답: 3번 와플팬 하나로 여러 와플을 찍어낼 수 있다. ■ 문제2 답: 4번 클래스의 구성멤버 3가지는 필드, 생성자, 메소드이다. ■ 문제3 답: 4번 클래스의 구성멤버가 필드, 생성자, 메소드이긴 한데 필수 요소는 아니다. 생성자블록 작성 안해두면 JAVA가 알아서 만들어주고, 메소드가 없어도 괜찮다. ■ 문제4 답: 3번 ① ㅇㅇ. 필드는 메소드에서 바로 가져와서 사용할 수 있다. this 쓰면 된다. ② ㅇㅇ. 인스턴스 필드 값은 그냥 선언만 해놓고, 초기화 값은 생성자에서 선언해도 된다. ③ ㄴㄴ. 순서 상관 없다. 필드가 생성자 블록 후에 선언되어도, 생성자는 알아서 필드값 가져다 쓴다. ④ ㅇㅇ. 필드는 초기값을 주지 않더라도 기본값으로 자동 초기화 된다. ■ 문제5 답: 3번 ①.. 2021. 8. 8.
빈칸 😃 기본 개념 및 요약 😃 클래스 = 설계도 = 와플팬 객체 = 인스턴스 = 설계도로찍어낸것 = 와플 필드 = 속성 = 특징 메소드 = 동작 = 함수 프로그래밍책에서 OOP/객체/클래스 설명할 때 지겹도록 지겹도록 지겹도록 사용하는 비유 : 와플과 와플팬 - 클래스 like 와플팬, 객체 like 와플 ■ 클래스, 객체, 필드, 메소드 기본 개념 와플팬으로 애플잼와플, 누텔라와플 등을 여러 가지 와플을 만들 듯. 클래스(설계도) 하나로 여러 객체를 만들 수 있다. 여기서 클래스로 객체를 찍어내는 것을 *인스턴스화* 한다고 한다. 그래서 객체와 인스턴스를 동일 개념으로 봐야한다. ▷객체: 물리적으로 존재하는 것 (자동차, 책, 사람), 추상적인 것(회사, 날짜 등) 중에서 자신의 속성과 동작을 가지는 모든.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 5장, 챕터5, Chapter5 [신용권의 이것이 자바다 챕터 4 조건문과 반복문 확인 문제 풀이] ■ 문제1 답 : 4번 ① ㅇㅇ. 참조 타입에는 배열, 열거, 클래스, 인터페이스가 있다. ② ㅇㅇ. 참조 타입 변수는 스택에 생성되며, 변수가 참조하는 객체가 힙에 생성된다. ③ ㅇㅇ. 참조 타입에서 비교 연산은 주소값 비교이다. ④ ㄴㄴ. 참조 타입은 null 값으로 초기화 할 수 있다. 아직 참조할 게 없다는 뜻. ■ 문제2 답 : 3번 ① ㅇㅇ. 로컬 변수는 스택에 생성되고 코드 블록이 끝나면 지워진다 ② ㅇㅇ. 메소드 코드, 상수, 열거 상수는 정적 메소드 영역에 생성된다. (변수가 스택, 객체가 힙) ③ ㄴㄴ. JVM이 알아서 가비지 콜랙터로 지워버리니, 개발자가 굳이 코드 짤 수고 불필요 ④ ㅇㅇ. 배열 및 객체는 힙에 생성.. 2021. 8. 8.