Tag: 잡담

만일 내가 회사를 세운다면..

만일 내가 회사를 세운다면.. 세울 원칙..

  • 오늘의 결정은 오늘까지 주어진 상황에 따른 결정이다.
  • 상황이 바뀌면 오늘의 결정이 내일도 유효할 거라는 보장은 없다.
  • 현장에서 바로 판단하고 즉각 실행한다. 기준은 "회사"에 이익이 된다면....
  • 책임과 권한은 같은 말이다.
  • 모든 것은 신뢰에 바탕을 둔다. 신뢰를 저버린 사람은 같이할 수 없다.
  • 모든 회사의 이익은 공유한다.

ps. 만일 회사를 세운다면.. 아마 10년 뒤에..??


The 6 Requirements of Enterprise-grade OpenStack

Many attempts to solve the private cloud management challenges stop at installation. Installation is just the beginning of your journey, and how easy it is doesn’t matter if your cloud is then hard to manage on a daily basis. As we all know, running a production system is not easy. In fact, private clouds are significantly more complex than traditional infrastructure approaches in many aspects. To simplify the issue, at scale, the cloud pioneers, such as Google, Amazon, and Facebook have all adopted a pod, cluster, or block based approach to designing, deploying, and managing their cloud. Google has clusters; Facebook has triplets; but it’s all ultimately the same: a Lego brick-like repeatable approach to building your cloud and datacenter.[4] Enterprise-grade OpenStack-powered cloud operating systems will need to provide a similar approach to cloud organization.

http://cloudscaling.com/blog/openstack/the-6-requirements-of-enterprise-grade-openstack-part-1/

OpenStack Default Networking is Bust

A very brief explanation of the default networking models shortcomings is in order. I will keep it very simple, but am happy to follow up later with more details. The flat and multi_host networking model requires a single shared VLAN for all elastic (floating) IP addresses. This requires running spanning tree protocol (STP) across your switch fabric, a notoriously dangerous approach if you want high network uptime. I’ve asked the question at multiple conferences to a full room: “How many of you think STP is evil?” and have had nearly everyone in the room raise their hand.

Perhaps more importantly, both flat and multi_host networking models require you to route your public IP addresses from your network edge down to the hypervisor nodes. This is really not an acceptable approach in any modern enterprise. Here’s a diagram showing multi_host mode:

By contrast, single_host mode suffers from the singular sin of trying to make a single x86 server the core networking hub through which all traffic between VLANs and the Internet runs.[2] Basically, take your high performance switch fabric and throw it in the trash because your maximum bandwidth is whatever a Linux server can push. Again, this is not an acceptable or even credible approach to networking. To be fair though, OpenStack competitors also took a similar approach to this. Here’s a diagram on single_host mode:

http://www.cloudscaling.com/blog/openstack/the-6-requirements-of-enterprise-grade-openstack-part-3/


나의 메일 박스 레이아웃

요즘 업무용으로 쓰는 메일 박스의 레이아웃은

받은편지함
0. 진행중
  +- 1. 할일
  +- 2. 기다림
1. 진행중인 프로젝트
  +- 1. Project A
2. 팀, 업무
3. 참고
4. 개인
5. 완료된 프로젝트

로.. 구성해서 쓰고 있다. 어디선가 본 메일박스를 이용한 GTD 활용법인데, 생각보다 유용하다.


매달 자신을 자신의 사무실로 불러 평가하는 것이다.

"어떻게 하고 있는가? 어느 점이 부족한가? 더 잘하기 위해 필요한 도구나 정보, 도움은 있는가?”
다음의 조언을 참고해보자.

  • 작은 목표와 큰 목표를 모두 세운다. 그러면 자신을 평가할 시간이 되었을 때 일부 목표는 이미 완성할 수 있다.
  • 자신의 일이 모든 측면에서 더 큰 목적과 연관되는 방법을 스스로 이해한다.
  • 지나치다 싶을 정도로 정직해진다. 이 연습은 자신의 수행능력을 향상하고 숙련을 달성하는데 도움을 주는 것을 목표로 한다. 그러므로 실수에서 교훈을 배우기는 커녕 대충 얼버무리거나 자신의 실패를 합리화한다면 시간낭비일 따름이다.

