종달랩 종다리 이야기

ubuntu에 openssh-server 설치하기

Computer Science/리눅스
반응형

가장 많이 쓰기도 하고 쉽게 접근하기도 편한건 우분투가 아닐까 한다.


클라우드에서 만만하게 설치할 수 있는 서버도 우분투가 가장 무난하다.


우분투 서버에 접근하기 위해서는 ssh가 편하고도 쉽다.


이를 위해서 간단히 우분투에 putty를 통해 접근하는 방법을 정리한다.


(1) 첫번째로 sudo -s 명령어를 입력해 root 권한을 획득합니다.
이때 2번째 빨간 밑줄과 같이 패스워드를 입력하라고 나오는데 우분투를 처음 설치하시면서 설정하셨던 패스워드를 입력하시면 됩니다.
리눅스의 특징상 패스워드를 입력해도 아무것도 출력되지 않습니다.


(2) 그 다음엔 sudo apt-get install ssh 명령을 입력해 우분투에 ssh를 설치해야합니다.


(3) 명령어를 제대로 입력하면 터미널에 이런저런 말들이 많이 뜨는데요. 아래와 같은 물음이 나오면 Y 나 y 를 입력해서 계속 진행합니다.


(4) ssh의 설치가 끝나면 다시 명령어를 입력할 수 있는 프롬프트 메시지가 출력됩니다.
그러면 이번에는 sudo apt-get install openssh-server 명령어를 입력해 openssh-server를 설치해줍니다.
"...already the newest version"이 표시되면 이전에 이미 설치가 되있는 것입니다.


(5) 설치가 된 ssh를 sudo /etc/init.d/ssh restart 명령어를 통해 재시작시켜줍니다.(/etc/init.d/ssh 는 절대경로에서의 ssh의 위치입니다.)


putty는 각자 알아서 하는걸로 정리마무리 합니다.

반응형

Azure가 제안하는 리눅스VM을 이용한 고가용성 어플리케이션 설계

Computer Science/클라우드-대용량 아키텍처
반응형

클라우드 서비스를 개발하면서 여러가지 자료들을 접하고 있다.

 

너무 많은 자료가 많고, 이를 전체적으로 통찰해서 아는 사람들이 많지 않은 것인지, 아니면 내가 그런 사람을 못만난것인지는 모르겠지만, IaaS와 PaaS와 SaaS를 정확히 구분짓고, AWS, Azure, IBM BlueMix등에서 어떻게 설계하고 목적한 바를 얻을 수 있는지 전체적으로 이야기 해주는 분은 아직 만나질 못했다.

 

하긴, 각 분야별로도 알아야 할게 많은데, 이걸 서비스별, 제품별 모두 알고 있다면 그건.. 대단한 사람일 수 밖에 없겠지요.

 

최근에 Azure를 이용해서 클라우드 환경 설계에 대해서 공부하다가 좋은 자료가 있어 링크합니다.

 

화면이 좀 이쁘게 않나와서 읽기 힘들면 링크를 타고 들어가면 더 좋고 저 많은 내용이 있습니다.

 

 

 

반응형

클라우드 서비스에 대한 정리

Computer Science
반응형

클라우드 서비스에 대한 좋은 사이트가 있어서 내용 공유합니다.




최근 IBM, MS, Google 등의 거대 기업들이 이 클라우드 컴퓨팅이라는 사업에 주력하고 있고, 열광하고 있다. 근데 정작 나는 소프트웨어 공학을 연구하는 한 사람으로 왜 이게 이렇게 각광을 받아야 하는지 제대로 조사해보지도 않고 있었다. (부끄럽다.)

이에, 클라우드 컴퓨팅이 무엇인지, 앞으로 어떻게 발전할 것인지를 지금에서라도 정리해보려고 한다. 



1. 배경

