Joined a meetup of node.js on 10/25

I'm now in San Francisco on business for 3 months from Sep. to Nov. to practice Agile Development.
A practice is worth a thousand of words. I'm learning a lot. Some day I would like to share my experiences and thoughts.

BTW, my friends told me I should join meetups, so I searched meetup.com and joined a meetup. It was so interesting.

CI, Release Engineering for Node.js (and Build Tools too!) - Node.js Club SF (San Francisco, CA) - Meetup

f:id:bufferings:20121025185251j:plain

I use node.js in the training. Node.js is nice. It took a bit time for me to switch from sync Java mind to async Javascript mind. But after that, I feel very confortable.

6:30 Meet and Greet with Food and Drinks

Flite has offered to sponsor this event and speak at this event.
I was surprised that we can walk through the office to the meeting space.

Unlike in Japan, the meetups in SF have eating, drinking and greeting time before sessions.
Everyone greets so positively and talks each other about his development concerns.
I managed to introduce myself in English to a few people. I would like to improve my English more and more.

Not only the attendance fee is free, but also the nice food and drinks are free.
I feel developers here are much better respected than those in Japan. Every company is eager to hire nice developers, because they know it brings the company much power. A meetup seems to be a good place for companies to let good developers know the company. Nice culture.

f:id:bufferings:20121025185018j:plain

7:ish Clay Smith (Flite) "How (and how not) to build JavaScript: How Flite got rid of Ant and moved to Grunt. Clay's a front-end engineer at Flite and a refugee from .NET programming in the Midwest."

Clay talked about the history of their build tools for javascript.
Javascript files they wrote became fat, so they needed concatnation and minification.

  1. ant :( -> hard to write & xml hell
  2. jake :( -> finally config became fat
  3. grunt :D <- Imakoko ( Currently here. )

Grunt has a good balance of configuration over scripting. It's easy to create your own plugins.
I found their article, which helps me to understand whole view.
Why We Use Node.js and Grunt to Build JavaScript - Mechanics of Flite

I'm a Java developer, so I like compile and build:) I would like to try grunt and Closure tool:P
Also I like TDD, I remember that they use jasmine. I wanna check it, too. I'm using mocha / should / sinon.
About CI, they use github + jenkins.

8:ish- Ben Lindsey, Lead Engineer at Vungle, a mobile video advertising platform, will discuss continuous deployment with node and chef in the cloud.

It's interesting to share information between the same business(Ad) companies, and it's nice.

Vungle

  • 3 locations
  • 20 employees
  • 3 engineers Agile team

mocha/should for test.

  • Integration tests actually spin up a server in process
  • Drop the whole database before running tests: redis and mongo.

TeamCity for CI.

  • Automatic pulls from github, runs tests.
  • Branches dev for development, master for production.
  • Push button deploy to production servers

chef

  • recipes for mongodb, redis, and nodejs from source
  • deploy thru deploy_revision capistrano style with symlink to current
  • send SIGUSR2 to cluster parent process for restart

production

  • we partition all of our impression/click/install data by day
  • measure everything(mms, graphite, stathat, loggy, copperegg)
  • auto scaling with EC2 cloud watch

I think it's cool to use TeamCity and one click deploy. I know the easiness of the release is so important for the Agility.

Before 9: David J. Kordsmeier - Brief, quick overview of the "State of Node.js Build Tools": http://storify.com/dkords/state-of-node-js-build-tools/slideshow

Please check the slide. It's nice. I was glad to hear about Gradle.

Q&A

Every meetup, many people ask questions. Maybe in Japan we don't ask so much because of hesitation. I think it's nice to ask much without hesitation so that we can exchange our experiences and knowledge. I would like to hold such kind of meetup in Japan. It was a wonderful experience for me.