분류 전체보기(404)
-
Java 유료 논쟁, Oracle JDK와 OpenJDK의 차이 정리
Oracle JDK와 OpenJDK Java 애플리케이션을 실행하기 위해서는 JVM이 필요하고 컴파일하기 위해서는 JDK가 필요하다. 일반적으로 JDK를 설치하면 JVM(Hotspot이라고도 표현, Java 기술의 핵심)도 함께 설치된다. JDK는 2개 버전으로 나뉜다. 하나는 폐쇄적인 상업 코드 기반의 Oracle JDK이고 하나는 오픈 소스 기반의 OpenJDK이다. 둘 간의 큰 차이라면 Oracle JDK는 OpenJDK에는 없는 재산권이 걸린 플러그인을 제공한다. 해당 플러그인은 Oracle이 재산권을 보유하고 있다. (보다 정확히 설명하면 Oracle이 인수하여 없어진 Sun Microsystems 시절의 유산이다.) [관련 링크] Oracle JDK에 존재하고 OpenJDK에는 없는 대표적 기..
2020.07.07 -
[Ubuntu] 우분투 방화벽(UFW) 설정
우분투의 기본적인 방화벽은 UFW입니다. 이는 iptables를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables 룰을 직접 사용해야 합니다. 참고 : 우분투 UFW help 가이드 UFW 사용법 UFW 기본 설정법에 대하여 알아보자. UFW 활성화/비활성화 UFW는 기본 비활성화 상태이기에 이를 활성화 한다. BASH sudo ufw enable UFW 비활성화 BASH sudo ufw disable UFW 상태 확인 BASH sudo ufw status verbose UFW 기본 룰 UFW에 설정되어 있는 기본 룰은 아래와 같다. 들어오는 패킷에 대해서는 전부 거부(deny) 나가는 패킷에 대해서는 전부 허가(allow) 기본 룰..
2020.06.16 -
apt-get or dpkg 오류 발생시 해결 방안
apt-get 설치를 하다보면 그와 관련한 dpkg 오류를 쉽게 겪을 수 있다. 우선은 메시지가 뜰때 관련 오류 로그를 살펴 보아야 한다. 이때에 삭제해 줘야 하는 파일이 있다면 삭제해 줘서 간단히 해결 할 수 있기 때문이다. 가장 많이 겪는 것은 '하위 스크립트 리턴' 인데 이것은 개발자가 패키지 안에 있는 debian/postinst 나 debian/postrm 등을 잘못 설계 했을 경우가 대부분 이다. 이는 패키지 설치시는 삭제시 실행되는 개발자가 설계한 스크립트 오류인데 재설치시 이러한 오류가 발생하지 않게 설계하는 것이 마땅하다. 하지만 날고 기는 개발자들도 실수를 하기 마련이고 같은 우분투라도 사용 환경에 따라서 차이가 발생 할 수 있기 때문에 문제 발생 요지가 있다. 즉 dpkg 관련 오류는..
2020.06.14 -
4. 실전 프로젝트 - 북마크 - 2
4.4. 관리자 페이지에 모델 등록 모델을 이용한 데이터 작업을 하려면 해당 뷰를 만들어야 합니다. 하지만 뷰를 만들기 위해서는 시간이 걸립니다. 또 뷰를 만들면서 확인하는 작업을 할 때 미리 입력된 데이터가 핅요하기도 합니다. 그래서 관리자 페이지에 미리 모델을 관리할 수 있도록 등록해두면 편리합니다. admin.py에 다음 코드를 입력합니다. from django.contrib import admin from .models import Bookmark admin.site.register(Bookmark) admin.py는 모델을 관리자 페이지에 등록해 관리할 수 있도록 하는 역할과 관리자 페이지에서 보이는 내용의 변경, 기능 추가 등을 ㄱ할 수 있도록 코드를 입력하는 파일입니다. from .model..
2019.06.04 -
4. 실전 프로젝트 - 북마크 - 1
이전 장까지 배웠던 내용을 머리속으로 떠올려 보면서 실제 프로젝트를 하나씩 만들어 보겠습니다. 하나의 장에서 사용한 내용은 다음 장에서도 동일하게 사용할 것입니다. 기능 하나하나를 본인이 만들고 싶은 프로젝트에 어떻게 적용할지 고민하면서 따라해 보세요. 이번 장에서는 북마크 서비스를 만들어보겠습니다. 인터넷 즐겨찾기 관리 서비스입니다. 간단하게 모델을 만들고 CRUD 페이지 들을 구현해 실제로 하나의 서비스를 만들 때 기본이 되는 앱 단위의 기능 개발을 어떻게 해야할지 배워보겠습니다. 4.1. 프로젝트 만들기 항상 시작은 프로젝트 만들기부터 입니다. 파이참을 열고 [Create New Project] 버튼을 클릭해 새로운 프로젝트를 생성합니다. 프로젝트 이름은 [bookmark]로 설정하고 가상환경도 추..
2019.06.03 -
3. 튜토리얼 따라하기 - 설문조사 - 3
3.14. 제네릭 뷰 사용하기 제네릭 뷰는 장고에서 미리 준비한 뷰를 말합니다. 웹 프로그래밍에 일반적으로 사용되는 뷰들은 이미 장고에서 대부분 만들어 뒀습니다. 이것들을 사용하면 코드를 적게 사용하고 기능들을 빠르게 완성할 수 있습니다. 다음 코드를 참조하여 views.py를 수정합니다. 기존에 있던 index, detail, results 뷰는 삭제합니다. from django.views import generic from .models import Question, Choice class IndexView(generic.ListView): template_name='polls/index.html' context_object_name='latest_question_list' def get_querys..
2019.05.28