SimpleTagSupport 클래스를 찾지 못하는 에러 해결 방법


이클립스에서 다음과 같은 에러를 확인하는 경우
The superclass "javax.servlet.jsp.tagext.SimpleTagSupport" was not found on the Java Build Path


해결 방법

해당 프로젝트 > Project Facets > Runtimes > 런타임 컨테이너 체크 > 적용


빌드를 다시 해주고 새로고침을 하면 해당 오류는 해결됩니다.


깃허브와 이클립스를 연동하여 메이븐 프로젝트를 로컬로 내리는 방법


프로젝트를 진행하며 깃허브에 저장한 메이븐 프로젝트를 로컬환경(STS)으로 Import 하는 방법을 정리합니다.

Mac OS X 용 STS 기준으로 정리하였습니다.


깃허브(GitHub) -> 이클립스(STS)

1. 깃허브에서 프로젝트 URL 준비

메이븐으로 빌드한 프로젝트 URL 을 복사합니다.



2. 이클립스에서 Import

Package Explorer 윈도우에서 우클릭 > Import...


Maven > Check out Maven Projects from SCM > Next


SCM URL 에 준비한 URL을 입력 후, Finish 눌러줍니다.

(참고로 SCM URL 셀렉트박스는 git 이라고 적혀 있고, 다른 선택지는 없습니다.)

Next 누를 경우, Workspace 경로를 설정해줄 수 있습니다.



3. 확인 및 실행

별다른 error 표시가 없어서 다행입니다.


실행도 잘 되서 안심입니다.


이상 메이븐 프로젝트 로컬로 임포트 방법 정리를 마치겠습니다.

domain 용어 정리


업무 도메인, DDD 등에서 말하는 '도메인이란 무엇일까?'라는 고민하던 와중

구멍가게 코딩단, ❮코드로 배우는 스프링 웹 프로젝트❯ 책에서 그나마 가장 와닿는 설명이 있어서 여기에 정리하고자 합니다.


도메인(domain)은 개발 시에 가장 중요한 용어가 될 만한 명사를 표현하는 용어라 합니다.

예를 들자면, 쇼핑몰의 경우 '회원, 상품, 배송' 등이 도메인이라 할 수 있습니다.


도메인은 중요도에 따라 1차 도메인, 2차 도메인 .. 등의 순서가 있습니다.

비즈니스 로직에서 반드시 필요한 것이 1차 도메인이 되고, 2차, 3차 등으로 확대됩니다.


또다른 의미로 여러 물리적인 환경으로 분리가 가능한 단위라 할 수 있습니다.

앞서 예를 들은 쇼핑몰의 경우 회원DB, 상품DB를 분리해서 운영할 수 있듯이,

도메인은 하나의 온전한 시스템의 단위가 될 수 있습니다.

이클립스와 깃허브를 연동하여 프로젝트를 올리는 방법 정리


학습하면서 정리한 소스코드를 깃허브에 올려 관리하려 합니다.

이를 위해 이클립스에서 간단하게 Commit 하고 깃허브에 Push 하기위한 방법을 정리해봅니다.

Mac OS X 용 STS 기준으로 정리하였습니다.


이클립스(STS) -> 깃허브(GitHub)

1. 깃허브에 원격 저장소(Repository)를 생성

깃허브에 소스코드를 올릴 저장소를 생성합니다.

생성 완료 후 URI를 복사해둡니다.



2. 올릴 프로젝트 선택

프로젝트 우클릭 > Team > Share Project...



3. 로컬 저장소 생성


  1번 Use or create repository in parent folder of project 선택시

현재 workspace, 선택한 프로젝트 내에 로컬 저장소가 생성됩니다.

Create Repository 클릭 후 Finish


  2번 Create... 선택시

원하는 경로에 로컬 저장소를 지정하여 생성할 수 있습니다.(단, 프로젝트의 경로가 지정한 경로로 옮겨짐)

Create Repository 클릭 후 Finish



4. 원격 저장소(Git Repository)  설정

  Git Perspective 열기


깃 설정을 위해서 'Git' 퍼스펙티브를 엽니다.

 ※ STS는 기본적으로 Git 플러그인이 설치되어 있지만 만약 없다면 마켓에서 'EGit' 을 설치하면 됩니다.


  관리할 저장소 추가

Git 퍼스펙티브를 열면 3가지 항목 중 선택할 수 있습니다.

이 중 기존에 생성한 로컬 저장소를 올리기 위해 Add an existing local Git repository 를 클릭합니다.


기존에 생성한 로컬 저장소의 경로를 설정한 다음 Add를 클릭합니다.


올릴 프로젝트 > Remotes > Create Remote...


깃허브에 올릴것이기 때문에 Configure push 를 선택하고 OK를 클릭합니다.


Change... 클릭


URI: 에 깃허브에서 생성한 원격 저장소 URI를 입력합니다.

Protocol: 은 https 입니다.

Port: 는 입력하지 않아도 됩니다.

인증 부분에 자신의 깃허브 아이디/비밀번호를 입력합니다.


Save and Push 로 한번에 Push까지 할 수 있지만, 종종 잘 되지 않습니다.

Save를 눌러 저장한 후 따로 Push 하도록 합니다.


 ※ .gitignore 설정하는 법

class 파일 및 각종 불필요한 파일의 버전관리를 방지하기 위해 .gitignore 설정을 해줍니다.

여기 깔끔한 글이 있어서 링크로 대체합니다.

https://gmlwjd9405.github.io/2017/10/06/make-gitignore-file.html



5. Commit 과 Push

  인덱스에 추가

깃 설정이 끝났다면, 기존 퍼스펙티브로 돌아와서 깃허브에 올릴 프로젝트를 확인합니다.

위와 같이 '?' 아이콘이 떠 있습니다.


프로젝트 우클릭 > Team > Add to Index


'?' 가 사라집니다.


  커밋(Commit)

프로젝트 우클릭 > Team > Commit...


이전에 gitignore 설정을 했다면,

Git Staging 탭에서 Staged Changes 에 자바 소스파일만 버전관리 대상으로 잡혀있는걸 확인할 수 있습니다.

Commit Message 를 입력하고 Commit and Push... 버튼을 클릭하면 커밋과 동시에 깃허브에 Push할 수 있습니다.


Next


Push


  연동 결과 확인


STS에서 Push 결과창을 확인할 수 있고, 깃허브에서 내 Repository에 소스가 잘 올라간 것을 확인할 수 있습니다.


 ※ 참고로 Push 과정에서 오류가 생길 경우

여길 보고 해결했습니다. ㅠ

링크 남깁니다.

http://blog.naver.com/PostView.nhn?blogId=sim4858&logNo=220924984480

tar 명령어 사용법 정리


tar?

tar는 Unix/Linux 에서 아카이브(archive) 명령어로 여러 파일을 하나로 묶는데 사용합니다.

압축하기(compress)는 별도의 gzip 등의 명령을 통해 할 수 있습니다.


보통 하나로 묶은 파일을 압축하여 .tar.gz 같은 형태로 사용합니다.


사용법

tar -[옵션] [아카이브 파일명.tar] [압축대상 files | directories]


옵션

※ 첫 번째 옵션은 모드 지정자여야 합니다.(-c Create  -r Add/Replace  -t List  -u Update  -x Extract)


옵션

 설명

 추가

 c (소문자)

 tar 묶음 파일 생성

 

 x

 tar 묶음 해제 

 

 t

 아카이브 파일 목록을 출력

 f 와 함께 사용

 f

 파일명 지정

 

 v

 상세한 진행과정을 출력

 

 C (대문자)

 경로 지정

 tar -[xf] 파일.tar -C 경로

 z

 gzip 으로 압축 및 압축 해제

 



압축하기(Create)

tar -cvf [묶을 파일명.tar] [대상 파일 혹은 디렉토리]


사용예

#묶을 파일들 지정하여 archive1.tar 파일 생성
tar -cvf archive1.tar file1.txt file2.txt ...

#묶을 디렉토리 지정하여 /home/user 경로에 archive2.tar 파일 생성
tar -cvf /home/user/archive2.tar directory1

#묶은 파일을 gzip 으로 압축하기
tar -cvzf archive3.tar.gz *.txt


압축풀기(Extract)

tar -xvf [묶음 파일명.tar] (-C [해제 경로])


사용예

#archive1.tar 파일 아카이브 해제
tar -xvf archive1.tar

#/home/user 경로에 archive2.tar 파일 아카이브 해제
tar -xvf archive2.tar -C /home/user

#gzip 압축과 아카이브 해제
tar -xvzf archive3.tar.gz


'운영체제 > Linux \ Unix' 카테고리의 다른 글

[Linux] crontab(크론탭) 사용법  (0) 2019.01.07

MySQL 계정(사용자) 생성 및 권한 설정 방법 정리


MySQL 서버 설치

별도 정리중

MySQL 클라이언트 접속

/usr/local/mysql/bin/mysql -u root -p    ⏎
패스워드    ⏎

DB(스키마) 생성

∙ DB 확인

show databases;


DB 생성(기본 캐릭터셋을 utf8)

create database DB명 default character set utf8;



DB 사용

use DB명


계정(사용자) 생성

mysql DB 사용

use mysql


계정 확인

select user, host from user;


계정 생성

create user '계정명'@'host' identified by '패스워드';

host 는 localhost 와 % 가 있음

localhost 는 내부 접근, % 는 외부 접근 허용


계정 삭제

drop user '계정명';

사용자 권한 부여

권한 확인

show grants for '계정명';


권한 부여

grant [권한 종류] on DB명.테이블명 to '사용자명’@'host’ (identified by ‘패스워드');

권한 종류에는 select, insert, update, delete 가 있음

모든 권한을 부여 시 all privileges

DB명과 테이블명은 * 로 모든 것을 지정 가능하다

예시) grant all privileges on *.* to 'scott'@localhost identified by 'tiger';

Mac OS(맥) 에서 웹 개발시 Tomcat(WAS) 설치 방법 및 실행 방법 정리


1. tomcat 다운로드

  다운로드 경로

https://tomcat.apache.org


 ✓ jdk 최소 스펙에 맞는 tomcat 버전 확인 필요


 

  설치 파일 다운로드

적당한 경로에 Core 항목 tar.gz 파일을 다운로드




2. 설치

 • 압축 해제

tar -xvzf apache-tomcat-버전.tar.gz

tar, gzip 압축 해제 방법 간단 정리


  디렉토리명 간단히 변경

mv apache-tomcat-버전 tomcat9


3. 사용 설정

  링크

업데이트 관계없이 쉽게 사용 가능하도록 심볼릭 링크 생성

sudo ln -s 압축해제경로/tomcat9 /Library/Tomcat



4. 실행 & 중지 테스트

  실행

/Library/Tomcat/bin/startup.sh

 ※ 프로세스 확인

     ps aux |grep tomcat


 ※ 웹 브라우저 확인(기본 설정일 경우)

     주소창에 http://localhost:8080

 고양이를 만나볼 수 있습니다.


  중지

/Library/Tomcat/bin/shutdown.sh



Cron(크론) 및 Crontab(크론탭) 간단 정리


cron?

cron은 리눅스/유닉스에 있는 스케쥴러로, 설정해 놓은 쉘 또는 명령을 특정 주기나 일정에 따라 실행해줍니다.

crontab은 크론들을 명시해 놓은 테이블로 예약된 작업들을 확인하고 편집/삭제 등을 할 수 있습니다.

등록된 crontab 확인

crontab -l

crontab 등록

crontab -e

※ vi 편집기와 사용법이 비슷


# 크론에 대한 주석
* * * * * /쉘의 경로

보통 위와 같은 식으로 크론을 설정합니다.

주석을 제외한 크론 설정 부분은 줄 바꿈 없이 작성하는게 원칙입니다.

기본적으로 * * * * * 로 설정하면 '매 분마다 실행' 한다는 의미



*        *        *      *        *
(0-59) (0-23) (1-31) (1-12) 요일(0-7)


각 자리의 의미와 설정 범위는 위와 같습니다.

요일에서 0과 7은 일요일


crontab 삭제

crontab -d 혹은 crontab -r




사용 예


매주 금요일 오전 530분에 test.sh 실행 30 5 * * 5 /home/shell/test.sh
매일 매시간 0, 5, 10, 15분에 test.sh 실행 0,5,10,15 * * * * /home/shell/test.sh
10분 마다 test.sh 실행 */10 * * * * /home/shell/test.sh
매달 5일에서 6일까지 2,3,4시에 10분마다 test.sh 실행 */10 2,3,4 5-6 * * /home/shell/test.sh

로깅



매분마다 쉘이 실행되어 로그를 남깁니다. * * * * * /> /home/shell/test.sh.log 2>&1

※ 2>&1은 처리시 에러(2) 결과를 변경된 표준 출력(&1 == /home/shell/test.sh.log)으로 보낸다는 의미



한 개의 로그 파일에 지속적으로 로그를 남길 때 사용 * * * * * />> /home/shell/test.sh.log 2>&1


백업

crontab -l > /home/bak/crontab_bak.txt

50 23 * * * crontab -l > /home/bak/crontab_bak.txt

크론으로 만들어서 실행할 수도 있습니다.




'운영체제 > Linux \ Unix' 카테고리의 다른 글

[Linux] tar 명령어 사용법  (0) 2019.03.08

+ Recent posts