Java programming의 메인메서드의 선언부

public static void main(String args[])

public : 다른 클래스나 메서드에서 사용되어야 하기 때문에 사용된다.

static :  메인메서드는 따로 생성되지 않고 사용될수 있어야 하기 때문에 컴파일시 바로 메모리에 올릴수 있도록 사용한다.

void : main메서드는 프로그램의 시작이자 끝이기 때문에 반환값을 void로 한다.

String args[] : 프로그램을 실행할 때 따로 매개변수로 문자열을 받을 때 사용한다.

A(assemble) : 어셈블 명령를 메모리에 입력하는데 사용

-A <시작 번지> 



시작 번지를 지정해주고 다음 줄부터 명령어를 입력해 주면된다. debug는 모든 숫자를 16진수로 처리하므로 뒤에 'H'를 붙히지 않아도 된다. 하지만 다른 어셈블리어 프로그램에서는 숫자 뒤에 'H'를 붙혀줘야 한다.

※ 100H부터 시작한 이유는 처음 100H(256)바이트는 DOS에 의해 예약되어 있으며 사용자 프로그램이 사용해서는 안된다.


U(unassemble) 명령 : 기계 코드 확인

-U <시작 번지> <끝 번지>

-U <시작 번지> <L 바이트 수> 



메모리에 있는 기계 코드와 어셈블리어를 보여준다. A 명령이 입력한 어셈블리 명령어를 기계코드로 변환하여 메모리제 저장하는 반면, U 명령은 메모리에 저장된 기계코드를 어셈블리 명령으로 변환해 보여준다.


G(go) 명령 : 실행 명령

-G <=시작 번지> <정지 번지(들)> 



시작번지에서부터 정지번지까지의 명령어들을  실행시키는 명령어이다. 위 사진은 g만 입력했으므로 메모리에 저장된 명령어들을 모두 실행한 것이다. 정지 번지에는 10개까지 넣을 수 있으며 각 브레이크 포인트에서 실행을 멈춘다. 

먼저 DOS상태에서 Debug 프로그램으로 들어가기 위해서는 cmd창에서 debug를 입력하면된다.

(윈도우7 64bit는 debug가 되지 않아서 DOSBox를 이용해서 들어가기 때문에 debug.exe로 들어갔다.)

들어가게되면 '-'가 나타나며, 입력을 기다리게 된다. 빠져나오는 방법은 q(quit)를 입력하면 된다.



레지스터의 내용 확인 및 변경하기.

 -r <레지스터 이름>


첫번째 줄 : 범용 레지스터, 포인터 및 인덱스 레지스터의 내용

두번째 줄 : 세그먼트 레지스터의 내용, 명령 포인터의 현재값 및 플래그 레지스터 비트

  두번째 줄의 끝에 'NV UP EI ...NC'는 플래그 레지스터의 8비트의 상태를 나타냄.

세번째 줄 : CS:IP가 가리키는 명령어, 시스템에 따라 다름.


Debug로 처음 들어가면, 범용 레지스터가 0으로 설정되고 플래그 비트도 모두 리셋된다. 

세그먼트 레지스터의 내용은 사용하고 있는 시스템에 따라 다르지만, 모든 세그먼트는 동일한 값을 가지며 이것은 DOS 오퍼레이팅 시스템에 의해 정해졌기 때문에 내용을 바꾸지 말것을 권고한다.


레지스터의 내용 수정방법은 아래 사진으로 확인하기 바란다.



1. 24K 바이트는 몇 바이트인가?

1024 x 24 = 24576 byte


2. RAM은 무엇의 약자인가? 컴퓨터에서 RAM은 어떻게 이용되는가?

Random Access Memory. 휘발성 메모리로써 실행되고 있는 프로그램을 일시적으로 저장하기 위해 이용,

    사용자나 프로그램에 의해 그 내용을 바꿀 수 있는 정보를 저장하기 위해 사용된다.


3. ROM은 무엇의 약자인가? 컴퓨터에서 ROM은 어떻게 이용되는가?
Read Only Memory. 비휘발성 메모리로써 컴퓨터 작동에 필수적인 프로그램과 정보를 보관하며 사용자가 정보를 바꿀 수 없다(프로그램을 통해 바꿀수도 있지만 보통 바꿀 수 없다.)


