블로그 이미지
바나나맛딸기우유

Tag

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
  • total
  • today
  • yesterday

'programing'에 해당되는 글 8건

  1. 2019.12.10 VI 편집기 copy and paste
  2. 2019.02.14 CentOS7 포트 열기
  3. 2018.04.25 Linux 좀비 확인
  4. 2012.06.15 MIME Type
  5. 2012.06.15 Model과 ModelMap의 차이
  6. 2012.06.13 ANT 경로 패턴
  7. 2010.04.15 Android OptionsMenu 사용하기..
  8. 2009.07.28 Session 사용..ㅠㅠ
2019. 12. 10. 17:52 programing/Linux

▶ 리눅스/유닉스의 빔(vim/vi) 에디터

더보기

⊙ 아래의 3개의 키로, 텍스트를 복사하여 다른 곳에 붙이는 작업 가능
  v, y, p

⊙ 텍스트 복사 붙이기 순서
(1) v : Visual mode 로 진입 (현재 문서를 편집중이라면 Esc키를 누르고, v키를 눌러야 함)
(2) 그런 후, 상하좌우 화살표키를 움직이면, 이제 선택 블록이 회색으로 잡힌다. 복사할 부분을 선택
(3) y : yank (복사; Copy)
(4) 문서를 스크롤하여, 복사된 텍스트를 붙어 넣을 곳으로 이동
(5) p : put (붙여 넣기; Paste)
 ※블록을 선택하다가 취소하고 싶을 경우 : Esc키 or Ctrl+c 키

⊙ 컬럼 블록 (박스 블록) 선택하는 법
  Ctrl+v키를 누르면, 사각형 형태로 블록이 선택 (윈도우(Win32) 버전의 Gvim에서는, Ctrl+q 키)

⊙ 줄단위로 선택하기
  대문자 V를 누르면, 줄단위로 선택됩니다. (소문자 v는 글자 단위로 선택됨)

'programing > Linux' 카테고리의 다른 글

CentOS7 포트 열기  (0) 2019.02.14
Linux 좀비 확인  (0) 2018.04.25
posted by 바나나맛딸기우유
2019. 2. 14. 10:00 programing/Linux

▣ CentOS7 포트 열기

 firewall-cmd --zone=public --permanent --add-port=포트번호/tcp

ex) firewall-cmd --zone=public --permanent --add-port=3306/tcp


▣ 열린 포트 적용을 위해 방화벽 reload

 firewall-cmd --reload


▣ CentOS7 열린 포트(활성화) 확인

 firewall-cmd --zone=public --list-all


'programing > Linux' 카테고리의 다른 글

VI 편집기 copy and paste  (0) 2019.12.10
Linux 좀비 확인  (0) 2018.04.25
posted by 바나나맛딸기우유
2018. 4. 25. 21:29 programing/Linux

▣ Linux zombie 확인 명령어


1. top -b -n 1 | grep zombie

2. ps -ef | grep defunct | grep -v grep | wc -l




▣ Linux zombie 제거 명령어


ps -ef | grep defunct | awk '{print $3}' | xargs kill -9


'programing > Linux' 카테고리의 다른 글

VI 편집기 copy and paste  (0) 2019.12.10
CentOS7 포트 열기  (0) 2019.02.14
posted by 바나나맛딸기우유
2012. 6. 15. 16:10 programing/spring

spring에서 제공하는 제공하는 기능들 중,


HTTP 요청 몸체를 Java 객체로, 그 반대인 Java 객체를 HTTP 응답 몸체로 바꾸어주는

@RequestBody annotation과 @ResponseBody annotation을 공부하던 중...


갑자기 난데 없이 "text/plain;charset=ISO-8859-1"이라는 Contents Type을 발견했다.


머야 이게!! 이게 먼 Type이라고 @ResponseBody annotation 적용 Method의 Return Type이 String인 경우에 HTTP 응답 데이터의 Contents Type이 저거라는겨..ㅠ.ㅠ


그래서 찾아봤다. MIME Type이란다.


그래서 또 나중에 까먹었을 경우를 대비하여;;(요새 기억력 감퇴가..ㅠ.ㅠ)


Wiki 백과사전에 자세히 정리되어 있지만 나름데로 정리를 좀 해보자!!


