본문 바로가기

BOOKS46

추상 클래스 개요 추상의 사전적 의미는 사물이나 어떤 표상들의 성질, 본질, 공통성등을 추출하여 파악하는 것들을 의미한다. 자바 프로그램에서는 각 클래스들 간의 공통점을 추출하여 하나의 클래스를 만든 것이라 볼 수 있다. 또한 추상 클래스를 만드는 목적 중 하나는 중복되는 코드들을 최소화하기 위한 목적도 있다. 일반 클래스와 다른 점은 일반 메서드와 추상 메서드가 모두 존재할 수 있다는 것이다. 추상 클래스를 정리하면 아래와 같다. 추상 클래스는 단독으로 인스턴스를 만들 수 없다. 다른 클래스에 상속되어 사용된다. 추상 메서드는 자손 클래스에서 반드시 재정의하여야 한다. 추상 클래스 작성하기 abstract class AbsClass{ public void prn(){ ... } // 일반 메소드 public voi.. 2024. 4. 7.
인터페이스 개요 자바 클래스들이 필수로 사용되어야 하는 기능들을 추상 메서드로 정의하는 것으로 일종의 클래스들의 가이드라인 역할을 하는 구조라 볼 수 있다. 인터페이스 안에는 추상 메서드와 상수만으로 이루어져 있다. 구현 코드가 없기 때문에 인스턴스를 만들 수 없고 자손 클래스가 상속받아 추상 메서드를 재정의하여 사용하게 된다. 인터페이스의 특징을 정리하면 아래와 같다. 다중 상속 가능 : class 형식으로 만드러 진 클래스들은 단일 상속만을 지원하는데 반해 인터페이스로 만들어진 구조는 다중 상속을 지원한다. 생성자 불가 : 단독으로 인스턴스를 생성할 수 없기 때문에 생성자 사용은 불가하다. 메서드 오버라이딩 : 인터페이시를 상속받은 클래스에서는 반드시 추상 메서드들을 재정의(Overriding) 해야 한다. 인.. 2024. 4. 7.
thymeleaf 개요및 설정 thymeleaf는 view template 엔진으로 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어 주는 역할을 한다.  thymeleaf는 Natural Template을 기반으로 기존 html 코드와 그 구조를 변경하지 않고 덧붙여 사용하는 방식이라 볼 수 있다. 특징html 문서 내부에서 사용할 수 있으며 spring boot와 통합하는 작업이 매우 간단함. 관련 사이트 : https://www.thymeleaf.org/index.html ThymeleafIntegrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymel.. 2023. 7. 3.
VSC에서 Spring 개발 환경 구축 VSC에서 Spring 개발을 하기 위한 환경 구축은 아래와 같은 절차와 방법으로 진행할 수 있습니다. 물론 JDK는 이미 설치되어 있고 JAVA_HOME이나 PATH와 같은 내용은 이미 윈도 환경 변수에 등록되어 있어야 설치 작업이 더 원활할 수 있습니다. 개발 환경 구축 절차는 아래와 같습니다. Spring Boot Extension Pack 프로젝트 생성 및 테스트 1. Spring Boot Extension Pack 설치 VSC에서 Extension 아이콘을 선택하여 Spring Boot extension Pack 을 검색하여 설치합니다. 나머지 필요한 라이브러리들은 프로젝트를 생성한 뒤 설치해도 상관없습니다. 2. 프로젝트 생성 프로젝트 생성 과정은 절차는 아래와 같은 단계로 진행됩니다. 본 지.. 2023. 5. 27.
vsc에서 live server 설치 안녕하세요 IT여행자입니다. 이번 수첩은 visual studio code(VSC)에서 웹 페이지를 실시간으로 볼 수 있는 live server extention을 설치하고 약간의 설정을 할 수 있는 내용입니다. live server를 시작하면 기본적으로 ip 주소는 127.0.0.1로 표시되고, 포트번호는 live server를 구동할 때마다 번호가 달라집니다. 이러한 상태에서 ip주소를 현재 컴퓨터의 ip 로 사용한다던가, 포트번호를 고정시키는 설정 방법을 담았습니다. 간략히 그림으로 보여드리면 아래와 같습니다. 1. IP 주소를 127.0.0.1에서 localhost로 변경하기 2. 포트 번호 고정하기 Edit in settings.json 링크를 클릭하여 포트번호를 임의의 값으로 고정시킬 수 있습.. 2023. 3. 24.
vsc 설치및 open in browser extention 설치(영상) 안녕하세요 IT여행자입니다. 이번 수첩은 개발 입문자들을 위한 내용입니다. 프로그램을 개발할 때 사용되는 각종 개발 툴이 있습니다. 저마다 장단점들을 갖고 있죠. 그중에 가장 인기 있는 개발 툴 중 vsc를 설치하고 작성된 html 문서를 바로 브라우저에서 확인할 수 있는 open in browser extention을 설치해 보도록 하겠습니다. 이런 부분은 글로 표현하기 쉽지도 않고 장황한 설명들을 나열해야 하기로 영상을 찍어 공유합니다. 이점 양지해 주시기 바라며, 아래 영상을 확인해 주시기 바랍니다. https://youtu.be/O-sRGmRsA3Y 2023. 3. 22.
swing으로 만들어본 멀티 메모장 #2/2 안녕하세요 IT여행자입니다. 이번 여행지는 swing으로 만들어본 멀티 메모장 두 번째 부분입니다. 첫 번째 영상에서도 언급한 것처럼 자바 GUI를 사용한 프로그램이라는 인터페이스가 많이 사용되는 인터페이스가 아니지만, 진입 장벽이 높지 않으며, 웹 인터페이스처럼 다양한 언어를 사용하지 않아도 만들어 볼 수 있는 프로그램이기에 두 편에 걸쳐 만들어 봤습니다. 개발에 필요한 보다 자세한 내용들은 영상을 참조하시면서 하나씩 개발해 보시는 걸 추천드립니다. 1편에서는 레이아웃에 관한 내용을 다루었고, 2편에서는 BACK-END 부분을 다루었습니다. 주요 내용은 아래와 같습니다. MemoVo.java : 하나의 메모 내용을 저장하는 Value Object config.xml : mybatis를 사용하기 위한 환.. 2023. 3. 20.
swing으로 만들어본 멀티 메모장 #1/2 안녕하세요 IT여행자입니다. 이번 수첩은 자바 GUI API 중 하나인 swing을 사용하여 멀티 메모장을 만들어 볼까 합니다. 우리나라의 개발 환경은 대부분이 웹에 치중되어 있어 그리 흥미로운 인터페이스는 아니지만 자바언어만 알고 있어도 만들어 볼 수 있는 주제이기에 선정하였습니다. 개발 난이도는 아마추어 중급 수준입니다. 개발 난이도에 대한 설명이나 개발 환경은 영상을 참고해 주시기 바랍니다. 또한 영상은 두 개의 파트로 나뉘어 있습니다. 개발 환경 https://youtu.be/jJK67Ex2W58 아래의 코드들은 직접 작성된 코드가 아니라 이클립스의 윈도빌더에 의해 기본적으로 작성된 코드들입니다. 따라서 이 부분까지는 직접 작성하지 마시고 영상을 보면서 과정대로 따라가시면 만들어 보시기 바랍니다... 2023. 3. 1.
개발 초보자를 위한 상위 Top10 구하기 안녕하세요 IT여행자입니다. 이번 내용은 입문 과정을 끝낸 개발 초보자분들이 배운 과정을 어떻게 응용하여 프로그램을 만들어 볼까 고민될 때 한번 만들어 볼 수 있는 프로그램을 준비해 봤습니다. 프로그램은 단순히 HTML, CSS, JAVASCRIPT만을 사용하였습니다. 개발을 잘하고 싶다면 직접 많이 만들어 봐야 한다는 것은 잘 알고 계실 거라 생각됩니다. 그리 복잡한 내용은 없으므로 차근차근 따라 만들어 보시길 바랍니다. 그럼 시작하겠습니다. 실행 결과 화면 입력 숫자의 범위는 제한이 없지만 표시되는 영역이 작으므로 -999~999까지 입력합니다. 처음 10개까지는 입력 순서대로 위쪽 영역에 표시되었다가 10개가 넘으면 입력 수들 중 상위 10개까지만 표시될 것입니다. 준비 파일 아래와 같이 3개의 파.. 2023. 2. 24.
초보 개발자를 위한 스무 고개 게임 만들기 안녕하세요 IT여행자입니다. 입문자 딱지를 떼도 어떤 프로그램을 어떻게 만들지 잘 떠오르지 않는 때가 바로 초보 개발자 시절이라고 생각합니다. 뭔가를 배우기는 했는데 내가 배운 것으로 무엇을 할 수 있을지도 잘 모르는 때이기도 하고요. 이런 분들을 위해 HTML, CSS, Javascript만으로 스무고개란 간단한 게임을 만들어 보도록 하겠습니다. 동여상도 첨부 되어 있으니 참고해 주시길 바랍니다. 간단히 개발 환경을 말씀드리자면 앞서서 말씀드린것과 같이 html, css, javascript만을 사용하였습니다. 또한 개발 툴은 어떤 툴을 사용하든지 상관없습니다. 저는 이클립스를 사용하여 제작해 보도록 하겠습니다. 가장 먼저 프로젝트를 '스무고개게임' 이라고 만들도록 하겠습니다. 이클립스 환경에 따라 다.. 2023. 2. 20.
외부에서 mysql 접속하기 mysql 서버를 로컬 컴퓨터에서 뿐만 아니라 외부에서 접근할 수 있도록 사용자 계정을 만들 수도 있다. 물론 기존에 등록된 유저에게도 외부에서 접근할 수 있는 권한을 부여할 수도 있다. 그러나 외부에서 권근할 수 있는 권한은 매우 위험한 권한이므로 신중하게 권한을 부여해야 할 것이다. mysql 을 외부에서 접근할 수 있는 권한을 부여하는 과정을 살펴 보도록 하겠다. step 1. 먼저 권한을 부여 받게될 유저의 등록 정보를 확인해 봐야 한다. 관리자 권한이 있는 유저로 접속한 뒤 아래의 sql문장으로 사용자들의 권한 부분을 살펴 본다. SELECT * FROM mysql.user; 여기서 중요한 것은 Host 부분이다. 이부분의 정보가 localhost에서만 접근하게 할 것인지, 다른 ip대역에서도 .. 2023. 1. 6.
14. github에서 repository 삭제 github에 저장한 repository를 삭제하는 방법입니다. github에 로그인한 후 삭제하고자 하는 repository를 선택하고 Settings를 선택하며면 repository를 삭제할 수 있는 메뉴를 제공하는데 맨 아래로 이동하게 되면 아래와 같이 Danger Zone에 삭제할 수 있는 메뉴를 볼 수 있습니다. "Delete this repository"를 클릭하면 아래와 같은 다이얼로그 창이 뜨는데 이 때 계정자의 이름과 repository를 그대로 타자 치면 삭제 버튼이 활성화되어 삭제할 수 있습니다. 2022. 12. 18.
13. repository 정보를 이클립스로 가져오기 github를 방문하여 local에 다시 pull 할 repository를 선택한다. step 1. Code 버튼을 클릭한 후 주소를 복사한다. step 2. Projects from Git (with smart import)을 선택한다. step 3. Clone URI를 선택한다. step 4. 복사한 repository 주소를 붙여 넣기 한다. 그러면 나머지 내용들은 자동으로 채워진다. step 5. branch를 선택한다. 현재는 master 밖에 없다. step 6. local 저장위치를 선택한다. 이 때 선택된 폴더는 비어있어야 한다. step 7. spring은 대부분 Maven 형태의 프로젝트이기 때문에 Maven만 선택해도 된다. step 8. Finish 버튼을 클릭하여 작업을 완료한다... 2022. 12. 12.
12. 이클립스 프로젝트를 repository에 저장하기 gifhub에 repository가 생성되어 있을 경우보다 간편하게 이클립스 프로젝트를 repository에 저장할 수 있다. step 1. github에 새로운 repository를 생성해 두고 주소를 복사해 둔다. step 2. Dynamic Web Project 유형으로 프로젝트를 하나 생성한다. step 3. 프로젝트명에서 마우스 우클릭하여 "Team > Share Project" 를 선택한다. create 버튼을 클릭한 후 repository와 연동될 local git 경로를 설정한다. step 4. 프로젝트 소스 공간과 local git 공간을 보여준다. step 5. 소스수정후 수정된 파일들을 Unstaged에서 staged로 이동한 후 Commit and Push 버튼을 클릭한 후, URI.. 2022. 12. 12.
11. Github 계정 만들기 10장까지가 Repository를 local 환경에서 git을 사용해 본 것이라면 11장부터는 Repository를 원격지에 있는 저장소를 사용하는 방법입니다. git 사용자들이 가장 많이 사용하는 원격 저장소는 github입니다. 1. github 에 계정 트기 http://www.github.com 사이트를 방문하여 사용자명, 이메일, 암호만을 입력하면 간단히 저장 공간을 할당받을 수 있습니다. 회원 가입 화면은 사이트가 리뉴얼된다면 위와 같은 화면이 다른 화면으로 변경되겠지만 현재(2020.09)까지는 위와 같은 화면이다. • Username : 영문자와 하이픈만 입력됨. 문자열 앞뒤의 하이픈은 안됨. 만약 이미 계정이 있는 상태에서 다른 PC에서 로그인 하려면 최초 1회 github에서 전송한 메.. 2022. 12. 12.
10. merge 여러 가지 특성상 다양한 branch를 나누어 작업하다가 필요한 내용들을 합쳐야 될 경우가 발생합니다. 이 때 merge를 사용하여 필요한 부분들을 병합할 수 있습니다. 이 때 중요한 체크 사항은 현재 작업하는 있는 작업들을 모두 commit 한 뒤 작업하는 것이 안전합니다. 나중에 commint 되지 않은 정보 때문에 merge가 되지 않을 수 있기 때문이다. merge 하는 방법은 아주 간단합니다. step 1. merge 할 주체가 되는 branch로 checkout 한다. step 2. Merger>Local Merge 메뉴를 선택하면 현재 상태에서 merge가 가능한 branch들이 나타난다. 이 때 원하는 branch를 선택하면 현재 branch와 병합된다. 2022. 12. 12.
9. Branch git을 로컬에서 혼자 사용할 때보다는 여러 명이 협업을 할 때 많이 사용하는 개념입니다. 직역 하자면 ‘가지’라는 의미인데, 편집 방향을 여러 형태로 나누어 편집하여 저장한 후 다른 유형과 비교한 후 가장 적절한 것을 선택하여 적용하려 할 때 주로 사용됩니다. 1. branch 생성하기 step 1. Git GUI 툴에서 메뉴 Branch>Create… 를 선택한다. step 2. Name항목에 branch로 사용할 적당한 이름을 넣고 Create 버튼을 클릭한다. step 3. Branch메뉴의 Checkout 메뉴를 선택하면 새로운 다이얼로그가 보입니다. 이 때 새로 생성한 branch이름을 선택한 후 Checkout 버튼을 클릭합니다. step 4. Curent Branch 이름이 master에서.. 2022. 12. 12.
8. Revert Changes Revert Changes는 commit 된 내용을 이전 내용으로 되돌리는 기능을 말합니다. 여러 단계의 Revert를 테스트하기 위해 'd:/git_test/git 테스트.txt' 문서에 내용을 한번 더 수정한 후 commit 한 후 진행하겠습니다. step 1. 내용 수정후 저장. Rescan 하여 표시될 파일을 Stage로 옮긴 다음에 Commit Message 작성하고 Commit. 새로고침하여 히스토리가 3개임을 확인. step 2. 이제 commit된 정보를 되돌리기 위해 아래의 그림처럼 맨 상단에 있는 commit 목록의 Commit Message 부분에서 마우스 우클릭하여 "Revert this commit"을 클릭합니다. commit을 취소한것 조차 아래와 같이 히스토리에 남습니다. st.. 2022. 12. 12.
7. Commit 이력 확인 step 1. 파일이 수정되거나 추가될 때마다 Commit을 하였다면 Git은 Commit 이력들을 조회해 볼 수 있습니다. Branch란 개념을 사용하지 않았기 때문에 현재는 master 위치의 이력들만을 볼 수 있습니다. Repository 메뉴를 클릭하여 이력을 확인해 봅니다. 메뉴를 클릭하면 아래와 같은 다이얼로그창이 나타납니다. 현재까지는 Commit을 한 번만 했기 때문에 아래와 같이 Commit 정보들이 보입니다. step 2. 이제 앞서서 작성했던 d:/git_test/git 테스트.txt 파일에 내용을 추가하고 다시 한번 Commit을 수행한 후 히스토리 다이얼로그 창을 새로 고침 해 보겠습니다. 테스트 파일 내용 수정. GitGUI 툴에서 Commit. History 창에서 새로고침(F.. 2022. 12. 12.
6. 로컬에서 형상 관리 진행해 보기 하나의 문서를 작성하여 형상관리를 하는 과정을 살펴보도록 하겠습니다. step 1. Git GUI 툴을 실행하고 "CreateNew Repository" 링크를 클릭하여 새로운 Repository를 생성합니다. 새롭게 만들어질 Repository는 비어 있는 디렉토리이여야 합니다. 따라서 창이 열리면 비어 있는 디렉토리를 하나 생성합니다. 본문에서는 "d:\git_test"를 새로 만들어 폴더를 선택하도록 하겠습니다. 아래와 같이 폴더가 선택됩니다. "Create" 버튼이 클릭되면 아래와 같이 형상 관리를 할 수 있는 창이 생성되어 표시됩니다. step 2. 위에서 지정한 Repository, 즉 d:/git_test 폴더에 'git 테스트. txt' 파일을 생성하고 적당한 문장을 작성하여 저장합니다. .. 2022. 12. 12.
반응형