출처: 드라이브


재밌는 일을 찾아가기…

요즘 인생의 전환기에 있습니다. 녜.. 멀쩡히 다니던 회사를 그만둔 것이죠. 어쨌든 대기업 계열사니깐 누구한테 이야기하면.. 오.. 라는 말이 나오는 사정이긴 합니다만.. 훌훌 털고 나왔습니다.

이유는 하나... 재밌는 일.. 내가 하고 싶은 일 찾아가기...

일이 재미 없었나구요? 물론 재미가 없었다고 말하면 거시기합니다. 일 자체는 참으로 재미있었죠. 하지만 제 자리에 앉아서 뚝딱뚝딱하는 딱 그 시간만 재미있었다고나 할까...

나만이 은둔하던 세상을 벗어나면 담담함.. 그 자체였습니다. 그런데 신기한건 제가 이렇게 은둔하면서 지내는 데도 사람들은 저보고 일을 잘한다고 합니다. 정말로 재밌습니다.

제가 은둔하게 된 계기는 뭐... 간단합니다. 도데체 이놈의 프로젝트가 산으로만 갑니다. 이런 저런 말만 많고, 사공은 없고, 모두들 선장, 항해사가 되려고 합니다. 그러니 이것 저것 깔짝거리다가.. 다시 제자리.. 실제로 되는 일은 없고... 그리고 헤드급이 아닌 동료들과 일을 시작하려면, 다른 누군가가 뭔가 일을 주기만을 기다리고 있습니다.

저를 아는 사람들은 이런 상황에서 제가 어떻게 행동할 것인지 잘 알겁니다.

첫번째.. 이 상황을 몸으로 뚫고 나가자.. 두번째 은둔... 녜.. 전 두번째 은둔을 선택했습니다. 첫번째는 제가 좋아하는 정면돌파의 방법인데, 이건 이렇게 정면 돌파하고 나가고, 싸우다 장렬히 전사해도 적어도 국립묘지에 묻힐 수 있다는 든든한 믿음이 있어야 합니다. 어렸을 때는 앞뒤 안보고 질렀는데.. 이제는 처자식이 딸려서 그러기 힘드네요. 그래서 내 나름대로 프로젝트가 가는 방향을 예상해서 혼자 묵묵히 진행해 나가는 것이죠.. 능력이 안되서 고생 많이 했습니다.

그러다 보니깐 참으로 재밌더군요. 누군가가 말하하는 몰입(flow)에도 자주 갔었습니다. 젊었을 때 느꼈던 그런 열정도 느낄 수 있었습니다.  하지만 이런 은둔의 한계는 혼자만의 것일 뿐이라는 겁니다.

결국.. 이렇게 은둔하는 것도 한계 상황에 다다른 것이죠... 녜... 결론처럼 이제 새로운 것을 찾아 떠나기로 했습니다. 제가 하고 싶은 일을 같이 즐겁게 할 수 있는 조직을 찾아서..

창업하냐고 물어들 봅니다. 아뇨.. 저는 그런 위인이 못됩니다. 제가 회사를 경영하면 망해요. ^^; 이런 이상주의자에다가... 이기주의에 고집불통인 사람은 위로 갈수록 위험한 사람이죠... 그냥 옆에서 지나가면서 툭툭 옳은 말 해주는 것이 제 역할일 겁니다.

^^;

그런데 재밌는 일이 뭘까요? 고민이 많습니다. 아니면 제가 하고 싶은 일이 뭘까?.. 그것도 고민이 많아요.

나름 새워놓은 계획 및 생각도 있지요. 하지만 아직은... 아직은 그런 일들을 실행해 옮길만한 경험이나, 여러 위기 상황에 대처하는 임기응변, 저돌적인 돌파력, 목표를 달성하려는 집요합, 옳은 것을 추구하는 정의감... 등... 이런 생각들을 성공에 이르게하는 여러 부수적인 것들이 너무도 부족하다는 것을 스스로 느끼고 있습니다. 이런 것들을 좀 더 쌓아햐 합니다. 아직 어려요.. ^^;

그래서 고민이 많습니다.

아직 부족한데 이런 부족한 나를 감내해주려는 사람도 있고, 아직 부족한데.. 옆있으며 더 배우고 싶은 사람도 있고.., 아직 부족한데... 더 채워야할 것인데.. 라는 생각이 강합니다.