♧ MIME Type이란?

 ☞ 우선 MIME은 『Multipurpose Internet Mail Extensions』의 약자이다.

 ☞ 머 풀어서 한글로 말을 해보자면 『전자우편을 위한 인터넷 표준 포맷』이란다.

《 Wiki 백과사전 참조 


♧ 그럼 왜 이런 Type을 쓰는 것일까?

 ☞ 장황하게 설명이 되어있는데...간단히 말해보자면,

 ☞ 전자우편은 7bit ASCII 문자를 사용해서 전송을 하는데

 ☞ 8bit 이상의 코드를 사용하는 문자나 사진, 동영상, 음악파일 등의 바이너리 파일(첨부파일 등으로 사용하는 파일)들은 바로 위와 같이 7bit ASCII를 사용할 수 없다.

 ☞ 8bit 이상의 문자나 바이너리 파일들을 전자우편에서 보낼 수 있도록 할 수 있도록 하기위해서 적용해 쓰는 것이 MIME Type이고 이러한 파일들은 MIME Type으로 변환되어 전송된다.

 ☞ 간단히 말하면 8bit 이상의 코드를 쓰는 문자나 바이너리 파일을 전자우편을 이용해 보 낼수 있도록 7bit ASCII로 Encoding 해준다고 생각하면된다!


 ▣ 이러한 이유로 MIME이 나오게 된 것이고, 현재에는 전자우편뿐만이 아니라 웹을 통해서 파일들을 전달하는데 두루 쓰이고 있다!!


⊙ Tip..

 ♧ UUEncode 방식.

 MIME Encoding이 나타나기전 위에서 본 문제점의 Encoding을 하기 위해서 UUEncode 방식이 있었다. 다만 UUEncode는 문서 끝 부분의 공백이 사실은 공백이 아니라 변환되어야 할 값인데, 공백을 무시하는 시스템의 경우엔 UUEncode파일을 원형 그대로 전달 받을 수 없었다는 것 등의 단점이 있었다. 그래서 UUEncode의 단점들을 보안해서 나온 것이 MIME Encoding이라고 한다.

 특히!! MIME에는 UUEncode에는 없었던 파일 포맷 정보(Content-Type)도 함께 담을 수 있다고 한다.


♧ Google에서 찾다보니 MIME Type 목록이 있길래 일단 추가해보자!!

(많다...ㅠ.ㅠ)

