일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- group by
- PostgreSQL
- analytics4
- Linux
- 차이점
- java
- SQL
- DBMS
- 명령어
- docker
- 호이스팅
- mysql
- mssql
- JPA
- 트랜잭션
- rsync
- 추상클래스
- Python
- git
- spring
- oracle
- MariaDB
- 리눅스
- 티스토리챌린지
- IntelliJ
- 오블완
- MongoDB
- Exception
- Javascript
- Today
- Total
목록2025/02 (14)
hanker
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FbMmh/btsMhtOdDxv/gjI0PkGC0QgDIHfusPScvk/img.png)
이전에 NumPy 배열(ndarray)을 생성하고 다루는 기본적인 방법을 알아봤는데,이번 글에서는 NumPy 배열을 활용한 다양한 연산 및 함수에 대해서 알아보자! 1. 기본 연산 NumPy는 Python의 기본 연산자 (+, -, *, /, ** 등)를 활용하여 배열 요소 간의 연산을 빠르고 효율적으로 수행할 수 있다.import numpy as nparr1 = np.array([1, 2, 3, 4, 5])arr2 = np.array([10, 20, 30, 40, 50])# 배열 간 연산print("덧셈:", arr1 + arr2) # [11 22 33 44 55]print("뺄셈:", arr1 - arr2) # [-9 -18 -27 -36 -45]print("곱셈:", arr1 * arr2) #..
웹 개발을 하다 보면 페이징 처리는 필수적으로 하게 되는데,그리드 라이브러리를 쓰지 않고 처리하게 될 경우 페이징은 손수 개발자가 직접 구현해야 한다. 이번 글에서는 페이징 처리를 하기 위해 각 SQL 별로 페이징 쿼리를 알아보자. 1. Client → Server 파라미터 값 - page : 현재 페이지 번호 - 1 (예를 들어 3페이지면 page = 2)- size : 페이지당 데이터 건수 (한 페이지당 보여질 데이터 수)- offset : page * size * offset 값은 항상 page * size로 계산2. 각 DBMS 별 Query 2-1. MySQLMySQL인 LIMIT과 OFFSET구문을 사용한다.-- MySQL-- offset = page * sizeSELECT *FROM use..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/blJxLz/btsMfGmKZ1j/vkHA25XzeHuWeVFwRQrHY1/img.png)
이번 글에서 List 인터페이스에 대해서 알아보려한다.List 인터페이스는 여러 구현 클래스를 제공하는데, 해당 구현체들의 특징과 장단점 및 예제를 자세하게 알아보자! 1. List 인터페이스 List는 순서가 있는 데이터를 저장하고, 중복 요소를 허용하는 특징을 가지고 있다.다양한 구현 클래스를 제공하고, 대표적으로 ArrayList, LinkedList, Vector 가 있다. 1-1. List 특징- 순서 유지 : 입력된 순서대로 요소가 저장된다.- 인덱스 접근 가능 : 요소를 index를 사용해 직접 접근 가능- 중복 허용 : 동일한 값의 요소를 여러 개 저장 가능 1-2. 주요 구현 클래스클래스 명특징ArrayList조회 성능 우수, 삽입/삭제 속도 상대적으로 느림LinkedList조회 속도 상..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/evn9S7/btsMci8Hd5f/qxdd1rkJx59kp3ltb62Pi1/img.png)
NumPy에서 ndarray는 핵심 객체이다. 이번 글에서는 ndarray를 생성하고 이를 효율적으로 다루는 방법에 대해서 알아보자. 1. ndarray 객체 ndarray는 NumPy에서 제공하는 N차원 배열 객체로, 동일한 데이터 타입을 가진 요소들이 배열 형태로 저장된다.이는 대규모 데이터의 효율적인 저장과 빠른 연산을 가능하게 한다. 2. ndarray 생성 방법 2-1. 리스트를 이용하여 생성가장 기본적인 방법은 내장 자료형인 리스트나 중첩 리스트를 np.array() 함수에 전달하여 ndarray로 변환하는 방법이 있다.import numpy as np# 1차원 배열 생성arr1 = np.array([1, 2, 3, 4])print("1차원 배열:", arr1) # 출력: [1 2 3 4]..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bS9H8h/btsMcP44MDv/GPd6v9wZzCjppVByAFTVd0/img.png)
https://hanke-r.tistory.com/entry/Java-CheckedException%EA%B3%BC-UncheckedException%EC%9D%B4-%EB%AD%90%EC%A7%80 이전에 예외처리 관련해서 글을 작성했었는데, 해당 내용만으로는 실제 활용하기에는 어려움이 있어, 보다 더 자세하게 예외처리에 대해서 작성해 본다. 이번 글에서는 예외처리를 어떻게 사용하는지와 효율적으로 관리하는 방법에 대해서 알아보자. 1. 예외의 종류와 특징 자바의 예외는 크게 Checked Exception과 Unchecked Exception으로 나뉜다.위 링크에 상세하게 설명해 있으니 간단하게만 작성하고 넘어가도록 하자. 1-1. Checked Exception- 컴파일러가 예외 처리를 강제- 반드시..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/TophA/btsMbcAFbEi/AV6398cYxb3KpgwybtTyX1/img.png)
Python에서 데이터를 다룰 때 가장 중요한 라이브러리 중 하나가 NumPy(Numerical Python)이다.파이썬에서 수치 계산과 과학적 연산을 효율적으로 수행하기 위해 설계되었다. 이번글에서는 NumPy가 무엇인지, 설치 방법과 사용 방법에 대해서 알아보자. 1. NumPy 란? NumPy란 파이썬 내에서 빠른 연산을 수행할 수 있도록 돕는 라이브러리이다. 특징으로는1-1. 다차원 배열(ndarray) 지원- ndarray 객체 : NumPy의 중심은 동종 데이터(모든 원소가 동일한 데이터 타입)를 연속된 메모리 공간에 저장하는 다차원 배열 객체이다. 이 구조로 인해 배열 간 벡터화 연산을 지원하며, 반목문을 사용하지 않고도 전체 배열에 대해 빠르고 간결하게 연산을 수행한다. 1-2. 벡터화 연..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bIy9Zp/btsMbDqQAR9/UiGKBy7hag6SNHF8qSChvK/img.png)
Single Thread 방식으로 실행되는 JavaScript에서 비동기 처리방법은 Promise와 async / await 가 있다. 이번 글에서는 매일 써도 어려운 비동기 프로그래밍에 대해서 알아보자. 1. 비동기 프로그래밍이란? JavaScript는 싱글 스레드 기반 언어이기 때문에 한 번에 하나의 작업만 실행이 가능하다.예외로 네트워크 요청, 파일 읽기, 타이머 같은 작업은 비동기 방식으로 실행된다.// 동기 코드 (순차 실행)console.log("Start");console.log("Processing...");console.log("End");// -- 출력 결과 --// Start// Processing...// End// 비동기 코드 (비순차 실행)console.log("Start");s..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bIX6iR/btsL73Kgm8k/7X474lwZkh4dpLBA76Sunk/img.png)
이번 글에서는 eGovFramework 4.2에서 톰캣 9.0을 연결하고 실행까지 확인해보자. 1. New Project 전자정부 프레임워크를 키면 최초에 패키지가 생성되지 않으면 생성하라고 나온다.eGovFrame Template Project와 EgovFrame Web Project 중 우리는 EgovFrame Web Project로 셋팅하려고 한다. 두 프로젝트는 기본적으로 Spring Framework와 MyBatis를 설정되어 있는 상태로 제공한다.차이는 아래와 같다.- eGovFrame Template Project : 프로젝트의 유형(웹, 배치, 모바일 등)에 관계없이 활용 가능한 범용 템플릿 (다양한 유형 개발 시)- eGovFrame Web Project : 웹 애플리케이션 개발에 최적화..
인공지능(AI)의 발전은 개발자들의 작업 방식에도 큰 변화를 불러오고 있다.특히, ChatGPT, GitHub Copilot, Cursor AI와 같은 AI 기반 코딩 도구들은 개발자가 코드 작성을 더 빠르게 할 수 있도록 돕고 있는데,이는 모든 면이 긍정적이라고 생각이 들진 않는다. AI가 개발에 도입되면서 코드 품질, 보안, 학습 능력 저하, 의존성 증가 등 다양한 문제점이 발생한다.(개발자들을 가끔 보면, 항상 ChatGPT는 켜져 있더라)무조건 적인 사용금지 글이 아님을 말한다. 이번 글에서는 AI 시대에 개발 방식의 변화와 부작용, 개발자가 이 AI를 어떻게 사용해야 할 지에 대해서 알아보자. 1. AI 의 등장과 개발 방식의 변화 1-1. AI 코딩 도구란?최근 안쓰는 사람 찾기가 힘들 정도로..
자바에서 객체지향 프로그래밍(OOP) 개념에서 상속과 다형성은 매우 중요하다. 이번 글에서 어떤 개념인지, 어떻게 활용하는지에 대해서 알아보자. 1. 추상 클래스와 인터페이스https://hanke-r.tistory.com/entry/JAVA-JAVA%EC%97%90%EC%84%9C-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EC%99%80-%EC%B6%94%EC%83%81-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C JAVA - JAVA에서 인터페이스와 추상 클래스의 차이점은 무엇일까?Java에서 인터페이스와 추..