그냥 정리해 볼랍니다. 재미란...

  • 창조적인, 지식 노동자는 반듯이 일이 재밌어야 한다.
  • 누군가 시켜서 하는 재미는 진정한 재미가 아니다. 재미는 내재된 것이 밖으로 표출되는 것이다. 즉, 자율과 책임의 위임이다.
  • 너무 어려워서도, 너무 쉬워서도 안된다... 즉 구성원들에 대한 세세한 조절이 필요하다.
  • 업무에 재미를 못 느끼는 사람은 없다. 다 느낄 수 있다. 다만 지금까지의 환경때문에 잠시 잊고 살아왔던 것일 뿐이다. 어렵게 보지 말자. 아주 어렸을 때.. 초등학교 들아가기 전에는 세상은 온통 재밌는 것 뿐이었다.
  • 부정적인 것을 보지 말고, 긍정적인 면을 보라.. 재미는 긍정에 있다. 모든 구성원이 모두 수퍼맨이 되길 원하지 말라~
  • 아무리 단순 반복된 일이라도 재미로 바꿀 수 있다. (허클베리 핀의 페인트 칠하기를 보라.. 어렵다면 자포스를 보라..)
  • 서로 협력하여 할 수 있는 조직을 만들어라... 내팀이 아니라 "우리" 팀이다. 내가 담당하는 기능이 아니라.. "우리"가 만들어 가야 하는 기능이다.
  • 학습하며 성장하는 우리가 된다. 처음부터 전문가는 없다. 그래서 모르는, 하지만 해처 나가야할 문제가 생기면 기꺼이 감내한다.
  • 그리고 이 모든 것은 기본적으로 먹고 사는 것에 문제가 없어야 가능하다.

이런 회사(팀, 조직)을 만들어 보는 것이 제 꿈입니다. 그리고 이런 팀, 조직을 서로 조직하여 하나의 공동체로 만들어 보는게 꿈입니다.

그냥.. 이런 저런 생각이 많은 나날들입니다.

ps. 재밌게 살자~


OpenStack은 정말 복잡한 프로젝트다..

문득 얼마나 많은 패키지들이 OpenStack을 위해서 필요한지 단순하게 체크해밨다.

$ apt-get install mysql-server rabbitmq-server \
keystone glance-api glance-registry \
nova-api nova-scheduler nova-novncproxy nova-cert nova-consoleauth \
cinder-api cinder-scheduler cinder-volume \
nova-compute \
quantum-server quantum-plugin-openvswitch quantum-plugin-openvswitch-agent quantum-l3-agent quantum-dhcp-agent \
openstack-dashboard

