728x90

얼마 전  IDE를 Eclipse에서 IntelliJ로 DB Tool도 무료 DB Tool 중 가장 괜찮은 DBeaver로 바꾸었습니다.

그러면서 겪었던 설치 및 사용법을 정리하려고 합니다.

 

DBeaver 다운로드

아래 URL에 접속하여 설치를 진행하면 됩니다.

dbeaver.io/download/

 

 

위에 OS(Window, Mac) 에 맞게 설치파일을 다운로드 받은 후 설치하면 됩니다.

 

설치 파일 실행하면 아래와 같은 화면이 나옵니다.

 

해당되는 언어와 함께 "OK"를 클릭합니다.

 

"다음 >"을 클릭합니다.

"동의함" 클릭합니다.

 

모든사람이 쓰는 컴퓨터인지 개인용인지 체크 후 "다음 >" 클릭합니다.

 

"다음 >"을 클릭합니다.

"다음" 클릭합니다.

 

"설치"를 클릭하면 설치가 됩니다.

DBeaver 기본 사용법

DBeaver를 실행합니다.

 파일 > 새로만들기를 "클릭"합니다.

 

데이터베이스 연결 선택 후 "다음"을 클릭합니다.

 

해당하는 db를 선택합니다.

 

각 해당하는 host/port/service name 등 각 정보를 입력한 후 "완료" 버튼을 클릭하면 됩니다.

 

맺음말

개발하시는 분들은 아시다시피 기존에 익숙했던 Tool을 바꾸는것은 무척 짜증나는 일입니다. 단축키도 다르고요.

하지만 편안하고 괜찮은 Tool이 있다면 지속적으로 개발자들은 바꿔야겠죠? 신기술이 나오면 계속 배워야 하는 것처럼 말이죠. 저도 앞으로 신기술이 나오거나 괜찮은 Tool이 나오면 지속적으로 바꾸고 익숙해지도록 노력할겁니다!

수고하세요!

반응형

'tool > DBeaver' 카테고리의 다른 글

DBEaver 편리하게 사용하기 위한 환경설정 사용법  (0) 2021.03.24
728x90

개발자들 중에서 제일 많이 쓰는 IDE는 무엇일까요?

최근에는 Eclipse, VsCode, IntelliJ IDEA 3개 중 하나의 대답이 나올 것이라고 생각합니다.

 

저는 최근 이클립스를 6년 넘게 쓰다가 IntelliJ IDEA로 바꾼 지 1년이 됐습니다.

처음에는 익숙했던 단축키를 잘 못 누르는 것부터 사용법을 잘 모르고 개발 시간이 오래 걸려 "아 다시 Eclipse로 넘어갈까?"를 많이 고민했습니다.

 

하지만 Eclipse에 비해 IntelliJ IDEA 만의 장점들을 인지하고 바꾸었기 때문에 익숙해지면 훨씬 나은 IDE에서 개발할 수 있겠다는 생각이 들어 꾸준히 사용한 결과, 이제는 Eclipse 정도의 단축키와 기능들을 사용할 수 있게 되었습니다.

 

그렇다면 제가 알게 된 Eclipse를 안 쓰고 IntelliJ IDEA를 쓰는 이유를 써 내려가겠습니다.

 

Eclipse 보다 좋은 이유?

   1) 자동 Indexcing 처리

      - 처음 IntelliJ를 체험판으로 접할 때 드는 생각은 "아 이거 왜 이렇게 빨라?"였습니다. Eclipse는 프로젝트가 무거워질수록 느려지며          개발을 하면서 project clean을 해야지만 해결이 되는 다양한 코딩 에러가 아닌 IDE만의 에러가 발생하는 경우가 많습니다. 하지만            IntelliJ는 모든 것이 Indexcing가 되어 있어 빠르게 처리가 가능하여 이러한 에러가 잘 발생하지가 않습니다. 또 한 스마트한 자동완             성 기능과 그것을 컨트롤할 수 있는 기능들이 있어, 나만의 intellij를 만들어 사용이 가능합니다.

 

   2) 개발의 질을 높여질 수 있는 Plug in을 간편하게 설치하여 사용 가능

      - 간단하게 내부에서 plug in을 설치하는 것으로 개발의 질을 높일 수 있다.

         그 종류에는 Grep console, Key promoter X, Lombok, Rainbow Brackets 등이 있다.

 

    3) 검색이 빠르고 편하다

     - ctrl + f(문자 검색) , ctrl + n(파일 검색) 등으로 빠르게 검색이 가능합니다. Eclipse를 사용하시는 모든 분들은 검색을 하실 때

        ctrl + h를 누르고 검색을 누른 후 검색 대기를 지켜보신 분들이 많으실 겁니다. 하지만 Intelli J의 경우 모든 것들이 Indexcing 처리            가 되어있어 자판을 누르자마자 검색이 되는 것을 보실 수 있을 겁니다. 이 점은 개발 속도 면에서 어마 무시한 차이를 보이더라고요.

 

