2.5.6.pdf


Strogatz의 Nonlinear Dynamics and Chaos 교재의 연습문제 2.5.6번 - 구멍난 항아리(The leaky basket) - 문제의 답이다. 어려운 문제는 아닌데 구글링해보니 답이 안나와서 그냥 만들어봤다. 조교하다가 만든 답을 여기에 올려도 되나...


아무튼 내 풀이를 보고 내후년에 그대로 배끼는 학생이 있다면 100% 걸리는거닷ㅋㅋㅋㅋ


대충 풀어서 틀린 부분이 있다면 코멘트 해주세요~

'Study > Physics' 카테고리의 다른 글

leap-frog algorithm  (0) 2012.11.01
Euler method로 미분방정식 풀어보기  (0) 2012.11.01
Spherical Coordinate의 벡터들의 속도와 가속도  (0) 2011.03.13
그리스인 vs 바빌로니아인  (0) 2010.01.17

접속하려는 컴퓨터의 운영체제가 바뀌면 ssh의 key가 잘못되었다는 메세지와 함께 ssh접속이 되지 않는다.

사실 컴터가 뱉어내는 설명을 자세히 보면 힌트가 있는데 별건 아니고...


ssh_keygen -R 123.145.145.335(ip 또는 domain name)


이렇게 하면 ssh key를 다시 생성하고 접속이 가능해진다. man ssh_keygen을 입력해 설명을 보면 다음과 같이 나온다.


진짜 별거 아니네...-.-


     -R hostname

             Removes all keys belonging to hostname from a known_hosts file.

             This option is useful to delete hashed hosts (see the -H option

             above).


유저들에게 sudo 권한을 주고 싶다면 /etc/sudoers 에서 설정을 바꾸어야한다. 


그런데 이게 퍼미션때문에 vi로 수정이 안된다. 열리긴 하는데 읽기전용...


sudo visudo를 입력해 수정해보자. (nano editor가 열린다!!ㅋㅋ)

sudoers에서 수정할 부분은 아래와 같다.


#User privilege specification 에서 

id    ALL=(ALL:ALL) ALL 을 추가해준다.



:ㅂ  (이건!!! vim 의 습관이닷!!!)


'Study > Computer' 카테고리의 다른 글

python으로 중복된 tab없애기  (0) 2012.10.03
ssh 접속이 안될때  (0) 2012.09.21
Linux Backup 때 챙기는 파일들  (0) 2012.09.20
Linux에서 Memory 정보 확인하기  (0) 2012.07.31
Linux에서 Valgrind 사용하기  (0) 2011.08.11

/etc/passwd

/etc/shadow

/etc/group


이 세 파일을 백업해두어야 유저들의 정보를 살릴 수 있다.


세 파일들의 구조는, 


1. passwd

id : x : 1000 : 1001 : ,,, : /home/id : /bin/bash


id는 유저의 id이고 x는 비밀번호를 shadow에 암호화하여 저장했다는 뜻이다. 뒤에 숫자가 2개 보이는데 첫번째 숫자는 유저의 UID이다. 뒤의 숫자는 GID인데 Group을 나타낸다. 뒤에 ,,, 는 사용자 정보인데 입력하지 않으면 저렇게 보인다. 뒤는 홈의 위치와 bash의 위치이다.


2. group

id : x : 1001 : 


위와 마찬가지인데 숫자는 각 group ID를 나타낸다. GID가 겹치게 되면 같은 Group으로 볼 수 있는데 보통 리눅스에서 유저들은 각자 달은 GID를 가지고 있다. 어떻게 GID를 운영하는게 좋은지 공부해봐야 알듯.


3. shadow

비밀번호가 암호화되어 저장되어 있다. 퍼미션 때문에 sudo 권한으로 접근해야 한다.



'Study > Computer' 카테고리의 다른 글

ssh 접속이 안될때  (0) 2012.09.21
Ubuntu superuser 추가하기  (0) 2012.09.20
Linux에서 Memory 정보 확인하기  (0) 2012.07.31
Linux에서 Valgrind 사용하기  (0) 2011.08.11
MS-SQL to MySQL  (0) 2011.02.26

Windows에서는 CPU-Z라는 강력한 프로그램이 있어서 컴퓨터의 많은 하드웨어의 정보를 케이스를 열지 않고도 확인할 수 있다. (Download cpu-z)

그러면 Linux는?? 윈도우보다 하드웨어의 제어가 편할 것 같이 생긴 괴물에서는 어떻게 정보를 확인하나?


