728x90
반응형
728x90
반응형

 

Cursor AI 소개

 

1. 개발 생산성 향상

  • 자동 코드 완성: 함수명, 변수명, 로직 흐름 등을 문맥에 맞게 예측해 자동으로 완성해 주기 때문에 반복적인 코딩 작업이 크게 줄어듭니다.
  • 멀티라인 코드 생성: 단순히 한 줄 자동완성이 아니라, 함수 전체나 알고리즘 블록 단위로 코드 제안을 받을 수 있습니다.
  • 코드 패턴 학습: 프로젝트 전체의 코드 스타일을 학습해, 기존 코드와 일관성 있는 제안을 합니다.

 

2. 코드 품질 개선

  • 에러 감지 및 리팩토링 제안: 문법 오류나 비효율적인 코드를 자동으로 지적하고 개선된 코드를 제안합니다.
  • 주석 생성 및 문서화 지원: 함수 설명, 매개변수 정의, 사용 예시 등을 자동 생성해 문서화 품질을 높입니다.
  • 테스트 코드 생성: 간단한 테스트 케이스 코드를 자동으로 생성할 수 있어 QA 시간 단축에 도움 됩니다.

 

3. 작업 편의성 및 협업 기능

  • 실시간 코드 리뷰: 코드 작성 중 바로 리뷰를 받아 코드 품질을 유지하면서 개발할 수 있습니다.
  • 다양한 언어와 프레임워크 지원: React, Spring Boot, Node.js 등 주요 언어와 프레임워크를 폭넓게 지원합니다.
  • Git 연동: PR 리뷰, 코드 변경 요약 등을 자동화해 협업 효율성을 높입니다.

 

4. 생산성 도구와의 통합

  • VS Code, JetBrains 플러그인 지원: 별도의 환경 구축 없이 주로 쓰는 IDE에서 바로 사용할 수 있습니다.
  • 대규모 코드베이스 지원: 수천 개의 파일이 있는 프로젝트에서도 빠른 코드 탐색과 이해를 돕습니다.

 

5. 추가적인 장점

  • 자연어 기반 명령: "이 함수 최적화해줘", "에러 원인 찾아줘"처럼 자연어로 요청하면 코드 수정이 가능합니다.
  • 코드 설명 기능: 다른 사람이 작성한 복잡한 코드도 이해하기 쉽게 요약해 줍니다.

 

서비스 월 요금 (기본 / 대표 플랜) 주요 장점

Cursor AI $20/월 (Pro) (Cursor) 최고 플랜 Ultra는 $200/월 (Cursor) • 대형 코드베이스 + 복잡한 프로젝트에서 강한 성능 • 에이전트 기능, 버그 발견(Bugbot) 등 고급 기능 포함됨 • 프리미엄 모델 / 긴 문맥(context) 지원 • 개발자에게 유연한 작업 흐름 제공 (Cursor)
Windsurf $15/월 (Pro 플랜) (windsurf.com) Teams 플랜은 $30/월/사용자 (windsurf.com) • 가격 대비 기능이 좋음 (가성비) • 깔끔한 UI/UX, 진입 장벽 낮음 • 무료 플랜도 있음 + 프리미엄 모델 시험 가능 • 팀 기능, 협업 도구, 배포(deploy) 기능 포함됨 (windsurf.com)
Claude Code $17/월 (Pro 연간 요금) 또는 $20/월 월납 (Anthropic) 고급 사용자용 Max 플랜은 $100/월, 또는 그 이상 플랜 있음 (Anthropic) • 복잡한 코드베이스 + 멀티스텝 작업에 강함 • 터미널 기반/자동화 워크플로우에 잘 맞음 • 다양한 모델 접근 가능 (Sonnet, Opus 등) • 코드 이해 + 설명 + 문서화 같은 지원 기능 좋음 (Anthropic)
728x90
반응형
728x90
반응형

 

Termius 소개 및 활용 방법

 