4. RAM을 왜 휘발성 메모리라고 하는가?

전원을 끄면 메모리에 저장된 정보는 없어지기 때문이다.


5. 컴퓨터의 가장 중요한 세 가지 구성요소를 나열하다.

CPU, 메모리, I/O장치


6. CPU는 무엇의 약자인가? 컴퓨터에서 CPU의 기능을 설명하라.

Central Processing Unit. 컴퓨터의 두뇌라고 할 수 있으며, 메모리에 저장되어 있는 명령어를 읽어와서 수행한다.

프로그램을 수행하고 컴퓨터 내의 모든 장치를 제어한다.


7. 세 가지 종류의 버스를 열거하고 이등 각각의 기능을 간단히 서술하라.

data bus, address bus, control bus

data bus : CPU와 장치 사이의 정보 교환을 위해 사용되며 크기가 클수록 CPU의 성능이 좋아진다.

address bus : CPU에 연결된 메모리와 장치를 선택하여 그 번지를 전송하며 버스가 클수록 더 많은 양의 메모리를 지정할 수 있다.

control bus : CPU에 의해 사용되며 I/O장치를 제어하는 신호를 전달한다.


8. 다음의 버스 중 어느 것이 단방향이고 어느 것이 양방향 버스인지 밝혀라.

  데이터 버스 : 양방향         어드레스 버스 : 단방향


9. 어떤 컴퓨터의 어드레스 버스가 16라인이면 이 컴퓨터의 CPU가 다룰 수 있는 최대 메모리의 크기는 얼마인가?

2의 16승으로 65536, 64K 이다.


10. ALU는 무엇의 약자인가? 또 그 기능은 무엇인가?
Arithmetic/Logic Unit. CPU내에서 산술연산과 논리연산을 하는 연산장치이다.


11. CPU 내의 레지스터는 어떤 목적으로 이용되는가?
정보를 일시적으로 저장한다.


12. 프로그램 카운터의 기능은 무엇인가?
다음에 수행할 명령어의 번지수를 기억한다.


13. 명령어 디코더의 기능은 무엇인가?
CPU 내부로 읽어온 명령어를 해독하는 역할, 모든 명령어의 의미를 보관하고서 어떤 명령어가 주어지면 CPU에게 어떤 작업을 해야 하는지 알려준다.

컴퓨터의 내부 구조

모든 컴퓨터의 내부 구조는 크게 세 부분으로 나누어진다. : 

  CPU(Central Processing Unit, 중앙처리장치), 메모리, I/O(Input/Output, 입출력) 장치.

CPU는 버스(bus)라 불리는 여러 가닥의 전선을 통해 메모리와 I/O장치에 연결되어 있다.

컴퓨터에는 어드레스 버스(address bus), 데이터 버스(data bus), 컨트롤 버스(control bus)의 세 가지 종류의 버스가 있다.


버스(bus) : 구성 요소들간에 교환할 각종 정보들을 전송하는 선(line)들로 구성.

1) 데이터 버스(data bus)

  · CPU와 장치 사이의 정보 교환을 위한 선들의 집합.

  · 양방향 전송.

  · 크기가 클수록 CPU의 성능이 좋다고 할 수 있다.

2) 어드레스 버스(address bus)

  · CPU에 연결된 메모리와 장치를 선택하기 위한 선들의 집합.

  · 단방향 전송

  · 클수록 더 많은 양의 메모리 혹은 장치를 번지지정할 수 있다.(기억장치의 용량이 결정)

    x를 어드레스 라인의 수라고 할 때 메모리의 최대 위치 개수는 

3) 컨트롤 버스(control bus)

  · CPU와 기억장치 및 I/O 장치 사이에 제어 신호들을 전송하는 선들의 집합.


CPU와 RAM, ROM과의 관계

CPU가 처리할 정보는 RAM이나 ROM에 저장되어 있어야 한다. ROM(Read Only Memory)은 비휘발성 메모리로써 컴퓨터 작동에 필수적인 프로그램, RAM을 테스트하고 설치된 RAM의 크기를 알아내는 프로그램등 변하지 않고 꼭 필요한 정보만을 보관하고 있다가 CPU에 제공한다. RAM(Random Access Memory)은 전원을 끄면 보관되어 있던 데이터는 모두 사라지는 휘발성 메모리로써 실행되고 있는 프로그램을 일시적으로 저장하거나 사용자나 프로그램에 의해 내용을 바꿀수 있는 정보를 저장하기 위해 사용되며 예로 들면 워드프로세싱, 운영체제등 응용프로그램들이 해당된다.

