전체 글
-
[SVN] 웹 프로젝트 형상관리 - 1기타/형상관리 2025. 1. 24. 14:56
개발을 하다 보면 프로그램에 변경사항이 생기기 마련이다.이 때 형상관리라는 것을 하는데, 여기서는 형상관리 툴인 SVN을 중심으로 다룬다. 1. 형상관리란?소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것 사전적 의미보다, 실제로 어떤 점이 유용한 것인지 알아보겠다. 프로그램을 변경할 일이 있을 때, 백업 파일을 매번 만든다고 가정하자.주요 장점에 대해서는 아래와 같다. 장점 1. 변경 이력백업 파일을 project_250124 이런 식으로 지으면 유사 형상관리라고 생각할 수 있는데이런 방식은 변경이력을 추적하기 어렵고, 어느 부분이 언제, 누가, 어떤 이유로 변경되었는지 기록되지 않는다. 장점 2. 충돌 방지 여러명이 하나의 파일을 수정하면 충돌이 발생할 수 있는데, 형상관리 툴은 충돌을 ..
-
[Expo, RN] 웹을 앱으로 배포하기, 웹뷰기타/앱 2025. 1. 24. 10:31
[Expo, RN] 웹을 앱으로 배포하기회사에 일하다가, 웹을 앱으로 만들어야 하는 일이 생겼었다.네이티브로 앱을 만들 건 아니고, 그냥 웹을 앱으로 껍데기만 씌워서 만들 것이다.거기서 앱을 통해 접근한 것이 아닐 경우, 접근을 차단하는 방식을 사용해서 만들었다.오늘은 그 방법을 간략하게 적어놓을 것이다. 1. 방식4가지 방식이 있다. 웹앱, 네이티브앱, 하이브리드앱, 크로스플랫폼 1 - 1. 웹앱웹앱은 모바일 화면에 맞게 개발된 웹페이지 개발단계에서부터 모바일을 고려해서 홈페이지를 제작하였기 때문에, 다양한 모바일 기기에서 주소를 입력하더라도 그에 맞는 화면이 알맞게 보인다. (요즘은 부트스트랩을 통해 쉽게 웹앱을 구현한다고 한다.) 하지만 웹앱은 순수 웹페이지기 때문에 휴대폰의 기능을 사용할 ..
-
웹 프로젝트 배포하기 - 톰캣 설치 후 배포기타/배포 2024. 12. 23. 00:12
웹 프로젝트 배포하기 - 톰캣 설치 후 배포 리눅스 서버 구성이 끝났으므로 본격적으로 배포 준비를 해보겠다.먼저 톰캣을 설치하려면 자바를 설치해야 한다. 리눅스 OS만 설치하고, 자바 설치를 아직 안했는데 java -version 입력해보면 8버전이 깔려있다. 리눅스 배포판들마다 기본적으로 제공해주는 게 있다고 한다. 물론 없는 것도 있다.톰캣의 자바 버전이랑 내 스프링 프로젝트 자바 버전은 맞춰야 한다.jdk 종류는 달라도 버전만 같으면 호환이 되는데, 이유는 아래와 같다.Java는 Oracle이 관리하는 Java SE (Standard Edition) 사양에 따라 구현됨 OpenJDK는 이 표준 사양에 기반한 **참조 구현(Reference Implementation)**으로, 다른 모든 배포판도..
-
웹 프로젝트 배포하기 - 리눅스 서버 구성기타/배포 2024. 12. 15. 22:30
웹 프로젝트 배포하기 내가 스프링부트로 만든 웹 프로젝트를 리눅스 서버에 배포할 것이다.리눅스 서버에 톰캣을 설치하고, 톰캣 위에 war 파일을 올려서 배포할 것이다.톰캣은 WAS(Web Application Server)이지만, 기본적으로 웹서버(HTTP 서버) 기능도 제공한다.그리고 형상관리를 위해 svn으로 관리하는 것까지도 해보겠다. 1. 왜 리눅스인가?많은 리눅스 배포판들은 무료로 제공된다.윈도우의 경우는 유료 라이센스이다. 리눅스는 오픈소스이기 때문에 커스터마이징이 자유롭고,다양한 개발 도구와 서버 소프트웨어(예: Apache, Nginx, MySQL, Docker, Kubernetes)와 호환성이 뛰어나다. 리눅스는 강력한 권한 제어 시스템(파일 및 프로세스 관리)을 갖추고 있어 보안성이 ..
-
개발 공부 일지 15차기타/개발 공부 일지 2024. 9. 27. 01:42
개발 공부 일지 15차 취업을 준비하면서 면접 연락이 몇군데 왔었는데,그 중 하나가 붙어서 취업하게 되었다.타지역의 병원에 취업한 건데, 뭐 일단 가기로 했다. 그래서 만들던 프로젝트는 지금 실력으로 계속 완성까지 만들기 보다는,일을 하면서 실력을 쌓고 나중에 새로 만드는 게 더 좋을 것 같아서프로젝트 제작은 멈추고, 부족한 CS공부를 채워나가기로 했다. 비전공자라 정처기 자격이 안되는데, 그 아래 기능사부터 따면 자격 요건이 1년씩 차감된다고 해서,일을 병행하면서 SQLD 같은 DB 관련 자격증, 정처기 관련 자격증을 준비하는 게 좋을 것 같다. 블로그 관리는 어떻게 될 지는 모르겠는데,지식과 관련된건 올릴 수 있겠지만 일 하면서 배운 내용들을 여기 올리면 안될 것 같아서일단 상황을 좀 봐야 할 ..
-
실습 두 번째 메인 프로젝트 제작 - 2실습/두 번째 메인 프로젝트 2024. 9. 24. 16:40
실습 두 번째 메인 프로젝트 제작 - 2 프로젝트 뭐 해보지 생각해보다가, 카카오 지도 API를 이용해보기로 했다.지도 API를 이용해서 지도에 무슨 표시를 해서 나만의 맛집을 등록하는 블로그를 만들기로 했다. 근데 일반적인 지도 사이트처럼 지도가 메인이고 해당 장소를 표시하는 방식은 아니고,마치 블로그의 리뷰글처럼 글이 메인이고,해당 글의 추가 정보로 지도에 위치가 표시되는 것을 보여줄 것이다. 당연히 각 글은 직접 등록하고 수정할 수도 있다.아직 안만들어봐서 모르겠지만 지우는 것은 새로 쓰면 되는데 삭제는 굳이...? 싶어서나중에 필요하면 만들 것이다. 각 글에 지역에 대해 상세정보 보기를 누르면,지도와 함께 해당 지역에 대한 간단한 소개가 나오게 만들 것이다.그래서 글이 메인이고, 지도는 그냥 ..
-
React 스프링부트와 리액트 연동하기Front-End/React 2024. 9. 19. 18:32
React 스프링부트와 리액트 연동하기 새 프로젝트를 만드는데, 프론트 단을 리액트를 사용하려고 연동하는 법을 알아왔다.기본적인 방법은 그냥 에디터에서 리액트를 사용하는 것과 같고, 마지막에 연동하는 부분이 중요하다.바로 코드로 알아보자. 1. 리액트 실행프로젝트를 생성하고, 터미널을 연다.이거 경로 이름 한글 들어가있는데, 웬만하면 영어로 하는 것이 좋다.다음 코드 입력cd src/mainnpx create-react-app `프로젝트 명` 이거 예전에는 npx가 아니라 npm이었는데, npx를 사용하는 것이 더 좋다.npm 5.2.0 이후 버전을 설치하면 npx가 자동 설치된다.최근에 나온 npm은 다 적용되어 있다.npx는 npm을 더 편하게 사용할 수 있게 해주는 npm의 도구이다.아 물론..
-
실습 두 번째 메인 프로젝트 제작 - 1실습/두 번째 메인 프로젝트 2024. 9. 18. 22:05
실습 두 번째 메인 프로젝트 제작 - 1 첫 프로젝트를 너무 못만들어서 완전히 새로운 걸 하기 보다는,기능들을 추가해서 업그레이드하는 개념으로 만들어볼 것이다. 기존 프로젝트를 그대로 사용하진 않고, 새로 만들 것이다.뭐 각 기능들로 엄청 특별한 무언가를 하지는 않고, 그냥 한 번 다뤄볼 것이다. 사용할 것으로 예상되는 기능?방식?들을 한번 나열해보겠다. 1. 느슨한 결합기존의 프로젝트에서는 인터페이스를 사용하지 않고, 클래스끼리 연결되어서 결합도가 너무 높았다.이러면 나중에 연결될 객체가 변경되면 그에 따라 바뀌는 코드가 너무 많아진다. 서비스, 리포지토리, DAO 등등 인터페이스를 만들고,해당 인터페이스를 구현하는 클래스를 만들어서연결 관계 사이에 인터페이스를 사용하여 결합도를 낮춰서 유지..