본문 바로가기

Computer Science12

프로그래머스 | Level 1 | Lesson 42576 완주하지 못한 선수 (Java) 📚 알고리즘 문제 프로그래머스 Level 1 Lesson 42576 완주하지 못한 선수 코딩테스트 연습 > 코딩테스트 고득점 Kit > 해시 > 완주하지 못한 선수 선택 언어: Java 문제 URL: https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 🏆 제출 코드와 요약 성공 코드 1 - Map을 사용한 방법 👉 GitHub URL: https://github.com/Yian-Kim/Algo.. 2022. 1. 23.
Oracle | 오라클 클라우드 ATP Database 생성과 DBeaver로 연결하기 🦀 상황 (Context) 오라클 클라우드에서 ATP 데이터베이스를 생성했습니다. SQL Developer를 이용할 수도 있겠지만, 다양한 데이터베이스 툴로 사용하기 위해 DBeaver를 선택했습니다. M1 macOS Monterey에서 DBeaver로 연결하려고 합니다. DBeaver에서 [Test Connection] 버튼 클릭 시 다양한 에러가 발생했습니다. IO Error: could not resolve the connect identifier "%s" IO Error: Got minus one from a read call IO Error: Invalid connection string format, a valid format is: "host:port:sid" IO Error: Receive.. 2022. 1. 21.
Linux | netstat, lsof, ps를 이용한 프로세스 확인 방법 🥂 요구사항 (Requiredments) AWS EC2 서버에 접속해서 리눅스 명령어로 확인하고 작업해야 할 일이 있었습니다. 리눅스 관련 명령어는 기억이 나지 않아서 매번 찾아서 사용했는데, 본 포스팅에서 자주 사용하는 명령어를 일부 정리해 두려고 합니다. 🍧 해결방안 (Solution or Next Step) 요약 # 클라이언트 접속 요청 대기 중인 프로그램 조회 $ netstat -nap | grep LISTEN # 열려있는 상태의 포트와 프로그램 조회 $ netstat -tnlp # 특정 포트가 클라이언트 접속 요청 대기 중인지 조회 $ lsof -i :8080 | grep LISTEN # 특정 포트 범위 안에서 클라이언트 접속 요청 대기 중인지 조회 $ lsof -i:8080-11600 # 특정.. 2022. 1. 3.
MySQL | SUBSTRING_INDEX로 문자열 자르기 🍿 요구사항 (Requiredments) 기존 테이블에서 컬럼을 새로 추가하고, 하나의 컬럼을 기준으로 문자열을 2가지로 나누려고 합니다. 새로 추가한 컬럼을 마이그레이션 하려고 합니다. 🍑 해결방안 (Solution or Next step) SUBSTRING_INDEX 사용방법 SUBSTRING_INDEX(문자열, 구분자, 구분자 인덱스) 예시코드 SELECT column_name, SUBSTRING_INDEX(column_name, 'F', 1), SUBSTRING_INDEX(column_name, '_', -1) FROM table_name column_name: 해당 컬럼 명을 넣어주세요. table_name: 해당 테이블 명을 넣어주세요. 🥦 회고 (Retrospective) Java로 매번 s.. 2021. 12. 6.
MySQL | GROUP BY와 HAVING으로 컬럼 중복값 찾기 😏 요구사항 (Requiredments) 처음부터 테이블을 잘 만들어두면 좋겠지만, 시스템이나 서비스를 오랜 기간 운영하다 보면 컬럼을 변경할 일이 생길 수 있습니다. 유니크 인덱스(UNIQUE INDEX)는 컬럼에 중복된 값이 포함되어 있으면 생성할 수 없습니다. 이번에 컬럼을 변경하면서, 유니크 인덱스를 걸어두어도 괜찮을지 고민하던 차에 기존 데이터에 중복값이 있는지 확인하려고 합니다. 😚 해결방안 (Solution or Next step) 저의 경우에는 찾고자 하는 조건 컬럼이 3개여서 다음과 같이 사용했습니다. SELECT a_column, b_column, c_column, count(1) AS cnt FROM table_name GROUP BY a_column, b_column, c_colum.. 2021. 12. 5.
02장 네트워크 연결과 구성 요소 👈 이전 글 | 📚 목차 | 다음 글 👉 02장 네트워크 연결과 구성 요소 2.1 네트워크 연결 구분 네트워크는 규모와 관리 범위에 따라 LAN, MAN, WAN 3가지로 구분됨 예전에는 각 네트워크에서 사용하는 기술이 모두 달라 사용하는 프로토콜이나 전송 기술에 따라 쉽게 구분할 수 있었음 현재는 기술 대부분이 이더넷으로 통합되면서 사용자가 전송 기술을 구분하는 것이 무의미해져서, 관리 범위 기준으로 구분함 2.1.1 LAN (Local Area Network): 사용자 내부 네트워크 자신이 소유한 건물이나 대지에 직접 구축한 선로로 동작시키는 네트워크. 비교적 소규모의 네트워크. 복잡하거나 대규모인 네트워크라도 직접 구축한 네트워크 범위라면 LAN이라고 함 먼 거리를 통신할 필요가 없어 스위치와 같이.. 2021. 11. 15.
01장 소개 01장 소개 1.1 MySQL 소개 지금 사용중인 MySQL은 오픈소스지만, 처음에는 오픈소스가 아니었음 MySQL의 역사 1979년 스웨덴의 TcX라는 회사의 터미널 인터페이스 라이브러리인 UNIREG로부터 시작됨 1994년 UNIREG가 웹 시스템의 데이터베이스로 사용하기 시작해서 MySQL 버전 1.0이 완성됐지만 TcX에서만 사용됨 1996년 일반인에게 공개됨 2000년 TcX에서 MySQL를 개발한 중심인물(몬티와 데이빗)이 MySQL AB라는 회사로 독립, FPL(Free Public License) 라이센스 정책으로 바뀜 2006년 현재와 같은 2가지 라이센스 정책으로 운영됨 이후 썬마이크로시스템즈에 인수되었다가 다시 오라클로 인수됨 1.2 왜 MySQL인가? MySQL과 오라클을 비교해 봤.. 2021. 10. 8.
목차 - 도서 『Real MySQL 8.0 1권』 요약 01장 소개 01장 소개 01장 소개 1.1 MySQL 소개 지금 사용중인 MySQL은 오픈소스지만, 처음에는 오픈소스가 아니었음 MySQL의 역사 1979년 스웨덴의 TcX라는 회사의 터미널 인터페이스 라이브러리인 UNIREG로부터 시작됨 1994년 yian.tistory.com 1.1 MySQL 소개 1.2 왜 MySQL인가? 02장 설치와 설정 2.1 MySQL 서버 설치 2.2 MySQL 서버의 시작과 종료 2.3 MySQL 서버 업그레이드 2.4 서버 설정 03장 사용자 및 권한 3.1 사용자 식별 3.2 사용자 계정 관리 3.3 비밀번호 관리 3.4 권한(Privilege) 3.5 역할(Role) 04장 아키텍처 4.1 MySQL 엔진 아키텍처 4.2 InnoDB 스토리지 엔진 아키텍처 4.3.. 2021. 10. 8.
MySQL/MyBatis | 동적 쿼리(Dynamic Query) 사용하기 🍰 요구사항 (Requirements) A라는 서비스에 해당하는 테이블들을 조인하여 조회하는 기능에 사용 중입니다. 추후 공통화를 위해 B, C 서비스도 추가될 예정입니다. A, B, C 서비스 모두 하나의 쿼리에서 작업할 수 있도록 공통화 작업을 해야 합니다. 테이블은 필수로 사용되는 all_hist, 각 서비스에 해당하는 a_request, a_response, b_request, b_response, c_request, c_response가 있다고 가정합니다. 🏰 해결방법 (Solution or Next step) DTO에 flag가 되는 변수가 있다면 SQL문 FROM 절에 해당 변수를 체크하는 조건을 추가해주면 됩니다. ReqDTO에 flag 역할을 하는 type이라는 변수가 있다고 가정합니다... 2021. 10. 2.