CPU는 처리할 정보를 먼저 RAM, ROM에서 찾아보고 없을 경우 디스크에서 찾는다. 디스크에 있는 정보는 먼저 RAM으로 옮겨진 다음 처리되는데 이런 이유로 해서 RAM, ROM을 주기억장치(primary memory), 디스크를 보조기억장치(secondary memory)라 부르기도 한다.


CPU의 내부

CPU의 가장 기본적인 기능은 메모리에 저장되어 있는 명령어를 읽어와서 수행하는 것이다.  

1. 레지스터(register)CPU가 가지고 있는 자원 중 가장 중요한 것으로 정보를 일시적으로 저장하기 위해 사용

   레지스터가 많을수록 좋은 CPU지만 그 만큼 가격이 비싸다.

2. ALU(Arithmetic / Logic Unit, 연산장치) : 산술연산과 논리연산을 수행한다.

3. PC(Program counter) : 다음에 수행할 명령어의 주소를 가르킴. IBM PC에서는 IP(instruction pointer)라고 부른다

4. 명령어 디코더(instruction decoder) : CPU 내부로 읽어온 명령어를 해독하는 역할.

   따라서 명령어의 의미를 보관하고 있다가 어떤 명령어가 주어지면 CPU가 어떤 작업을 해야 하는지 알려주는 역할.


2013/09/05 - [대학 정리노트/어셈블리] - [어셈] win7 debug 사용방법 - DOSBox 다운, 사용


이전 포스트에서 DOSBox를 설치하였다. 입력창에 debug를 쳐도 계속 되지않아서 몇시간째 고민이다.

해결방법은 여러가지였다. 먼저 특별버전인 DOSBox SVN을 설치해서 사용하던지, debug.exe를 받아서 실행하는 방법이 있었고 나는 후자인 현재 받은 DOSBox에서 debug.exe를 사용하는 방법을 선택했다.

먼저 SVN버전을 다운받을수 있는 카페와 다른빌드 사이트이다.


DOSBox SVN DAUM버전

위 카페말고 다운로드 사이트

그 외 다른 빌드


이제 DOSBox에서 debug 사용방법이다. 방법은 아주 간단하다.

먼저 아래 링크를 통해 debug.exe 파일을 받는다.


 debug.exe


압축을 풀고 원하는 폴더에 넣는다. (나는 D 드라이브에 넣었다.)

먼저 D드라이브를 마운트(DOSBox에서 해당 드라이브를 인식?시킨다.)하고 debug.exe를 실행시키면된다.



윈도우7 덕분에 어셈블리공부는 시작도 안했지만 뭐하나 하더라도 어려울것 같다... 우선 차근차근 하나씩 배워나가야겠다.

인터넷 여기저기 돌아다니다가 GodMode라는 폴더를 찾았다. 제어판의 확장이랄까? 

윈도우상의 컨트롤메뉴들은 모두 있는것 같았다. 생성방법은 간단하다.

C드라이브에 폴더를 생성하고 이름바꾸기(F2)를 통해 아래 값을 넣는다.

바탕화면에서 했을 땐 폴더명에 특수문자때문에 생성되지 않았다. 그래서 C드라이브에서 만들었다.


 GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}





 우분투(ubuntu)란?

우분투는 데비안 GNU/리눅스에 기초한 컴퓨터 운영 체제로서 고유한 데스크탑 환경인 유니티를 사용하는 리눅스 배포판이다. 영국에 기반을 둔 회사인 캐노니컬의 지원을 받는다. 일반적으로 여섯 달마다 새 판이 하나씩 나오는데 이것은 GNOME의 새 판이 나오는 시기와 비슷하다. 데비안 GNU/리눅스와 견주어 볼 때 사용자 편의성에 많은 초점을 맞추고 있다. 우분투는 그 이름을 남아프리카 공화국의 건국 이념인 우분투 정신에서 가져왔다.

