인프런에 있는 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 by 김영한" 강의를 듣고 개인적으로 공부한 내용을 정리하는 페이지입니다. 1에 이어서 이번에는 간단하게 웹 개발방식에 대한 전반적인 내용을 적어보려고 한다. 실제로 웹을 개발하는 내용은 "스프링 핵심원리 - 기본편"강의를 듣고 난 후에 이를 토대로 직접 간단한 프로그램을 개발하면서 설명해보려고 한다. 이번에는 개발방식들, DB접근기술에는 뭐가 있는지, AOP란 뭔지 가볍게만 설명하도록 하겠다. 진행환경 os : ubuntu 20.04.3 IDE : IntelliJ java 11 개발방식 정적 컨텐츠 1) 정적 컨텐츠란? 변화가 없는 컨텐츠를 말하며, 보통 상황에 따라 컨텐츠가 바뀌는 것이 아닌 html,css와 같..
인프런에 있는 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 by 김영한" 강의를 듣고 개인적으로 공부한 내용을 정리하는 페이지입니다. 스프링이라는 항상 어렵게만 보이던 이 프레임워크에 발을 담궈보기 위해서 강의를 찾던중에 이 강의를 찾게 되어 앞으로 강의를 듣고 여기에 정리해보려고 한다. 진행환경 os : ubuntu 20.04.3 IDE : IntelliJ 진행과정 설치 1) jdk 11 버전 설치 우선 자바를 사용하기 위해서 open jdk 11 버전을 설치한다(강의에서 11버전을 깔아야 따라가는데에 문제가 없다고 한다.) 설치가 완료되었으면 다음과 같이 버전을 확인해본다. 다음과 같이 나온다면 제대로 설치된 것이다. $ sudo apt update -y $ sudo a..
flask로 웹 개발을 하게 되면 주로 sqlalchemy를 ORM으로 사용하게 된다. 대부분의 프로젝트에서는 기존에 만들어져 있는 DB를 그대로 사용하게 될텐데, 이때 ORM 사용을 위해서는 DB테이블을 클래스로 정의해주는 작업이 필요하게 된다. 기존의 DB구조를 보면서 class로 정의해주는 일은 상당히 오래걸리고 귀찮은 작업이다. 이를 위해 Django에서는 테이블을 읽어서 모델을 만들어주는 inspectdb라는 명령어가 있지만 sqlalchemy에서 제공하는 automap은 사용해본 결과, 원하는 모델구조를 잘 만들어주지는 않았다. 따라서 이를 위해서 다른 도구를 찾아본 결과, sqlacodegen이라는 라이브러리를 찾게 되었다. Sqlacodegen sqlacodegen은 DB테이블을 읽어서 M..
[출처] : https://programmers.co.kr/ 문제 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한사항 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 ..
[출처] : https://programmers.co.kr/ 문제 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,..
cockpit이란 리눅스 서버를 모니터링하고 관리하는 웹 UI 기반의 툴이다 fedora 프로젝트에서 나왔으며 centOS,unbuntu등 대부분의 대중적인 리눅스를 지원한다 설치하기 cockpit은 웹서버가 9090포트를 기본으로 사용한다. 설치는 unbuntu 20.04LTS에서 진행하였다. $ sudo apt-get update $ sudo apt-get install cockpit 위의 명령어를 실행하면 바로 설치가 된다. cockpit 웹으로 접속하기 접속방법은 웹UI 기반이므로 브라우저의 URL창에 "서버의 ip:9090" 을 입력해주면 아래와 같은 화면이 나온다. 로그인은 서버에 접속하던 id와 password를 입력하면 아래와 같이 서버 리소스 정보를 보여준다. 리소스 정보뿐만 아니라 서버..