cat /proc/meminfo 이렇게 입력하면 역시 RAM의 정보가 뜨긴 하지만 하드웨어에서 필요한 정보가 아니다. 만약 RAM의 클럭속도 등의 하드웨어 정보가 필요하다면, 


  • $ sudo dmidecode --type 17 

이렇게 입력하시라. (위에 하이픈이 2개입니다...) 그럼 

# dmidecode 2.9
SMBIOS 2.6 present.

Handle 0x002D, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: No Error
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: <OUT OF SPEC>
Type Detail: Synchronous
Speed: 1333 MHz (0.8 ns)
Manufacturer: Samsung      
Serial Number: 0050014
Asset Tag: AssetTagNum0
Part Number: M378B5773CH0-CH9  


이런 정보들이 나온다. 여기서 볼 내용은 BOLD로 되어있다. 필요하다면, 

  • $ sudo dmidecode --type 17 | grep Speed
이렇게 따로 grep을 통해 뽑아 볼 수도 있다.

참고 사이트 : 


'Study > Computer' 카테고리의 다른 글

Ubuntu superuser 추가하기  (0) 2012.09.20
Linux Backup 때 챙기는 파일들  (0) 2012.09.20
Linux에서 Valgrind 사용하기  (0) 2011.08.11
MS-SQL to MySQL  (0) 2011.02.26
도스에서 작업한 txt파일 리눅스에서 편집하기  (2) 2011.01.03

논문들을 보면 참 예쁜 그래프(!)들이 많이 보인다. 그냥 점과 선인데도 왜 내 그래프와 다르게 예뻐보이는거지?! 이유는 간단하다. 그건 유명한 저널들 속에 있기 때문이다. ㅎㅎㅎㅎ 사실 그래프 예쁘게 그리기는 생각보다 중요한(?) 기술인데, 우선 Line과 Point의 Style을 지정해주는 방법부터 보자.

 

gnuplot> 이 상태에서 써주어도 되고 *.gpi 나 *.gnu형태의 파일로 작성해도 된다.

 

1. set linestyle 1 1 lt 1 lw 1  =====> 이건 옛날버전에서만 가능하다. 최신버전[각주:1]이라면 2번처럼 하시길!

2. set style line 1 lt 1 lw 1

 

여기서 옵션 설명은,

  • lt  => line type 이다. 뒤에 숫자에 따라 line의 색이 달라진다. (이건 지정되어 있어 그냥 쓰기 편리하다.)
  • lw => line width 이다. eps 파일로 만들 경우 lw 의 크기는 3~4가 적당하다.
  • pt => Point type이다. 역시 뒤의 숫자에 따라 point의 모양이 달라진다. 소수점으로 크기 지정 가능!
  • ps => point size이다. 2 or 3 까지만 사용해도 크기가 꽤 커진다.
  • lc => line color이다. 뒤의 숫자에 따라 색이 변하는데, 아래의 그림의 순서와 같다.
    검은색이 필요하다면 lc -1로 옵션을 두시라.

 

아래의 그림을 보면 편리하다. f(x)부터 순서대로 lt 1, pt 1이고 숫자가 하나씩 커진다.

그래프를 여러개 그려야 할 경우, set style로 미리 지정해두고 그림을 그리면 된다. 어떻게 그리냐면,

 

plot f(x) ls 1 w lp

여기서 ls => line style을 말한다. 지정되지 않은 line style을 불러올 경우 에러를 뱉고 그래프 안그려주니 조심하시길!

 

 

  1. 어느 버전부터 바뀌었는지 까먹었다.. 아무튼 둘 중 하나가 되니 해보시길! [본문으로]
 gcc로 컴파일해서 열심히 프로그램을 돌리다보면 Segmentation Fault가 나는 경우가 있다. 
보통 배열에 접근할 때나 포인터를 넘길 때 잘못하면 이런 문제가 생기는데 보통 for문 등 루프에서 배열에 접근할 때의 조건을 잘 보면 해결된다. 그런데도... Segmentation Fault가 해결이 안된다면 Valgrind를 사용해보자.

우분투의 경우 apt-get install valgrind 를 이용해 설치하면 되며 이외에는 valgrind.org에서 다운로드 받아 설치하면 될 것 같다..
(우분투만 써봐서요...ㅎㅎ)

설치 후 컴파일에서 옵션을 주어야 하는데 -g를 꼭 넣어줘야 한다.

Valgrind의 옵션은 꽤 다양해서 Valgrind --help를 입력해 옵션의 설명을 보는 것도 유용하다. 그래도... 귀찮다면