위와 같은 이유들 외에도 추가적으로 Intelli J가 더 좋은 이유들이 있겠지만 그러한 이유들은 앞으로 지속적으로 개발하거나 지식을 얻게 되면 추가적으로 덧 붙여서 글을 수정하도록 하겠습니다. 저는 현재 개발을 하면서 IntelliJ IDEA에 대해 큰 만족감을 느끼며 개발을 하고 있습니다. 또 한 Eclipse를 사용할 때마다 훨씬 빠른 개발 퍼포먼스를 내고 있습니다.

 

이러한 이유들로 앞으로 IDE를 고민하는 모든 분들 중 Eclipse vs IntelliJ 중에 고민을 하신다면 저는 무조건 IntelliJ IDEA를 추천하겠습니다.

반응형
728x90

형상관리의 대중적으로 대표적인 Tool 중 하나인 SVN에 대해서 공부해보려고 합니다.

형상관리는 간단히 얘기해서 "소스의 변화/history들을 관리"라고 생각하면 됩니다.

 

형상관리의 대표 적인 툴 중 하나인 SVN은

여러 명이서 프로젝트의 버전 관리 및 각자 만든 소스의 통합과 같은 문제를 해결하기 위해 사용합니다. 즉 저장소(Repository)를 만들어 그곳에 소스를 저장해 소스 중복이나 여러 문제를 해결하기 위한 형상관리 Tool입니다.

 

그럼 SVN에서 사용하는 대표적인 용어들을 찾아서 정리해보았습니다.

 

1. Repository(저장소)

Repository는 단순하게 얘기하자면 집이라고 생각하면 된다.

모든 프로젝트 파일 및 변경정보가 저장되는 장소입니다. 한 프로젝트마다 하나의 집(Repository)이 필요하며, 네트워크(SVN 주소 공유)를 통해 Repository에 접근하여 commit, update, delete , branch 추가 등 다양한 기능들을 사용합니다.

 

2. Trunk

Repository에서 가장 중추가 되는 소스의 저장소라고 생각하면 됩니다. 가장 중심이 되는 Directory로 개발 소스를 commit 하거나 할 때 주로 이 부분에 commit 해서 사용합니다.

 

3. Branch

Trunk가 중추가 되는 소스의 저장소라면 Branch는 프로젝트의 가지라고 생각하면 되며, 각각의 프로젝트 안에 프로젝트로 소스 관리를 하는 저장소입니다. Branch에서 소스 작업을 하고 후에 Trunk와 소스를 Merge 하여 사용합니다.

 

4. Check out

저장소(Repository)에 있는 파일들을 내 local 저장소에 다운로드하는 것입니다.

 

5. Commit

Local 저장소의 변경된 내용을 Repository에 전송 / Check out 한 파일의 수정사항을 갱신

 

6. Update

Local 저장소에 있는 파일들을 Repository에 최신 버전으로 Update

 

7. Revert

Local 저장소의 내용을 이전 상태로 돌림.

 

 

 

 

 

반응형

'형상관리 > SVN' 카테고리의 다른 글

Linux svn repository 저장소 생성  (0) 2021.07.02
리눅스 svn 계정 추가 및 변경  (0) 2021.06.09
728x90

"Build" 개발하면서 정말 많이 듣는 말이지만 개념을 모르고 가는 경우가 많습니다.

저 또한 마찬가지로 개념을 정확히 모르다가 개발을 많이 해보다가 익히게 된 개념입니다.

 

우선 Build에 대해서 간략하게 얘기하자면 2가지 개념으로 회사/개인마다 다르게 쓰이고 있습니다.

 

첫번째 Build 개념

소스코드 자체를 컴퓨터에서 실행할 수 있게끔 만드는 과정입니다.