위키백과



 Ubuntu 설치하기


먼저 앞 글에서 말씀드린 것처럼 부팅순서를 바꿔줍니다. USB로 실행을 하게되면 가만히 두시면 바로 아래와 같은 화면이 나오게 됩니다.왼쪽 상단에 install Ubuntu를 실행해줍니다.


2013/09/04 - [윈도우] - 윈도우 7 포맷하기



먼저 사용할 언어를 설정하시면 됩니다.




설치 형식에서는 기타를 선택하시고 우분투만 사용하는지, window랑 같이 사용하는지 적절하게 파티션을 나누면 됩니다.



저는 아래와 같이 나눴습니다. 먼저 swap은 가상메모리와 같은 역할을 하는곳으로 2~4000정도를 하시면됩니다.

/ 는 우분투가 설치되어있는 곳을 말하고, /home는 나머지 사용자가 사용할 부분을 말합니다.

추가방법남는공간을 선택하시고 추가...를 선택하여서 만드시면 됩니다.



살고있는곳.... 처음에 기본값으로 seoul로 설정되어있어 그대로 설치하였습니다. 



키보드 배치는 한국어 - 한국어(101/104키 호환) 으로 선택합니다.



나머지 사용자이름과 암호를 입력하고있으면 설치가 진행되고있습니다.




마찬가지로 설치가 모두 끝나게 되면 부팅순서를 다시 바꿔주시고 실행하면 아래와 같은 Ubuntu화면이 나오게됩니다.



무작정 설치를 했지만 어려운 리눅스.... 남는 컴퓨터로 계속 만지작하면서 익혀야겠습니다. 

'System > Linux, unix' 카테고리의 다른 글

[Linux] 우분투 자바 설치하기  (1) 2013.10.02
[Linux] 우분투 FTP 설정하기  (0) 2013.09.29
[UNIX] 시스템 명령어  (0) 2013.09.25
Linux 명령어  (0) 2013.01.26

이번 학기 수업으로 어셈블리언어를 듣게 되었는데 window 7 64bit 에서는 cmd에서 debug가 안된다고 한다. OS를 갈아타긴 좀 무리인가 싶어 DOSBox를 다운받았다. DOS모드에서 실행되던 고전게임을 실행하기 위한 에뮬레이션이라고 하는데 debug가 되니 어셈을 공부하기에 딱인 듯 싶다.


 DOSBox 다운로드(새창)


먼저 처음 실행을 하고나면 아래와 같은 화면이 나온다. 처음에 Z드라이브로 시작되는데 C드라이브(혹은 작업할 드라이브)로 이동하려면 mount c c:\ 를 입력한다.



아래 화면과 같이 마운팅 시키고난 뒤에 c: 를 입력하면 바뀌게 된다. 

dir은 현재 폴더에 있는 파일,폴더 목록을 보여주는 명령어이다.



폴더를 확인하고 cd 폴더명으로 이동하면 된다.

상위폴더로 이동하는 것은 cd.. 이다.



다음 포스팅에는 debug를 해보고 사용방법에 대해서 포스팅하겠다.

먼저 부팅 USB는 아래 파일을 이용해서 간단하게 만들 수 있습니다.

순서는 아래 파일을 실행하고 해당 window ISO파일USB를 선택하고 만들면 됩니다.


 

Windows7-USB-DVD-tool.exe




 WINDOW7 포맷(BIOS setting, install)


먼저 USB를 연결한 뒤에 부팅순서를 바꾸도록 합니다. 재부팅을 하고서 F2 를 눌러 BIOS 환경 설정으로 들어가 바꾸도록 합니다. Boot - Boot Option Priorities - Option 설정 아래와 같이 USB가 첫번째 부팅 순서가 됩니다.



혹시나 부팅 순서를 바꾸려고 하는데 USB가 잡히지 않는다면 Advanced - Fast BIOS Mode 를 Disabled 로 바꿔주신 후에 해보시기 바랍니다. 



F10 혹은 저장후 재부팅을 통해서 아래와 같이 window 설치 화면이 나오게 됩니다. 각자 설정에 맞춰 진행 하시면 됩니다.