1990년대 초, 웹이 시작되면서 짧다면 짧은 그 시간동안 세상의 많은 것들을 바꾸어 놓았다. 컴퓨팅 속도와 데스크탑의 보급률이 는 매년 기하급수적으로 증가하면서 이를 이용하는 사용자들의 웹으로의 진출이 용이해졌다. 이로인해 웹은 또 다른 사회의 모습이 되어갔고, 웹의 보편화를 가능케 하는 인프라도 복잡 및 다양해졌다. 

지금은 이런 복잡한 인프라를 기반으로 사용자들의 요구사항을 충족시키기 위해 웹 기반의 서비스들이 다양하게 제공되고 있으며, 이런 측면에서 이젠 데스크탑은 그저 웹을 접속하기 위한 수단이 되었다. (웹으로의 플랫폼 및 소프트웨어 이동, SaaS - Software as a Service, PaaS - Platform as a Service)

사용자들은 웹에서 제공하는 다양한 서비스들로 인해 서버를 유지할 필요를 느끼지 못하게 되었고, 서버 유지를 대신해줄 인프라서비스도 구축하게 된다. 이를 IaaS (Infrastructure as a Service) 라고 말하고, 사용자가 원하는 방법으로 필요한 만큼 서버를 구축하여 사용한다는 개념을 웹에다 포함시킨다.



2. 정의

"클라우딩 컴퓨팅은 사용자의 환경 밖에서 서비스로서 제공된 확장 가능한 컴퓨팅 자원을 사용한 양에 따라 비용을 지불하고 사용하는 것" [1] 이라고 할 수 있다. 사용자는 사용한 자원에 대한 비용만을 지불하며 클라우드 환경에 있는 모든 자원을 언제 어디서나 인터넷을 통해 액세스 할 수 있다.



3. 클라우드 서비스의 유형

SaaS (Software as a Service)

클라우드 서비스 중 가장 일반적인 유형이며 대부분의 사용자가 언젠가 사용해 본 경험이 있는 유형이다. SaaS 클라우드 모델에서는 서비스 제공자가 모든 인프라와 소프트웨어 제품을 제공한다. 사용자는 웹 기반의 프론트엔드를 사용하여 서비스와 상호작용한다. 이러한 서비스는 Gmail과 같은 웹 기반의 이메일에서 Mint와 같은 금융 소프트웨어에 이르기까지 다양한 범위에 적용된다.

PaaS (Platform as a Service) [2]
서비스 제공자가 자체 하드웨어 인프라에서 호스트하는 소프트웨어와 제품 개발 도구를 제공하는 클라우드 서비스이다. 사용자는 제공된 API와 플랫폼 또는 개발용 그래픽 사용자 인터페이스를 사용하여 애플리케이션을 개발(빌드)할 수 있다. 이러한 유형의 서비스에 대한 일반적인 사례로는 Salesforce.com의 Force.com과 Google App Engine을 들 수 있다.

IaaS (Infrastructure as a Service) [1]
가상 서버, 데이터 스토리지 및 데이터베이스와 같은 일련의 빌딩 블록에 대한 액세스를 서비스 형태로 제공하는 클라우드 서비스이다. 사용자는 이러한 빌딩 블록을 결합하거나 계층 구조화하여 애플리케이션을 실행하는 데 필요한 인프라를 구축할 수 있다. IaaS와 관련된 가장 유명한 사례는 AWS(Amazon Web Services)와 Rackspace이다.


즉, 제공되는 범위가
SaaS < PaaS < IaaS 라고 생각할 수 있다.

* 접근 권한에 따라 공용 / 사설 / 혼용(VPN사용) 의 형태로 클라우드 서비스를 제공할 수 있다.




4. PaaS 클라우드 서비스들의 사례

Google App Engine (Google code) [5][6][7]
Google의 인프라에서 웹 애플리케이션을 실행할 수 있다. JVM(Java Virtual Machine) 기반의 애플리케이션을 실행하기 때문에 Java가 아닌 언어로도 애플리케이션을 작성할 수 있다. (JRuby, Scala, Clojure, Groovy, Jython, Beanshell 등)