그 과정에는 Compile testing inspection deploy 등 다양한 과정이 포함이 됩니다.

 

좀 더 자세하게 얘기하자면 소프트웨어가 응집력 있는 하나의 단위로써 작동하는 확인하는 과정이라 할 수 있습니다.

소프트웨어를 생성하고 테스트하고 검사하여 배포하기 위한 행위의 집합어 입니다.

 

두번째 Build 개념

첫번재 개념에서는 Compile > Deploy 개념을 통합적으로  Build라고 하지만, 

두번째 개념은 Compile > Build > Deploy 의 통합이 아닌 부분의 단계로 생각합니다.

 

즉, 컴파일 된 코드를 실제 실행할 수 있는 상태로 만드는 일을 Build 라는 개념으로 생각하시면 됩니다.

 

예를들어, JAVA 웹 코딩으로 말씀드리면

코드를 짜고나서 Run 코드 실행 ( 컴파일 + 실행) .java > .class 파일로 변환

war 파일로 뽑아서(Build) 서버에 Deploy

 

라고 생각하시면 됩니다.

 

 

 

 

 

 

반응형

'IT > 기본용어' 카테고리의 다른 글

클라우드 (Cloud)란?  (2) 2021.04.10
온프레미스(On-premise) 란?  (0) 2020.08.25
728x90

얼마 전 이클립스에서 인텔리 J로 옮기면서 단축키를 애를 먹었습니다.

그러면서 익힌 이클립스와 인텔리 J 단축키를 정리해보았습니다.

 

 

* 아래 표에 대문자 알파벳은 소문자로도 가능합니다.

사용하면서 알 수 있는 단축키들도 계속해서 수정하겠습니다

설명 이클립스(Eclipse) 인텔리J(IntelliJ)
특정 line 옮기기 alt + ↑, alt + ↓ ctrl + alt + ↑, ctrl + alt + ↓
메소드 단위로 커서 이동   alt + ↑, alt + ↓
특정 line 번호로 이동 ctrl + L ctrl + G
rename F2 shift+F6
특정 line 복제 ctrl + alt + ↑, ctrl + alt + ↓ ctrl + D
특정 line 삭제 ctrl + D ctrl + Y
import 정비 ctrl + shift + O ctrl + alt + O
call depth 보기 ctrl + alt + H ctrl + alt + H
창닫기 ctrl + W ctrl + F4
창 크게하기 ctrl + M ctrl + shift + F12
재실행(redo) ctrl + Y ctrl + shift + z
Method into F3 F4 or ctrl + B
호출하는 곳 보기 ctrl + alt + G ctrl + alt + F7
Find 한 것 Next ctrl + K F3
Run ctrl + F11 shift + F10
[Debug]Run   shift + F9

 

반응형

'tool > 인텔리J(Intellij J)' 카테고리의 다른 글

IntelliJ IDEA 쓰는 이유는 무엇 일까요??  (0) 2021.03.21
728x90

리눅스에서 가장 보는 명령어 중 "Yum" 입니다.

저도 처음에는 이 부분에 있어서 무슨 기능을 하는지 무엇을 뜻하는지 알수가 없었습니다.

 

Yum(Yellodog Update Modified) 이란?

 

리눅스에서 사용하는 인스톨(Install) 파일이라고 생각하면 될 것 같습니다.

구체적으로 말씀드리면, 레드햇 계열의 리눅스 배포판에서 사용하는 (패키지) 설치 관리 도구입니다.

기존에 rpm 명령어가 해결하지 못한 패키지 의존성 문제를 해결한 똑똑한 패키지 관리 tool 입니다.

Yum 명령어를 통해 설치,업데이트, 삭제를 진행할 수 있습니다.

 

패키지 의존성에 대해서 무슨 말인지 이해못하실 수 도 있습니다. 

패키지의존성이란?

 

B라는 패키지를 사용하기 위해서는 A 패키지 설치가 선행되어야 한다라는 것입니다. 즉 A라는 패키지 설치 없이는 B패키지를 사용할 수 없다는 의미입니다.

 

그렇다면 여기서, 패키지 의존성을 Yum은 어떻게 해결한 것인가에 대해 의문점이 있을 수 있습니다.

Yum은 자동으로 필요한 패키지까지 설치해 줌으로써 패키지 의존성문제를 해결했습니다. 필요한 패키치를 Yum 명령어 하나만 치면 알아서 서버로부터 다운받고 설치까지 합니다.

 

간단한 yum 명령어는 아래와 같습니다.

 

Yum 명령어 사용

반응형
728x90

온프레미스(On-premise)란?

 

소프트웨어 등 솔루션을 오프라인 전산실 서버에 직접 설치해 운영하는 방식을 말합니다.

온프레미스(On-premise)는 클라우드 컴퓨팅 기술이 나오기 전까지 기업 인프라 구축의 일반적인 방식이었기 때문에 이전 또는 전통적인 이라는 단어와 함께 사용됩니다.

온프레미스 시스템을 구축하는데도 많은 시간이 걸렸고 부지비용, 설치비용, 운영비용 등 비용측면에서 현재 클라우딩 시스템과 비교하면 너무 비효율적이었습니다. 그리하여 클라우드가 온프레미스 환경이 금방이라도 모두 사라질 것 같았습니다. 하지만 보안 적인 이유로 비즈니스에 중요하고 보안이 필요한 서비스와 데이터는 온프레미스 환경에서, 덜 중요한 것은 퍼블릭 클라우드 환경을 사용하는 하이브리드 IT 인프라가 대세를 이루고 있습니다.

반응형

'IT > 기본용어' 카테고리의 다른 글

클라우드 (Cloud)란?  (2) 2021.04.10
Build 란?  (0) 2021.03.12
728x90

자바로 FTP 파일 전송(File Upload)

FTP tool(파일질라 등)로 우리들은 많은 파일들을 업로드를 해보았을 것 입니다.

하지만 저는 FTP를 통해 업로드를 많이 했지만 실제로 자바로 구현해본적은 많지 않았기에 공부를 위해 한 번 해보기로 결심했습니다.

 

저는 NAS장비가 있어 연결했고, 다른분들은 다른 것으로 연결하셔도 됩니다.

 

Commons Net API

Apache 에서 제공하는 API로 다양한 프로토콜에 대한 지원을 할 수 있는 구조를 갖고 있습니다.

 

FTP 업로드 코드에서 핵심이 되는 클래스는 org.apache.commons.net.ftp.FTPClient 입니다.

FTP 프로토콜 처리를 서버 연결, 로그인, 파일 목록, 송수신 등의 기능을 제공합니다.

 

아래부터는 파일 업로드 예제로 코딩을 시작하도록 하겠습니다.

 

 

코딩 시작

1. POM.XML 추가

2. FTP import

 

3. FTPclient를 생성

 

* ftp Client common-net api로 생성

 

4. 호스트 연결 & 응답코드 체크

 

  * ftp.connect로 연결 후 응답코드 체크

5. 서버 응답코드 정상인지 확인

 

  * FTPReply.isPositiveCompletion을 통해 응답코드로 정상인지 확인

  * 정상이 아니면 disConnect

 

 

 6. showServerReply 함수 생성

server응답 확인 하는 함수

7. 로그인 후 폴더 생성 및 작업디렉터리 변경

 

  * 폴더 생성을 위해서 date로 현재 날짜와 시간을 날짜를 받음.

  * ftp.login(유저아이디, 비번) 으로 로그인

  * showServerReply 함수로 서버 응답 로그 확인

  * ftp.changeWorkingDirectory로 작업디렉터리로 변경

7. 파일 저장

 

  * Active Mode -> PassvieMode로 변경

             FTP의 active Mode, Passive Mode
  
                  Active Mode : Server가 client의 해당 포트 접속해 데이터를 보내줌.
                  Passive Mode : Server에서 클라이언트에 port 전달 , 그 Port로 server는 보내줌.

                                      방화벽, 네트워크 구조 신경쓸 필요 없음. 

    이러한 이유로 방화벽 및 네트워크 구조에 신경 안쓰기 위해 Passive Mode로 변경

    

  * FTP.setFileType FTP.BINARY_FILE_TYPE으로 변경

  * storeFile 함수로 파일 저장

  * 업로드 성공 로그 남기기

 

전체코드

결론

apache 에서 제공하는 commons-net FTPClient 클래스를 통해 FTP를 구현해봤습니다.

commons-net API는 FTP 이외에도 SMTP, Telnet 등 다양한 프로토콜을 처리를 할 수 있다고 합니다.

이 API를 사용해서 다양한 기능 등을 빠르게 개발할 수 있을 것 입니다.

반응형

+ Recent posts