여기서 사용자 지정으로 들어가야합니다. 아직 디스크를 포맷하지 않은 상태이니 먼저 포맷을하고 새로 윈도우를 설치해야합니다.



포맷 방법은 디스크를 선택하고 포맷을 아래 드라이브 옵션(고급) 을 클릭하고 포맷을 선택하시면 됩니다.

아래와 같이 포맷이 된 상태에서 설치를 하면 되겠습니다.





그리고 설치를 마저하고 재부팅이 한번 일어나는데 그때 부팅 순서를 꼭 다시 USB가 아닌 윈도우를 설치한 디스크로 바꿔주셔야 합니다. (저는 아무것도 모르고 멍하니 디스크위에 또 윈도우를 받아서 삽질을 했습니다....)




재부팅을 하고나면 나버지 설치가 끝난 뒤 나머지 설정을 마치면 윈도우 포맷을 끝나게 됩니다.






이 처럼 생각보다 간단한 윈도우 포맷 방법이었습니다. 포맷한 뒤에 컴퓨터 사양에 맞춰 드라이버를 설치하시면 됩니다. 

아래는 포맷하고난 뒤에 편리한 드라이브 설치 프로그램(홈페이지)입니다.


3DP Chip(새창)




컴퓨터 포맷을 하고 네이버에 나눔글꼴을 받으러 갔다가 시 공모전을 보았습니다. 몇 개 읽어보다가 너무 좋아서 스크랩해서 보고싶은 몇 개 담아봤습니다. 


 네이버 아름다운 우리 시


아래는 제가 읽다가 너무 너무 좋아서 블로그에서 자주보고싶어 담아왔습니다. 이래도 되는지 몰라...


출저 : http://hangeul.naver.com/poem

저작권에 문제가 생긴다면 바로 삭제하도록 하겠습니다.


외장하드, USB, 폴더 잠금 프로그램 - Folder protector

외장하드, 하드, USB등 폴더를 잠궈놓을 수 있는 프로그램입니다.

한글지원을 하여서 사용하기 굉장히 편합니다. 무료버전과 유료버전으로 나눠져있으며 유료버전은 좀 더 강력한 암호화 등 여러가지 기능을 지원합니다. 폴더만 잠그려면 무료버전만 사용해도 충분한 것 같습니다.

우선 다운로드는 아래 링크로 홈페이지로 이동하셔서 Free Dowload를 클릭하시면 받으실 수 있습니다.


 다운로드 링크(홈페이지로 이동)




 잠금 방법


1번 다운받은 프로그램을 잠그고자 하는 폴더안에 넣으시고 실행하시면 바로 경로를 설정하고 아래와 같은 화면이 나옵니다.

(저는 E드라이브 안에서 실행하였습니다.)

2번 사진과 같이 한글판으로 변경하는 방법은 설정에서 언어韓國語로 바꿔주시면 됩니다.

3번 사진은 폴더를 잠그고 풀때마다 무료버전과 유료버전의 기능차이를 보여주는 창이 10초가량 나오게됩니다.


 





 잠금 해제 방법


1번 먼저 잠금설정한 폴더를 클릭하시면 비밀번호 입력창이 나옵니다. 가상드라이브에서 폴더를 열 것인지, 임시로 열고 다시 잠글것인지, 완전 해제할 것인지 선택하시고 보호 해제하시면 됩니다.

2번 비밀번호를 입력하고 보호 해제하기 전 화면입니다.

3 보호 해제를 한 뒤에 '1' 폴더가 보여지는 화면입니다.

 







메인화면에서 로그인버튼을 image로 두었을 경우, image는 submit을 가지고 있다.

<input type="image" src="../login.png" onClick="login(e);">
// type="submit"과 같다.

이 경우 login() 함수에서 submit을 줄 경우 중복된 결과가 나온다. 

return false; 를 사용하거나 img태그로 사용하는 방법으로 아래와 같다.

<!--  <input type="image"> submit 막는 방법  -->

<input type="image" src="../login.png" onClick="login(e); return false;">
// return false; 를 넣는 방법.

<img src="../login.png" onClick="login(e);">
// 버튼을 이미지태그로 사용하는 방법.


※ CSS3 에서만 사용가능한 코드이다.

-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;

 CSS Border radius

둥근 테두리 만들어주는 사이트


