전체 글 64

[Python] Numpy(1)

NumPy ?? : 파이썬에서 과학 계산을 위한 라이브러리로. 다차원(N차원) 배열 객체와 다양한 수학 함수를 제공한.Numpy 특징고성능 과학 계산용 패키지로 강력한 N차원 배열 객체.범용적 데이터 처리에 사용 가능한 다차원 컨테이너.정교한 브로드캐스팅(broadcasting) 기능.파이썬의 자료형 List와 비슷하지만 더 빠르고 메모리를 효율적으로 관리.반복문 없이 데이터 배열에 대한 처리를 지원하여 빠르고 편리하다.데이터 과학 도구에 대한 생태계의 핵심을 이루고 있다.NumPy 설치 배열 생성 배열 생성 및 초기화 특징 arange() linspace() 값의 개수 지정범위를 증가값 간격으로 나눔생성할 값의 개수를 명시 종료값 포함 여부 종료값을 항상 제외기본적으로 포함 소수점 간격 지원  가능..

Python 2025.01.25

기본 SQL 연습하기 2

1. JOIN과 서브쿼리 활용 : employees 테이블과 orders 테이블을 사용해 각 직원이 담당한 주문의 수를 직원의 이름과 함께 출력하기.(주문이 없는 직원도 포함)SELECT e.first_name || ' ' || e.last_name AS employee_name, COUNT(o.order_id) AS order_count FROM employees eLEFT JOIN orders o ON e.employee_id = o.order_idGROUP BY e.first_name, e.last_nameORDER BY order_count DESC;LEFT JOIN : 주문이 없는 직원도 결과에 포함.COUNT(o.order_id)는 주문 수 계산, GROUP BY로 직원별 집계.2. 집계 함..

Oracle 2025.01.19

데이터베이스??

데이터베이스 : 컴퓨터 또는 장치에 저장된 구조화된 데이터의 집합.(데이터베이스 관리 시스템 = Database Management System을 줄여 데이터 베이스라고도 한다.) DBMS컴퓨터에 저장된 서로 관계된 데이터의 집합데이터를 접근하는 프로그램의 집합DBMS는 특정 기업에 관한 정보를 포함한다DBMS는 사용이 편리하고 효율적인 환경을 제공한다.데이터베이스 시스템의 목적초기 데이터베이스 애플리케이션은 파일 시스템을 이용하여 생성.파일 시스템 사용의 문제점데이터 중복 및 불일치 : 여러 가지 파일 형식, 여러 개의 파일에 중복된 정보의 저장데이터 접근이 어려움 : 새로운 임무를 수행하기 위해 새로운 프로그램의 작성이 필요데이터의 고립성 : 여러 개의 파일과 형식.무결성 : 정확한 데이터가 유지되고..

개인 공부 2025.01.19

기본 SQL 연습하기

샘플 데이터를 이용해서 기본 SQL 기능 연습하기!샘플 데이터 받는 곳.https://www.oracletutorial.com/getting-started/oracle-sample-database/ Oracle Sample DatabaseThis tutorial introduces you an Oracle sample database and shows you how to load it into an Oracle database for practicingwww.oracletutorial.com다운 받은 파일에서 ot_data.sql을 f5해서 데이터 삽입 시 오류가 나서날짜 to_date(...) 부분 수정해서 사용했습니다.Insert into EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,..

Oracle 2025.01.18

객체지향 프로그래밍 OOP

개인공부 : 객체지향! 객체지향(Object-Oriented Programming, OOP)은 소프트웨어 개발 방법 중 하나로, 객체를 프로그램 내에서 Object라는 단위로 모델링해 시스템을 설계하는 방식을 말하며, 이러한 객체지향은 복잡한 시스템을 쉽게 이해하고 유지보수할 수 있도록 도와주고, 여러 가지 객체지향 원칙을 기반으로 시스템을 구성합니다. 핵심 개념클래스(Class)클래스는 객체를 만들기 위한 틀. 객체가 가질 성(필드)과 행동(메서드)를 정의합니다.객체(Object)객체는 클래스로부터 생성된 실체. 클래스에서 정의한 속성값과 메서드를 가지고 있고, 실제로 동작하는 프로그램의 기본 단위입니다.상속(Inheritance)상속은 기존 클래스의 속성이나 행동을 재사용해 새로운 클래스를 만드는 기..