.*		application/octet-stream
.323 text/h323
.acx application/internet-property-stream
.ai application/postscript
.aif audio/x-aiff
.aifc audio/aiff
.aiff audio/aiff
.asf video/x-ms-asf
.asr video/x-ms-asf
.asx video/x-ms-asf
.au audio/basic
.avi video/x-msvideo
.axs application/olescript
.bas text/plain
.bcpio application/x-bcpio
.bin application/octet-stream
.bmp image/bmp
.c text/plain
.cat application/vndms-pkiseccat
.cdf application/x-cdf
.cer application/x-x509-ca-cert
.clp application/x-msclip
.cmx image/x-cmx
.cod image/cis-cod
.cpio application/x-cpio
.crd application/x-mscardfile
.crl application/pkix-crl
.crt application/x-x509-ca-cert
.csh application/x-csh
.css text/css
.dcr application/x-director
.der application/x-x509-ca-cert
.dib image/bmp
.dir application/x-director
.dll application/x-msdownload
.doc application/msword
.dot application/msword
.dvi application/x-dvi
.dxr application/x-director
.eml message/rfc822
.eps application/postscript
.etx text/x-setext
.evy application/envoy
.exe application/octet-stream
.fif application/fractals
.flr x-world/x-vrml
.gif image/gif
.gtar application/x-gtar
.gz application/x-gzip
.h text/plain
.hdf application/x-hdf
.hlp application/winhlp
.hqx application/mac-binhex40
.hta application/hta
.htc text/x-component
.htm text/html
.html text/html
.htt text/webviewhtml
.ico image/x-icon
.ief image/ief
.iii application/x-iphone
.ins application/x-internet-signup
.isp application/x-internet-signup
.IVF video/x-ivf
.jfif image/pjpeg
.jpe image/jpeg
.jpeg image/jpeg
.jpg image/jpeg
.js application/x-javascript
.latex application/x-latex
.lsf video/x-la-asf
.lsx video/x-la-asf
.m13 application/x-msmediaview
.m14 application/x-msmediaview
.m1v video/mpeg
.m3u audio/x-mpegurl
.man application/x-troff-man
.mdb application/x-msaccess
.me application/x-troff-me
.mht message/rfc822
.mhtml message/rfc822
.mid audio/mid
.mny application/x-msmoney
.mov video/quicktime
.movie video/x-sgi-movie
.mp2 video/mpeg
.mp3 audio/mpeg
.mpa video/mpeg
.mpe video/mpeg
.mpeg video/mpeg
.mpg video/mpeg
.mpp application/vnd.ms-project
.mpv2 video/mpeg
.ms application/x-troff-ms
.mvb application/x-msmediaview
.nc application/x-netcdf
.nws message/rfc822
.oda application/oda
.ods application/oleobject
.p10 application/pkcs10
.p12 application/x-pkcs12
.p7b application/x-pkcs7-certificates
.p7c application/pkcs7-mime
.p7m application/pkcs7-mime
.p7r application/x-pkcs7-certreqresp
.p7s application/pkcs7-signature
.pbm image/x-portable-bitmap
.pdf application/pdf
.pfx application/x-pkcs12
.pgm image/x-portable-graymap
.pko application/vndms-pkipko
.pma application/x-perfmon
.pmc application/x-perfmon
.pml application/x-perfmon
.pmr application/x-perfmon
.pmw application/x-perfmon
.pnm image/x-portable-anymap
.pot application/vnd.ms-powerpoint
.ppm image/x-portable-pixmap
.pps application/vnd.ms-powerpoint
.ppt application/vnd.ms-powerpoint
.prf application/pics-rules
.ps application/postscript
.pub application/x-mspublisher
.qt video/quicktime
.ra audio/x-pn-realaudio
.ram audio/x-pn-realaudio
.ras image/x-cmu-raster
.rgb image/x-rgb
.rmi audio/mid
.roff application/x-troff
.rtf application/rtf
.rtx text/richtext
.scd application/x-msschedule
.sct text/scriptlet
.setpay application/set-payment-initiation
.setreg application/set-registration-initiation
.sh application/x-sh
.shar application/x-shar
.sit application/x-stuffit
.snd audio/basic
.spc application/x-pkcs7-certificates
.spl application/futuresplash
.src application/x-wais-source
.sst application/vndms-pkicertstore
.stl application/vndms-pkistl
.stm text/html
.sv4cpio application/x-sv4cpio
.sv4crc application/x-sv4crc
.t application/x-troff
.tar application/x-tar
.tcl application/x-tcl
.tex application/x-tex
.texi application/x-texinfo
.texinfo application/x-texinfo
.tgz application/x-compressed
.tif image/tiff
.tiff image/tiff
.tr application/x-troff
.trm application/x-msterminal
.tsv text/tab-separated-values
.txt text/plain
.uls text/iuls
.ustar application/x-ustar
.vcf text/x-vcard
.wav audio/wav
.wcm application/vnd.ms-works
.wdb application/vnd.ms-works
.wks application/vnd.ms-works
.wmf application/x-msmetafile
.wps application/vnd.ms-works
.wri application/x-mswrite
.wrl x-world/x-vrml
.wrz x-world/x-vrml
.xaf x-world/x-vrml
.xbm image/x-xbitmap
.xla application/vnd.ms-excel
.xlc application/vnd.ms-excel
.xlm application/vnd.ms-excel
.xls application/vnd.ms-excel
.xlt application/vnd.ms-excel
.xlw application/vnd.ms-excel
.xml text/xml
.xof x-world/x-vrml
.xpm image/x-xpixmap
.xsl text/xml
.xwd image/x-xwindowdump
.z application/x-compress
.zip application/x-zip-compressed

'programing > spring' 카테고리의 다른 글

Model과 ModelMap의 차이  (0) 2012.06.15
ANT 경로 패턴  (0) 2012.06.13
Session 사용..ㅠㅠ  (0) 2009.07.28
posted by 바나나맛딸기우유
2012. 6. 15. 14:58 programing/spring

Spring 공부를 하다보니 Model과 ModelMap이란 놈이 있었다.


생긴 것도 비슷하고, 가지고 있는 method()도 똑같은 이 놈들을 왜 나누어놓았을까?


우선 알아본 결과 Model과 ModelMap은 활용상의 차이는 없다.


