webプログラマのためのscala入門勉強会の最近の参加者一覧

つくったお(`・ω・´)

twitterのIDアイコン12/712/211/18twitterの自己紹介
@tonbihttp://a3.twimg.com/profile_images/1097994390/000002nu_normal.gif山に籠ったつもりになる修行で悟りを開いたと思い込んでいます。
ぬーん。ぬーん。
@kilili0130http://a2.twimg.com/profile_images/647624096/natsuki2_normal.jpg辻 拓也(Takuya Tsuji)
Ruby on Railsやってます。
【作ったもの】
http://yarukidas.me/ プログラミング担当しました。
@abe4tawa8http://a1.twimg.com/profile_images/1177077509/clone-old-128x128_normal.png腹減った。飯食う。そして寝る。
@sharakovahttp://a3.twimg.com/profile_images/596653749/l_fbf08b6b09c42342fd384a059c6af97eb9989192_normal.jpgSE。仕事はメーリングリストサービスのfreemlを開発してます。趣味で、Androidのゴルフアプリ「キャディー君」を製作中。ソースコードGitHubで公開中。http://bit.ly/9ShmPX
@sasakure_keihttp://a2.twimg.com/profile_images/971352732/IMGP0863_normal.JPGPerlPHPJavaScriptの初心者です。一人前目指して頑張り中!Scalaにも興味あります。
@kaigaiengineerhttp://a0.twimg.com/profile_images/769614879/__-_-3_normal.png日本でも海外でも活躍出来るようになりたいと思ってる日本人ITエンジニアです。IT関係、英語ネタ、日常生活などをつぶやきます。
@haruprojecthttp://a3.twimg.com/profile_images/1031455138/pf100625101047_normal.jpg鹿児島産黒チワワを飼ってるシステム屋。
最近は、ブログってやつが生業です。App Engineで何かやりたい年頃です。
@kamemogehttp://a3.twimg.com/profile_images/300092429/aaa___normal.jpgプログラマーやってるけど力の無さにぐったり。もっと勉強せねば…ぐぬぬぬ。つぶやきはスポーツかゲームorアニメかIT系がほとんどかも
@_k_gotohttp://a3.twimg.com/profile_images/1029540944/TwitterTop_normal.pngProgrammer, cook
@okinakakhttp://a2.twimg.com/a/1292975674/images/default_profile_6_normal.png
@xuwei_khttp://a1.twimg.com/profile_images/1176338894/xuwei_normal.gifprogrammer。scalaな人。その他、C,C++,C#,Java,javascript,Ruby,など。そして関数型言語勉強したい。あと書道と芸術
@chikaramhttp://a2.twimg.com/profile_images/962276185/13R_normal.jpgピーク時1200PV/secのモバイルサイトを6台のApache/Zend Framework/InnoDB Pluginで平均80msecさばいてます。Ubuntu/nodeファン。
@hatappohttp://a3.twimg.com/profile_images/260896035/2131113_s_normal.jpg




だいたい家でぼっとしてるよ





@watarumhttp://a3.twimg.com/profile_images/388016327/watarum_normal.jpgチュッス真鍋ですセカンドです打順は1番ッスオラオラバッタービビってんぞヘイヘイピッチリーリーリーリー
@8472http://a2.twimg.com/profile_images/1154957205/bike2_normal.jpg犬好き研 島根研究室 パピヨン

軽い気持ちで始めた自転車にハマってしまい、暇があれば自転車で走ってます

音楽はKOKIA大好きの新米ancoroです。

/犬/パピヨン/KOKIA/RURUTIA/ロードバイク/iPhone/うどん/カレー

@t_itahttp://a0.twimg.com/profile_images/1110532783/t_ita_normal.jpgアラサーあたりからソフトウエア開発を始めた似非プログラマ。SE定年説の年齢を過ぎて、いつまで仕事を続けられるか戦々恐々とした日々。特撮ヒーローヲタ。一男一女の父。
@halcat0x15ahttp://a3.twimg.com/profile_images/1087591518/up3_normal.pngプログラミングと絵が趣味の学生です。好きな言語はScalaClojureなど。エディタはEmacsを使っています。絵はいろいろ描きたいけど、結局女の子ばっか描いてます。
@imaichelhttp://a1.twimg.com/profile_images/63007665/%E3%81%AB%E3%82%93%E3%81%AB%E3%81%8F%E3%82%88%E3%81%86%E7%94%BB%E5%83%8F_normal.GIFとあるインターネット企業のとある月間10億PVほどのモバイルサイトプロダクトマネージャー
@yonet77http://a1.twimg.com/profile_images/55629814/sunaf_normal.jpg「なんとなくITエンジニア」です。
RoR、Force.comを勉強しながら、今年はScalaにも手を出そうとしてます。
たまには放浪したいなー・・と思います。
@masahikohttp://a0.twimg.com/profile_images/21897832/015_normal.jpg
@ikeike443http://a2.twimg.com/profile_images/596160376/ikeike_icon_normal.jpgSaaS Developer,Hobby Programmer,@Favorareter Developer, Shanon Inc. http://www.shanon.co.jp,
Playframeworkの翻訳にも協力してます http://playdocja.appspot.com/
@hito_asahttp://a0.twimg.com/profile_images/1178485737/469e045e-2022-4688-b25e-0e42ee75872b_normal.pngプログラマですよ。
@ueshinhttp://a1.twimg.com/profile_images/860230062/twitterProfilePhoto_normal.jpg一応フリーのプログラマ
今はScala/Liftに燃え、後々にはHadoop/MapReduceを絡めたウェブサービスを画策中。iPhone/Androidアプリもお忘れなく。の、そろそろHelloWorldは脱出?レベル。です。
@marumahttp://a1.twimg.com/profile_images/564958401/globe_normal.jpgITエンジニア的な何かをやってます。お酒とコーヒーが主食。ランニングとかゲームとかマンガとかプログラミングとかiPhoneがおやつ。
@giuniuhttp://a1.twimg.com/profile_images/1193432788/emani_normal.jpgのらりくらり。
@ikmhttp://a0.twimg.com/profile_images/1116365507/ikm_normal.jpgもう冬ですね。3人と1匹で暮らしてます。音楽とか猫とか犬とかRuby on RailsとかiPhoneアプリとかJavaScriptとかギターとか。
@ohtsuchihttp://a1.twimg.com/a/1292975674/images/default_profile_1_normal.png
@inamolyhttp://a3.twimg.com/profile_images/1178992307/00002_normal.jpg東京でWebと金融が楽しくなること模索中! 営業マンと勘違いされるウェブマスター。神奈川県藤沢市出身。XperiaAndroid、AR(拡張現実)技術、ドライブ、中本、能、洋楽、夜景好き。
http://www.inamoly.com/
http://inamoly.tumblr.com/
@hknhttp://a1.twimg.com/profile_images/1166834682/3271146326_be1c829c5f_o_normal.jpgかわいい服とインターネットが好きな普通の OL です。服はエミキュメゾピが好き。
@max747http://a3.twimg.com/profile_images/558663012/47718_2909569389_normal.jpgボードゲーマー/プログラマー。Agricola Unofficial Compendiumの私家版邦訳なんぞをやっていたりします。
@nothijirihttp://a2.twimg.com/profile_images/679676787/824184_3559270194_normal.jpgファンゴーイング合同会社代表。Webサービス開発/Scala/Lift/MongoDB/デザイン/写真/プログラム/インフラまでなんでも/ソーシャルアプリ「クイタマ」開発/演劇公演DVDの制作/洋菓子作り/フルート演奏/HAL大阪出身/1981年12月生
@heroweenhttp://a2.twimg.com/profile_images/1138478924/e7878f60_normal.png都内の某SIerに勤務してるエンジニア?です。
@earuhttp://a2.twimg.com/profile_images/114218929/nekobeen_normal.jpgなんちゃってIT関係です・・・
@hanhan1978http://a0.twimg.com/profile_images/973093972/hanhan_normal.jpgWeb屋さん。Android, Scalaに興味あり。だけど仕事はJava, PHPerだったりする。
@yotii23http://a1.twimg.com/profile_images/1147857221/12874680359X_normal.pngなまやけ。有用なことは発信しない定め。武田百合子 色川武大 おがきちか ルパン三世 坂口安吾 吉原幸子 堀江敏幸 高橋葉介 とかがすき。
@atsushienohttp://a3.twimg.com/profile_images/1093012507/images_normal_normal.jpg古いものは@atsushieno_old2 / mono関係は@atsushimono / usage policy: http://docs.google.com/View?id=dfbvrv4g_37hg8rpw6h / ここで記載した条件に基づかない私のtweetの複製を禁じます。
@smellmanhttp://a2.twimg.com/profile_images/15935212/mixi_image_1_normal.jpgsmellman aka. btm aka. 元組長の人。株式会社KBMJ ITコンサルティング部所属。スマートフォン勉強会@関東スタッフ。ブレイクコア/OSS/Linux/Firefox/Thunderbird/ラノベ/電子書籍/官能小説/エロ漫画あたりを呟いていきます。たぶん。 @elecoma の中の人です。
@tukiyo3http://a2.twimg.com/profile_images/54467594/%E3%83%9F%E3%82%AF_normal.JPG□neru
@vochkunhttp://a2.twimg.com/profile_images/219100941/_____________normal.jpg本業はWebクリエイター&プログラマですが、最近はマーケティングの方に興味があります ◆個人運営サイト:[ホ]ホコホコNews / [閉]閉鎖ニュース ◆最近の関心事:iPhoneAndroid開発 / ソーシャルアプリ開発 / App Engine / PHP / ◆特記事項:発達障害を持つ二児の父親、嫁はカラテカ
@payopayo54http://a2.twimg.com/profile_images/1194065190/90c8975e-b299-4529-8dfb-7aecd31dd538_normal.pngメンヘラ非コミュ系サーバサイドJavaプログラマー。マンガ、アニメが大好き。最近はフロントエンドの技術にも関心がある。/自転車/テニス/最近のもっぱらの興味はベアフットランニングです。ここ見て−→http://hadashirunning.blogspot.com/
@funk2004http://a3.twimg.com/profile_images/791860562/Curling2_normal.JPG
@sassunthttp://a0.twimg.com/profile_images/1147320919/image_normal.jpgTesterから脱却できたので、次は開発案件に入れると期待している人。
最近、Scala/Liftの勉強を開始(IT勉強会に参加できれば・・・)
@choplinhttp://a0.twimg.com/profile_images/81424664/me_normal.jpg大学院生でしたが卒業しました。バイオインフォマティクスやってました。 元々バイオ出身なんですがインフォマティクスの方が面白くなってしまいました。なので今は新宿のIT企業で働いてます。HR/HMのバンドもやってます。ギターかベースで。好きなバンド:Primus Mudvayne PainOfSalvation
@natsukatehttp://a2.twimg.com/profile_images/901515220/2010-05-15_161359_normal.png1983年3月5日生。滋賀県草津市出身。【同志社大】法学部政治学科→【DOWAHD】総務・法務→【Fractalist】モバイル広告営業→
【同】SEOコンサルタント→【TopNotch】取締役。現在PHPMySQLを猛勉強中。剣道2段/阪神&西武ファン/餃子の王将好き/
@Kazuya_Takedahttp://a0.twimg.com/profile_images/1152791442/takeda0902_normal.jpg(株)netage(現ngi group)入社後、モバイル広告代理店業務に従事しマネージャー就任。
その後、渡米しサンフランシスコにあるITベンチャーソーシャルメディアマーケティングの業務に従事。最近、株式会社TopNotch創業!
目標はグローバルカンパニーを創ること
@ura_58_58http://a1.twimg.com/profile_images/1185263373/401__-1_normal.JPGJava業務システム開発SE,PG。現在運用オペレータ。ITIL V3 Foundation,Systemwalker Certified Associate V14gを保持し、Professional サービス管理 V14g取得に向け勉強中。次はInterstage V10,VMware,vSphereを学ぶ予定。

以下生成元ソースコード

  val partakeEvents = Map(
     ("12/7" , "e0aee446-7bc6-4324-a217-aac174562ffe"),
     ("12/21", "a5e60021-af5f-4112-80b2-eaac54fd087c"),
     ("1/18" , "2919d1c2-8f43-49a4-ab0b-1b2de9c74771")
    )
    
  val atndEvents = Map(
     ("11/2" , "http://atnd.org/events/9054"),
     ("11/16", "http://atnd.org/events/9664")
  )
  
  def main(args: Array[String]): Unit = {  
      
    val events1 =
      partakeEvents.map{
        case (name,id) => 
        Event(
          name ,
          getUsers(id).map{ userId2twitterId }.collect{ case Some(id) => User( id ) }.toSet
        )
      }
    
    val users = events1.flatMap{e => e.users }.toList.distinct.map{ u => getUserProperty(u.screenName) }
    
    val twitterURL = "http://twitter.com/#!/"
    
    println{
      events1.foldLeft("<table><tr><th>twitterのID</th><th>アイコン</th>"){ case (r,e) =>
        r + "<th>" + e.name + "</th>"
      } + "<th>twitterの自己紹介</th></tr>" +
      users.foldLeft(""){ case(str,User(name,description,image)) =>
        str + 
        "<tr><td>[" + twitterURL + name +":title=@" + name + "]</td><td>[" + image + ":image:w48]</td>" +
        events1.foldLeft(""){ case (r,e) =>
          r + "<td>" +{
            if( e.userNames.contains(name) ) "○" else "" 
          } + "</td>"
        } +
        "<td>" + description + "</td></tr>"
      } + "</table>"
    }
  }
    
  case class User(screenName:String,description:String="",imageUrl:String="")
  
  case class Event( name:String , users:Set[User] ){
    
    val userNames = users.map{_.screenName}
  }
  
  def getUserProperty(name:String):User = {
    
    val data = xml.XML.load( "http://api.twitter.com/1/users/show.xml?screen_name=" + name)

    User( data \\ "screen_name" text, data \\ "description" text , data \\ "profile_image_url" text)
   
  }

  def userId2twitterId(userId:String):Option[String] = {
    
    val twitterLink = """(<a href="http://twitter.com/)([a-zA-Z\d_]+)""" r
    
    getHtml("http://partake.in/users/" + userId ) match {
      case Some( html ) => 
        twitterLink.findFirstIn( html ) match {
          case Some( twitterLink( _ , twitterId )) => Some( twitterId )
          case None => None
        }
      case None => None
    }
  }
  
  def getUsers( eventId:String ):List[String] = {
    
    val userElem = """(<a href="/users/)([a-z\d\-]+)""" r
    
    getHtml( "http://partake.in/events/" + eventId ) match {
      case Some( html ) => 
        userElem.findAllIn( html ).map{
          case userElem( _ , userId ) => userId
        } toList
      case None => Nil
    }
  }

まえかいたやつをだいぶ利用してる。
っていうか、こんな方法じゃなくて、いい加減githubの使い方覚えて、ちゃんとソース管理したい。
あと、キャンセルした人まで表示されてる気もするorz*1
ソースだいぶ汚いけど、やる気がでたら、あとでリファクタリングして、改良するかも。

*1:partakeのAPIほすぃ・・・