1. Termius 홈페이지

https://termius.com/download/windows

 

Download Termius for Windows

Download Termius for Windows. Download .EXE. Try Termius for mobile. Enjoy the secure sync and access your servers on the go with Termius mobile app.

termius.com

 

2. Termius란

Termius는 SSH(Secure Shell) 클라이언트이자 원격 서버 관리 도구로, 개발자와 시스템 관리자가 서버에 쉽게 접속하고 관리할 수 있도록 도와주는 애플리케이션이에요. 주로 원격 리눅스 서버, Docker 컨테이너, Raspberry Pi 같은 장치에 접속할 때 많이 사용됩니다.

 

3. 주요기능

  • SSH 연결 관리
  • SFTP 지원
  • 터미널 세션 동기화
  • 포트 포워딩
  • 명령어 스니펫(Snippet)

 

4. Hosts 

  • Host 이름: 연결을 쉽게 구분할 수 있는 별칭
  • Hostname / IP 주소: 실제 서버의 도메인명이나 IP
  • 포트(Port): 기본 SSH 포트는 22, 필요시 다른 포트 지정 가능
  • 사용자명(User): 원격 서버 로그인 계정
  • 인증 방식: 비밀번호 또는 SSH 키 인증
  • 그룹(Group): 여러 서버를 프로젝트·환경별로 그룹화 가능

 

5. Keychain

  • SSH Key 관리
    • RSA, ECDSA, ED25519 등 다양한 타입의 SSH 키를 생성·저장
    • 이미 만들어둔 키도 가져와서 재사용 가능
    • 여러 Host에 같은 키를 적용해 매번 새로 설정할 필요 없음
  • 비밀번호 관리
    • 서버 로그인 시 필요한 비밀번호를 암호화해 저장
    • Termius 내에서 안전하게 암호화돼 저장되므로 매번 입력할 필요 없음
  • Key-Agent 기능
    • SSH 에이전트처럼 한 번 로그인하면 여러 서버에서 재인증 없이 사용 가능

 

6. Port Forwarding

  • Local Forwarding (로컬 포워딩)
    • 내 컴퓨터의 특정 포트를 원격 서버를 거쳐 다른 목적지 서버로 연결
    • 예: localhost:8080 → SSH 서버 → 10.0.0.5:3306(MySQL)
    • → 내 PC에서 localhost:8080에 접속하면 내부망 DB(10.0.0.5:3306)에 연결
  • Remote Forwarding (원격 포워딩)
    • 원격 서버에서 들어오는 요청을 내 로컬 머신으로 전달
    • 예: 원격 서버의 :8080으로 접근 → 내 PC의 :3000에서 처리
  • Dynamic Forwarding (SOCKS Proxy)
    • 원격 서버를 통해 여러 목적지로 트래픽을 라우팅하는 프록시 모드
    • VPN처럼 사용할 수 있음

 

7. Terminu 설정 시 모습

로컬(127.0.0.1:3333) → 중계 서버(2.2.2.2) → 목적지(3.3.3.3:7777)

  • Label: 포트포워딩
  • Local port number: 3333
  • Bind address: 127.0.0.1
  • Intermediate host: 2.2.2.2
  • Destination address: 3.3.3.3
  • Destination port number: 7777

 

 

 

728x90
반응형
728x90
반응형

 

Oracle 시노님 사용방법

 

 

시노님 사용순서

1. 테이블 소유하고 있는 계정에서 특정계정에게 권한부여

GRANT 권한명 ON 소유유저명.테이블명 TO 권한받을유저;

ex) GRANT SELECT ON TEST.TEST_TABLE TO TEST2;

 

2. 사용하고자하는 계정(권한받을유저)에서 소유하고있는계정과 같은 테이블로 시노님부여

CREATE SYNONYM 시노님명 FOR 유유저명.테이블명;