제한사항
- 사용자는 Python이나, Java 기술을 이용하여 사용할 수 있는 표준 라이브러리의 서브세트만을 사용할 수 있다.
- CPU 요청량, 메모리, 파일의 크기 등에 대한 할당향이 정해진다.
- 애플리케이션에 전달되는 모든 요청은 30초 내에 리턴되어야 한다.
- 사용자는 해당 파일 시스템에 대한 액세스 권한을 가지고 있지 않으며 애플리케이션의 일부로 업로드된 정적 파일만을 읽을 수있다.
- App Engine 환경에서는 사용자가 스레드나 프로세스를 생성할 수 없다.
- App Engine에서 사용된 스토리지 백엔드는 스키마리스 키 값 데이터 저장소인 BigTable이다.
- App Engine은 HTTP 요청에서 트리거되는 코드만 실행할 수 있다.

* 현재 Google App Engine 을 오픈 소스로 구현한 AppScale[3] 도 존재한다. AppScale은 IaaS 클라우드에서 Google App Engine 애플리케이션을 쉽게 실행할 수 있게 하는 클라우드 컴퓨팅 플랫폼이다. AppScale은 Google App Engine 애플리케이션을 로컬에서 테스트하고 디버그할 수 있는 유용한 방식이다. (오픈소스, 실험용으로 유용, 사설 클라우드, App Engine 호환성)



5. IaaS 클라우드 서비스의 특징 

테스트와 스테이징
완전한 테스트 환경과 스테이징 환경을 구축하여 사용할 수 있으며 필요 없는 경우에는 해체할 수 있다. 더 이상 환경을 준비하거나 하드웨어를 조달할 때까지 기다릴 필요가 없다. 테스트하고자 하면 언제든지 새로운 환경을 구축할 수 있으며 테스트가 완료된 후에는 구축한 환경을 해체할 수 있다.

웹 애플리케이션 전개 환경
사용자는 IaaS를 사용하여 웹 사이트를 실행할 수 있으며 필요 시에는 자원을 확장하여 트래픽 증가량을 쉽게 처리할 수 있다. IaaS 클라우드 서비스를 사용하여 특정 마케팅 캠페인이나 영업 전략을 제공하는 임시 웹 사이트를 추가로 작성할 수도 있다.

스토리지 니즈
엔터프라이즈에서는 클라우드 서비스를 파일이나 기타 고객 데이터를 저장하기 위한 공간으로 사용할 수 있다.

대용량 데이터 처리
클라우드 서비스의 기능을 사용하여 대용량 데이터 세트를 처리하고 대규모 병렬 처리를 활용할 수 있다. 필요 시에 대용량 데이터를 처리할 수 있는 그리드를 작성한 후, 처리가 끝난 다음, 이 그리드를 해체할 수 있다.




6. 클라우드 서비스와 웹 서비스의 관계 (Discussion)

클라우드 서비스는 SOAP 과 REST를 사용하여 접근 하며, 서비스 제공자가 제공하는 API (Operation)의 동작원리를 알 필요가 없는 느슨한 결합(Loosely coupled)을 통해 재사용성을 향상시킨다는 점에서 웹 서비스의 일부라고 생각한다. 웹 서비스의 개념을 플랫폼, 인프라로 확대 해석하여 사용자에게 제공해준다는 개념으로, 사용자에게 있어서는 기존 웹 서비스와 같지만, 개발자 입장에선 기존의 개념만으로는 서비스 및 리소스 제공에 불완전한 측면이 많은 듯 하다. 이를 해결하기 위해서 IBM에선 Eucalyptus [1], 산타바바라 대학에서 제공하는 플랫폼인 AppSclae[3] 와 같은 인프라 혹은 플랫폼을 오픈소스 소프트웨어로 제공하기도 한다. 계층 적인 모델링, 리소스에 대한 체계적인 관리가 필요한 분야가 된 것 같다.


