최근 도쿄 재너두 ex+ 를 플레이했습니다.
제대로 된 공략 사이트가 없어서, 일본의 공략 위키를 참조해서 새로 위키를 만들어 보았습니다.
일반인도 수정할 수 있도록 해 두었으니 자유롭게 수정하셔도 괜찮구요.
문의사항은 제 이메일(shyoo at sunghwanyoo dot com)로 해 주시면 됩니다.
그럼 모두들 즐겁게 플레이하세요!
최근 도쿄 재너두 ex+ 를 플레이했습니다.
제대로 된 공략 사이트가 없어서, 일본의 공략 위키를 참조해서 새로 위키를 만들어 보았습니다.
일반인도 수정할 수 있도록 해 두었으니 자유롭게 수정하셔도 괜찮구요.
문의사항은 제 이메일(shyoo at sunghwanyoo dot com)로 해 주시면 됩니다.
그럼 모두들 즐겁게 플레이하세요!
PS3 버전으로 구매해서 플레이했고, 총 플레이 타임은 85시간 가량. 공략 위키 작업을 같이 하면서 플레이했기에 실제로는 좀 더 많은 시간을 투자했다.
아래는 분야별 리뷰.
스토리 3.5/5
그래픽 및 연출 2.5/5
사운드 5/5
전투 4/5
시스템 3/5
번역 3.5/5
총평 3.5/5
최근 영웅전설 벽의 궤적을 하고 있었는데요, 국내에 제대로 된 공략집이 없어서 일본의 http://www47.atwiki.jp/ao_psp/ 를 참조하면서 틈틈히 번역해 보았습니다.
아래 주소로 들어가시면 볼 수 있습니다.
아직 제대로 다듬어지지 않은 부분이 많고 미처 번역하지 않은 링크도 많은데요, 시간되는대로 마저 정리하도록 하겠습니다.
일단 일반인도 수정할 수 있도록 해 두었으니 자유롭게 수정하셔도 괜찮구요.
문의사항은 제 이메일(shyoo at sunghwanyoo dot com)로 해 주시면 됩니다.
그럼 모두들 즐겁게 플레이하세요!
최근에 영웅전설 섬의 궤적을 PS3로 플레이 했는데요, 제대로 된 공략 위키가 없어서 한 번 만들어 보았습니다.
루리웹 포광의 메시아님이 작성하신 공략집과 일본의 섬의 궤적 공략 위키 (http://amuwiki.com/sen_kiseki)를 바탕으로 작성하였습니다. 사용을 허락해주신 포광의 메시아님께 다시 한 번 감사드립니다.
아래 주소로 들어가시면 볼 수 있습니다.
거의 대부분의 항목들을 작성해 두었습니다. 저도 플레이하면서 작성하느라 통일되지 않은 단어가 좀 있을텐데, 누구나 수정 가능하도록 해 두었으니 자유롭게 수정하셔도 됩니다.
문의사항은 제 이메일(shyoo at sunghwanyoo dot com)로 해 주시면 됩니다.
그럼 모두들 즐겁게 플레이하세요!
최근 같은 프로젝트에서 일하는 분과 원격으로 소스 코드를 공유하면서 작업해야 할 일이 생겼다.
구글에서는 내부적으로 Critique 이라는 코드 리뷰 툴이 있는데, 아직 오픈 소스로 공개되지 않은지라 외부에서 쓸만한 툴이 있는지 알아보니, 페이스북에서 오픈 소스로 공개한 Phabricator 가 가장 쓸만해 보였다.
내가 본 Phabricator의 주요 장점으로는
등이 있다. 아직 문서화가 제대로 안되어 있다는 단점이 있기는 하지만, 전반적으로 디자인도 깔끔하고 실제 프로젝트에서 언제든 사용되어도 괜찮을 기능들을 많이 갖추고 있다.
현재로서는 github 처럼 편하게 가입해서 사용할 수 있는 방법은 없고 사이트에 직접 설치해야 하는 번거로움이 있지만, 일단 설치하면 그 이후부터는 강력한 기능들을 자유롭게 사용할 수 있다. 혼자가 아니라 여러명이서 같이 코드 리뷰 하면서 작업해야 하는 경우에는 꼭 추천하는 툴이다.
홈페이지 방문 : http://phabricator.org
방구석에 인어 아가씨 전체 순서별 공략 정리해서 위키에 올려 두었습니다. 아래 주소를 방문하시면 됩니다.
오유에 올라온 공략을 참고해서 정리했습니다.
안녕하세요,
자주 사용하던 smidown.com 이 다운되어서 임시로 애니, 일드 및 미드 자막 제작자 분들이 업로드한 자막을 수집해서 보여주는 사이트를 만들었습니다.
다음 주소 방문하시면 됩니다 : http://subtitle.sunghwanyoo.com
검색 기능 등은 지원하지 않습니다만, 나중에 추가하도록 하겠습니다. ^^
If you are struggling with memory leak in
firefox, check this autohotkey script out. It will prompt to restart
your firefox when memory consumption exceeds 1G. 😀
Recently I had to set up VPN server on my Ubuntu server 10.04.
Yes, Ubuntu 10.04 is old but the following guide will also work for latest Ubuntu systems as well.
pptpd is the VPN server that provides microsoft VPN protocol, which will mostly work fine with any vpn connection from Windows, OSX, or iOS systems.
Anyway, here are the steps for installing and configuring pptpd:
sudo apt-get install pptpd
sudo vi /etc/pptpd
(Use nano if you are not familiar with vi/vim)
At the last two bottom lines, pptpd would already have configured localip and remoteip according to your system. If not, you should modify it.
For example, if your server’s IP is 192.168.0.20, then you may configure as follows:
localip 192.168.0.20
remoteip 192.168.0.230-239
It will make pptpd to use server ip address as 192.168.0.20 while vpn clients that access to this server will use remove ip range from 192.168.0.230 – 192.168.0.239. It also means, you will allow only 10 multiple vpn client connections at a time. You can increase it if you want, but make sure remoteip range doesn’t overlap with localip.
In your /etc/pptpd/conf file, there may be options file location. It probably will be /etc/ppp/pptpd-options. Let’s open it and make sure we have right encryption level.
sudo vi /etc/ppp/pptpd-options
Do not allow pap, chap, and mschap.
refuse-pap
refuse-chap
refuse-mschap
Allow ms-chapv2 (which is more secure) and mppe-128.
require-mschap-v2
require-mpp3-128
I think those are already default option. If so, you don’t need to make any change.
Also, you need to configure DNS. Check /etc/resolve.conf if your server already have configured DNS. If that address is 22.22.22.22 and 22.22.22.23 configure ms-dns as
ms-dns 22.22.22.22
ms-dns 22.22.22.23
Otherwise you may use Google’s DNS server.
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Lastly, you should configure user account for the VPN connection.
sudo vi /etc/ppp/chap-secrets
And add
testuser pptpd testpassword *
Then you may be able to connect to VPN with ID=testuser PW=testpassword.
Note that if you use special characters like “#” in the password, that will cause trouble. I recommend to use just alphanumeric for your password. Also, make sure your chap-secrets file in unix CRLF format. (I spent couple of hours to find the problem that pptpd didn’t let me log in–it was due to chap-secrets file)
You can simply
sudo server pptpd start
to start the pptpd server or
sudo server pptpd restart
to restart pptpd.
If VPN doesn’t work, you may want to check out what’s going on under the hood. All the message will be recorded through syslog. So
sudo tail -f /var/log/messages
will show you any log associated with pptpd.
I hope this helps whom wants to run VPN server on Ubuntu.
Cheers,
연구실에서 실험 중에 facebook 에 링크가 하나 올라왔길래 풀어봅니다. ㅎㅎ 자꾸 딴 짓 하면 안되는데…;;
원본 문제는 http://www.insightbook.co.kr/post/3814 에 게제되어 있습니다.
배열 arr[]과 위치 s, t가 있을 때,
arr[s], arr[s+1], … , arr[t-1]을 오른쪽으로 한 칸씩 이동하고,
arr[t]는 arr[s]로 복사하는 것을 ’1만큼 오른쪽으로 회전시켰다’고 한다.예를 들어 길이가 8인 배열에서 s=2, t=6이면 다음 그림처럼 바뀐다.
길이가 n인 배열의 위치는 0, 1, 2, … , n-1이다.
문제 :
k를 인자로 받아서 k만큼 오른쪽으로 회전시키는 함수를 작성하라.
단, 1만큼 오른쪽으로 이동시키는 과정을 k번 반복해서는 안 된다.조건 1 : 작성하는 언어에는 제한이 없습니다.
조건 2 : 답안으로 작성하신 글 제목에는 ‘문제로 풀어보는 알고리즘 0.3 생각해보기 풀이’라는 문장이 들어가야 합니다. (저희 블로그에도 트랙백을 걸어주세요.)(주의: 이 코딩 인터뷰는 인사이트 입사와는 무관합니다. ㅡㅁㅡ /)
즉 shift(array, k)를 어떻게 구현하냐는 것인데요,
일반적으로 생각하기 쉬운 알고리즘은 2가지 정도가 있습니다.
첫째는 array를 하나 더 만들어서 각 element를 새로운 배열의 (element+k) MOD n 위치로 복사하는 방법이 있습니다. 가장 일반적인 방법이지만, 창의적이지는 않지요.
둘째는, 해답이라기 보다도 트릭이겠지만, 위의 (element_k) MOD n 을 함수처럼 제공하는 방법이 있습니다. 즉 shift(array, k, i)를 억세스하면 shift 된 array를 반환시키는 방법이죠. 하지만 이것은 문제에서 요구하는 방법은 아니니까 패스…
ruby 로 된 답을 한번 제시해봅니다.
#!/usr/bin/ruby # Reverse the array def rev(a,s,e) for i in 0..(e-s-1)/2 do tmp=a[s+i] a[s+i]=a[e-i] a[e-i]=tmp end end # Shift the array with size of k with three reverses def func(a,k) rev(a,0,a.length-1) rev(a,0,k-1) rev(a,k,a.length-1) end arr = Array.new arr = [1, 2, 3, 4, 5, 6] puts "Original = " + arr.inspect func(arr,3) puts "Shifted = " + arr.inspect
rev()를 3번 이용해서 Shift 시키게 됩니다. rev()는 주어진 array의 주어진 범위 내에 있는 원소들의 위치를 반대 방향으로 만들어주는 함수입니다.
rev(a,0,a.length-1)
를 실행하면
a = [6, 5, 4, 3, 2, 1]
이 됩니다. 그 상태에서
rev(a,0,k-1)
를 실행하면
a = [4, 5, 6, 3, 2, 1]
이 되고, 마지막으로
rev(a,k,a.length-1)
를 실행하면
a = [4, 5, 6, 1, 2, 3]
이 되어서 shift 연산을 완료하게 됩니다.
실제로 shift를 구현할 때 위 방법이 많이 쓰이는지는 모르겠군요. 메모리 가격이 중요했던 예전에는 array 하나로 해결할 수 있는 저런 알고리즘이 각광을 받았는데, 요즘은 뭐… 그냥 알아보기 쉬운 코드가 제일이 아닌가 싶습니다.
array가 정수라고 가정해서 덧셈을 이용한 swap을 하면 tmp 변수도 필요없이 swap 하는 트릭도 있습니다만, 대신 속도가 느려서 요즘은 쓸 일 없겠죠.