'Web > HTML,CSS' 카테고리의 다른 글

[CSS] 텍스트 말줄임표  (0) 2015.03.11
[HTML] html RFC 한글 번역  (0) 2013.08.20
[HTML] 한글 번역문 HTML 4.01  (0) 2013.08.20
[CSS] Opacity 투명도 조절하기  (0) 2013.08.09

결과화면

 



package basics_of_SWT;

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

/*
 * SWT 윈도우 프로그램의 핵심 구조를 잘보여주는 코드.
 */

public class swt_windowProgram_coreStructure {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Display display = new Display();	// 디스플레이 객체를 생성한다.
		Shell shell = new Shell(display);	// 셸 객체를 생성(윈도우)한다.
		shell.setText("SWT basic code");	// 윈도우의 타이틀을 설정한다.
		
		shell.pack();	// 셸 컴트롤의 크기를 최적화한다.
		shell.open();	// 화면에 나타나도록 한다.
		
		// SWT 윈도우 프로그램의 핵심, 이벤트 처리 루틴
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
		
		display.dispose();	// 디스플레이 객체를 소멸시킨다.
	}

}


 NoSQL이란 무엇인가?




텍스트박스에 기본값 문자열이 나타나고 클릭시에 사라지는 스크립트코드

function checkValue(element) {
	if(element.value =="")
		alert("비밀번호를 입력하세요");
}

function clearText(txt) {
	if (txt.defaultValue==txt.value)
		txt.value = "";
}

사용방법

onFocus="clearText(form.id)" onBlur="checkValue(form.pw)"


'올해가 가기 전에 반드시 배워야 할 6가지 IT 기술'



'개인적인 공간 > scrap' 카테고리의 다른 글

취업 8대 스펙  (0) 2013.10.26
[펌]네이버 아름다운 우리 시 공모전  (0) 2013.09.01
[펌] NoSQL이란 무엇인가?  (0) 2013.08.28




 GitHub란?

