본문 바로가기

2018/04/0815

삼산동 라멘가게 - 라멘마사(らーめん将) 영화보러 갔다가 저녁 먹으러 들어간 일본식 라멘가게 입니다. 사장님이 일본분이라고 하더군요. 위치는 현대백화점 울산점 별관 뒷편에 조그맣게 있습니다. 나중에 맛집으로 꽤 유명하다고 들었습니다. 일본어를 공부중이라 가게 이름이 무슨 뜻일까 생각해봤습니다. 将(まさ)는 한자가 장차 장, 장수 장 이었습니다. 마사로 읽히는걸 찾을 수가 없었는데, 아마도 사장님 이름 마사히로에서 따온게 아닐까 추측해 봅니다.(어디까지나 추측입니다.) 실내는 한 열댓명정도 들어갈 정도였던것 같았는데, 작지만 깔끔한 분위기의 가게였습니다. 조명도 아늑한 분위기를 만들어 주고 있었습니다. 소유라멘을 먹었는데, 특이하게 차슈가 아니라 치킨이 올려져 있고, 미역이 들어있습니다. 반찬은 김치와 유부초밥 하나가 나왔습니다. 사실 라멘보다는.. 2018. 4. 8.
스프링프레임웍 - Spring Security(2) : 커스텀 로그인 화면 및 권한에 따른 접근 제어 앞의 글 "스프링프레임웍 - Spring Security(1) : 기본 설정"에 이어 이번에는 커스텀 로그인 화면을 만드는 방법을 알아보겠습니다. 전체소스는 하단에 추가되어 있습니다. 1. 스프링 시큐리티 태그라이브러리를 사용하기 위한 의존성을 추가합니다. 메인화면에서 로그인이 되어 있지 않으면 로그인 링크를 보여주고, 로그인이 되어 있으면 로그아웃 링크를 보여주기 위해서 사용됩니다. org.springframework.security spring-security-taglibs 4.2.1.RELEASE 2. 커스텀 로그인 화면을 사용하기 위한 설정을 추가 합니다. 커스텀 로그인 화면 제공 및 권한(역할)에 따른 접근 제어도 테스트 해봅니다. - provider 를 통해 ROLE_USER, ROLE_ADM.. 2018. 4. 8.
일본어 공부 - 한자반복기호, 조수사(丸々1ヶ月) 듀오링고로 일본어 공부 도중 처음보는 것이 나와 적어둡니다. 한달 전체라는 문장(A whole month)의 일본어 표현이 "丸々1ヶ月" 이었습니다. 먼저 丸는 "둥글 환" 자로 일본어로는 "まる"입니다. 바로뒤에 "々"가 나왔는데, 이게 무엇을 뜻하는지 찾는데 좀 고생을 하였습니다. 위키피디아에서 찾은 뜻입니다. 々 는 한자 문화권에서 쓰이는 반복 부호로, 앞 한자와 동일한 한자를 반복해서 쓸때 대신 쓰는 글자입니다. 그러면 위의 "丸々" 는 "まるまる" 로 읽으면 되는 것이었습니다. 두 번째는 1개월의 "1ヶ月"의 "ヶ" 입니다. 카타카나인데, 큰글씨 "ケ" 는 "け"로 읽는데, 이것은 작게 적고 "か" 로 읽습니다. 이것은 뭔가를 셀 때 쓰는 조수사라고 불리는 것이었습니다. "1月" 라고 쓰면 1월.. 2018. 4. 8.
안드로이드 앱 개발 - 프로젝트 폴더 기본 구조 앞에서 생성한 간단한 앱으로 안드로이드 앱의 기본구조에 대해서 알아보겠습니다. 여기서는 먼저 Androidmanifest.xml 파일에 대해서 알아 봅니다. 1. /app/manifests/Androidmanifest.xml 파일을 보겠습니다. 매니페스트 파일에서는 Android 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공합니다. - package="com.tistory.pentode.helloandroid" 앱에서 사용하는 패키지 이름 입니다. 이 패키지 이름은 애플리케이션에 대한 고유한 식별자 역할을 합니다. - android:allowBackup="true" 안드로이드 6.0 (API 레벨 23) 부터 지원하는 Backup 서비스를 앱이 지원하는지를 나타냅.. 2018. 4. 8.
스프링프레임웍 - Spring Security(1) : 기본 설정 스프링 시큐리티는 지금까지 직접 구현해왔던 아이디/비밀번호를 입력하고 로그인하여 사용자를 인증(Authentication)하고, 로그인후 프로그램의 각각의 기능에 대한 권한을 체크(Authorization)하는 작업을 구현해둔 보안 프레임웍 입니다. 프로그램외에 리소스(이미지 등)에 대한 접근도 제어할 수 있고, CSRF(Cross Site Request Forgery) 공격 방어, 세션 고정(Session Fixation) 공격 방어 및 다중 접속 방지 등도 간단하게 구현할 수 있습니다. 이제부터 스프링 시큐리티를 사용하는 방법에 대해 알아 보도록 하겠습니다. 이 글에서는 스프링 시큐리티 4.2.1 버전으로 테스트 해 봅니다. 1. 의존성 등록(pom.xml) 스프링 시큐리티 라이브러리를 포함 시킵니다.. 2018. 4. 8.
Square 스킨 수정 - 댓글 펼침, 댓글 갯수, 댓글 보이기/감추기 Square 스킨을 사용중입니다. 반응형에 2015년 공모전 대상을 받은 심플하고 가벼운 스킨이라고 해서 사용중입니다. 만족하며 사용중인데 한가지 바꿨으면 하는 부분이 있어 수정을 해봤습니다. 1. 댓글 리스트와 댓글 쓰기폼이 항상 열려 있습니다. 처음에는 닫혀있다가 클릭하면 열리게 하고 싶었습니다. 그런데 이 기능은 관리화면에서 바꿀 수 있다는 것을 알게 되었습니다. 꾸미기 -> 화면설정 선택하고, 화면설정 화면에서 화면출력 탭을 선택하면 펼침 설정이 있습니다. "댓글 펼침"을 체크하면 처음부터 펼쳐져 있고, 체크를 해제하면 처음에는 닫혀 있습니다. 글 하단의 "트랙백 0개, 댓글 0개가 달렸습니다."를 클릭하면 열리고 닫히는것이 토글 되는 것이었습니다. 2. "펼침 설정"을 해제 해서 처음에 닫혀 있.. 2018. 4. 8.
안드로이드 앱 개발 - 안드로이드 스튜디오에서 프로젝트 만들기 안드로이드 앱 개발에 대해서 알아보면서 개발 툴을 안드로이드 스튜디오를 사용하게 될 것입니다. 안드로이드 스튜디오의 설치는 "안드로이드 스튜디오 설치하기" 를 참조하세요. 안드로이드 앱을 만들기 위해서는 Java라는 언어가 필요합니다. 물론 C++, JavaScript(Phonegap) 같은 것으로도 가능하지만 Java가 가장 많이 사용되어 집니다. 필요한 부분은 그때 그때 설명을 할테지만, 따로 공부를 하는게 도움이 될 것입니다. 그럼 안드로이드 앱의 기본 구조를 살펴볼 간단한 앱을 만들어 보겠습니다. 1. 메뉴에서 File -> New -> New Project...를 선택하여 New Project 창을 열고, Configure your new project 에서 다음과 같이 입력합니다. 나머지는 기.. 2018. 4. 8.
전자정부 표준프레임워크 - Portal Site 로깅(log4j 2) 설정하기 테스트용 프로젝트의 설치는 "전자정부 표준프레임워크 - Portal Site(Oracle) 템플릿 프로젝트 설치" 를 참조 하세요. 로깅은 애플리케이션의 디버깅과 문제해결을 위한 필수적인 도구라고 생각됩니다. 물론 개발중의 디버깅에는 System.out.println이 더 효과적인 때도 있지만, 운영중인 애플리케이션의 문제점을 찾기위해서는 반드시 필요한 도구 입니다. 전자정부 표준프레임워크의 Portal Site 템플릿을 설치해서 이것 저것 테스트 해보고 있는 중인데, 이번에는 로깅 설정 부분을 보도록 하겠습니다. 전자정부 표준프레임워크 3.6 Portal Site 템플릿에는 log4j 2 버전과 SQL문장 로깅을 위한 log4jdbc가 들어 있습니다. 여기서 알아볼 설정 방법은 일반적인 스프링 프레임웍.. 2018. 4. 8.
전자정부 표준프레임워크 - Portal Site에 메뉴관리, 코드관리 추가하기 Portal Site 템플릿을 사용해서 사이트를 만들어 보고 있습니다. Portal Site 에는 메뉴관리와 코드관리가 없습니다. 각각 특성에 맞게 템플릿을 만들었겠지만, 메뉴 정보를 DB에서 가져오는데, 메뉴관리는 없는게 좀 불편해서 메뉴 관리를 넣는게 좋을것 같습니다. Enterprise Business 템플릿에 메뉴관리와 코드관리가 있어서 그것을 가져와서 넣어 보겠습니다. 메뉴에서 eGovFrame -> Start -> New Template Project를 선택하고, 템플릿 선택창에서 Enterprise Business 를 선택해서 설치하면 되겠습니다. 실행되게 설정할 필요는 없겠습니다. 필요한 파일들만 Portal Site 프로젝트로 옮길 것이기 때문입니다. 1. 프로그램목록과 메뉴 정보를 데이.. 2018. 4. 8.
파이썬 문법 6 - 이터레이터(Iterator) 와 제너레이터(Generator) 이글은 파이썬 튜토리얼의 Iterator를 정리한 것 입니다.(https://docs.python.org/3/tutorial/classes.html#iterators) 1. 이터레이터(Iterator) 파이썬에서 반복자는 여러개의 요소를 가지는 컨테이너(리스트, 튜플, 셋, 사전, 문자열)에서 각 요소를 하나씩 꺼내 어떤 처리를 수행하는 간편한 방법을 제공하는 객체 입니다. >>> for element in [1,2,3]: print(element) >>> for element in (1,2,3): print(element) >>> for element in {1,2,3}: print(element) >>> for key in {"a":1,"b":2,"c":3}: print(key) >>> for cha.. 2018. 4. 8.
Windows 10 크리에이터 업데이트 워나크라이 랜섬웨어 때문에 윈도우즈 업데이트를 하려고 설정 -> 업데이트 및 복구 페이지에 들어가 업데이트 확인을 했더니, “좋은 소식입니다! Windows 10 크리에이터 업데이트가 곧 준비중입니다. 가장 먼저 소식을 받아보시겠어요?” 라는 메세지가 떠 있어서 해보았습니다. 아마도 조금 있으면 자동업데이트에 포함되어 업데이트가 될 것으로 보입니다. 안내 링크를 클릭해서 업데이트 프로그램을 다운로드 해서 실행했습니다. 소프트웨더를 다운로드해서 재부팅하면서 설치하는데, 한시간 정도 걸린것 같습니다. 처음에는 단순 기능 업데이트인줄 알았는데, 막상 해보니 대규모 업데이트 였던것 같습니다. Microsoft가 Windows 10 에서는 이전의 서비스팩 업데이트라는 것을 하지 않겠다고 했는데, 얼마전 1주년 업.. 2018. 4. 8.
자바 문법 - 프로그램 기본구조 자바 문법에 대해 알아 보는 첫번째 글로 자바 프로그램의 기본적인 구조에 대해 알아보겠습니다. 자바는 객체 지향 언어(Object Oriented Programming Language) 입니다. 하지만 Smalltalk과 같은 언어처럼 모든 것이 객체이지는 않습니다. 자바에는 기본 타입(primitive type) 이라는 객체가 아닌 타입이 존재합니다. 일단 지금은 객체지향 언어이지만 객체가 아닌 부분도 있다는것만 알아 두면 되겠습니다. 객체 지향 언어에서는 프로그램의 기능을 객체 단위로 만들고, 이 객체들이 상호 작용하여 기능을 수행하도록 되어 있습니다. 현실 세계에서 사람, 책상 등 객체가 상호작용하여 일을 하는 것을 본따서 만들어 졌다고 합니다. 프로그램의 객체는 크게 두 가지 부분으로 나뉘는데, .. 2018. 4. 8.
C++ 문법 공부 - 콘솔 응용프로그램 기본 구조 C++ 문법 처음으로 콘솔 응용 프로그램의 구조에 대해서 알아 보겠습니다. Microsoft Visual Studio Community 2017을 사용해서 연습을 해볼 것이므로 프로그램이 설치되어 있지 않다면 "Visual Studio Community 2017 설치하기" 를 참조해서 설치하면 되겠습니다. 바로 GUI 프로그램을 해볼까 하는 생각도 해봤지만 문법부터 배워야 하는 상황이고, 당장 뭘 만들어야 하는것도 아니기 때문에 콘솔 응용프로그램으로 시작해도 문제가 없을것 같습니다. 콘솔 응용프로그램은 GUI 없이 명령창에서 실행이 되는 프로그램 입니다. 1. 프로젝트를 생성합니다. 프로젝트의 생성 정보는 다음과 같습니다. 콘솔 응용 프로젝트 생성하는 방법도 위의 설치하기 참조글 아래쪽에 나와 있습니다... 2018. 4. 8.
파이썬 GUI - wxPython Phoenix 설치하기 파이썬으로 GUI(Graphic User Interface)를 사용할 수 있는 프로그램을 만들수 있습니다. Python용 GUI 라이브러리로 가장 잘 알려진게 wxPython 이 아닐까 생각합니다. wxPython은 Python용 GUI toolkit 입니다. 이것은 C++로 작성된 크로스 플랫폼 GUI 라이브러리인 wxWidgets를 랩핑하는 Python 확장 모듈로 만들어 졌습니다. 현재 정식 릴리즈는 Python 2용 버전이고, Python 3용은 아직 개발버전으로 wxPython Phoenix 라고 불립니다. Windows 10 + Phthon 3.6.0 + wxPython 4.0.0a2 를 설치하고 테스트 해보겠습니다. 윈도우즈 10에 Python 3.6.0을 설치하는 것은 "Python 설치하.. 2018. 4. 8.
전자정부 표준프레임워크 - CKEditor 적용하기 전자정부 표준크레임워크의 Portal Site 템플릿 프로젝트에 HTML 위지윅 에디터인 CKEditor 를 적용해 보겠습니다. Portal Site 템플릿을 설치하고 보니 에디터가 적용이 되어 있지 않았습니다. 공통컴포넌트 다운로드에서 에디터로 검색해서 다운 받은 것은 htmlarea 였습니다. 그래서 all in one 템플릿 프로젝트의 게시판에 적용되어 있던 CKEditor를 Portal Site 템플릿으로 옮겨보았습니다. 이 글에서는 Portal Site 템플릿의 자유게시판 글쓰기에 CKEditor를 적용합니다. 1. 사전에 필요한 것들 - Portal Site : "전자정부 표준프레임워크 - Portal Site(Oracle) 템플릿 프로젝트 설치" 를 참고하여 설치합니다. - All in on.. 2018. 4. 8.