하지만, 이는 기존의 CBD(Component-based development), Reliable software, Grid computing 개발 측면에서 고려했던 항목들도 포함되어 있기 때문에, 클라우드 서비스만의 특징을 좀 더 공부 및 연구해 볼 필요가 있다.


* Cloud service's issues [4]
 - Privacy
 - Compliance
 - Legal
 - Open source
 - Open Standard
 - Security
 - Availability and performance
 - Sustainability and siting



Reference 

[1] P. Changanti, 가상 인프라용 클라우드 서비스, Part 1: IaaS(Infrastructure as a Service) 및 Eucalyptus,
http://www.ibm.com/developerworks/kr/library/os-cloud-virtual1/index.html
 

[2] P. Changanti, 가상 인프라용 클라우드 서비스, Part 2: PaaS(Platform as a Service) 와 AppScale
http://www.ibm.com/developerworks/kr/library/os-cloud-virtual2/index.html 

[3] AppScale Project wiki
http://code.google.com/p/appscale/w/list 

[4] Wikipedia, Cloud Computing  
http://en.wikipedia.org/wiki/Cloud_computing

[5] Google App Engine
http://code.google.com/intl/ko-KR/appengine/ 

[6] likejazz, 구글 웹 어플리케이션 플랫폼: App Engine
http://www.likejazz.com/archives/280

[7] 한날, Google App Engine으로 "안녕하세요, 여러분" 출력하기
http://www.hannal.net/blog/say_hello-world_on_google-app-engine_service/

[8] J. Han., Cloud Computing
http://webappscon.com/2008/uploads/Program/ws-2-2.pdf



출처: http://seulkom.tistory.com/entry/클라우드-서비스란-Cloud-Service [행복한 프로그래머]

반응형

ubuntu에 DocuPrint c1110 드라이버 설치방법

Computer Science/리눅스
반응형

다음 사이트를 참조하자. [참조]


하지만 귀찮을 수 있으니..


Xerox 에서 Ubuntu 용 C1110 Driver 는 제공해주지 않는다.

그러나 다행히도 Redhat 용 Driver를 rpm 으로 제공해 준다.

http://www.fujixeroxprinters.com/downloads/uploaded/Drivers/DocuPrint%20C1110%20C1110B/linux/fxlinuxprint-1.0.1-1.i386.zip


다운받아서 설치하지말고 압축해제만 한다.

/etc/cups/mimefx.convs
/etc/cups/mimefx.types
/usr/lib/cups/filter/pdftopdffx
/usr/lib/cups/filter/pdftopjlfx
/usr/lib/cups/filter/pstopdffx
/usr/share/cups/model/model/FujiXerox/en/fxlinuxprint.ppd

총 6개의 파일을 얻을수 있다.

제일 중요한것은 /usr/lib/cups/filter/ 에 있는 3개의 파일이다.

이 파일들을