기트허브(GitHub, /'ɡɪtˌhʌb/)는 Git를 사용하는 프로젝트를 지원하는 웹 기반의 호스팅 서비스이다. 루비 온 레일스로 작성되었다. GitHub는 영리적인 서비스와 오픈소스를 위한 무상 서비스를 모두 제공한다. 2009년의 Git 사용자 조사에 따르면 GitHub는 가장 인기있는 Git 호스팅 사이트이다. 또한 2011년의 조사에서는 가장 인기있는 오픈 소스 코드 저장소로 꼽혔다.

GitHub는 pastebin과 유사한 서비스와 위키를 각 저장소마다 운영하고 있으며 git 저장소를 통해 고칠 수 있다.

2010년 1월부터 GitHub는 GitHub, Inc. 라는 이름으로 운영되고 있다.

위키백과


 GitHub 홈페이지

GitHub 간편 안내서


"Download music and videos from websites." 

Web Noire 확장 프로그램의 설명을 보면 간단하게 어떤 프로그램인지 알려준다.

다운로드는 아래 링크로 받거나 웹스토어에서 Web Noire 검색을 통해 받을 수 있다.

 Chrome 웹 스토어에서 다운로드




 

사용방법은 동영상이나 노래가 있는 사이트에서 주소표시줄 오른쪽에 생긴 버튼을 클릭하면 된다.




설치방법은 홈페이지에 간단하게 나와있어 쉽게 따라할수 있다. 하지만 홈페이지는 모두 영어로 되어있다. 

영어에 자신없는 분들에게 도움이 되고자 설치와 적용방법에 대해서 포스팅 하겠다.(나도 겨우 적용하였다....)

 SyntaxHighlighter 설치방법(홈페이지)



 SyntaxHighlighter 설치 방법 


● 먼저 SyntaxHighlighter 홈페이지에서 최신버전을 다운받는다.


다운로드 링크


● 압축을 풀고나서 사용할 파일은 script폴더에 자신이 사용할 언어의 js파일과 

style폴더 shCore.css적용할 스타일 파일 'HTML/CSS 편집'에 '파일업로드'에 올려준다

 


● 위 사진과 같이 선택한 파일을 아래 사진과 같이 업로드 한다.

 



● 마지막으로 HTML 코드를 추가해주어야 하는데 아래 사진과 같이 head 안에 js파일과 css파일을 포함시켜주고, 

</body> 위에 자바스크립트 코드를 넣어준다.

 

body 추가.txt


head 추가.txt



 





 SyntaxHighlighter 사용 방법 


HTML모드에서 <pre class="brush:사용할 언어"> 내용 </pre> 처럼 작성하면 된다.

/*
 * SyntaxHighlighter
 * 이와 같이 작성할 수 있다.
 */
function foo()
{
    if (counter <= 10)
        return;
    // it works!
}

● 각 언어별 "bursh:" 다음으로 사용할 이름을 마지막으로 마치겠다.

사진참조


문제점 : Android Virtual Devices(AVD)에서 emulator을 실행할 때 나는 오류 "emulator-arm.exe의 작동이 중지되었습니다.".


해결방안 : AVD Manager - Edit 에서 Memory Options -> RAM의 크기를 800 ~ 900 사이로 정해준다.



먼저 사용자의 웹 브라우저를 확인할 수 있는 코드이다.

 navigator.userAgent


위 코드를 이용해서 브라우저를 확인하고 각 브라우저 별로 처리할 수 있는 코드이다.

var Browser = {
	chk : navigator.userAgent.toLowerCase()
}
 
Browser = {
	ie : Browser.chk.indexOf('msie') != -1,
	ie6 : Browser.chk.indexOf('msie 6') != -1,
	ie7 : Browser.chk.indexOf('msie 7') != -1,
	ie8 : Browser.chk.indexOf('msie 8') != -1,
	ie9 : Browser.chk.indexOf('msie 9') != -1,
	ie10 : Browser.chk.indexOf('msie 10') != -1,
	opera : !!window.opera,
	safari : Browser.chk.indexOf('safari') != -1,
	safari3 : Browser.chk.indexOf('applewebkir/5') != -1,
	mac : Browser.chk.indexOf('mac') != -1,
	chrome : Browser.chk.indexOf('chrome') != -1,
	firefox : Browser.chk.indexOf('firefox') != -1
}
 
if ((Browser.ie9) || (Browser.ie10)) {
	// 브라우저가 IE9, 10일 때 실행할 코드
} else if(Browser.chrome) {
	// chrome
} else if(Browser.firefox) {
	// fierfox
} else {
	// 그 외 실행할 코드
}


 읽기 좋은 자바스크립트 코딩 기법에선 브라우저 탐지를 매우 안좋은 습관이고 반드시 피해야 한다고 한다.

 "기능 추론과 브라우저 탐지는 매우 안 좋은 습관이고 반드시 피해야 합니다. 어떤 상황이든 기능 탐지를 사용하는 것이 가장 좋습니다. … 브라우저 추론은 유지보수에 좋지도 않고 브라우저가 새로 배포될 때마다 업데이트해야 하므로 코드에서 벗어날 수 없게 될지도 모릅니다."


(수정) 2014.02.03 새로운 모바일모드 확장프로그램 추가로 인한 다운로드 링크 추가.

크롬 확장프로그램 User-Agent Switcher 으로 모바일모드를 사용할 수 있다.

웹 스토어에서 검색을 통해 다운받을 수 있다.


 1. User Agent Switcher 

2. User Agent Switcher for chrome


1.








리터럴(literal)이란?

프로그램에 직접 나타나는 데이터 값.


23		// 숫자 23
2.3		// 실수형 2.3
"hello world"	// 문자열
'opid'		// 문자열
true		// boolean 값
false		// boolean 값
/javascript/gi	// 정규표현식 리터럴
null		// 존재하지 않는 값



읽기 좋은 자바스크립트 코딩 기법에서는 기본 리터럴에 대해서 다음과 같이 권장한다.

"문자열은 반드시 작은따옴표가 아닌 큰따옴표를 사용하고 한 줄로 작성합니다. … "


" null 값은 반드시 다음 상황에서만 사용합니다.

  • 객체 값을 나중에 할당할 변수를 초기화할 때
  • 초기화된 변수에 객체 값이 할당되었는지 비교할 때
  • 객체를 인자로 넘겨야 하는 함수를 호출할 때
  • 함수에서 객체를 반환해야 할 때


+ Recent posts