단순하게 전체 구성하는 패키지를 설치하는 명령을 내리면...

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common augeas-lenses binutils bridge-utils cgroup-lite cinder-common cpp cpp-4.6 cpu-checker curl dbconfig-common dkms dnsmasq-base dnsmasq-utils ebtables
  erlang-asn1 erlang-base erlang-corba erlang-crypto erlang-dev erlang-diameter erlang-docbuilder erlang-edoc erlang-erl-docgen erlang-eunit erlang-ic erlang-inets erlang-inviso erlang-mnesia erlang-nox erlang-odbc
  erlang-os-mon erlang-parsetools erlang-percept erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssh erlang-ssl erlang-syntax-tools erlang-tools erlang-webtool erlang-xmerl fakeroot gawk gcc gcc-4.6 git git-man
  glance-common kpartx kvm kvm-ipxe libaio1 libapache2-mod-wsgi libapparmor1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasound2 libasyncns0 libaugeas0 libavahi-client3 libavahi-common-data libavahi-common3
  libc-dev-bin libc6-dev libcaca0 libconfig-general-perl libcurl3 libdbd-mysql-perl libdbi-perl liberror-perl libevent-2.0-5 libflac8 libgmp10 libgomp1 libhtml-template-perl libibverbs1 libjs-jquery libjs-sphinxdoc
  libjs-underscore libjson0 libltdl7 libmpc2 libmpfr4 libmysqlclient18 libnet-daemon-perl libnetcf1 libnetfilter-conntrack3 libnl-route-3-200 libnspr4 libnss3 libnuma1 libodbc1 libogg0 libplrpc-perl libpulse0 libquadmath0
  librados2 librbd1 librdmacm1 libsctp1 libsdl1.2debian libsgutils2-2 libsigsegv2 libsndfile1 libtidy-0.99-0 libvirt-bin libvirt0 libvorbis0a libvorbisenc2 libxenstore3.0 libxml2-utils libxslt1.1 libyajl1 libyaml-0-2
  linux-libc-dev lksctp-tools make manpages-dev memcached msr-tools mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server-5.5 mysql-server-core-5.5 nova-common nova-compute-kvm open-iscsi open-iscsi-utils
  openstack-dashboard-ubuntu-theme openvswitch-common openvswitch-datapath-dkms openvswitch-switch patch python-amqplib python-anyjson python-appconf python-boto python-carrot python-cheetah python-cinder python-cinderclient
  python-cliff python-cloudfiles python-cmd2 python-compressor python-configobj python-crypto python-daemon python-dateutil python-decorator python-dingus python-django python-django-horizon python-eventlet python-feedparser
  python-formencode python-gevent python-gflags python-glance python-glanceclient python-greenlet python-httplib2 python-iso8601 python-jsonschema python-keyring python-keystone python-keystoneclient python-kombu python-ldap
  python-libvirt python-libxml2 python-lockfile python-lxml python-m2crypto python-memcache python-migrate python-mysqldb python-netaddr python-nose python-nova python-novaclient python-openid python-openssl
  python-openstack-auth python-pam python-paramiko python-passlib python-paste python-pastedeploy python-pastescript python-pkg-resources python-prettytable python-pycurl python-pyparsing python-pyudev python-quantum
  python-quantumclient python-requests python-routes python-scgi python-setuptools python-setuptools-git python-simplejson python-sqlalchemy python-sqlalchemy-ext python-stompy python-suds python-swiftclient python-tempita
  python-tz python-utidylib python-warlock python-webob python-xattr python-yaml qemu-common qemu-kvm qemu-utils quantum-common seabios sg3-utils ssl-cert tgt vgabios vlan
Suggested packages:
  www-browser apache2-doc apache2-suexec apache2-suexec-custom augeas-doc binutils-doc python-ceph cpp-doc gcc-4.6-locales virtual-mysql-client mysql-client postgresql-client erlang erlang-manpages erlang-doc xsltproc fop
  erlang-ic-java erlang-observer gcc-multilib autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.6-multilib libmudflap0-4.6-dev gcc-4.6-doc libgcc1-dbg libgomp1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold
  git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk gitweb libasound2-plugins libasound2-python augeas-tools glibc-doc libipc-sharedcache-perl javascript-common libmyodbc
  odbc-postgresql tdsodbc unixodbc-bin pulseaudio policykit-1 pm-utils radvd make-doc libcache-memcached-perl libmemcached libterm-readkey-perl tinyca mailx novnc ethtool diffutils-doc python-amqplib-doc python-markdown
  python-pygments python-crypto-dbg python-crypto-doc python-psycopg2 python-psycopg python-flup python-sqlite geoip-database-contrib python-egenix-mxdatetime python-dns python-gevent-doc python-gevent-dbg python-greenlet-dbg
  python-greenlet-dev python-greenlet-doc python-couchdb python-kombu-doc python-pymongo python-ldap-doc python-lxml-dbg python-mysqldb-dbg ipython python-coverage python-nose-doc python-openssl-doc python-openssl-dbg
  python-pam-dbg python-pastewebkit libapache2-mod-python libapache2-mod-scgi python-pgsql libjs-mochikit python-cherrypy python-distribute python-distribute-doc libcurl4-gnutls-dev python-pycurl-dbg python-gobject python-qt4
  python-pyside.qtcore python-sqlalchemy-doc python-kinterbasdb python-pymssql mol-drivers-macosx openbios-sparc ubuntu-vm-builder uml-utilities openssl-blacklist