개인 공부 2025.01.15

SQL 테스트 (2)

샘플 데이터가 없어서 쿼리문만 작성1. SELECT / WHERE / AND / OR> 이름이 john 이거나 급여가 4000 이상인 직원 조회하기.> employees 테이블에서 first_name이 john이거나 salary가 4000 이상인 직원들의 first_name, last_name, salary 조회.SELECT first_name, last_name, salary FROM employees WHERE first_name = 'John' OR salary >= 4000;> 특정 연도에 입사한 직원 조회하기.> employees 테이블에서 hird_date가 2010년에 해당하는 직원들의 first_name, last_name, hire_date 조회.SELECT first_name, las..

코딩 테스트 2024.12.30

SQL 테스트 (1)

sample데이터가 없어서 쿼리문 작성만... 1. SELECT> EMPLOYEES 테이블에서 first_name, last_name, hire_date 컬럼을 조회하기.SELECT first_name, last_name, hire_date FORM employees;2. 조건절(WHERE)> 급여가 5000 이상인 직원 조회> employees 테이블에서 salary가 5000 이상인 직원들의 first_name, last_name, salary 조회하기.SELECT first_name, last_name, salary FROM employees WHERE salary >= 5000;2-1. 특정 날짜 이후 입사한 직원 조회> employees 테이블에서 hire_date가 2015.01.01 이후..

코딩 테스트 2024.12.30

배열 및 문자열

1. 배열의 합 계산(정수 배열이 주어졌을 때 배열의 모든 요소의 합을 구하기)입력 : [1, 2, 3, 4, 5]출력 : 15테스트package Test;import java.util.Arrays;public class Main { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; System.out.println(Arrays.toString(arr) + " 배열의 합 : " + arraySum(arr)); } public static int arraySum(int[] arr) { int sum = 0; for(int num : arr) { // 배열을 하나씩 꺼내서 num에 저장 sum += num; } ret..

코딩 테스트 2024.12.30

기본 알고리즘

1. 팰린드롬 문자열 확인하기(입력의 문자열이 팰린드롬인지 확인하기)입력 : "madam"출력 : true입력 : "hello"출력 : false테스트package Test;public class Palindrome { public static void main(String[] args) { String input = "madam"; boolean isPalindrome = checkPalindrome(input); System.out.println("'" + input + "'은(는) 펠린드 문자열인지 : " + isPalindrome); } public static boolean checkPalindrome(String str) { if(str == null || str.isEmpty()) ..

코딩 테스트 2024.12.30

JWT를 사용한 Spring Security 기반 인증 시스템 구현

Spring Security를 공부하면서 검색 할 때마다 JWT인증이라는 글도 관련해서 자주 보여서 이번 글에서는 JWT에대해서 공부를 해보려고 합니다..    =) JWT...?JWT(JSON Web Token)는 웹 애플리케이션에서 사용자 인증 및 권한 부여를 위한 토큰 기반 인증 시스템으로 서버에 세션 정보를 저장하지 않고, 클라이언트가 자체적으로 인증 정보를 저장해서 서버의 부하를 줄이고, 확장성을 높일 수 있는 장점이 있다.Stateless : 서버에서 상태를 유지할 필요가 없어 확장성이 높은 시스템 구현이 가능하다.자체 정보 저장 : JWT에 사용자 정보나 권한 정보를 포함시킬 수 있어서 추가적인 데이터베이스 조회가 필요없다.간편한 관리 : 토큰을 클라이언트에서 관리해 서버 측에서는 세션을 저..

개인 공부 2024.12.27