valgrind --leak-check=full --log-file=memcheck.txt -v --error-limit=no ./abc.out arg1 arg2
옵션은 버전마다 다를 수 있으므로 확인해서 맞는 옵션을 쓰자.

프로그램이 실행되면 로그가 memcheck.txt에 남게 되는데 이를 열어서 보면.... 꽤 많은 기록이 쏟아져 나온다.
우선 로그의 좌측 숫자는 프로그램의 PID이며 에러의 경우 == PID == 로 나타난다. -- PID --라면 이는 일반적인 정보이다.

다음의 블로그에서 정보를 얻었다.
http://adnoctum.tistory.com/555
 
대학원 고전역학 숙제를 하다가 답이 궁금해 구글신께 여쭈어봤습니다.

친절히 알려주시더군요. ㅎㅎㅎㅎㅎㅎㅎㅎ풀이는 없고 결과만 있으나 이마저도 감사할 따름 ㅋㅋㅋ

http://people.rit.edu/pnveme/pigf/Coords/coord_sph_def.html

'Study > Physics' 카테고리의 다른 글

leap-frog algorithm  (0) 2012.11.01
Euler method로 미분방정식 풀어보기  (0) 2012.11.01
Strogatz 2.5.6  (0) 2012.09.28
그리스인 vs 바빌로니아인  (0) 2010.01.17
도스에서 작업한 txt파일을 리눅스에서 불러와 작업하면 상당히 애로사항이 많게 됩니다. 

파일을 편집하다 보면 뒤에 ^M이 생기는 것도 볼 수 있구요... -.-
이외에도 윈도우에서는 UTF-8로 기본 저장하지 않기 때문에 가끔 문제를 일으키기도 합니다.

하지만 리눅스에선 간단히 파일의 인코딩과 속성을 바꿀 수 있어요.

우선 파일의 속성을 살펴보기 위해 다음과 같이 입력합니다.
file test.txt
만약 도스에서 편집된 파일이면 다음과 같이 나옵니다.

test.txt: ISO-8859 text, with CRLF line terminators

이제 파일을 변환해주기 위해 다음과 같이 명령어를 입력합니다. 
dos2unix test.txt
만약 dos2unix 가 설치되어 있지 않다면.... 
sudo apt-get install dos2unix 로 설치해주세요. ^^ 이제 file test.txt 를 다시 입력해 상태를 확입합니다.

test.txt: ISO-8859 text

이제 인코딩을 바꾸어줄 순서인데요. iconv 라는 명령어와 recode 라는 명령어 두개가 있습니다. recode의 경우 *.txt를 지원해서 참 편리하지만... 이상하게도 제가 가지고 있던 파일에선 UTF-8로 변환시 한글이 왕창 깨지더군요..ㅠㅠ 저는 iconv로 변환했을 때 한글이 깨지지 않았습니다. 

iconv -f EUC-KR -t UTF-8 test.txt > test.txt1

위와 같이 입력해주는데 처음에는 현재 인코딩을, 두번째에는 원하는 인코딩을 쓰시면 됩니다. *.txt를 지원하지 않기 때문에 배치파일을 만들어서 쓰시거나 노가다를 좀 해주시면 됩니다... (라고 무책임하게 말하기ㅡ.ㅡㅋㅋ)

다시 file 명령어를 이용해 속성을 확인해보면, 

test.txt: UTF-8 Unicode text

그리고 vi를 이용해 한글이 깨졌는지 확인해보면...! 깨지지 않았죠? (전 안깨졌어요...ㅋ)

많은 파일을 쉽게 변환하는 팁을 알려드리면... 결과파일의 파일이름을 쓸 때 확장자를 조금만 바꾸어주세요. 우분투의 경우 rename 이라는 명령어(별도로 설치하셔야합니다.)를 이용해 간단히 바꿀 수 있어요. 

참고로 recode로 인코딩을 바꾸는 방법은 아래와 같습니다.

 recode -f EUC-KR *.txt

자세한 옵션설명은 구글에서 검색해보세요. ^^

'Study > Computer' 카테고리의 다른 글

Linux에서 Memory 정보 확인하기  (0) 2012.07.31
Linux에서 Valgrind 사용하기  (0) 2011.08.11
MS-SQL to MySQL  (0) 2011.02.26
프랙탈 그림 그리기 (Z^3-1=0)  (0) 2010.04.19
윈도우에서 gcc를 쓸 수 있다?  (2) 2010.01.05

+ Recent posts