전체 글 19

Day03. 자바 프로그래밍 기본

목차자바 기본 문법Overloading하나의 class 내부에 이름이 같은 method가 여러 개 있는 것하나의 method 이름을 가지고 기능을 다르게 구현작성 규칙modifier(접근 제한자)는 같아도 달라도 상관 없음returnType 같아도 달라도 상관 없음method 이름은 반드시 같아야 함!매개변수는 순서 or 타입 or 개수 셋 중 하나는 달라야 함!예) System.out.println()public void println()public void println(boolean x)public void println(char x)public void println(int x)public void println(long x)public void println(float x)public void ..

Day02. 자바 프로그래밍 기본

tip💡 mac의 finder에서 숨김 폴더 보기 command+shift+.자바 기본 문법Method작성 방법/* syntax */modefiers returnType methodName(parameters) { [return 가지고 나갈 값;] // [생략 가능]}modefiers(0개 이상) 제한자access modefier 접근 제한자public 어디서나 아무나protected 폴더가 달라도 상속관계면 어디서나( ) 같은 패키지라면 아무나private 하나의 객체 안에서만. 이걸 붙여주면 은닉=캡슐화기타 제한자static 객체 생성 없이 접근final 상속, 오버라이딩 금지abstractsyncronizeddefaultreturnType 반환 데이터타입void 리턴 값이 없다primitive t..

[Java] Google Java Style Guide - 5. Naming

이 글은 구글 자바 스타일 가이드의 네이밍 파트를 번역・정리한 글입니다. 목차 모든 식별자에 대해 ASCII 문자 또는 숫자로만 작성되어야 하며, 정규식 [\w+]에 매치되는 모든 이름이 가능합니다. \w 는 [A-z0-9_]와 동일. 특별한 접두사나 접미사를 붙일 필요가 없으면 다음과 같이 이름 짓지 않습니다. name_ mName s_name kName 패키지 이름 패키지 이름은 소문자와 숫자만 사용합니다(_ 없음). 연속되는 단어는 간단히 연결합니다. com.example.deepSpace ❌ com.example.deep_space ❌ com.example.deepspace ✅ 클래스 이름 클래스 이름은 대문자로 작성됩니다. UpperCamelCase 클래스 이름은 일반적으로 명사 또는 명사구입니..

⚙️ backend 2023.05.01

[Spring] Google Speech-to-Text로 오디오 파일을 스크립트로 변환하기

Google Cloud Platform에서 제공하는 Speech-to-Text API를 활용하여 10초 이내의 오디오 파일을 스크립트로 변환합니다  내 프로젝트 환경JVM 17.0.6Gradle 7.6Springboot 3.0.2시작하기 전에프로젝트에서 Speech-to-Text 사용 설정1. 프로젝트 만들기기존 프로젝트를 선택하거나 새 프로젝트를 만듭니다.프로젝트 만들기를 선택합니다프로젝트 이름, 조직을 입력하고 만들기를 선택합니다프로젝트가 생성되었습니다2. 결제 계정 등록좌측 상단의 햄버거 버튼을 누르면 결제 개요를 볼 수 있습니다결제 개요에서 모든 상태 확인을 선택합니다계정 관리를 선택합니다저는 만들어둔 결제 계정이 있습니다. 결제 계정이 하나도 없다면 생성하고 프로젝트에 연결해줍니다.3. 서비스 ..

[MySQL] UNION을 사용하여 여러 집합을 하나의 집합으로 결합하기

SQL에서 UNION 연산자는 두 개 이상의 SELECT 문의 결과를 하나의 집합으로 결합하는 데 사용됩니다. 각 SELECT 문의 결과는 대응하는 필드의 이름과 타입이 같아야 합니다. # 예시 쿼리 SELECT employee_id, first_name, last_name FROM employees WHERE department_id = 1 UNION SELECT employee_id, first_name, last_name FROM employees WHERE department_id = 2; 이 예제에는 employees 테이블에서 employee_id, first_name 및 last_name 열을 선택합니다. 첫 번째 SELECT 문은 department_id 1의 직원만 선택하고, 두 번째 S..

[MySQL] REGEXP 함수를 이용하여 숫자 또는 문자만 추출하기

Extracting Numbers or Non-Numeric Characters with MySQL.MySQL의 REGEXP 함수를 사용하여 문자열에서 숫자를 추출할 수 있습니다.# 쿼리 예시SELECT REGEXP_REPLACE('abc123def456ghi789', '[^0-9]+', '') AS numbers;param1) 입력 문자열param2) [^0-9]+ : 숫자가 아닌 모든 문자와 일치하는 정규식param3) 입력 문자열에서 숫자가 아닌 모든 문자를 대체하는 빈 문자열# 결과'123456789'반대로 정규식 [0-9]+으로 숫자만 추출할 수 있습니다.MySQL에서 REGEXP_REPLACE 함수를 사용하여 문자열에서 모든 숫자를 제거하고 숫자가 아닌 문자만 가져올 수 있습니다.# 쿼리 예시..

티스토리 목차 자동 생성 서식

더보기 contents 2023.02.19 모바일앱에서는 목차가 생성되지 않음을 확인하였습니다. 모바일웹에서는 정상적으로 목차가 생성됩니다. 2023.04.05 접히지 않는 목차를 생성하는 html 마크업을 추가하였습니다. 목차는 티스토리의 제목1~제목3을 수집하여 순서대로 보여주는 것이다. 목차는 필자의 논리적 글쓰기를 돕고 독자의 글 이해를 돕는다. 티스토리와 같은 줄글 형식의 블로그에서 목차가 너무 길어지면 내용이 늦게 노출되는 불편함이 있다. 따라서 이 포스트에서는 접고 펼 수 있는 목차를 생성하는 방법을 소개한다. 세팅 js 파일 다운 아래의 파일을 다운받는다. h태그로 목차를 만들어주는 플러그인을 축소(minify)한 javascript 파일이다. 참고로 티스토리의 제목1, 제목2, 제목3은 ..

💡 tips 2023.02.15

[PS] Dynamic programming : 동적 프로그래밍

한 번 해결된 부분 문제의 정답을 메모리에 기록하여 한 번 계산한 답은 다시 계산하지 않도록 하는 문제 해결 기법. 다이나믹 프로그래밍은 점화식을 그대로 코드로 옮겨서 구현할 수 있다. 점화식이란 인접한 항들 사이의 관계식을 의미한다. 조건 최적 부분 구조(Optional substructure) 큰 문제를 작은 문제로 나눌 수 있으며, 작은 문제의 답을 모아서 큰 문제를 해결할 수 있음 중복되는 부분 문제(Overlapping Subproblem) 동일한 작은 문제를 반복적으로 해결해야 함 예시 (문제 링크 추가 예정) 다이나믹 프로그래밍을 이용한 소스코드를 작성하는 방법 두가지 1. Top-down : 메모이제이션 (Memoization) 재귀 함수를 이용하여 큰 문제를 해결하기 위해 작은 문제를 호..

[Spring] WebSocket을 사용하여 대화형 웹 애플리케이션 구축하기

웹소켓은 TCP 위에 있는 얇고 가벼운 계층입니다. 따라서 메시지를 포함하기 위해 "하위 프로토콜"을 사용하는 데 적합합니다. 이 포스트에서는 Spring과 함께 STOMP 메시징을 사용하여 대화형 웹 애플리케이션을 만듭니다. STOMP는 하위 수준 WebSocket 위에서 작동하는 하위 프로토콜입니다. spring.io의 포스트를 참고하여 작성하였습니다. Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io 만들 것 사용자 이름이 포함된 메시지를 수락하는 서버를 구축합니다. 이에 대한 응답으로 서버는 클라이언트가 가입한 대기..