The following NEW packages will be installed:
  apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common augeas-lenses binutils bridge-utils cgroup-lite cinder-api cinder-common cinder-scheduler cinder-volume cpp cpp-4.6 cpu-checker curl dbconfig-common dkms
  dnsmasq-base dnsmasq-utils ebtables erlang-asn1 erlang-base erlang-corba erlang-crypto erlang-dev erlang-diameter erlang-docbuilder erlang-edoc erlang-erl-docgen erlang-eunit erlang-ic erlang-inets erlang-inviso erlang-mnesia
  erlang-nox erlang-odbc erlang-os-mon erlang-parsetools erlang-percept erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssh erlang-ssl erlang-syntax-tools erlang-tools erlang-webtool erlang-xmerl fakeroot gawk gcc
  gcc-4.6 git git-man glance-api glance-common glance-registry keystone kpartx kvm kvm-ipxe libaio1 libapache2-mod-wsgi libapparmor1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasound2 libasyncns0 libaugeas0
  libavahi-client3 libavahi-common-data libavahi-common3 libc-dev-bin libc6-dev libcaca0 libconfig-general-perl libcurl3 libdbd-mysql-perl libdbi-perl liberror-perl libevent-2.0-5 libflac8 libgmp10 libgomp1
  libhtml-template-perl libibverbs1 libjs-jquery libjs-sphinxdoc libjs-underscore libjson0 libltdl7 libmpc2 libmpfr4 libmysqlclient18 libnet-daemon-perl libnetcf1 libnetfilter-conntrack3 libnl-route-3-200 libnspr4 libnss3
  libnuma1 libodbc1 libogg0 libplrpc-perl libpulse0 libquadmath0 librados2 librbd1 librdmacm1 libsctp1 libsdl1.2debian libsgutils2-2 libsigsegv2 libsndfile1 libtidy-0.99-0 libvirt-bin libvirt0 libvorbis0a libvorbisenc2
  libxenstore3.0 libxml2-utils libxslt1.1 libyajl1 libyaml-0-2 linux-libc-dev lksctp-tools make manpages-dev memcached msr-tools mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server mysql-server-5.5
  mysql-server-core-5.5 nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-consoleauth nova-novncproxy nova-scheduler open-iscsi open-iscsi-utils openstack-dashboard openstack-dashboard-ubuntu-theme
  openvswitch-common openvswitch-datapath-dkms openvswitch-switch patch python-amqplib python-anyjson python-appconf python-boto python-carrot python-cheetah python-cinder python-cinderclient python-cliff python-cloudfiles
  python-cmd2 python-compressor python-configobj python-crypto python-daemon python-dateutil python-decorator python-dingus python-django python-django-horizon python-eventlet python-feedparser python-formencode python-gevent
  python-gflags python-glance python-glanceclient python-greenlet python-httplib2 python-iso8601 python-jsonschema python-keyring python-keystone python-keystoneclient python-kombu python-ldap python-libvirt python-libxml2
  python-lockfile python-lxml python-m2crypto python-memcache python-migrate python-mysqldb python-netaddr python-nose python-nova python-novaclient python-openid python-openssl python-openstack-auth python-pam python-paramiko
  python-passlib python-paste python-pastedeploy python-pastescript python-pkg-resources python-prettytable python-pycurl python-pyparsing python-pyudev python-quantum python-quantumclient python-requests python-routes
  python-scgi python-setuptools python-setuptools-git python-simplejson python-sqlalchemy python-sqlalchemy-ext python-stompy python-suds python-swiftclient python-tempita python-tz python-utidylib python-warlock python-webob
  python-xattr python-yaml qemu-common qemu-kvm qemu-utils quantum-common quantum-dhcp-agent quantum-l3-agent quantum-plugin-openvswitch quantum-plugin-openvswitch-agent quantum-server rabbitmq-server seabios sg3-utils ssl-cert
  tgt vgabios vlan
0 upgraded, 254 newly installed, 0 to remove and 0 not upgraded.
Need to get 124 MB of archives.
After this operation, 422 MB of additional disk space will be used.
Do you want to continue [Y/n]?

254개의 패키지가 필요하다. 물론 모든 full stack을 알아야할 필요는 없겠지만, 어느 정도 그들이 어떤 역할을 하는지는 알아 두는 것이 전체 시스템을 이해하는데 도움이 많이 되겠죠.

완전히 기술 분야가 다른 리눅스 네트워킹부터~ django까지... 후훗... 질릴정도가?