실질적으로 이 둘의 차이점은,


Model → Interface

ModelMap → 구현체


이것 뿐이다. Model이나 ModelMap 둘 중 어떤 것을 사용하던지, Spring MVC에서 내부적으로 사용하는 객체의 타입은 동일하다.


그래도 에이 설마 이것만으로 나누어 놓았을까 하는 생각에,


공부하고 있는 책의 저자에게 물어보았다.


책의 저자에게서 온 답은....두둥!!


개발자의 선호도 차이로 둘중 하나를 사용한다는 차이정도랄까..


이런 것 뿐이란다. Interface를 선호하는 개발자는 Model을 사용할 것이고, 구현 클래스의 다른 기능이 필요한 개발자라면 ModelMap을 사용한다는 정도?!


결국 공부하면서 Model과 ModelMap..이 둘의 차이가 멀까? 란 고민은...


조금은 쓸때없는 고민이 되어버렸다고나 할까;; 허무하네..


이젠 이렇게 신경쓸 필요가 없으니 다행이라고 해야하나 ㅠ.ㅠ


먼가 찝찝하구만;

'programing > spring' 카테고리의 다른 글

MIME Type  (0) 2012.06.15
ANT 경로 패턴  (0) 2012.06.13
Session 사용..ㅠㅠ  (0) 2009.07.28
posted by 바나나맛딸기우유
2012. 6. 13. 21:01 programing/spring

ANT 경로 패턴

♤ 자꾸 까먹어서리..ㅠ.ㅠ

? 

1개의 문자와 매칭 

* 

0개 이상의 문자와 매칭 

** 

0개 이상의 디렉토리와 매칭 


♤ Example

<bean id="handlerMapping2"

  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">

       <property name="alwaysUseFullPath" value="true" />

</bean>


<bean id="handlerMapping1"

     class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

       <property name="alwaysUserFullPath" value="true" />

       <property name="mappings">

              <props>

                     <prop key="/content/**/*.do">contentController</prop>

                     <prop key="/greeting/hello.do">helloController</prop>

              </props>

       </property>

</bean>

  위와 같은 HandlerMapping을 정의했다고 가정을 하면,

  "content/read.do"라는 요청 url은 어디에 맵핑이 될까?

  첨에는 *니까 0개 이상의 문자와 매칭되는데 handlerMapping1에 되겠지..라고  간단히 생각했으나;; 역시 생각은 깊게 해야되;;

  ** 요게 있으니까 content/read.do는 handlerMapping1에 매핑될 수가 없다!!

  왜냐하면!! **는 0개 이상의 디렉토리와 매칭이 되어야 하니까!!

  content/~~~/read.do 요런식으로 content와 read.do 사이에 어떠한 디렉토리가 있으면 handlerMapping1에 매핑 될 수 있겠지..

  역시 사람은 생각을 하고 살아야해..ㅠ.ㅠ

  따라서 content/rea.do는 handlerMapping2에 매핑된다고 할 수 있다.

'programing > spring' 카테고리의 다른 글

MIME Type  (0) 2012.06.15
Model과 ModelMap의 차이  (0) 2012.06.15
Session 사용..ㅠㅠ  (0) 2009.07.28
posted by 바나나맛딸기우유
2010. 4. 15. 10:07 programing/Android

우선 솔직히 Android..아직 잘 모르겠다.
하지만 일단은 하나하나씩 해나가고 있는단계!!

OptionsMenu를 사용하기 위해서는 특별한 것은 없다.

OptionsMenu는 Menu 키를 누름으로써 자동으로 부를 수 있기때문에,

개발자가 따로 OptionsMenu를 불러내기 위한 부분은 필요가 없다.

Dialog를 보여주기 위해서 showDialog(int);로 Dialog를 호출해서 보여주는 이런 코드가 필요없다는 것이다.

생각외로 간단하다는 말!!

우선 Menu 키를 눌렀을때 OptionsMenu를 보여주기 위해서 Method를 하나 작성해야한다

onCreateOptionsMenu()라는 Method이다.

이 안에서는 간단히 어떤 종류의 Menu가 OptionsMenu에 들어갈 것인지 항목을 정해주는 역할을 한다. 여기서는 간단히 Restart와 Quit 두개의 항목만 생성해보겠다.

// 어떤 Menu를 선택했는지를 구분해주어 그에 따라 처리해주기 위한 static 변수
static final int MENU_RESTART = 0;   
static final int MENU_QUIT = 1;

// Menu의 항목을 생성하는 Method(OptionsMenu는 6개의 항목까지만 지원한다.)
public boolean onCreateOptionsMenu(Menu menu){
     menu.add(0, MENU_RESTART, 0, "Restart");
     menu.add(0, MENU_QUIT, 0, "Quit");

     return true;
}

이 후에는 각 항목에 대한 처리를 해주어야 할 것이다.
// 선택된 항목을 처리하는 Method
@Override
public boolean onOptionsItemSelected(MenuItem item){
     switch(item.getItemId()){
          case MENU_RESTART:
               // Restart를 하기 위한 처리
               Restart();
               return true;
          case MENU_QUIT:
               // Quit를 하기 위한 처리
               Quit();
               return true;
     }

     return false;
}

이것으로 끝이다 간단하지 않이 한가..

해보니까 생각외로 간단하게 끝나서 먼가 불안했지만..이게 다 인것 같다.

앞에서 OptionsMenu의 항목은 최대가 6가지라고 했는데,
이는 Android가 아직은 휴대폰을 위해서 만든 Flatform이라서 휴대폰에서는 화면의 크기가 거의 정해져 있고 또한 화면이 작기 때문이다.

OptionsMenu에서 6개의 항목만 두고, 항목이 더 필요한 경우에는 OptionsMenu에서 하나의 항목을 부Menu로 두고 이를 선택했을 시 팝업 목록을 새로 보여주는 부 Menu를 이용해야 한다.

아직 해보진 않았지만...ㅋㅋㅋ

해보리...중간고사가 끝나면...중간고사때문에 죽겠구먼...ㅠㅠ
posted by 바나나맛딸기우유
2009. 7. 28. 21:34 programing/spring
우선..잘은 모르지만..ㅎ.ㅎ;;

개발 Tool은 Eclipse.. Spring/Spring MVC 사용

import javax.servlet.http.HttpSession;

/* Controller단에서 HttpSession 객체를 생성한다. */
/* 그럼  위의 package가 알아서 import될 것이다..ㅋㅋ*/
HttpSession session = request.getSession();

/* session에  값을 넣는다.*/
session.setAttribute("boardSeq", boardSeq);

==> 첫번째 프로퍼티는 Map에서의 Key라고 보면 된다.
   "boardSeq"로 꺼내서 사용할수 있다는 말..ㅎ
     두번째 프로터피는 Map에서의 value라고 보면 된다.
   사용될 값이 직접 들어가 있다는 말..ㅎ

꺼내어 사용할 때는 session.getAttribute()를 통해서
  session에 담긴 값을 가져와서 사용할 수 있다.
사용할 때도 Httpsession을 생성해서 사용하여야한다.
HttpSession session = request.getSession();

그리고 session에 넣을 때 사용했던 이름을 가져와서 쓰면 된다.
int boardSeq = (Integer)session.getAttribute("boardSeq");
==> getAttribute의 프로퍼티로 들어가는 부분은..
       session에 저장할때 썻던 앞의 Key이름을 써주면 된다.

session에 담길때 Object형으로 담기기 때문에~
  빼내서 쓸때 필요한 형변환을 해주어야 한다는거~



※ Tip...
혹시나 jsp파일에서 session에 있는 값을 가져와서 사용하고 싶을 때가 있을 수 있다.
나도 머 찾아보니까..
<% %>태그를 이용하여 위에서 처럼 session의 값을 꺼내어 쓰는 방법이 있었다.

하지만 EL태그를 사용하면 편하게 session의 값을 꺼내 쓸수 있다. ㅋㅋㅋ
${boardSeq} <== 이렇게 session에 있는 이름을 가지고 바로 꺼내어 쓸 수가 있었다.
음하하하...너무 쉽게 쓰여져서..먼가가 있을 것 같은 불안감이 들긴하지만..ㅎ.ㅎ;;
그래도 꺼내어 쓸 수가 있더라~!!! ^0^/



'programing > spring' 카테고리의 다른 글

MIME Type  (0) 2012.06.15
Model과 ModelMap의 차이  (0) 2012.06.15
ANT 경로 패턴  (0) 2012.06.13
posted by 바나나맛딸기우유