본문 바로가기
반응형

분류 전체보기86

Github, eclipse, clone url 시 "not authorized" 에러 발생 안녕하세요. 오늘은 github에 있는 private repository를 이클립스에 import하는 과정에서 마주한 에러에 대해 글을 적어보려 합니다. 혹시 저 처럼 동일한 에러가 발생하셨다면 아래의 과정을 따라와주세요. 1. github 메뉴 > settings 2. Personal access tokens > Tokens(classic) > Generate new token 클릭 3. 토큰 생성 Note에는 토큰을 식별할 수 있게 my token으로 설정하겠습니다. Expiration은 토큰 만료일입니다. 저는 매번 업데이트 해줄 필요가 없어서 no expired를 선택하겠습니다. select Scopes에서 repo전체와, admin:repo_hook전체를 선택해주시면 이클립스에서 사용하는데 무리.. 2023. 12. 20.
레포지토리 다른 계정으로 이전하기 (Github Respository Transfer) 안녕하세요! 오늘은 다른 사용자 계정으로 레포지토리를 옮겨보려고 합니다. 원래는 공개하려고 했던 소스였는데, 개발하고보니 보안상 공개할 수 없어서 개발 계정에서 개인계정으로 레포지토리를 옮기며 했던 과정들을 정리해보려고 합니다. 원래 레포지토리가 있는 계정을 A계정, 레포지토리를 이전 받으려고 하는 계정을 B계정이라고 하고, 이전 과정을 설명해보겠습니다. 레포지토리 이전하기 다른 사용자 계정으로 레포지토리를 이전하는 과정은 매우 간단합니다. 먼저 A계정의 이전하려고 하는 레포지토리의 Settings > General에 들어가주세요. 페이지 제일 하단에 Danger Zone에 Transfer가 있습니다. 소유권을 이전하는 기능으로 기존 레포지토리의 관리 권한 및 저장소 기능 모두를 이관할 수 있습니다. B.. 2023. 12. 6.
GIT Stash, commit하지 않고 변경이력 임시 저장하기! stash는 '숨김', '은닉'이라는 의미를 갖고 있습니다. 현재의 변경사항을 숨겨두고 나중에 필요할 때 다시 꺼내와서 적용할 수 있습니다. 일반적으로 브랜치를 변경할 때 작업이력을 저장해두는 용도로 사용합니다. Commit과 stash 사용이유 Commit 사용이유 버전 관리 commit은 버전 관리 시스템에서 변경사항의 스냅샷을 기록합니다. 각 커밋은 프로젝트의 특정 시점의 상태를 나타내며, 이를 통해 과거로 되돌아가거나 특정 버전으로 이동할 수 있습니다. 작업 기록 개발자가 수행한 작업을 기록하여 누가 어떤 변경을 만들었는지 추적할 수 있습니다. 커밋 메시지를 통해 변경 내용에 대한 정보를 기록할 수 있어 코드 리뷰나 협업 시에도 도움이 됩니다. 브랜치 관리 브랜치 간의 변경사항을 합치기 위해 co.. 2023. 12. 4.
GIT 병합 시 충돌은 왜 발생하는걸까? (브랜치 병합 충돌과 해결) 지금까지 Git을 사용할 때 브랜치를 별도로 나누지 않고 메인브랜치만 사용해왔습니다. 그런데 대규모 프로젝트를 가거나 소스 변경이 빠르게 일어나는 스타트업에서는 브랜치를 잘 활용하고 있다는 것을 알게되었는데요. 그래서 병합 충돌이 발생하는 원인과 그 해결방안에 대해서 알아봤습니다. 충돌이 일어나는 이유 1. 동일한 파일을 동시에 수정한 경우 예를들어 각각의 브랜치에서 "a.txt"파일의 동일한 부분을 수정했다면 충돌이 발생합니다. 꼭 동일한 부분이 아니더라도 인접한 영역을 수정했더라도 충돌로 인식될 수 있습니다. 2. 삭제된 파일이나 새로운 파일이 동시에 추가된 경우 예를 들어 한 브랜치에서 파일을 삭제하고 다른브랜치에서 같은 파일을 수정하는 경우 충돌이 발생할 수 있습니다. 또는 한 브랜치에서 새로운 .. 2023. 12. 1.
GIT 브랜치 병합 브랜치를 만들어서 기능추가/수정 또는 버그 수정을 완료했다면, 다시 기존 브랜치로 합쳐주는 과정이 필요합니다. 이번 포스트에서는 브랜치를 병합하는 명령어에 대해 알아보겠습니다. ↓ ↓ ↓ 브랜치에 대해 아직 잘 모르신다면 이전 포스트를 확인해주세요. GIT 브랜치를 사용하는 이유와 생성/수정/삭제 안녕하세요. 오늘은 깃을 브랜치 관리하는 방법에 대해 알아보고자 합니다. 브랜치를 사용하는 이유 1. 서비스의 안정적 유지 release 버전에 영향을 미치지 않고 여러가지 기능을 테스트 해 볼 수 joalog.tistory.com 병합 방법 ✨ fast-forward 병합 Fast-forward 병합은 서로 같은 브랜치에서 파생된 두 브랜치를 합칠 때 사용하는 병합 방식입니다. 이 방식은 보통 하나의 브랜치가.. 2023. 11. 29.
GIT 브랜치를 사용하는 이유와 생성/수정/삭제 안녕하세요. 오늘은 깃을 브랜치 관리하는 방법에 대해 알아보고자 합니다. 브랜치를 사용하는 이유 1. 서비스의 안정적 유지 release 버전에 영향을 미치지 않고 여러가지 기능을 테스트 해 볼 수 있다. 버그 수정 시 사용할 수 있다. 버그가 발생한 브랜치에서 새로운 브랜치를 만들어 버그를 수정 한 후 다시 원브랜치로 통합한다. 2. 시간에 따른 프로젝트 이력 관리 어느 시점에 버그가 발생했는지, 어떤 기능이 언제 추가했는지를 추적할 수 있다. 3. 버그 수정과 기능개발 분리 버그 수정과 새로운 개발을 각각의 브랜치에서 수행할 수 있다. 이는 기능 개발의 복잡성을 낮출 수 있다. 4. 동시 개발 시 편의성 각 개발자가 맡은 기능을 개발하기 위해서 각자의 브랜치에서 개발을 진행하다가, 개발 완료 후 br.. 2023. 11. 25.
GIT HUB 초기 푸시 프로세스 자주 사용하는 명령어라서 두고두고 쓰기 위해서 정리해두겠습니다! 목적 로컬에 프로젝트 소스를 셋팅을 완료한 뒤에 신규생성한 github 레포지토리에 처음으로 소스 푸시하기! - 로컬에 이미 github계정설정이 완료된 상태에서 진행한다. - 레포지토리가 생성되어 있는 상태에서 진행한다. 깃허브 푸시 흐름도 순서 1. git bash 관리자모드로 실행 2. cd명령어로 소스 루트 폴더로 이동 3. git 초기화 git init 4. git status로 commit 안된 파일 리스트 확인 5. git add로 로컬 브랜치에 소스 올리기 git add * *을 사용하여 루트하위의 모든 폴더 및 파일 스테이징 6. git status로 commit 안된 파일 리스트 확인 7. 소스 커밋 git commit -.. 2023. 11. 22.
윈도우에서 특정 포트의 프로세스 종료하기 윈도우에서 서버 관리를 위해서는 필수적으로 알아야하는 명령어입니다. 1.관리자모드로 CMD창 실행하기 이후에 사용할 명령어 중 taskill은 관리자 권한이 필요합니다. 관리자모드로 실행해주세요. 2. 모든 프로세스의 목록 확인하는 명령어 netstat -ano 저는 아파치서비스를 종료하고 싶었는데요, 아파치가 현재 80번 포트에 떠 있습니다. 이를 종료하기 위해서는 80번 포트에 실행중인 PID(프로세스 아이디)를 찾아야하는데요, 17916으로 확인되네요. 3. 서비스 죽이기 taskkill /f /pid 17916 /f 강제종료 /pid pid로 구분하여 종료하겠다는 것을 의미한다. 이것으로 프로세스가 정상 종료되었습니다! 2023. 11. 16.
하루만에 그누보드를 Cafe24에 배포하기 챌린지 오늘은 php를 단시간에 습득하고 실제 운영까지 해볼 수 있도록 셋팅하는 것이 목표입니다. 이를 수행하기 위한 계획과 과정들을 상세히 정리해보고자 합니다. 프로젝트 시작 전 알고가기 php를 사용하는 이유 https://www.elancer.co.kr/blog/view?seq=162 php는 인터프리터 언어로 tomcat 같은 WAS가 굳이 필요하지 않다. cafe24 배포시 /www/폴더 하위에 index.html파일 및 별도의 파일들을 셋팅하면 호스팅 끝 Cafe24에 설치하기 https://sir.kr/so_phpframework/106?sfl=wr_subject%7C%7Cwr_content&stx=cafe24 cafe24는 PHP 7.4, 7.3, 7.0, 5.5 버전을 지원한다. 이 중 가장 최.. 2023. 11. 16.
반응형 웹 기초 1. 메타 태그 추가 위 메타 태그를 추가하지 않으면, 모바일에서 글씨가 아주 작게 보인다. 2. 절대 단위를 상대단위로 변경 절대단위 px 상대단위 em, rem, % em과 rem은 텍스트 요소의 크기를 지정할 때 사용하는 상대단위이며, %는 요소의 높이, 너비 등을 지정할 때 사용한다. em과 rem의 차이점 em : 부모요소의 글꼴 크기를 기준으로 한다. rem : 루트요소(html)의 글꼴 크기를 기준으로 한다., 기본값 16px em 예시 font-size: 1.5em; 예를들어 위와 같이 지정했다면, 부모요소의 글자크기의 1.5배로 지정한다는 의미이다. 따라서 부모요소의 글자크기가 20px이었다면, 위의 스타일을 지정한 요소의 글자크기는 30px이다. 여기서 주의할 점! 만약, em, rem.. 2023. 10. 22.
리눅스, 파일과 디렉토리에 대한 모든 것 리눅스의 중요한 개념 리눅스는 모든 것을 파일로 취급하는데요, 리눅스에서 실행되는 모든 프로그램들이 파일로 관리된다는 의미입니다. 그렇기 때문에 파일과 디렉토리에 대해 아는 것은 매우 중요합니다. 파일 및 디렉토리 명령어 명령어 ls ls는 list를 의미하며, 디렉터리 내용을 출력하는 명령어다. 주로 ls -al로 사용한다. 짧은옵션 긴옵션 설명 -a --all 모든 파일을 보여준다. .으로 시작하는 숨김파일도 보여준다. -d --directory 디렉토리 자체에 대한 정보를 보여준다. -F --classify 파일명에 파일종류를 알려주는 문자렬 보여준다. 실행파일 *. 디렉터리 /, 심볼릭 링크 @ -h --human-readable 바이크 크기가 아닌, 읽기 쉬운 형태로 가공하여 보여준다. 1024.. 2023. 10. 10.
JAVA) 메모리 누수 OutOfMemory: MetaSpace Cafe24 Jsp Tomcat을 사용하던 중 OutOfMemory오류가 발생하였는데, [톰캣이 설치된 경로]/tomcat/bin/catalina.sh 파일에 아래와 같은 옵션을 추가해 주었더니 해결되었다. JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC" Reference 메타스페이스에 대한 설명 https://obv-cloud.com/41 Java - Metaspace란? Metaspace란? Metaspace는 Java .. 2023. 9. 5.
JAVA) Apache Poi 엑셀다운로드 - 페이지 레이아웃 설정하기 안녕하세요 오놀은 엑셀다운로드시 페이지 레이아웃을 설정하는 방법에 대해 알아보겠습니다. /* * 엑셀파일을 읽어서 workbook생성 * 신규파일을 생성하고싶다면 워크북 생성자에 파일객체를 넣지 않아도 됩니다. */ File file = new File("[엑셀파일의 경로를 입력해주세요.]"); XSSFWorkbook workbook = new XSSFWorkbook(file); Sheet sheet = workbook.createSheet(); //용지 여백설정 sheet.setMargin(PageMargin.TOP, 1.9); sheet.setMargin(PageMargin.BOTTOM, 1.9); sheet.setMargin(PageMargin.LEFT, 1.2); sheet.setMargin(Pa.. 2023. 8. 3.
사이드 프로젝트? 1인 앱개발 시 참고하면 좋은 사이트 ✨ 1인 앱개발 사이더LAB 링크 : https://sideproject.siderlab.kr/ 1인 앱개발에 대한 내용을 개인이 꼼꼼히 정리해 놓은 사이트입니다. 🙌 Flutter Flutter Flow 링크 : https://flutterflow.io/ 플러터를 개발하는 개발자를 위해 웹상에서 UI를 수정할 수 있도록 도와줍니다. 2023. 7. 19.
Oracle version & JDK version 에 따른 ojdbc version 선택 https://oingdaddy.tistory.com/372 Oracle version & JDK version 에 따른 ojdbc version 선택 제목 그대로 Oracle version & JDK version 에 따른 ojdbc version 선택을 하는 방법이다. ojdbc란? Oracle JDBC이다. JDBC는 Java Database Connectivity, 즉 Java와 Database를 연결해주는 역할을 한다. 일단 Oracle에서 지원하 oingdaddy.tistory.com 잘정리해놓으신 블러거가 있으셔서 공유합니다! 2023. 4. 25.
[WINDOW] 윈도우 실행파일 작업표시줄에 추가하여 자동실행하기 정적파일을 수정할 때마다 IDE에서 바로 반영되지 않아, 배치파일을 만들었습니다. 그런데, 소스 수정할 때마다 저 파일을 열어서 명령어를 실행시키려니, 작업이 복잡해졌습니다. 이 파일을 작업표시줄에 추가하여 작업속도를 향상시켜보려고 합니다. 좌) 먼저 준비된 batch파일 위에서 마우스 오른쪽 버튼을 눌러 "바로 가기 만들기"를 클릭합니다. 우) 생성된 바로가기 위에서 마우스 오른쪽 버튼을 클릭한 뒤 "속성"을 클릭합니다. 대상에 해당파일의 위치가 입력되어 있을텐데요, 맨앞에 "cmd /c "를 추가해줍니다. 이후 작업표시줄에 바로가기 파일을 끌어다 놓으면 작업표시줄에 고정시킬 수 있습니다. 이제 이 바로가기 아이콘을 클릭하면, 배치파일이 자동실행됩니다. 이제 서버를 껏다 켜지 않아도 되네요..! 부디 .. 2023. 4. 3.
개인정보 마스킹 처리 금융감독원 개인정보 마스킹 가이드 https://m.blog.naver.com/0718e/221565600919 개인정보 마스킹 홈페이지 가이드, 기준 홈페이지에서 개인정보를 식별하지 못하게 하기 위해서 마스킹 처리를 해야하는데요, 마스킹 처리의 기준과... m.blog.naver.com 2023. 2. 27.
[Spring Security] SSL인증서 설치 후 세션보안 설정하기 (Spring5 servlet 3.1) http에서 https로 변경했다고 해서 모든 보안문제가 해결된 것은 아닙니다. 클라이언트와 서버가 데이터를 주고 받을 때 암호화가 적용되어 내용을 보호할 수 있지만, Session 탈취문제를 완벽하게 보호하지 못합니다. 그래서 조금이나마 보안을 강화하기 위한 설정들을 해보았습니다. 1. HTTP에서 HTTPS로 리다이렉트 처리 ... ... 위 코드는 Spring Security의 Security-context.xml에 설정한 일부 코드입니다. Security를 이용하여 https연결설정을 해볼까요? 서버의 설정파일인 server.xml에서 Connector 설정을 확인하시거나, 어플리케이션에서 정의한 포트번호를 확인하여, http포트와 https포트를 지정해줍니다. requires-channel을 h.. 2023. 2. 13.
Cafe24 JSP tomcat 상품, 도메인 구매 및 외부 SSL인증서 등록 Cafe24는 국내 최대 호스팅 서비스로, 서버대여, 도메인구매, SSL인증서 구매 및 설치 지원을 해주고 있습니다. Cafe24에서 무료 도메인을 지원해주었지만, https는 지원하지 않아서 보안에 취약하다는 단점이 있었습니다. https를 통해서 보안을 강화하고자 했는데요, 그 방법에 대해 공유드립니다. 1. 도메인 구매 Cafe24에서는 도메인 구매서비스를 지원하고 있었습니다. 가비아, 후이즈와 같은 다른 기업들도 있지만 cafe24를 선택한건 다름아닌 가격때문이었습니다. .cafe24에서 2023년내에는 *.shop 도메인에 대해서는 550원으로 할인혜택을 적용하고 있었습니다. 개인적으로 사용할 목적의 도메인이므로 의미는 상관이 없어서 .shop으로 구매 진행했습니다. 도메인 구매시에 이 정보들을.. 2023. 2. 8.
inteliJ javax.servlet.* 패키지를 못찾을 때 Spring Security 적용중 발생한 javax.servlet.* 패키지를 못찾는 에러! 서버에 내장되어 있는 패키지이지만, 이를 불러오지 못해서 발생하는 에러였습니다. 그럼 어떻게 추가하면 될까요? File > Project Structure Project Setings > Modules > 목록중 설정하려는 프로젝트 클릭! 클릭 후 나타나는 우측 화면에서 Dependencies 탭 > +버튼 > 2 Library ... 클릭 현재 프로젝트에서 사용중인 서버가 맞는지 확인 하고, 서버 선택 후 Add Selected 클릭 리스트 하단에 추가되었는지 확인 후 OK버튼을 눌러 적용! 2023. 2. 6.
[MariaDB] Window에서 테이블 생성시 대소문자 구분하기 MariaDB version : 10.10.2-MariaDB, for Win64 안녕하세요. 오늘은 테이블명 대소문자 구분하는 법을 포스팅해보겠습니다. 설정하기 MariaDB의 설정파일(기본경로 : C:\Program Files\MariaDB 10.10\data\my.ini)에 들어가셔서 lower_case_table_names설정을 추가해주면 됩니다. lower_case_table_names = 0 : 테이블 생성 및 조회 시 대·소문자 구분한다.(리눅스 기본값) lower_case_table_names = 1 : 입력 값이 대·소문자든 소문자로 인식 소문자 인식 파일 생성 (윈도우 기본값) lower_case_table_names = 2 : 윈도우에서 대·소문자를 구분해서 테이블생성 (맥킨토시 기본값.. 2023. 2. 4.
Cafe24, DBeaver (데이터베이스 접속툴)에서 MariaDB 접속하기 Cafe24 서비스명 : Tomcat JSP호스팅 일반형 (개발 언어별 호스팅, Tomcat jsp) 데이터 베이스를 손쉽게 설정하기 위해서는 데이터베이스 툴을 사용하는 것이 편리합니다. 특히 여러 데이터베이스에 접속할 수 있는 DBeaver를 자주 사용하는데, 이번 개발에서도 동일하게 사용해보려고합니다. Cafe24 > 나의서비스관리 > 호스팅 관리 > 기본관리 > 서비스사용현황 Cafe24 초기화면으로 진입했을 때 초기화면에서 하단으로 내려보시면 MySQL 외부 IP접근 설정을해주어야 합니다. 아무데서나 데이터베이스에 접근할 수 있다면, 해커에게 아주 좋은 먹잇감이 됩니다. 이때문에 특정 아이피만 데이터베이스에 직접 접속할 수 있도록 설정하는것입니다. 사용유무가 사용중이 아니거나, 아이피가 등록되어 .. 2023. 1. 15.
Cafe24 Tomcat JSP 호스팅 상품의 MariaDB 이용 시 주의사항 Cafe24에서 제공된 MariaDB 10.0.x와 제가 사용하는 MariaDB 버전이 다르기도 했고, 여러가지 설정들이 달라서 고군분투 했던 내용을 정리해보았습니다. 상품명 : Tomcat JSP 호스팅 일반형 1. 새로운 사용자 생성 불가 / 권한 수정 불가 데이터 베이스가 설치된 채로 제공되며, 사용할 계정 및 스키마도 지정되어 나옵니다. cafe24 사용자가 계정관련하여 설정할 수 있는 것은 접속 패스워드라고 생각하시면 됩니다. 2. 프로시저/함수 사용 가능 일부 상품에서는 사용이 불가능한데, Tomcat JSP 상품에서는 사용가능합니다. 하지만, 테스트용 디비에서 붙여넣을 때, 주의사항이 필요합니다. /* 톄스트 DB에서 생성시 사용한 쿼리 */ CREATE DEFINER=`[사용자명]`@`[데.. 2023. 1. 14.
SpringBoot 프로젝트 호스팅.. 고군분투기(1) / Cafe24? AWS? 업무용으로 필요한 프로그램이 있어서 만들었지만, 서버를 어디에 둘지 참 많은 고민을 했습니다. 쓰지 않는 컴퓨터에 서버를 구축해놓고 사용하려고 했으나, 일반적인 인터넷은 아이피가 유동적이기 때문에, 고정아이피를 사용해야했습니다. 고정아이피는 얼마인고 하니, 구글에서 최상위에 검색되는 하이아이피는 월 9,000원! 다음에 설명할 Cafe24보다 훨씬 비쌌습니다. 도메인을 사용하거나 https를 사용할 경우에는 추가금액이 또 들텐데... 걱정스럽더라구요.. 다음으로 알아본 곳은 Cafe24입니다.. 처음에 혹했던것은 광아우토반이었습니다. 업무용으로 사용해야 했기에, 넉넉한 트래픽 용량과 무료 서비스가 무척이나 마음에 들어서 결제까지 하려 했으나, PHP만 지원한다는 점! j워드프레스나 그누보드를 사용하는 경.. 2023. 1. 13.
반응형