full stack

git, unit test, xp, scrum, gerrit, jenkins, chef, ci, cloud.... 프로젝트를 시작할라 치면 실제 삽을 들기도 전에 고려하고 생각하고 해야할 일들이 많다. 물론 여기에 빠진것도 많다.

요즈즘은 특히나 인터넷에 나와있는 유명한 회사, 유명한 오픈소스 플로젝트에서 말하는 best practice들을 보고 있노라면 각 단어 하나가 하나의 책으로 구성해도 부족한 것들인데, 이 모든것을 다 잘 해야만 프로젝트가 잘 될것 같은 생각이 들기도 하다. 실제로 그렇게 가야한다고 이야기도 많이 한다.

이 모든 것을 이미 경험해 본 사람이 있는 경우라면 그나마 좋은 경우겠지만, 구성원들의 지식 수준도 아주 다양하고, 게다가 프로젝트에서 풀어야할 문제 자체도 난감한데, 이를 수행하기 위해 기반을 갖추는 것도 아주 험난한 상황이 되는 것 뭐랄까... 열심히 뭔가를 했지만, 그 것을 사용할 사람에게는 뭔가 보여줄 게 없는 그런 이상한 상황이 오래 지속되는 것 같다.

몇주전에 들었던 야크 세이빙이 떠오르기도 한다....

프로젝트의 비전도 명확하고, 모든 구성원이 동의하고, 아주 열정이 있고, 배우려는 의지도 강하고, 프로젝트 일정도 여유가 있으면 하나씩 파면서 제대로 가겠지만, 그러기도 거시기한게.. 각자의 지식 수준도 다양하고, 그리고 각자에게 뭔가 프로젝트에서 자기 담당이라는 것도 암묵적으로 생기면서, 그 사람이 하겠지 하는 그런 생각도 들기도 하고 말이야... 흠.

내 스타일은 이 모든 것을 갗추어서 제대로 시작하기 보다는 우선은 조그만한 것부터, 작은 성공을 바탕으로 점점 큰 것을 가져나가는 것... 을 추구하고 계속 그렇게 가면서 새로운 것도 쉽게 쉽게 배우고, 그게 왜 필요한 지도 몸으로 느껴가면서 배웠는데 말이다.

만일 저 full stack을 딱 가져다 놓고, 이에 맞춰서 일 해야되.. 라고 한다면, 뭐랄까 답답함이 엄습해올 것 같다. 뭔가 내가 여기서 움직일 공간이 없이 저 틀에 박혀버리는 것 이 아닐까? 하다가 내가 관심있는 분야에 조금 더 뚝딱뚝딱해보려 하지만, 그를 위해서는 더 다른 부가 적인, 배보다 배꼼이 큰.. 그런 일들을 해야하는 상황들이 발생할 것 같다는 느낌도 들고 말이야... 후훗...

이제 혼자가 full stack을 이해하고, 모든 구성원이 케익을 세로롤 자를 수 있으련지.. 뭔가 그렇다...

그냥 넋두리입니다.. 😀

ps. 낼은 또 어떤 spike를 할까???


Firefox 4.0 Beta 7으로 업데이트 했더니..

상태바가 사라졌다. 뭐냐.~

메뉴를 뒤져봐도 상태바를 찾을 수 없다. 상태바에서 돌아가는 몇가지 Add-On들은 어떻게 할겨...

추가:

구글에 물어보니 간단하게 알려주십니다. "부가 기능 모음"이라는 다소 난해한 이름으로 바뀜...


pylons가 문제인지 내가 문자인지..

Pylons가 참 괜찮아 보입니다.

RubyOnRails, Django 비슷한 건데요. 그냥 뭔가 잘 될것 같은 느낌이 들어서 Tutorial 따라서 해 봤는데.. 절망하게 만들네요. 무슨 에러가 계속..ㅡㅡ 이거참 Undefined symbol....

아놔.. 난 Tutorial 대로 그대로 했단말이다!!!


이 블로그가 위치한 서버 사진

호스팅 서비스 받고있는 회사의 facebook 계정에 올라온 이 사이트를 운영하는 서버의 사진..

난.. 어디에 있는거냐? 궁금..


  • Copyright © 1996-2010 Your wish is my command. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress