전체 글 439

객체지향 프로그래밍이란

객체지향 프로그래밍이란 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발 방법론 중 하나로, 현실 세계의 사물과 개념을 프로그램 내에서 객체라는 단위로 모델링하여 프로그래밍하는 패러다임입니다. 객체지향 프로그래밍은 코드의 재사용성을 높이고 유지보수를 용이하게 하며, 프로그램의 구조를 보다 체계적으로 설계하는데 도움을 줍니다. 객체지향 프로그래밍의 주요 특징과 개념은 다음과 같습니다: 클래스와 객체: 클래스(Class)는 객체(Object)를 생성하기 위한 템플릿으로, 데이터와 메서드(함수)를 포함합니다. 객체는 클래스의 인스턴스로, 실제로 메모리 상에 할당되어 사용됩니다. 캡슐화(Encapsulation): 관련된 데이터와 기능을 하나의 단위로 묶어서 클래..

개인 공부 2023.08.14

JDK 관리 도구 SDKMAN

SDKMAN은 리눅스 기반 플랫폼에서만 동작하기 때문에 윈도우에서는 wsl을 설치해야 사용 가능하다. SDKMAN을 사용하면 sdk 명령어로 자바뿐만 아니라 여러가지 툴을 관리 및 설치 가능하다. 기본적으로 아무런 지정하지 않았을 때 디폴트로 어떤 버전을 사용할지에 대한 지정, 각각의 프로젝트에 대해 어떤 툴을 사용할지 지정할 수도 있다. 1. SDKMAN 설치 방법 curl -s "https://get.sdkman.io" | bash2. SDKMAN으로 JDK 리스트 확인 sdk list java 3. 원하는 JDK 버전 설치 # 11.0.17-amzn은 list의 Identifier sdk install java 11.0.17-amzn 4. 원하는 프로젝트에서 다른 jdk 버전을 사용하고 싶을 때 -..

Mac 2023.06.12

터미널 어플리케이션 Warp

기존 맥 기본 터미널을 사용하는 사람들은 프로파일 기능 등 부족한 부분을 대신하기 위해 iterm2을 많이 사용하시는데, 보통 oh-my-zsh을 설치하거나 추가적인 설정이 필요하다. 나는 기본이 가장 예쁘다고 생각하는 사람으로써 불편함을 감수하고 기본 터미널을 사용하고 있었지만, 강의를 보다가 우연히 warp을 알게되었다. warp은 기본이 zsh이고 테마도 예쁘고, 설정 파일 수정이 아닌 UI를 통해 설정 수정이 가능하다. 설치 방법 1. brew 설치 brew install --cask warp 2. 직접 download 설치 https://app.warp.dev/get_warp Warp app.warp.dev

Mac 2023.06.12

Eclipse 웹 프로젝트 IntelliJ로 import

깃허브에 올라가있던 프로젝트는 이클립스 웹 프로젝트이다. 인텔리제이로 이사를 해보자 ~.~ 1. JDK 및 라이브러리 설정 File - Project Structure 또는 Shift + Ctrl + Alt + S(윈도우)를 눌러 Project Structure 창을 띄운다. 사용하고자 하는 JDK를 선택해준다. Modules 탭을 눌러 Dependencies를 확인했을 때 아래 사진과 같이 라이브러리들이 없다면 오른쪽 + 버튼을 누른다. 라이브러리가 저장되어있는 폴더를 선택하고 OK 버튼을 누른다. 한번 더 + 버튼을 눌러 이번엔 톰캣을 추가해준다. Dependencies 목록에 이클립스 관련 항목들은 - 버튼을 눌러 삭제해준다 ! 2. Facets 추가 Facets 탭에서 + 버튼을 눌러 Web을 추..

개인 공부 2023.05.24

[IntelliJ] github token 로그인

통합 개발 환경(IDE)을 이클립스에서 인텔리제이로 이사하게 되었다. 우리 깃허브는 토큰으로 인증하는 방식이기 때문에 아래와 같이 깃허브에 로그인한다. 인텔리제이에서 토큰 방식으로 로그인 할 때는 해당 토큰에 필수적으로 가지고 있어야 할 권한이 있다. repo, workflow, read:org, gist 현재 내 토큰에는 기본 권한밖에 없으니까 추가로 부여해주자! 기존에 받았던 토큰 권한을 수정한다. 이후 발급받은 토큰으로 인텔리제이에 로그인하면 저장소에 있는 모든 레파지토리 목록을 불러오고 손쉽게 clone 받을 수 있다.

Git 2023.05.24

mariaDB tool Sequal Ace

맥에서 mysql을 편하게 사용하기 위한 툴은 MySQLWorkbrench를 사용하고, mariadb를 편하게 사용하기 위한 툴은 Sequal Ace를 많이 사용한다고 한다. 두가지 방법중 편한 방법으로 설치하면 된다! 1. 앱스토어 설치 https://apps.apple.com/kr/app/sequel-ace/id1518036000?mt=12 2. homebrew 설치 brew install --cask sequel-ace 설치하고 나면 어플리케이션 창에서 확인할 수 있다. 쿼리 실행 단축키는 command + R 이다.

Mac 2023.01.15

여러 행 컬럼 합치기 STUFF

SQL Server에서 여러 행(Row)의 컬럼 값을 하나로 합치기 위해서는 STUFF 함수와 FOR XML PATH 구문을 사용한다. 오라클에서 XMLAGG, WM_CONCAT, LISTAGG 함수와 비슷한 기능을 수행한다. SQL Server 2017 이상 버전을 사용한다면 STRING_AGG 함수를 사용하면 된다. SELECT a.job , STUFF((SELECT ',' + ename FROM emp WHERE job = a.job FOR XML PATH('') ), 1, 1, '') AS enames FROM emp AS a GROUP BY a.job STUFF() 함수는 문자열을 자리수 만큼 특정문자로 치환하고 문자열로 리턴한다. XML로 리턴된 결과의 첫번재 문자 ','을 빈문자로 치환하고 ..

DB/MSSQL 2023.01.12

JAXBContext marshal, unmarshal(마샬, 언마샬)

JAXB (자바 API) - 언마샬링(Unmarshalling) : XML 스키마를 읽어서 자바 오브젝트로 변환 - 마샬링(Marshalling) : 자바 오브젝트를 XML 스키마로 변환 대부분 JSON(JavaScript Object Notation)을 많이 사용하는 추세지만 XML도 적지않게 사용하고 있다. 또한 JSON을 다룰 때 자주 사용하는 Jackson을 통해서도 XML 파싱이 가능하다. 이번 글에서는 단순히 JAXB API를 이용하여 자바 오브젝트를 XML 형태로 변환하거나, XML을 읽어서 자바 오브젝트로 변환하는 방법을 살펴보겠다. 1. Marshal (POJO to XML) POJO(Plain Old Java Object)를 XML로 변환 import javax.xml.bind.anno..

JAVA 2023.01.12