ex) CREATE SYNONYM TEST_TABLE FOR TEST.TEST_TABLE;

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] 트리거 Trigger Example  (0) 2024.03.12
[Oracle] TO_CHAR 함수 Example  (0) 2024.03.11
[Oracle] CONNECT BY LEVEL Example  (0) 2024.03.11
[Oracle] lNSTR 함수 Example  (0) 2024.03.11
[Oracle] LAST_DAY 함수 Example  (0) 2024.03.11
728x90
반응형

 

Oracle 트리거 사용방법

 

 

트리거란 ?

테이블에 대한 이벤트(INSERT, UPDATE, DELETE)에 반응하여 자동으로 실행되는 작업

 

 

트리거 문법

  • [OR REPLACE] : 등록된 트리거가 있을 경우, 새로 생성하는 트리거로 변경
  • BEFORE or AFTER : 쿼리 트리거이벤트가 발생하기 전, 후 지정
  • INSERT or UPDATE or DELETE : 트리거이벤트 유형을 지정
  • [FOR EACH ROW] : 각 행에 대해 트리거를 실행여부를 지정
  • [WHEN 조건] : 트리거가 실행되는 조건을 기입
  • [DECLARE 변수 선언] : 트리거 내에서 사용할 변수를 선언

 

트리거이벤트 OLD NEW
INSERT X O
UPDATE O O
DELETE O X
  • OLD 기존 데이터 (UPDATE, DELETE의 데이터)
  • NEW 신 데이터 (INSERT, UPDATE의 데이터)
  • :OLD.컬럼명 / :NEW.컬럼명

 

 

트리거 예시

테이블이 이벤트가 발생하였을 경우

CREATE OR REPLACE TRIGGER "TR_TEST_LOG"
   AFTER DELETE OR INSERT ON TEST_TABLE
   FOR EACH ROW
BEGIN
   IF INSERTING THEN
      INSERT INTO TEST_TABLE_LOG
                ( 
                     COL_A
                   , COL_B

                ) VALUES (
                   , :NEW.COL_A
                   , :NEW.COL_B
                )
           ;

  ELSIF DELETING THEN
      INSERT INTO TEST_TABLE_LOG
                ( 
                     COL_A
                   , COL_B

                ) VALUES (
                   , :OLD.COL_A
                   , :OLD.COL_B
                )
           ;
    END IF;
END;

 

테이블의 컬럼에 이벤트가 발생하였을 경우

CREATE OR REPLACE TRIGGER "TR_TEST_LOG"
   AFTER DELETE OR INSERT OR UPDATE OF T1, T2 ON TEST_TABLE
   FOR EACH ROW
BEGIN
   IF INSERTING THEN
      INSERT INTO TEST_TABLE_LOG
                ( 
                     COL_A
                   , COL_B

                ) VALUES (
                   , :NEW.COL_A
                   , :NEW.COL_B
                )
           ;

  ELSIF UPDATING THEN
  
      DELETE FROM TEST_TABLE_LOG
       WHERE COL_A = :NEW.COL_A
         AND COL_B = :NEW.COL_B
     ;
      
      INSERT INTO TEST_TABLE_LOG
                ( 
                     COL_A
                   , COL_B

                ) VALUES (
                   , :OLD.COL_A
                   , :OLD.COL_B
                )
           ;
           
  ELSIF DELETING THEN
       DELETE FROM TEST_TABLE_LOG
        WHERE COL_A = :NEW.COL_A
          AND COL_B = :NEW.COL_B
       ;           
       
    END IF;
END;

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] 시노님 Synonym Example  (0) 2024.03.12
[Oracle] TO_CHAR 함수 Example  (0) 2024.03.11
[Oracle] CONNECT BY LEVEL Example  (0) 2024.03.11
[Oracle] lNSTR 함수 Example  (0) 2024.03.11
[Oracle] LAST_DAY 함수 Example  (0) 2024.03.11
728x90
반응형

 

Oracle TO_CHAR 함수 사용방법

 

 

