일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- JPA
- Javascript
- Python
- Linux
- rsync
- mysql
- mssql
- DBMS
- group by
- top
- oracle
- 오블완
- SQL
- 티스토리챌린지
- analytics4
- 리눅스
- 트랜잭션
- network
- 명령어
- API
- docker
- PostgreSQL
- spring
- java
- MariaDB
- IntelliJ
- 차이점
- 자바
- MongoDB
- git
- Today
- Total
목록분류 전체보기 (346)
hanker
SQL 집합연산자는 두 개 이상의 쿼리 결과를 하나로 합치거나 교집합, 차집합을 계산하는데 사용한다. 각 DBMS (MySQL / PostgreSQL/ MSSQL/ Oracle) 에서 사용 가능한 주요 집합 연산자들인 UNION / UNION ALL / INTERSECT / EXCEPT 에 대해 알아보자 UNION 두 개 이상의 쿼리 결과를 합치되, 중복된 행은 제거한다.SELECT column1, column2 FROM table1UNIONSELECT column1, column2 FROM table2- 중복된 결과를 제거하기 떄문에, 성능이 다소 떨어질 수 있다.- 모든 SELECT 문의 열 개수와 데이터 타입이 동일해야 한다. 지원 : MySQL, PostgreSQL, MSSQL, Oracle ..
현재 서버에서 실행중인 프로세스들을 확인하는 ps 명령어에 대해 알아보자ps 명령어는 시스템의 상태를 모니터링하거나 특정 프로세스를 제어할 때 유용하다. 1. 기본 사용법ps현재 쉘에서 실행 중인 프로세스를 보여준다. 기본적으로 제한된 정보만 표시한다.출력된 내용을 살펴보면PID : 프로세스 ID로, 각 프로세스를 식별하는 고유번호TTY : 프로세스가 연결된 터미널을 나타낸다. pts/0은 가상 터미널(예: SSH 세션)을 의미한다.TIME : 프로세스가 CPU를 사용한 시간이다. 여기서는 00:00:00으로 표시되며, 프로세스가 CPU를 거의 사용하지 않았음을 나타낸다.CMD : 실행 중인 명령어이다. 여기서는 bash와 ps가 현재 실행 중임을 보여준다. 2. 자주 사용하는 옵션 1. 전체 프로세..
Antifragile이라는 개념은 철학자 나심 탈레브(Nassim Taleb)가 제시한 개념으로, 시스템이 혼란이나 스트레스를 받으면 이를 통해 더 강해지는 성질을 말한다. 소프트웨어 아키텍처에서 Antifragile은 단순히 장애나 변화에 대해 회복(resilient)하는 것을 넘어, 스트레스와 변화를 통해 오히려 시스템이 개선되고 발전하는 아키텍처를 의미한다. 1. Antifragile의 기본 개념 Antifragile은 회복탄력성(Resilience) 그 이상의 개념이다. Resilience는 시스템이 장애나 문제가 발생했을 때 원래 상태로 돌아오는 능력을 말하는데, Antifragile은 문제나 실패를 통해 시스템이 원래보다 더 나아지는 성질을 가진다. 2. Antifragile 소프트웨..
https://hanke-r.tistory.com/entry/2024%EB%85%84-10%EC%9B%94-TIOBE-%EC%84%A0%EC%A0%95-%EA%B0%80%EC%9E%A5-%EC%9D%B8%EA%B8%B0-%EC%9E%88%EB%8A%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%96%B8%EC%96%B4-10%EC%84%A0 2024년 10월 TIOBE 선정: 가장 인기 있는 프로그래밍 언어 10선TIOBE 지수란 - 가장 많은 코드가 작성된 프로그래밍 언어가 아니라 Google, Bing, Amazone, Wikipedia 등 검색 엔진을 사용하여 평가 Tiobe 에 따르면 2024년 10월 헤드라인은 Rust 가 작년부터 꾸준히 Tiob..
로컬 / 원격 브랜치를 삭제해보자 1. 로컬 브랜치 삭제 우선 git에서 로컬브랜치 목록을 불러온 후 쓰지 않는 브랜치를 삭제해보자 로컬 브랜치 목록 불러오기 git branchgit branch 명령어를 사용해보니 master와 dev 브랜치 2개가 조회되었는데, dev 사용하지 않을테니 삭제하자 git branch -d git branch -d dev 아주 간단하게 삭제되었다. 혹시 다른걸 삭제하더라도 우리 로컬에서만 삭제한거기 때문에 다시 원격 branch를 불러올 수 있다. ※ 만약 merge가 되지 않은 상태면 오류가 발생할 수 있다. merge하지 않고 삭제하려면 -D 옵션을 사용하면 된다. 2. 원격브랜치 삭제 이제 원격 브랜치도 삭제해보자원격 브랜치 목록을 조회해보면 로컬브랜..
리눅스 환경에서 Github에 있는 Repository를 가져와보자 1. Github repository 주소 복사 github에 있는 repository의 HTTPS 또는 SSH URL을 복사 한 후 아래 명령어로 가져온다. 2. repository 가져오기 (clone)git clone 단 ssh URL로 가져올 시 Deploy key 설정이나 SSH and GPG keys 등록을 해야한다. https://hanke-r.tistory.com/entry/Github-Repository-Deploy-Key-%EC%84%A4%EC%A0%95 Github - Repository Deploy Key 설정GitHub에서 Deploy Key를 설정하는 이유는 특정 리포지토리에 대해 읽기 전용 접근 권한을 제공하여..
rm 명령어는 리눅스에서 파일이나 디렉터리를 삭제할 때 사용된다.기본적인 사용법과 자주 사용하는 옵션을 알아보자 기본 사용법 : rm [option] file명 # 단일 파일 삭제rm hanker.txt# 다수 파일 삭제rm hanker1.txt hanker2.txt# 디렉터리 삭제 (-r 옵션) 디렉터리와 그 안의 모든 파일 삭제rm -r hankerDir# 강제 삭제 (-f 옵션) 삭제 전 확인을 묻지 않고 삭제할 때 사용rm -f hanker.txt# 디렉터리 내 모든 파일 강제 삭제(-rf 옵션)rm -rf hankerDir# 파일 삭제 전 확인rm -i hanker.txt# 특정 확장자 및 특정 비슷한 파일명 삭제rm *.txtrm han* rm hanker3.txt rm hanker2...
Java에서 int 타입의 정수를 String으로 변환하는 방법을 알아보자 int → String String.valueOf(int i) String.valueOf는 int를 String으로 변환하는 가장 일반적인 방법 중 하나이다. public static void main(String[] args) { int number = 35; String str = "35"; String intToStr = String.valueOf(number); if(str.equals(intToStr)){ System.out.println("O"); } if(!str.equals(number)){ System.out.println("X"); } } 결과 Integer.toString(int i) Integer.toStri..
Java 언어 문자열 처리중 초기부터 제공되었던 startsWidth() 메서드에 대해 알아보자. startsWith()Java에서 String 객체가 특정 문자열로 시작하는지 확인할 때 사용되는 메서드이다. startsWidth() 는 boolean 값을 반환하며, 해당 문자열이 주어진 접두사로 시작하면 true, 그렇지 않으면 false를 반환한다. 위 사진에 메서드를 보면 매개변수에 prefix(시작여부를 확인할 문자열)가 들어가고 toffset이라는 매개변수가 들어가는데 이는 선택사항이다. 입력하지 않으면 첫 문자열을 검색하고, 숫자를 입력하면 해당 위치부터 확인한다. 예시를 보면서 확인해보자. public static void main(String[] args) { String s = "Hank..
CGLIB (Code Generator Library)는 Java에서 동적으로 바이트코드를 생성하여 객체의 프록시를 만드는 라이브러리이다. 주로 Spring Framework에서 AOP(Aspect-Oriented Programming) 기능을 지원하기 위해 사용되고, final 클래스나 인터페이스가 아닌 클래스를 상속하여 동적으로 프록시를 생성한다. Spring 프로젝트에서 동작을 하다보면 종종 보이곤(logging level 이 Debug 로 설정하면) 하는데, Spring에서 AOP구현을 위해 자동으로 사용되기 때문에 우리가 따로 설정할 필요는 거의 없다. CGLIB의 작동 방식 1. 클래스 상속을 통한 프록시 생성 - CGLIB는 인터페이스가 아닌 구체 클래스를 상속하여 프록시를 생성한다. (여기..