전체 글
Dreams without goals are just dreams.
-
1차식과 2차식 이번 시간에는 수학에서 기초가 되는 1차식과 2차식에 대해 알아보는 시간을 가져보자. 그전에 우성 항이라는 개념에 대해 먼저 알아야 하는데, 항이란 숫자나 문자, 또는 그 둘의 곱으로 되는 표현식을 의미한다. 예를 들어, 3이나 a, 3a, -4ab, x/3, a²이 전부 항에 해당한다. 이때, 각각의 항에 변수가 곱해진 횟수를 차수라고 한다. 만약 어떤 항에 변수는 없고 상수만 있다면 그 항의 차수는 0이다. 또한 3이라는 항이 있다면 이 항의 차수는 0이다. 마찬가지로, 어떤 항이 a라면 변수 a에 대한 차수는 1, 어떤 항이 -4ab라면 변수 a와 b에 대한 차수는 2, 그리고 어떤 항이 a²라면 변수 a에 대한 차수는 2가 된다. 그리고 각 항에서 변수에 해당하는 문자를 제외한 부..
[수학] 1차식과 2차식1차식과 2차식 이번 시간에는 수학에서 기초가 되는 1차식과 2차식에 대해 알아보는 시간을 가져보자. 그전에 우성 항이라는 개념에 대해 먼저 알아야 하는데, 항이란 숫자나 문자, 또는 그 둘의 곱으로 되는 표현식을 의미한다. 예를 들어, 3이나 a, 3a, -4ab, x/3, a²이 전부 항에 해당한다. 이때, 각각의 항에 변수가 곱해진 횟수를 차수라고 한다. 만약 어떤 항에 변수는 없고 상수만 있다면 그 항의 차수는 0이다. 또한 3이라는 항이 있다면 이 항의 차수는 0이다. 마찬가지로, 어떤 항이 a라면 변수 a에 대한 차수는 1, 어떤 항이 -4ab라면 변수 a와 b에 대한 차수는 2, 그리고 어떤 항이 a²라면 변수 a에 대한 차수는 2가 된다. 그리고 각 항에서 변수에 해당하는 문자를 제외한 부..
2024.01.01 -
변수와 상수 변수와 상수는 수학뿐만 아니라 프로그래밍에서도 필수적으로 사용하는 개념이다. 먼저 변수는 값이 고정되지 않아 다양한 값이 들어갈 수 있는 반면 상수는 값이 고정되어 한 번 정의되면 변하지 않는다. 변수는 우리가 일상생활에서 비교했을 때 상자에 비유할 수 있다. x라는 상자가 있고 그 상자 안에 3이나 1.5 혹은 -1과 같이 다양한 값들을 넣을 수 있다. 반면에 상수는 값이 변하지 않는데 위의 이미지에서는 10이라는 값과 a라는 값이 각 상자 안에 고정되어 있어 변하지 않는다. 위의 이미지에서 a는 숫자가 아니므로 변수라고 생각할 수 있는 분들도 있을 것이다. 하지만 실제로는 1이나 4와 같은 고정된 수를 가지고 있을 뿐이지, 표현상 a라는 가면을 쓰고 있어서 본모습을 감추고 있는 것이라 생..
[수학] 변수와 상수변수와 상수 변수와 상수는 수학뿐만 아니라 프로그래밍에서도 필수적으로 사용하는 개념이다. 먼저 변수는 값이 고정되지 않아 다양한 값이 들어갈 수 있는 반면 상수는 값이 고정되어 한 번 정의되면 변하지 않는다. 변수는 우리가 일상생활에서 비교했을 때 상자에 비유할 수 있다. x라는 상자가 있고 그 상자 안에 3이나 1.5 혹은 -1과 같이 다양한 값들을 넣을 수 있다. 반면에 상수는 값이 변하지 않는데 위의 이미지에서는 10이라는 값과 a라는 값이 각 상자 안에 고정되어 있어 변하지 않는다. 위의 이미지에서 a는 숫자가 아니므로 변수라고 생각할 수 있는 분들도 있을 것이다. 하지만 실제로는 1이나 4와 같은 고정된 수를 가지고 있을 뿐이지, 표현상 a라는 가면을 쓰고 있어서 본모습을 감추고 있는 것이라 생..
2023.12.27 -
자바 - 인스턴스 멤버와 정적 멤버 우리가 보통 자바의 클래스에 대해 배울 때 클래스는 객체의 설계도라고 배웠다. 그리고 클래스 멤버(필드, 메서드)는 당연히 객체에 포함되어 있어야 한다. 하지만 생각해 보면 같은 클래스로부터 만들어진 객체에도 객체들끼리의 공통 클래스 멤버가 존재할 수 있는데 이 멤버들을 객체를 생성할 때마다 공통 멤버도 같이 생성하는 게 과연 효율적인가에 대해 질문해 볼 수 있다. 예를 들어보자면, 객체마다 필드 값이 달라야 한다면 해당 필드는 객체마다 따로 가지고 있는 게 맞다, 하지만 객체마다 필드의 값이 모두 같아야 한다면? 예를 들어, 원주율 같은 필드가 있다고 했을 때 원주율이 객체마다 다를 필요 없이 모두 같아야 한다. 만약 객체마다 원주율 필드를 따로 가지고 있다면 메모리..
[Java] 자바 - 인스턴스 맴버와 정적 맴버자바 - 인스턴스 멤버와 정적 멤버 우리가 보통 자바의 클래스에 대해 배울 때 클래스는 객체의 설계도라고 배웠다. 그리고 클래스 멤버(필드, 메서드)는 당연히 객체에 포함되어 있어야 한다. 하지만 생각해 보면 같은 클래스로부터 만들어진 객체에도 객체들끼리의 공통 클래스 멤버가 존재할 수 있는데 이 멤버들을 객체를 생성할 때마다 공통 멤버도 같이 생성하는 게 과연 효율적인가에 대해 질문해 볼 수 있다. 예를 들어보자면, 객체마다 필드 값이 달라야 한다면 해당 필드는 객체마다 따로 가지고 있는 게 맞다, 하지만 객체마다 필드의 값이 모두 같아야 한다면? 예를 들어, 원주율 같은 필드가 있다고 했을 때 원주율이 객체마다 다를 필요 없이 모두 같아야 한다. 만약 객체마다 원주율 필드를 따로 가지고 있다면 메모리..
2023.12.26 -
파이썬 데코레이터 파이썬 데코레이터는 함수나 메서드를 장식하거나 수정하는 데 사용되는 강력한 기능이다. 데코레이터는 기존 함수의 동작을 변경하거나 보완하기 위해 함수를 래핑 하고, 또는 새로운 동작을 추가할 수 있다. 이것은 함수형 프로그래밍의 개념 중 하나인 고차 함수(Higher-order functions)를 활용한 것이다. 데코레이터는 일반적으로 함수나 메서드 위에 @decorator 문법을 사용하여 적용된다. 따라서, 데코레이터는 코드 재사용성을 높이고, 가독성을 향상하며, 관심사를 분리하는 데 도움이 된다. 또한, 함수나 메서드를 수정하지 않고도 쉽게 새로운 동작을 추가할 수 있는 장점이 있다. 데코레이터 함수의 기본 사용법 def decorator(func): print('Initiate D..
[Python] 파이썬 데코레이터파이썬 데코레이터 파이썬 데코레이터는 함수나 메서드를 장식하거나 수정하는 데 사용되는 강력한 기능이다. 데코레이터는 기존 함수의 동작을 변경하거나 보완하기 위해 함수를 래핑 하고, 또는 새로운 동작을 추가할 수 있다. 이것은 함수형 프로그래밍의 개념 중 하나인 고차 함수(Higher-order functions)를 활용한 것이다. 데코레이터는 일반적으로 함수나 메서드 위에 @decorator 문법을 사용하여 적용된다. 따라서, 데코레이터는 코드 재사용성을 높이고, 가독성을 향상하며, 관심사를 분리하는 데 도움이 된다. 또한, 함수나 메서드를 수정하지 않고도 쉽게 새로운 동작을 추가할 수 있는 장점이 있다. 데코레이터 함수의 기본 사용법 def decorator(func): print('Initiate D..
2023.12.25 -
파이썬 dir() 함수 dir() 함수는 파이썬 내장 함수 중 하나로, 객체의 속성(메서드, 변수 등) 목록을 반환한다. 이 함수는 어떤 객체에 대해 호출되면 해당 객체의 속성들을 리스트로 반환하며, 인자로 전달하지 않으면 현재 스코프(네임스페이스)의 속성 목록을 반환한다. dir() 함수의 사용 목적 dir() 함수는 주로 아래와 같은 상황에서 사용하니 참고하기 바란다. 객체의 속성 및 메서드 확인 객체가 어떤 속성과 메서드를 가지고 있는지 확인할 때 사용된다. 특히, 외부 라이브러리나 모듈에서 가져온 객체의 구조를 이해하고자 할 때 유용하다. 디버깅 코드 디버깅 시에 객체의 내부를 살펴보는 데 활용될 수 있다. 특정 객체에 어떤 속성이 있는지 확인하고, 그 값을 확인하여 코드의 동작을 이해하는 데 도..
[Python] 파이썬 dir() 함수파이썬 dir() 함수 dir() 함수는 파이썬 내장 함수 중 하나로, 객체의 속성(메서드, 변수 등) 목록을 반환한다. 이 함수는 어떤 객체에 대해 호출되면 해당 객체의 속성들을 리스트로 반환하며, 인자로 전달하지 않으면 현재 스코프(네임스페이스)의 속성 목록을 반환한다. dir() 함수의 사용 목적 dir() 함수는 주로 아래와 같은 상황에서 사용하니 참고하기 바란다. 객체의 속성 및 메서드 확인 객체가 어떤 속성과 메서드를 가지고 있는지 확인할 때 사용된다. 특히, 외부 라이브러리나 모듈에서 가져온 객체의 구조를 이해하고자 할 때 유용하다. 디버깅 코드 디버깅 시에 객체의 내부를 살펴보는 데 활용될 수 있다. 특정 객체에 어떤 속성이 있는지 확인하고, 그 값을 확인하여 코드의 동작을 이해하는 데 도..
2023.12.24 -
자바 - 상속 자바에서 상속은 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 클래스들 간에 코드를 재사용하고 확장하기 위한 메커니즘을 제공한다. 상속은 기존 클래스의 특성과 동작을 그대로 가져와 새로운 클래스를 만들 수 있게 해 준다. 이때, 기존 클래스는 부모 클래스(또는 상위 클래스)라고 하고, 새로운 클래스는 자식 클래스(또는 하위 클래스)라고 한다. 기본개념 핸드폰과 아이폰 클래스의 관계를 봤을 때 아이폰은 상위 개념으로 핸드폰이라고 할 수 있다. 따라서 위의 예시처럼 아이폰 클래스는 핸드폰 클래스를 상속받아 사용할 수 있다. 또한, 그림에는 없지만 핸드폰의 상위 개념으로 "기계"가 될 수 도 있겠다. 이처럼 현실 세계의 모든 객체는 객체와 객체끼리 부모와 자식 관계를 형성한다고 생각하면..
[Java] 자바 - 상속자바 - 상속 자바에서 상속은 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 클래스들 간에 코드를 재사용하고 확장하기 위한 메커니즘을 제공한다. 상속은 기존 클래스의 특성과 동작을 그대로 가져와 새로운 클래스를 만들 수 있게 해 준다. 이때, 기존 클래스는 부모 클래스(또는 상위 클래스)라고 하고, 새로운 클래스는 자식 클래스(또는 하위 클래스)라고 한다. 기본개념 핸드폰과 아이폰 클래스의 관계를 봤을 때 아이폰은 상위 개념으로 핸드폰이라고 할 수 있다. 따라서 위의 예시처럼 아이폰 클래스는 핸드폰 클래스를 상속받아 사용할 수 있다. 또한, 그림에는 없지만 핸드폰의 상위 개념으로 "기계"가 될 수 도 있겠다. 이처럼 현실 세계의 모든 객체는 객체와 객체끼리 부모와 자식 관계를 형성한다고 생각하면..
2023.12.23 -
제이쿼리 기초 오늘은 제이쿼리 기초에 대해 공부한 내용을 포스팅하는 시간을 가져보았다, 해당 게시글을 다 읽은 후엔 제이쿼리란 무엇인가, HTML요소 가져오기, HTML 요소 설정하기에 대해 사용하는 방법을 습득할 것이다. 배운 내용을 정리하는 글이므로 부족한 점이 있다면 피드백은 언제나 환영이다. 그럼 시작해 보자. 제이쿼리란? 제이쿼리(jQuery)는 자바스크립트 라이브러리 중 하나로, HTML 문서를 조작하고 이벤트를 다루는 데 도움을 주는 간편하고 유연한 도구이다. 제이쿼리는 크로스 브라우징을 고려하여 일관된 방식으로 웹 개발을 할 수 있도록 지원하며, 코드를 간결하게 작성할 수 있게 해 준다. 제이쿼리의 주요 기능은 아래와 같다. DOM 조작 - HTML 문서의 요소를 선택하고 조작할 수 있다...
[jQuery] 제이쿼리 기초제이쿼리 기초 오늘은 제이쿼리 기초에 대해 공부한 내용을 포스팅하는 시간을 가져보았다, 해당 게시글을 다 읽은 후엔 제이쿼리란 무엇인가, HTML요소 가져오기, HTML 요소 설정하기에 대해 사용하는 방법을 습득할 것이다. 배운 내용을 정리하는 글이므로 부족한 점이 있다면 피드백은 언제나 환영이다. 그럼 시작해 보자. 제이쿼리란? 제이쿼리(jQuery)는 자바스크립트 라이브러리 중 하나로, HTML 문서를 조작하고 이벤트를 다루는 데 도움을 주는 간편하고 유연한 도구이다. 제이쿼리는 크로스 브라우징을 고려하여 일관된 방식으로 웹 개발을 할 수 있도록 지원하며, 코드를 간결하게 작성할 수 있게 해 준다. 제이쿼리의 주요 기능은 아래와 같다. DOM 조작 - HTML 문서의 요소를 선택하고 조작할 수 있다...
2023.12.22 -
자바 - 클래스 자바(Java)에서 객체(Object)는 클래스(Class)의 인스턴스(Instance)이다. 객체는 데이터와 그 데이터를 처리하는 메서드(Method)의 조합으로 이루어져 있다. 자바는 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 언어로, 객체 지향 프로그래밍은 현실 세계의 개념을 모델링하고 문제를 해결하기 위해 객체를 사용한다. 현실 세계의 개념을 소프트웨어 객체로 추상화하여 설계하는 프로세스를 객체 모델링(Object Modeling)이라고 한다. 이는 객체 지향 프로그래밍의 기반이다. 또한, 객체 모델링은 현실 세계의 복잡한 시스템을 이해하고 문제를 해결하기 위해 객체, 클래스, 그리고 이들 간의 관계를 정의하는 과정을 포함한다. 객체 모델링은..
[Java] 자바 - 클래스자바 - 클래스 자바(Java)에서 객체(Object)는 클래스(Class)의 인스턴스(Instance)이다. 객체는 데이터와 그 데이터를 처리하는 메서드(Method)의 조합으로 이루어져 있다. 자바는 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 언어로, 객체 지향 프로그래밍은 현실 세계의 개념을 모델링하고 문제를 해결하기 위해 객체를 사용한다. 현실 세계의 개념을 소프트웨어 객체로 추상화하여 설계하는 프로세스를 객체 모델링(Object Modeling)이라고 한다. 이는 객체 지향 프로그래밍의 기반이다. 또한, 객체 모델링은 현실 세계의 복잡한 시스템을 이해하고 문제를 해결하기 위해 객체, 클래스, 그리고 이들 간의 관계를 정의하는 과정을 포함한다. 객체 모델링은..
2023.12.21 -
SQL 테이블 JOIN SQL의 join에 대해 배우기 앞서 먼저 join이 무엇인지부터 학습해 보자. join은 두 개 이상의 테이블 간에 데이터를 결합하는 데 사용되는 연산이다. 특히, join을 사용하면 데이터베이스에서 여러 테이블 간에 관련된 정보를 가져와서 하나의 결과 집합으로 만들 수 있다. 또한, join은 특정 조건을 만족하는 두 테이블의 행을 결합하여 결과를 생성한다. join은 여러 종류의 join들이 존재하는데 각 join들에 대해 하나씩 차례대로 살펴보자. implicit(암시적) join implicit join이란 from절에는 table들만 나열하고, where절에 join condition을 명시하는 방식을 말한다. 이 방식 약간 오래된 방법이고 where절에 selectio..
[Database] SQL 테이블 JOINSQL 테이블 JOIN SQL의 join에 대해 배우기 앞서 먼저 join이 무엇인지부터 학습해 보자. join은 두 개 이상의 테이블 간에 데이터를 결합하는 데 사용되는 연산이다. 특히, join을 사용하면 데이터베이스에서 여러 테이블 간에 관련된 정보를 가져와서 하나의 결과 집합으로 만들 수 있다. 또한, join은 특정 조건을 만족하는 두 테이블의 행을 결합하여 결과를 생성한다. join은 여러 종류의 join들이 존재하는데 각 join들에 대해 하나씩 차례대로 살펴보자. implicit(암시적) join implicit join이란 from절에는 table들만 나열하고, where절에 join condition을 명시하는 방식을 말한다. 이 방식 약간 오래된 방법이고 where절에 selectio..
2023.12.20 -
HTML 기본 구조 및 기본 요소 HTML(Hyper Text Markup Language) 문서의 기본 구조는 아래와 같다. - 문서의 형식을 정의하는 선언으로, HTML5를 사용한다는 것을 나타낸다. - HTML 문서의 최상위 요소로, 모든 HTML 내용을 감싸고 있다. lang 속성은 문서의 언어를 지정한다. - 문서의 메타데이터와 외부 리소스에 대한 정보를 포함하는 부분이다. 요소 내에는 문서의 문자 인코딩, 뷰포트 설정, 스타일시트, 자바스크립트 링크, 제목 등이 위치한다. - 문서의 문자 인코딩을 지정하는 메타 태그로, 대부분의 문서에서 UTF-8을 사용한다. - 뷰포트 설정을 지정하는 메타 태그로, 모바일 기기에서 화면의 너비와 초기 확대 수준을 조절한다. - 문서의 제목을 정의하는 태그이다..
[HTML] HTML 기본 구조 및 기본 요소HTML 기본 구조 및 기본 요소 HTML(Hyper Text Markup Language) 문서의 기본 구조는 아래와 같다. - 문서의 형식을 정의하는 선언으로, HTML5를 사용한다는 것을 나타낸다. - HTML 문서의 최상위 요소로, 모든 HTML 내용을 감싸고 있다. lang 속성은 문서의 언어를 지정한다. - 문서의 메타데이터와 외부 리소스에 대한 정보를 포함하는 부분이다. 요소 내에는 문서의 문자 인코딩, 뷰포트 설정, 스타일시트, 자바스크립트 링크, 제목 등이 위치한다. - 문서의 문자 인코딩을 지정하는 메타 태그로, 대부분의 문서에서 UTF-8을 사용한다. - 뷰포트 설정을 지정하는 메타 태그로, 모바일 기기에서 화면의 너비와 초기 확대 수준을 조절한다. - 문서의 제목을 정의하는 태그이다..
2023.12.19 -
CSS란 무엇인가? 웹 페이지에 예쁜 옷을 입히자 CSS는 웹 페이지에 예쁜 옷을 입히는 것과 같다고 생각하면 된다. HTML은 사람의 몸으로 비유했을 때는 사람의 뼈대와 같고 CSS는 그 뼈대 위의 피부, 옷과 같은 스타일을 입힐 수 있는 것을 의미한다. 다시 정리하자면 CSS(Cascading Style Sheets)는 웹 페이지의 스타일(디자인, 레이아웃 등)을 정의하기 위한 언어이다. 따라서 CSS는 HTML 요소들이 화면에 어떻게 보일지를 기술하고 여러 웹 페이지의 레이아웃을 한 번에 컨트롤할 수 있기 때문에 매우 효율적이다. CSS 파일로 스타일을 저장해서 전체 웹 페이지에 한 번에 적용할 수 있기 때문에 많은 작업을 줄일 수 있다. W3C 표준화 제정 단계 CSS를 배우기에 앞서서 W3C라는..
[CSS] CSS란 무엇인가?CSS란 무엇인가? 웹 페이지에 예쁜 옷을 입히자 CSS는 웹 페이지에 예쁜 옷을 입히는 것과 같다고 생각하면 된다. HTML은 사람의 몸으로 비유했을 때는 사람의 뼈대와 같고 CSS는 그 뼈대 위의 피부, 옷과 같은 스타일을 입힐 수 있는 것을 의미한다. 다시 정리하자면 CSS(Cascading Style Sheets)는 웹 페이지의 스타일(디자인, 레이아웃 등)을 정의하기 위한 언어이다. 따라서 CSS는 HTML 요소들이 화면에 어떻게 보일지를 기술하고 여러 웹 페이지의 레이아웃을 한 번에 컨트롤할 수 있기 때문에 매우 효율적이다. CSS 파일로 스타일을 저장해서 전체 웹 페이지에 한 번에 적용할 수 있기 때문에 많은 작업을 줄일 수 있다. W3C 표준화 제정 단계 CSS를 배우기에 앞서서 W3C라는..
2023.12.18 -
장고 URL 설계 장고에서 URL(Uniform Resource Locator)은 웹 애플리케이션의 각각의 기능이나 페이지에 대한 주소를 말한다. URL은 사용자가 브라우저의 주소창에 입력하여 특정 페이지로 이동하거나, 웹 애플리케이션에서 링크를 통해 이동할 때 사용된다. 장고에서 URL은 주로 urls.py 파일에 정의되며, URL 패턴을 특정 뷰(view) 또는 액션과 연결한다. URL 패턴은 사용자의 요청이 들어왔을 때, 어떤 뷰를 호출할지를 결정하는 역할을 한다. 느슨한 결합 장고는 뷰와 URL의 느슨한 결합이라는 철학을 가지고 있다. 그래서 뷰 구현이 직접 URL을 매핑하지 않고, URL 매핑을 뷰 구현과 따로 처리하여 URL을 보다 유연하게 정의한다. 무슨 의미인지 정확히 알기 위해 먼저 스프..
[Django] 장고 URL 설계장고 URL 설계 장고에서 URL(Uniform Resource Locator)은 웹 애플리케이션의 각각의 기능이나 페이지에 대한 주소를 말한다. URL은 사용자가 브라우저의 주소창에 입력하여 특정 페이지로 이동하거나, 웹 애플리케이션에서 링크를 통해 이동할 때 사용된다. 장고에서 URL은 주로 urls.py 파일에 정의되며, URL 패턴을 특정 뷰(view) 또는 액션과 연결한다. URL 패턴은 사용자의 요청이 들어왔을 때, 어떤 뷰를 호출할지를 결정하는 역할을 한다. 느슨한 결합 장고는 뷰와 URL의 느슨한 결합이라는 철학을 가지고 있다. 그래서 뷰 구현이 직접 URL을 매핑하지 않고, URL 매핑을 뷰 구현과 따로 처리하여 URL을 보다 유연하게 정의한다. 무슨 의미인지 정확히 알기 위해 먼저 스프..
2023.12.17