TO_CHAR 함수 - 날짜, 숫자등의 값을 문자열로 변경

 

 

날짜포맷 변경하기

포맷 설명 예제






"text"
결과에 포함되는 구두점과 텍스트 SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;
→ 20220524

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
→ 2022-05-24

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM DUAL;
→ 2022/05/24

SELECT TO_CHAR(SYSDATE, 'YYYY,MM,DD') FROM DUAL;
→ 2022,05,24

SELECT TO_CHAR(SYSDATE, 'YYYY.MM.DD') FROM DUAL;
→ 2022.05.24

SELECT TO_CHAR(SYSDATE, 'YYYY;MM;DD') FROM DUAL;
→ 2022;05;24

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
→ 2022/05/24 17:34:40

SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;
→ 2022년 05월 24일
DL 날짜 형식 값을 반환 
※ NLS_DATE_FORMAT 의해 결정됨
SELECT TO_CHAR(SYSDATE, 'DL') FROM DUAL;
→ 2022년 5월 24일 화요일
YYYY
SYYYY
년 4자리
S를 지정하면 기원전의 날짜의 선두에 부의 부호(-)가 붙는다.
SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL;
→ 2022
YYY
YY
Y
년 3, 2, 1자리 SELECT TO_CHAR(SYSDATE, 'YY') FROM DUAL;
→ 22 -- 2022년이므로 뒤의 2자리인 22만 반환
RR 00~49는 2000~2049년
50~99는 1950~1999년을 의미한다.
SELECT TO_CHAR(SYSDATE, 'RR') FROM DUAL;
→ 22
Q 분기(1~4)
(1:1~3월, 2: 4~6월, 3: 7~9월, 4: 10~12월)
SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL;
→ 2 -- 2분기
MM 월(01~12, 1월 : 01) SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL;
→ 05
D 요일(일→1, 토→7)
※ 세션의 NLS 지역에 따라 다름
SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL;
→ 3
DD 일(1~31) SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL;
→ 24
DDD 년의 날(1~366) SELECT TO_CHAR(SYSDATE, 'DDD') FROM DUAL;
→ 144 -- 365일 기준 144일
HH
HH12
시간(1~12) SELECT TO_CHAR(SYSDATE, 'HH') FROM DUAL;
→ 04 
HH24 시간(0~23) SELECT TO_CHAR(SYSDATE, 'HH24') FROM DUAL;
→ 16
MI 분(0~59) SELECT TO_CHAR(SYSDATE, 'MI') FROM DUAL;
→ 53
SS 초(0~59) SELECT TO_CHAR(SYSDATE, 'SS') FROM DUAL;
→ 19
SSSSS 오전 0시부터 경과한 초(0~86399) SELECT TO_CHAR(SYSDATE, 'SSSSS') FROM DUAL;
→63417
FF[1..9] - 밀리세컨드
- FF 뒤에 1 - 9 숫자를 설정하여 반환되는 날짜/시간 값의 밀리세컨드 부분의 자릿수를 지정 
※ 숫자를 지정하지 않으면 6으로 인식
- 타임스탬프 형식 및 기간 형식에서는 유효하지만 DATE형식에서는 유효하지 않음
SELECT TO_CHAR(SYSTIMESTAMP, 'SS.FF3') from DUAL;
→ 15.791
DY 요일(MON, 월 등) SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL;
→ 화
DAY 요일(Monday, 월요일 등) SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL;
→ 화요일
MON 달 이름의 약어(1월~12월, JAN~DEC) SELECT TO_CHAR(SYSDATE, 'MON') FROM DUAL;
→ 5월
MONTH 달 이름 (1~12월, JANUARY~DECEMBER) SELECT TO_CHAR(SYSDATE, 'MONTH') FROM DUAL;
→ 5월
AM 오전, 오후
※ oracle 설정에 따라 AM,PM으로 반환
SELECT TO_CHAR(SYSDATE, 'AM') FROM DUAL;
→ 오후
WW 년의 주수(01~53)
첫 번째 주는 1월 1일로 시작, 7일에 종료
SELECT TO_CHAR(SYSDATE, 'WW') FROM DUAL;
→ 21 -- 1년 기준 21주
W 월의 주수(1~5)
첫 주는 그 달의 1일로 시작, 7일에 종료
SELECT TO_CHAR(SYSDATE, 'W') FROM DUAL;
→ 4