sudo cp ./usr/lib/cups/filter/* /usr/lib/cups/filter/
sudo chown root:root /usr/lib/cups/filter/*

그리고 ppd 파일을

cp ./usr/share/cups/model/model/FujiXerox/en/fxlinuxprint.ppd /etc/cups/ppd/

sudo vi /etc/cups/mime/mime.convs
제일 아래쪽에...
application/pdf application/vnd.cups-pdfprintfx 0       pdftopdffx
추가해준다.

sudo vi /etc/cups/mime/mime.types
제일 아래쪽에...
application/vnd.cups-pdfprintfx
추가해준다.

메뉴에서
System > manage > print > new....

추가하다가 드라이버를 선택하는 항목에서

ppd 파일을 선택한다음... /etc/cups/ppd/fxlinuxprint.ppd 를 선택한다.

인쇄 테스트를 한다.

끝..


반응형

chrome의 탭, 북마크의 폰트가 커서 변경하고싶을때

Computer Science/리눅스
반응형

Ubuntu 16.04, 16.10 모두에서 Chrome의 top 메뉴의 폰트의 크기가 시스템 폰트와 다르게 설정이 되어있었다.


이것 저것 검색해본 결과 다음과 같은 방법으로 설정할 수있었다.


chrome://flags/#top-chrome-md


이렇게 URL을 변경하면 세부적인 내용을 설정할 수 있는 페이지가 나온다.


UI Layout for the browser's top chrome Mac, Windows, Linux, Chrome OS
Toggles between normal and touch (formerly "hybrid") layouts. 


여기에서 설정값을 Default에서 Normal로 변경하면 시스템 폰트의 영향을 받게 된다.

보통은 여기에 Default가 되고 Touch의 영향을 받게 된다. 이건 모바일에서 터치를 쉽게 하기 위한 설정으로 판단된다.



반응형

키보드 특수 문자의 영문이름

Computer Science/프로그래밍 TIP
반응형

개발을 하거나, 컴퓨터 관련된 여러가지 일들을 하다보면 특수문자를 이용할 때가 많다.

한국에서야 큰괄호, 중괄호, 따옴표, 쉼표로 부르고, 일부 콜론, 세미콜론등과 같이 널리 알려진 이름을 부를 수 있지만, 대부분의 특수기호에 대해서 이름을 알고 쓰는 사람은 주변에서 많이 못본것 같다.

나도 사실 이름을 다 모르고 썼다.




하지만, 이제 2017년..


이름을 알고 써야 할 때가 온것 같다. 


자.. 이름을 우리 다 같이 공부해 봅시다.


자, 그럼 컴퓨터 자판 좌측 위쪽부터 시작합니다.


` 그레이브 (GRAVE) 

다른 표현 : accent, backquote, left/open quote, backprime, unapostrophe backspark, birk, blugle, backtick, push, backglitch, backping, execute, boulder, rock, blip


~ 틸더, 위글 (TILDE, WIGGLE) a.k.a 물결 표시

다른 표현 : twiddle, tilda, tildee, wave, squiggle, swung dash, approx, wiggle, enyay, home, worm, not


익스클러메이션 포인트 (EXCLAMATION POINT) a.k.a 느낌표

다른 표현 : exclamation(mark), (ex)clam, excl, wow, hey, boing, bang, shout, yell, shriek, pling, factorial, ball-bat, smash, cuss, store, potion, not, dammit


앳 사인 (AT SIGN) a.k.a 골뱅이

다른 표현 : at, each, vortex, whirl, whirlpool, cyclone, snail, ape(tail), cat, snable-a, trunk-a, rose, cabbage, Mercantile symbol,strudel,fetch,shopkeeper,human,commercial-at,monkey(tail)


크러스햇지 (CROSSHATCH) a.k.a 우물 표시, 샵

다른 표현 : pound, pound sign, number, number sign, sharp, octothorpe, hash, (garden) fence, crunch, mesh, hex, flash, grid, pig-pen, tictactoe, scratch (mark), (garden) gate, hak, oof, rake, sink, corridor, unequal, punch mark


달러 사인 (DOLLAR SIGN) a.k.a 딸라표시

다른 표현 : dollar, cash, currency symbol, buck, string, escape, ding, big-money, gold, Sonne


퍼센트 사인 (PERCENT SIGN) a.k.a 퍼센트표시

다른 표현 :  percent, mod, shift-5, double-oh-seven, grapes, food


서컴플렉스 (CIRCUMFLEX) a.k.a 웃는 표시

다른 표현 :  caret, carrot, (top)hat, cap, uphat, party hat, housetop, up arrow, control, boink, chevron, hiccup, power, to-the(-power), fang, sharkfin, and, xor, wok, trap, pointer, pipe, upper-than#


앰퍼샌드 (AMPERSAND) a.k.a 앤드 표시

다른 표현 : and, amper, address, shift-7, andpersand, snowman, bitand, donald duck, daemon, background, pretzel


애스터리스크 (ASTERISK) a.k.a 별 표시

다른 표현 : star, splat, spider, aster, times, wildcard, gear, dingle, (Nathan) Hale, bug, gem, twinkle, funny button, pine cone, glob


레프트 퍼렌써시스 (LEFT PARENTHESIS) a.k.a 왼쪽 (소) 괄호

다른 표현 : (open) paren, so, wane, parenthesee, open, sad, tool


라이트 퍼렌써시스 (RIGHT PARENTHESIS) a.k.a 오른쪽 (소) 괄호

다른 표현 : already, wax, unparenthesee, close (paren), happy, thesis, weapon


- 하이픈 (HYPHEN) a.k.a 가운데 작대기

다른 표현 : minus (sign), dash, dak, option, flag, negative (sign), worm, bithorpe


_ 언더스커어 (UNDERSCORE) a.k.a 밑줄, 언더라인

다른 표현 : underline, underbar, under, score, backarrow, flatworm, blank, chain, gets, dash, sneak


이퀄 싸인 (EQUAL SIGN) a.k.a 는 표시, 이콜 표시

다른 표현 :  equal(s), gets, becomes, quadrathorpe, half-mesh, ring


+ 플러스 싸인 (PLUS SIGN) a.k.a 더하기

다른 표현 :  plus, add, cross, and, intersection, door, spellbook


\ (₩) 백슬래쉬 (BACKSLASH) a.k.a 원 표시, 돈 표시 => ₩ 는 한국자판에만 표시되어 있음

다른 표현 :  reversed virgule, bash, (back)slant, backwhack, backslat, escape, backslak, bak, scan, expand, opulent throne, slosh, slope, blash


버티컬 바 (VERTICAL BAR) a.k.a 수직 작대기

다른 표현 :  pipe, pipe to, vertical line, broken line, bar, or, bitor, vert, v-bar, spike, to, gazinta, thru, pipesinta, tube mark, whack, gutter, wall


래프트 브레킷 (LEFT BRACKET) a.k.a 왼쪽 대괄호

다른 표현 :  bracket, bra, (left) square (brack[et]), opensquare, armor


라이트 브레킷 (RIGHT BRACKET) a.k.a 오른쪽 대괄호

다른 표현 :  unbracket, ket, rightsquare(brack[et]), unsquare,  close, mimic


레프트 브레이스 (LEFT BRACE) a.k.a 왼쪽 중괄호

다른 표현 : brace, curly, leftit, embrace, openbrace, begin, fountain


라이트 브레이스 (RIGHT BRACE) a.k.a 오른쪽 중괄호

다른 표현 : unbrace, uncurly, rytit, bracelet ,close, end, apoolcurly braces, squiggly braces, curly brackets, squiggle brackets, Tuborgs, ponds, curly chevrons, squirrly braces hitchcocks, chippendale brackets


; 세미콜론 (SEMICOLON) a.k.a 세미콜론

다른 표현 : semi, hybrid, giant eel, go-on


콜론 (COLON) a.k.a 땡땡

다른 표현 : two-spot, double dot, dots, chameleon


“ 쿼테이션 마크 (QUOTATION MARK) a.k.a 쌍따옴표

다른 표현 : (double) quote, dirk, literal mark, rabbit ears, double ping, double glitch, amulet, web, inverted commas


 어퍼스트로피 (APOSTROPHE) a.k.a 작은따옴표, 홑따옴표

다른 표현 : (single) quote, tick, prime, irk, pop, spark, glitch, lurker above


, 커머 (COMMA) a.k.a 콤마, 쉼표

다른 표현 : tail, trapper


피어리어드 (PERIOD) a.k.a 쩜, 마침표

다른 표현 : dot, decimal(point),(radix)point, spot, fullstop, put, floor


< 레스 댄 (LESS THAN) a.k.a 왼쪽 화살표

다른 표현 : less, read from, from, in, comesfrom, crunch, sucks, left chevron, open pointy (brack[et]), bra, upstairs, wes (left|open) widget


> 그레이럴 댄 (GREATER THAN) a.k.a 오른쪽 화살표

다른 표현 : more, write to, into/toward, out, gazinta, zap, blows, right chevron, closing pointy (brack[et]), ke downstairs, east, (right|close) widget


슬래쉬 (SLASH) a.k.a 나누기 표시

다른 표현 : stroke, virgule, solidus, slant, diagonal, over, slat, slak, across, compress, reduce, replicate, spare, divided-by, wand forward slash, shilling


? 퀘스천 마크 (QUESTION MARK) a.k.a 물음표

다른 표현 : 퀘스천 마크, question, query, whatmark, what, wildchar, huh, ques, kwes, quiz, quark, hook, scroll, interrogation point


공백 스페이스 (SPACE) a.k.a 스페이스, 한칸 띄고, 빈 칸

다른 표현 : blank, ghost 


출처 :  키보드 특수 문자 이름정리

반응형

JSP의 JSTL정리(JSP Standard Tag Library)

Computer Science/JSP
반응형

JSP에서 Tag를 이용해서 프로그래밍을 하기 위해서는 JSTL을 이용한다.


코어태그

  • <%@tablib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>형태로 정의한다.
  • if-else 또는 변수지정 같은 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공한다.


 기능분류

 태그 

 설명 

 변수 지원

 set

 JSP에서 사용될 변수를 설정한다. 

 remove 

 설정한 변수를 제거한다. 

 흐름 제어

 if 

 조건에 따라 내부 코드를 수행한다. 

 choose 

 다중 조건을 처리할 때 사용한다. 

 forEach

 컬렉션이나 Map의 각 항목을 처리할 때 사용한다. 

 forTokens

 구분자로 분리된 각각의 토큰을 처리할 때 사용한다. 

 URL 처리

 import

 URL을 사용하여 다른 자원의 결과를 삽입한다. 

 redirect

 지정한 경로로 리다이렉트 한다. 

 url

 URL을 재작성 한다. 

 기타 태그

 catch 

 익셉션 처리에 사용된다. 

 out 

 JspWriter에 내용을 알맞게 처리한 후 출력한다. 



자세한 내용은 다음 링크 참조


JSTL 코어 태크


함수태그

  • JSTL은 EL에서 사용할 수 있는 함수 태그를 제공한다.


함수

 설명 

 length(obj)

 obj가 Conllection인 경우 저장된 항목의 개수를, 문자인 경우 문자열의 길이를 반환

 toUpperCase(str)

 str을 대문자로 변환

 toLowerCase(str) 

 str을 소문자로 변환

 substring(str, idx1, idx2) 

 str.substring(idx1, idx2)의 결과를 반환, idx2가 -1일 경우 str.substring(idx1)과 동일

 substringAfter(str1, str2) 

 str1에서 str1에 포함되어 있는 str2 이후의 문자열을 구함

 substringBefore(str1, str2) 

 str1에서 str1에 포함되어 있는 str2 이전의 문자열을 구함

 trim(str) 

 str 좌우의 공백 문자를 제거 

 replace(str, src, dest) 

 str에 있는 src를 dest로 변환

 indexOf(str1, str2) 

 str1에서 str2가 위치한 인덱스를 구함

 startsWith(str1, str2)

 str1이 str2로 시작할 경우 true, 그렇지 않을 경우 false를 반환

 endsWith(str1, str2) 

 str1이 str2로 끝나는 경우 true, 그렇지 안을 경우 false를 반환

 contains(str1, str2)

 st1이 str2를 포함하고 있을 경우 true를 반환

 containslgnoreCase(str1, str2)

 대소문자 구분없이 str1이 str2를 포함하고 있을 경우 true를 반환

 split(str1, str2) 

 str2로 명시한 글자를 기준으로 str1을 분리해서 배열로 반환 

 join(array, str2) 

 array에 저장된 문자열을 합침, 각 문자열의 사이에는 str2가 붙음

 escapeXml(str) 

 XML의 객체 참조에 해당하는 특수문자를 처리함 



JSTL 함수 태그


국제화태그

  • <%@tablib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>형태로 정의한다.
  • 특정 지역에 따라 알맞은 메시지를 출력할 경우에 사용한다.

기능분류

 태그 

 설명 

 로케일 지정

 setLocale

 Locale을 지정

 requestEncoding

 요청 파라미터의 캐릭터 인코딩을 지정

 메시지 처리

 bundle

 사용할 번들을 지정

 message

 지역에 알맞은 메시지를 출력

 setBundle

 리소스 번들을 읽어와 특정 변수에 저장

 숫자 및 날짜 포맷팅

 formatNumber

 숫자를 포맷팅

 formatDate

 Date 객체를 포맷팅

 parseDate

 문자열로 표시된 날짜를 분석해서 Date 객체로 변환

 parseNumber

 문자열로 표시된 날짜를 분석해서 숫자로 변환

 setTimeZone

 시간대 정보를 특정 변수에 저장

 timeZone

 시간대를 지정


자세한 내용은 다음 링크 참조


커스텀태그


자세한 내용은 다음 링크 참조

JSTL 커스텀태그

반응형

웹페이지 안에 소스를 넣을때 소스를 잘 표시하고 싶으면

Computer Science/HTML5
반응형

블로그가 티스토리인 관계로 글을 쓸때 소스를 입력시킬 때가 많다.

하지만, 소스를 조금 더 멋있게 표시하고 싶으면 다음링크를 통해서 멋있게 표시해볼 수 있다.



[블로그 관리하기] 티스토리(Tistory)에 소스코드 넣기, SyntaxHighlighter 설치/적용/사용법


위 방법대로 할 경우 


java


jsp



xml



반응형

자바 네이밍 룰에 대한 글

Computer Science/Java
반응형

java의 get/set function에 대해서 소소한 궁금증이 생겨서 이런 저런 자료를 구글링하다가 찾은 내용.


자바의 naming convention에 대한 글을 모아놓은 사이트인데, 시간날때 읽어보면 좋을 듯해서 링크 걸어놓습니다.


보기에 좋지 않아서 긁어서 다시 정리할까 하는데, 언제 할지는..


[Java naming convention 링크]

반응형

TensorFlow를 위해서라도 고급 그래픽카드는 이제 필수

Computer Science/머신 러닝
반응형

Ignoring gpu device (device: 0, name: GeForce GTX 460, pci bus id: 0000:07:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0.


이 메시지를 제대로 해석을 못해서 직접적인 컴파일을 통해서 Cuda의 최소 지원을 수정하면 될 줄 알았다.


하지만, 최근 TensorFlow는 Cuda 3.0이상을 지원하는 그래픽카드가 있어야 한다는 것이였다.

내가 갖고 있는 싸구려 그래픽카드는 GTX 460으로 2.1만을 지원하는 것이였다.


보통 서버로 동작할 컴퓨터에는 비싼 그래픽카드가 필요없다는 인식을 갖고 있었는데, 앞으로는 고사양의 GPU를 갖는 그래픽카드가 필요한 시대가 된것이다.


어제 광화문에서 들은 교육에서도, 딥러닝이 가능할 수 있었던 것은 고사양의 컴퓨터가 등장하고, 그동안 오락이나 그래픽용으로만 사용되던 GPU의 고속연산으로 인해 구체화된것이라는 내용이 있었다.


고도의 데이터를 연속으로 처리하는데 병렬처리 프로세서가 필요하고, 지금까지 그것을 처리하기 위해 특화진화한 것이 GPU였기 때문이다.


그래픽카드를 업그레이드 할 필요는 없어졌고, 이제는 TensorFlow의 이용법과 그동안 기억저편에도 있을까 말까한 인공지능관련된 지식을 깨워내야 겠다. 


수학은... 정석부터 다시 시작하는게 정석이겠지..


반응형