분류 전체보기
-
SQL의 기본 개념 SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조작하기 위해 사용되는 언어이다. SQL은 데이터베이스에 쿼리를 보내거나 데이터를 추가, 수정, 삭제하는 등 다양한 작업을 수행하는 데 사용된다. SQL의 주요 용어 Realtional Data Model SQL relation table attribute column tuple row domain domain Relation Data Model에서 relation이라 불리는 것은 SQL에서 table이라 불린다, 마찬가지로 attribute = column, tuple = row, domain = domain으로 불리게 된다. 하지만 필자의 경험으로 현업에서는 ..
[Database] SQL의 기본 개념(MySQL)SQL의 기본 개념 SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조작하기 위해 사용되는 언어이다. SQL은 데이터베이스에 쿼리를 보내거나 데이터를 추가, 수정, 삭제하는 등 다양한 작업을 수행하는 데 사용된다. SQL의 주요 용어 Realtional Data Model SQL relation table attribute column tuple row domain domain Relation Data Model에서 relation이라 불리는 것은 SQL에서 table이라 불린다, 마찬가지로 attribute = column, tuple = row, domain = domain으로 불리게 된다. 하지만 필자의 경험으로 현업에서는 ..
2023.12.04 -
구현 알고리즘 - 파이썬 구현 알고리즘(Implementation Algorithm)은 문제를 해결하는 알고리즘이 직접적으로 코드로 구현되는 것을 말한다. 즉, 주어진 문제에 대한 해결책을 코드로 표현하는 것을 의미한다. 이는 프로그래밍 대회나 코딩 테스트에서 자주 다뤄지는 유형 중 하나이다. 구현 알고리즘에서 주로 다루는 내용은 아래와 같다. 시뮬레이션(Simulation) - 주어진 조건에 따라 현실의 상황을 모방하거나 시뮬레이션하는 것이다. 예를 들어, 게임이나 시스템의 동작을 시뮬레이션할 수 있다. 완전 탐색(Brute Force) - 모든 가능한 경우의 수를 검사하여 정확한 해를 찾는 방법이다. 모든 조합을 시도하며 정확한 해를 찾아내는 방식이지만, 경우의 수가 많을 경우에는 효율적이지 않을 수..
[Algorithm] 구현 알고리즘 - 파이썬구현 알고리즘 - 파이썬 구현 알고리즘(Implementation Algorithm)은 문제를 해결하는 알고리즘이 직접적으로 코드로 구현되는 것을 말한다. 즉, 주어진 문제에 대한 해결책을 코드로 표현하는 것을 의미한다. 이는 프로그래밍 대회나 코딩 테스트에서 자주 다뤄지는 유형 중 하나이다. 구현 알고리즘에서 주로 다루는 내용은 아래와 같다. 시뮬레이션(Simulation) - 주어진 조건에 따라 현실의 상황을 모방하거나 시뮬레이션하는 것이다. 예를 들어, 게임이나 시스템의 동작을 시뮬레이션할 수 있다. 완전 탐색(Brute Force) - 모든 가능한 경우의 수를 검사하여 정확한 해를 찾는 방법이다. 모든 조합을 시도하며 정확한 해를 찾아내는 방식이지만, 경우의 수가 많을 경우에는 효율적이지 않을 수..
2023.12.03 -
자바스크립트 window.open(), window.opener() window.open() window.open() 함수는 새 창(팝업)을 열기 위해 사용되는 JavaScript의 함수이다. 이 함수는 다양한 옵션을 사용하여 새 창을 열 수 있다. 기본적인 사용법은 다음과 같다. // 기본 사용 방법 window.open("URL", "창 이름", "옵션"); URL - 열고자 하는 새 창의 URL을 지정한다.(JSP나 HTML파일의 경로 될 수 있음) 창 이름 - 새 창에 부여할 이름을 지정한다. 이 이름을 통해 같은 이름을 가진 창이 이미 열려있는지 여부를 확인하고 해당 창에 새로운 내용을 로드할 수 있다. 옵션 - 열리는 창의 속성을 나타내는 문자열이다. 옵션 문자열은 각 속성을 세미콜론(;)으로..
[JavaScript] 자바스크립트 window.open(), window.opener()자바스크립트 window.open(), window.opener() window.open() window.open() 함수는 새 창(팝업)을 열기 위해 사용되는 JavaScript의 함수이다. 이 함수는 다양한 옵션을 사용하여 새 창을 열 수 있다. 기본적인 사용법은 다음과 같다. // 기본 사용 방법 window.open("URL", "창 이름", "옵션"); URL - 열고자 하는 새 창의 URL을 지정한다.(JSP나 HTML파일의 경로 될 수 있음) 창 이름 - 새 창에 부여할 이름을 지정한다. 이 이름을 통해 같은 이름을 가진 창이 이미 열려있는지 여부를 확인하고 해당 창에 새로운 내용을 로드할 수 있다. 옵션 - 열리는 창의 속성을 나타내는 문자열이다. 옵션 문자열은 각 속성을 세미콜론(;)으로..
2023.12.02 -
그리디(탐욕) 알고리즘 - 파이썬그리디 알고리즘(혹은 탐욕 알고리즘)은 각 단계에서 지금 당장 가장 좋은 선택을 하는 최적화 알고리즘이다. 즉, 각 단계에서 한 번 결정이 이루어지면 이를 번복하지 않고 최종적인 해답을 찾아내는 방법이다. 이 알고리즘은 각 선택의 결과가 다음 선택에 영향을 미치지 않을 때 특히 효과적이다. 또한 그리디 알고리즘은 전체 문제에 대한 최적해를 구하기 위해 각 단계에서 지역적으로 최적해를 선택하는 방법을 사용한다. 일상생활에서의 그리디 알고리즘가방에는 정해진 무게까지만 물건을 담을 수 있다고 가정해보자. 여러 가지 물건이 있고 각 물건은 가치와 무게를 가지고 있다. 당신은 이 가방에 물건을 담아서 최대한 가치를 높여야 된다고 생각해보자. 여기서 그리디 알고리즘을 적용할 수 있다..
[Algorithm] 그리디(탐욕) 알고리즘 - 파이썬그리디(탐욕) 알고리즘 - 파이썬그리디 알고리즘(혹은 탐욕 알고리즘)은 각 단계에서 지금 당장 가장 좋은 선택을 하는 최적화 알고리즘이다. 즉, 각 단계에서 한 번 결정이 이루어지면 이를 번복하지 않고 최종적인 해답을 찾아내는 방법이다. 이 알고리즘은 각 선택의 결과가 다음 선택에 영향을 미치지 않을 때 특히 효과적이다. 또한 그리디 알고리즘은 전체 문제에 대한 최적해를 구하기 위해 각 단계에서 지역적으로 최적해를 선택하는 방법을 사용한다. 일상생활에서의 그리디 알고리즘가방에는 정해진 무게까지만 물건을 담을 수 있다고 가정해보자. 여러 가지 물건이 있고 각 물건은 가치와 무게를 가지고 있다. 당신은 이 가방에 물건을 담아서 최대한 가치를 높여야 된다고 생각해보자. 여기서 그리디 알고리즘을 적용할 수 있다..
2023.12.01 -
넘파이 newaxis 넘파이 newaxis는 넘파이 배열에 새로운 축(차원)을 추가하는 데 사용되는 데 사용되는 인덱싱 객체이다. 이는 배열의 차원을 늘리거나 형태를 변경하는 데 유용하다. 일반적으로 배열 슬라이싱에서 사용되며, 슬라이싱 결과에 새로운 축을 추가하려고 할 때 사용된다. import numpy as np # 1차원 배열 arr = np.array([1, 2, 3, 4]) # newaxis를 사용하여 1차원 배열을 2차원 배열로 변경 arr_2d = arr[:, np.newaxis] print(arr_2d) 위의 예제 코드는 arr 배열이 세로 방향으로 새로운 축이 추가된 2차원 배열이 된다. newaxis는 배열의 차원을 조작하고 브로드캐스팅(Broadcasting)과 같은 작업을 수행할 ..
[NumPy] 넘파이 newaxis넘파이 newaxis 넘파이 newaxis는 넘파이 배열에 새로운 축(차원)을 추가하는 데 사용되는 데 사용되는 인덱싱 객체이다. 이는 배열의 차원을 늘리거나 형태를 변경하는 데 유용하다. 일반적으로 배열 슬라이싱에서 사용되며, 슬라이싱 결과에 새로운 축을 추가하려고 할 때 사용된다. import numpy as np # 1차원 배열 arr = np.array([1, 2, 3, 4]) # newaxis를 사용하여 1차원 배열을 2차원 배열로 변경 arr_2d = arr[:, np.newaxis] print(arr_2d) 위의 예제 코드는 arr 배열이 세로 방향으로 새로운 축이 추가된 2차원 배열이 된다. newaxis는 배열의 차원을 조작하고 브로드캐스팅(Broadcasting)과 같은 작업을 수행할 ..
2023.11.30 -
넘파이 squeeze() 함수 sequeeze() 함수는 배열의 크기가 1인 차원을 제거하여 배열의 형상을 변경하는 데 사용된다. 주로 1인 차원을 제거하여 배열의 불필요한 차원을 축소하거나, 스칼라 값을 포함하는 배열을 스칼라 값으로 변환하는 데 유용하다. 함수의 이름 그대로 차원을 쥐어짜 내어 차원을 제거한다고 생각하면 된다. squeeze() 함수의 기본 구조 import numpy as np np.squeeze(a, axis = None) a - 차원을 제거할 입력 배열이다. axis(선택적) - 특정한 축(들)에 대해서만 차원을 제거한다. 기본값은 None으로, 모든 크기가 1인 차원을 제거한다. import numpy as np arr = np.array([[[0]], [[0]], [[0]]]..
[NumPy] 넘파이 squeeze() 함수넘파이 squeeze() 함수 sequeeze() 함수는 배열의 크기가 1인 차원을 제거하여 배열의 형상을 변경하는 데 사용된다. 주로 1인 차원을 제거하여 배열의 불필요한 차원을 축소하거나, 스칼라 값을 포함하는 배열을 스칼라 값으로 변환하는 데 유용하다. 함수의 이름 그대로 차원을 쥐어짜 내어 차원을 제거한다고 생각하면 된다. squeeze() 함수의 기본 구조 import numpy as np np.squeeze(a, axis = None) a - 차원을 제거할 입력 배열이다. axis(선택적) - 특정한 축(들)에 대해서만 차원을 제거한다. 기본값은 None으로, 모든 크기가 1인 차원을 제거한다. import numpy as np arr = np.array([[[0]], [[0]], [[0]]]..
2023.11.29 -
데이터베이스 DDL, DML, DCL 데이터베이스 운영에서 사용되는 SQL(Structured Query Language) 문은 크게 세 가지 유형으로 분류된다. DDL(Data Definition Language), DML(Data Manipulation Language), 그리고 DCL(Data Control Language). 가 있다. DDL(Data Definition Language) DDL은 데이터베이스의 구조를 정의하고 관리하는 데 사용된다. 주로 데이터베이스 객체를 생성, 수정, 삭제하는 데에 관련되어 있다. DDL의 명령어는 다음과 같다. CREATE - 새로운 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성한다. ALTER - 기존 데이터베이스 객체의 구조를 변경한다. DROP -..
[Database] 데이터베이스 DDL, DML, DCL데이터베이스 DDL, DML, DCL 데이터베이스 운영에서 사용되는 SQL(Structured Query Language) 문은 크게 세 가지 유형으로 분류된다. DDL(Data Definition Language), DML(Data Manipulation Language), 그리고 DCL(Data Control Language). 가 있다. DDL(Data Definition Language) DDL은 데이터베이스의 구조를 정의하고 관리하는 데 사용된다. 주로 데이터베이스 객체를 생성, 수정, 삭제하는 데에 관련되어 있다. DDL의 명령어는 다음과 같다. CREATE - 새로운 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성한다. ALTER - 기존 데이터베이스 객체의 구조를 변경한다. DROP -..
2023.11.28 -
Windows 10 오라클 다운로드 및 설치 오라클(Oracle Corporation)은 세계적인 소프트웨어 및 클라우드 컴퓨팅 기업으로, 주로 데이터베이스 관리 시스템(DBMS)과 기업용 소프트웨어를 개발하고 제공하는 회사이다. 오라클은 데이터베이스 기술 분야에서 긴 역사와 광범위한 제품 라인으로 유명하다. 또한 기업들이 비즈니스 프로세스를 효과적으로 관리하고 데이터를 안전하게 저장하며, 클라우드 환경에서 현대적인 기술을 활용할 수 있도록 지원하는 종합적인 기업으로 성장해 왔다. 다운로드 오라클을 다운로드하기 위해 먼저 오라클 공식 홈페이지에서 다운로드 페이지로 이동하자. 위의 사진에서 19c Microsoft Windows x64(64-bit)를 빨간색으로 표시한 ZIP 부분을 클릭하여 다운로드한다...
[Database] Windows 10 오라클 다운로드 및 설치Windows 10 오라클 다운로드 및 설치 오라클(Oracle Corporation)은 세계적인 소프트웨어 및 클라우드 컴퓨팅 기업으로, 주로 데이터베이스 관리 시스템(DBMS)과 기업용 소프트웨어를 개발하고 제공하는 회사이다. 오라클은 데이터베이스 기술 분야에서 긴 역사와 광범위한 제품 라인으로 유명하다. 또한 기업들이 비즈니스 프로세스를 효과적으로 관리하고 데이터를 안전하게 저장하며, 클라우드 환경에서 현대적인 기술을 활용할 수 있도록 지원하는 종합적인 기업으로 성장해 왔다. 다운로드 오라클을 다운로드하기 위해 먼저 오라클 공식 홈페이지에서 다운로드 페이지로 이동하자. 위의 사진에서 19c Microsoft Windows x64(64-bit)를 빨간색으로 표시한 ZIP 부분을 클릭하여 다운로드한다...
2023.11.27 -
넘파이 배열(array) NumPy(넘파이)의 배열은 파이썬에서 다차원 배열을 효율적으로 다룰 수 있게 해주는 라이브러리이다. NumPy 배열은 리스트와 유사하지만 훨씬 더 효율적인 연산을 지원하며 다차원 데이터를 처리하는 데 특화되어 있다. 넘파이의 주요 특징을 한 번 살펴보자. 다차원 배열 - NumPy는 다차원 배열을 지원하며, 1D, 2D, 3D 등 다양한 차원의 배열을 생성하고 다룰 수 있다. 백터화 연산 - NumPy 배열은 요소 간 연산을 간편하게 수행할 수 있도록 백터화 연산을 지원한다. 이는 반복문을 사용하지 않고도 배열 전체에 대한 연산을 수행할 수 있게 해 준다. 효율적인 메모리 사용 - NumPy 배열은 원시 데이터 타입을 사용하며 연속된 메모리 블록에 데이터를 저장하므로 효율적인 ..
[NumPy] 넘파이 배열(array)넘파이 배열(array) NumPy(넘파이)의 배열은 파이썬에서 다차원 배열을 효율적으로 다룰 수 있게 해주는 라이브러리이다. NumPy 배열은 리스트와 유사하지만 훨씬 더 효율적인 연산을 지원하며 다차원 데이터를 처리하는 데 특화되어 있다. 넘파이의 주요 특징을 한 번 살펴보자. 다차원 배열 - NumPy는 다차원 배열을 지원하며, 1D, 2D, 3D 등 다양한 차원의 배열을 생성하고 다룰 수 있다. 백터화 연산 - NumPy 배열은 요소 간 연산을 간편하게 수행할 수 있도록 백터화 연산을 지원한다. 이는 반복문을 사용하지 않고도 배열 전체에 대한 연산을 수행할 수 있게 해 준다. 효율적인 메모리 사용 - NumPy 배열은 원시 데이터 타입을 사용하며 연속된 메모리 블록에 데이터를 저장하므로 효율적인 ..
2023.11.26 -
넘파이 moveaxis() 함수 넘파이(NumPy)의 moveaxis() 함수는 다차원 배열에서 축의 위치를 변경하는 데 사용된다. 이 함수는 배열의 축을 새로운 위치로 이동시키고, 이를 통해 배열의 형태를 조절할 수 있다. moveaxis() 함수의 기본 구조는 아래와 같다. import numpy as np np.moveaxis(arr, source, destination) arr - 축을 이동시킬 배열 source - 현재 위치한 축의 인덱스 또는 축의 이름 destination - 이동하고자 하는 새로운 위치의 인덱스 또는 축의 이름 import numpy as np # 3차원 정수형 배열 생성 arr = np.zeros([2,3,4]) # 첫 번째 축을 마지막 축으로 이동 new_arr = np..
[NumPy] 넘파이 moveaxis() 함수넘파이 moveaxis() 함수 넘파이(NumPy)의 moveaxis() 함수는 다차원 배열에서 축의 위치를 변경하는 데 사용된다. 이 함수는 배열의 축을 새로운 위치로 이동시키고, 이를 통해 배열의 형태를 조절할 수 있다. moveaxis() 함수의 기본 구조는 아래와 같다. import numpy as np np.moveaxis(arr, source, destination) arr - 축을 이동시킬 배열 source - 현재 위치한 축의 인덱스 또는 축의 이름 destination - 이동하고자 하는 새로운 위치의 인덱스 또는 축의 이름 import numpy as np # 3차원 정수형 배열 생성 arr = np.zeros([2,3,4]) # 첫 번째 축을 마지막 축으로 이동 new_arr = np..
2023.11.25 -
넘파이 swapaxes() 함수 swapaxes() 함수는 배열의 두 축을 서로 교환하여 새로운 배열을 반환하는 NumPy 함수이다. 이 함수는 주어진 두 축의 인덱스를 기반으로 배열의 차원을 교환한다. 이를 통해 배열의 모양을 변경할 수 있다. 예를 들어, 2차원 배열에서 swapaxes() 함수를 사용하면 행과 열을 서로 교환할 수 있다. 이를 통해 배열의 모양이 변경된다. 함수의 사용은 아래와 같다. import numpy as np # 2차원 배열 생성 arr_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 행과 열 교환 result_arr = arr_2d.swapaxes(0, 1) print("Original 2D Array") print(arr_2d) print("\nS..
[NumPy] 넘파이 swapaxes() 함수넘파이 swapaxes() 함수 swapaxes() 함수는 배열의 두 축을 서로 교환하여 새로운 배열을 반환하는 NumPy 함수이다. 이 함수는 주어진 두 축의 인덱스를 기반으로 배열의 차원을 교환한다. 이를 통해 배열의 모양을 변경할 수 있다. 예를 들어, 2차원 배열에서 swapaxes() 함수를 사용하면 행과 열을 서로 교환할 수 있다. 이를 통해 배열의 모양이 변경된다. 함수의 사용은 아래와 같다. import numpy as np # 2차원 배열 생성 arr_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 행과 열 교환 result_arr = arr_2d.swapaxes(0, 1) print("Original 2D Array") print(arr_2d) print("\nS..
2023.11.24 -
넘파이 ravel() 함수넘파이의 ravel() 함수는 다차원 배열을 1차원 배열로 변환하는 함수이다. 즉, 배열의 모든 요소를 1차원으로 나열하여 반환한다. ravel() 함수의 목적은 다음과 같다.다차원 배열을 1차원 배열로 변환하여 처리하기 쉽게 만들기다차원 배열의 모든 요소를 순차적으로 처리하기다차원 배열을 다른 함수의 인수로 전달하기다음은 ravel() 함수를 사용하는 다양한 사례이다. 예제 코드를 살펴보며 어떻게 사용하는지 익혀보자. 다차원 배열을 1차원 배열로 변환하여 처리하기import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) arr_ravel = np.ravel(arr) print(arr_ravel)[1 2 3 4 5 6]실행 결과 다차원..
[NumPy] 넘파이 ravel() 함수넘파이 ravel() 함수넘파이의 ravel() 함수는 다차원 배열을 1차원 배열로 변환하는 함수이다. 즉, 배열의 모든 요소를 1차원으로 나열하여 반환한다. ravel() 함수의 목적은 다음과 같다.다차원 배열을 1차원 배열로 변환하여 처리하기 쉽게 만들기다차원 배열의 모든 요소를 순차적으로 처리하기다차원 배열을 다른 함수의 인수로 전달하기다음은 ravel() 함수를 사용하는 다양한 사례이다. 예제 코드를 살펴보며 어떻게 사용하는지 익혀보자. 다차원 배열을 1차원 배열로 변환하여 처리하기import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) arr_ravel = np.ravel(arr) print(arr_ravel)[1 2 3 4 5 6]실행 결과 다차원..
2023.11.23