출처 : https://kr98gyeongim.tistory.com/100

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] 시노님 Synonym Example  (0) 2024.03.12
[Oracle] 트리거 Trigger Example  (0) 2024.03.12
[Oracle] CONNECT BY LEVEL Example  (0) 2024.03.11
[Oracle] lNSTR 함수 Example  (0) 2024.03.11
[Oracle] LAST_DAY 함수 Example  (0) 2024.03.11
728x90
반응형

 

Oracle CONNECT BY LEVEL 사용방법

 

 

CONNECT BY LEVEL - 계층형쿼리, LEVEL사용하여 For문처럼 사용하기

SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= N

ex) SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= 7

 

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] 트리거 Trigger Example  (0) 2024.03.12
[Oracle] TO_CHAR 함수 Example  (0) 2024.03.11
[Oracle] lNSTR 함수 Example  (0) 2024.03.11
[Oracle] LAST_DAY 함수 Example  (0) 2024.03.11
[Oracle] REVERSE 함수 Example  (0) 2024.03.11
728x90
반응형

 

Oracle INSTR 함수 사용방법

 

 

INSTR 함수 정의

  • java의 indexOf와 같은 기능
  • 찾는 문자 없을시 0 리턴
  • 찾는 단어의 첫번째 index 리턴
  • Default 좌측에서 우측
  • 시작위치 음수일경우 우측에서 좌측

 

 

INSTR 함수 문법

SELECT INSTR('문자열', '검색 값', [시작위치], [n번째 검색위치]) FROM DUAL;

 

 

찾는 값이 없을 경우 0 리턴

 

찾는 값이 있을 경우

ex) 

  • SELECT 'abcabc'  FROM DUAL;
  • SELECT INSTR('abcabc', 'ab')  FROM DUAL;
  • SELECT INSTR('abcdabc', 'ab', 1, 1)  FROM DUAL;
  • SELECT INSTR('abcdabc', 'ab', 1, 2)  FROM DUAL;
  • SELECT INSTR('abcdabc', 'ab', 3, 1)  FROM DUAL;
  • SELECT INSTR('abcdabc', 'ab', -1, 1)  FROM DUAL;

 

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] TO_CHAR 함수 Example  (0) 2024.03.11
[Oracle] CONNECT BY LEVEL Example  (0) 2024.03.11
[Oracle] LAST_DAY 함수 Example  (0) 2024.03.11
[Oracle] REVERSE 함수 Example  (0) 2024.03.11
[Oracle] REGEXP_REPLACE 함수Example  (0) 2024.03.06
728x90
반응형

 

Oracle LAST_DAY 함수 사용방법

 

 

LAST_DAY 함수 - 해당월의 마지막날짜 구하기

SELECT LAST_DAY(날짜) FROM DUAL;

ex) 

  • SELECT LASY_DAY('20240201') FROM DUAL;
  • SELECT LASY_DAY(SYSDATE) FROM DUAL;
  • SELECT TO_CHAR(LASY_DAY(SYSDATE), 'YYYYMMDD') FROM DUAL;

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] CONNECT BY LEVEL Example  (0) 2024.03.11
[Oracle] lNSTR 함수 Example  (0) 2024.03.11
[Oracle] REVERSE 함수 Example  (0) 2024.03.11
[Oracle] REGEXP_REPLACE 함수Example  (0) 2024.03.06
[Oracle] Case 표현식 Example  (0) 2024.01.18

+ Recent posts