クローラー/Webスクレイピング Advent Calendar 2015 25日目です。
Html Agility Pack
Html Agility Pack は、.NET Framework による HTML パーサーで XPATH により DOM の読み書きができる、Web スクレイピングに役立つ人気ライブラリです。Nuget で手に入ります。
開発者的には、正規表現を使って値を抜き出すよりいい感じにコードが書ける気がしますが、HTML の開始・終了タグのペアに誤りがあると動作しないし、ぶっちゃけ正規表現でスクレイピングする方が堅牢なプログラムになると思います。また、jQuery のセレクターのように柔軟に要素を指定できるわけでもないので、結構もどかしいです。
詳しくは、こちらの記事が参考になると思います。.NET TIPS:Html Agility Packを使ってWebページをスクレイピングするには?[C#、VB] - @IT
Advent Calendar 2015 一覧の取得
さっそく使ってみます。Qiita の Advent Calendar 2015 の一覧を取得します。各カテゴリーのページから <td class="adventCalendarList_calendarTitle"><a>
要素を取得できれば、タイトルと URL が得られそうです。
Html Agility Pack を利用するコードは次の通り。"//td[@class=""adventCalendarList_calendarTitle""]/a"
と指定しています。
どうですかね? 正規表現で抽出するのと比べて。
Function GetCalendars(categoryUrl As String) As IEnumerable(Of Calendar)
Dim client = New WebClient With {.Encoding = Text.Encoding.UTF8}
Dim html = client.DownloadString(categoryUrl)
Dim doc = New HtmlAgilityPack.HtmlDocument
doc.LoadHtml(html)
Return doc.DocumentNode.SelectNodes("//td[@class=""adventCalendarList_calendarTitle""]/a").Select(
Function(node)
Return New Calendar With {
.Title = node.InnerText,
.Url = node.Attributes("href").Value}
End Function)
End Function
Calendar クラスの定義と、呼び出し部分です。
Class Calendar
Property Title As String
Property Url As String
End Class
Sub Main()
Dim categories = New String() {
"http://qiita.com/advent-calendar/2015/categories/to_be_decided",
"http://qiita.com/advent-calendar/2015/categories/programming_languages",
"http://qiita.com/advent-calendar/2015/categories/libraries",
"http://qiita.com/advent-calendar/2015/categories/databases",
"http://qiita.com/advent-calendar/2015/categories/web_technologies",
"http://qiita.com/advent-calendar/2015/categories/mobile",
"http://qiita.com/advent-calendar/2015/categories/devops",
"http://qiita.com/advent-calendar/2015/categories/iot",
"http://qiita.com/advent-calendar/2015/categories/os",
"http://qiita.com/advent-calendar/2015/categories/editors",
"http://qiita.com/advent-calendar/2015/categories/academic",
"http://qiita.com/advent-calendar/2015/categories/services",
"http://qiita.com/advent-calendar/2015/categories/company",
"http://qiita.com/advent-calendar/2015/categories/miscellaneous"}
Dim calendars = New List(Of Calendar)
For Each c In categories
calendars.AddRange(GetCalendars(c))
Threading.Thread.Sleep(TimeSpan.FromSeconds(0.5))
Next
End Sub
未投稿 情報の取得
各 Advent Calendar から、未投稿の情報を取得します。ここでは、“参加登録済みで未投稿の情報” のみを取得し、参加登録を受け付けている日の情報は取得しません。<div class="adventCalendarItem">
要素内に、<div class="adventCalendarItem_comment">
要素があると、参加登録済みで未投稿の情報を得られそうです。
コードは次の通り。少し冗長な感じになってしまいました。
Function GetItems(calendar As Calendar) As IEnumerable(Of BlankItem)
Dim client = New WebClient With {.Encoding = Text.Encoding.UTF8}
Dim html = client.DownloadString("http://qiita.com" & calendar.Url)
Dim doc = New HtmlAgilityPack.HtmlDocument
doc.LoadHtml(html)
Return doc.DocumentNode.SelectNodes("//div[@class=""adventCalendarItem""]").Where(
Function(node)
Return node.SelectSingleNode("./div[@class=""adventCalendarItem_comment""]") IsNot Nothing
End Function
).Select(
Function(node)
Dim item = New BlankItem With {
.Calendar = calendar,
.Date = DateTime.Parse("2015/" & node.SelectSingleNode("./div[@class=""adventCalendarItem_date""]").InnerText.Replace(" ", "")),
.Comment = node.SelectSingleNode("./div[@class=""adventCalendarItem_comment""]").InnerText
}
Dim authorNode = node.SelectSingleNode("./div[@class=""adventCalendarItem_author""]/a")
item.AuhtorIconSrc = authorNode.SelectSingleNode("./img").Attributes("src").Value
item.AuthorName = authorNode.InnerText.Trim
Return item
End Function)
End Function
BlankItem クラスの定義と、呼び出し部分は次の通り。
Class BlankItem
Property Calendar As Calendar
Property AuthorName As String
Property AuhtorIconSrc As String
Property Comment As String
Property [Date] As DateTime
End Class
Sub Main
' (Calendar 一覧取得のコード)
Dim blankItems = New List(Of BlankItem)
For Each c In calendars
blankItems.AddRange(GetItems(c))
Threading.Thread.Sleep(TimeSpan.FromSeconds(0.5))
Next
End Sub
以上で、今回必要とする Advent Calendar の情報をスクレイピングできました。
情報の整理
LINQ を使って、さらに整理してみます。
未投稿のあるカレンダー一覧
Dim blankCalendars = From i In blankItems
Select i.Calendar
Distinct
未投稿のユーザーごとの参加登録しているカレンダー一覧
Dim sortedList = From i In blankItems
Group By AuthorName = i.AuthorName Into Items = Group
Order By Items.Count Descending
Markdown 形式で出力
Dim sb = New StringBuilder
For Each c In blankCalendars
sb.Append(String.Format("* [{0}](http://qiita.com/{1})", c.Title, c.Url) & vbCrLf)
Next
For Each s In sortedList
sb.Append(String.Format("* [{0}](http://qiita.com/{0})", s.AuthorName) & vbCrLf)
For Each i In s.Items
sb.Append(String.Format(" * [{0}](http://qiita.com/{1}) 「{2}」({3})", i.Calendar.Title, i.Calendar.Url, i.Comment, i.Date.ToString("MM/dd")) & vbCrLf)
Next
Next
実行結果
2015/12/26 0:00 に実行した結果。
結果1
- Apache Spark
- Apache Spark,Impala,Presto..etc NextGen DistributedComputing system
- Heroku
- Test Tool
- Varnish Cache
- すきなことをしよう(仮)
- Civic Tech
- Payment
- アプリ道場
- プログラマになりたい
- Dart
- Elm
- JavaScript stage 0,1,2,3
- MoE Kotlin on RoboVM (1人)
- Smalltalk
- Swift その3
- 闇PHP
- C#
- D言語
- G*Advent Calendar(Groovy,Grails,Gradle,Spock...) Advent Calendar 2015
- Haskell
- JavaScript
- Lisp
- Perl 6
- PHP
- Python
- Rust
- Swift
- Swift その2
- Swift(一人)
- vvvv
- Aura for PHP
- Aurelia.js
- CakePHP 3
- Cesium
- Chainer
- Data Visualization
- Embulk
- Git その2
- knockout.js
- Kubernetes
- Laravel 5
- Meteor
- nginx
- Phalcon
- React.js
- RSpec
- RxSwift
- scikit-learn
- TensorFlow
- Vue.js
- Yii
- AngularJS
- Elasticsearch
- Symfony
- Cassandra
- MongoDB
- PipelineDB
- RethinkDB
- Firebird
- MySQL Fabric&Routerつらくない
- Realm
- Bootstrap
- Fluentd
- http2
- ownCloud Japan
- SPARQL
- Web API
- WebVR
- オープンデータ
- Drupal
- Electron
- HTML5
- MDN
- Ruby on Rails
- WebGL
- cocos2d-x
- Deeplink
- モバイルDevOps
- Android
- iOS
- iOS Second Stage
- ハイブリッドアプリ
- ChatOps
- CircleCI
- Sensu
- Webサイトパフォーマンス
- NetOpsCoding
- ESP8266
- IoTバックエンド
- JavaScript for Robotics or Hardware
- JINS MEME
- ロボット
- Bluetooth Low Energy
- Milkcocoa
- myThings
- おうちハック
- Linux
- .emacs
- ATOM-editor
- Visual Studio / Visual Studio Code
- Machine Learning
- NEURON
- オブジェクト指向
- グラフ探索アルゴリズム
- ヒューマンコンピュータインタラクション論文紹介
- 技術英語や翻訳
- 数学
- FOSS4G
- FOSS4G 二個目だよ
- AltspaceVR
- Container with AWS
- esa
- Google Analytics
- NIFTY Cloud
- Qiita:Team
- slack
- 技術が足りない → サービスを使って物理(札束)で殴る
- AWS
- AWS モバイル
- EC-CUBE
- Treasure Data
- Twilio
- 今年もやるよ!AWS Lambda縛り
- ❤️ち→む⭐️びずり→みん❤️
- Cloudpayment
- Code for Tottori
- Gunosy
- Pepabo
- Viibar
- wtnvStudio
- インテリジェンス
- ジーズアカデミー
- テモナ
- ネイティ部
- リクルートエンジニア内定者
- 情報理数科
- 酒井研究室
- 関西フロントエンドUG
- ★若葉組のつぶやき★
- Atrae
- dots girls
- eeic
- foodison
- KAYAC
- Yahoo! JAPAN Tech
- エウレカ
- クービック
- セカイエ
- ファーストサーバ
- Product Manager
- Product Owner
- Sketch 3
- Splatoon
- 本質
- プログラマの映画
- プロ生ちゃん
- 作業用BGM(個人or社内)
- 寝たまま書ける技術系小ネタ
結果2
-
albatrosary
- MDN 「Classes」(12/03)
- MDN 「アロー関数式」(12/04)
- MDN 「Proxy」(12/05)
- MDN 「リフレクション」(12/06)
- MDN 「イテレータとジェネレータ」(12/07)
- MDN 「クロージャ」(12/08)
- MDN 「Strict モード」(12/09)
- MDN 「テンプレート文字列」(12/10)
- MDN 「」(12/11)
- MDN 「」(12/12)
- MDN 「」(12/13)
- MDN 「」(12/14)
- MDN 「」(12/15)
- MDN 「」(12/16)
- MDN 「」(12/17)
- MDN 「」(12/18)
- MDN 「」(12/19)
- MDN 「」(12/20)
- MDN 「」(12/21)
- MDN 「」(12/22)
- MDN 「」(12/23)
- MDN 「」(12/24)
- JavaScript for Robotics or Hardware 「はじめてのLチカ(週末に書く ^^;)」(12/08)
- JavaScript for Robotics or Hardware 「Nucleo-64もらった」(12/18)
-
hilotech
- 寝たまま書ける技術系小ネタ 「これでイブデートもばっちり!telnetでコミュ障脱出(POP3編)」(12/03)
- 寝たまま書ける技術系小ネタ 「「この感じ!sharか!」で自爆型スクリプトを書く」(12/04)
- 寝たまま書ける技術系小ネタ 「scriptコマンドで手順書を秒速ででっち上げる方法」(12/05)
- 寝たまま書ける技術系小ネタ 「」(12/06)
- 寝たまま書ける技術系小ネタ 「」(12/07)
- 寝たまま書ける技術系小ネタ 「」(12/08)
- 寝たまま書ける技術系小ネタ 「」(12/09)
- 寝たまま書ける技術系小ネタ 「」(12/10)
- 寝たまま書ける技術系小ネタ 「」(12/11)
- 寝たまま書ける技術系小ネタ 「」(12/12)
- 寝たまま書ける技術系小ネタ 「」(12/13)
- 寝たまま書ける技術系小ネタ 「」(12/14)
- 寝たまま書ける技術系小ネタ 「」(12/15)
- 寝たまま書ける技術系小ネタ 「」(12/16)
- 寝たまま書ける技術系小ネタ 「」(12/17)
- 寝たまま書ける技術系小ネタ 「」(12/18)
- 寝たまま書ける技術系小ネタ 「」(12/19)
- 寝たまま書ける技術系小ネタ 「」(12/20)
- 寝たまま書ける技術系小ネタ 「」(12/21)
- 寝たまま書ける技術系小ネタ 「」(12/22)
- 寝たまま書ける技術系小ネタ 「」(12/23)
- 寝たまま書ける技術系小ネタ 「」(12/24)
-
Uemmra3
- React.js 「React知らないマンなりに調べてみる」(12/06)
- AngularJS 「Angularを簡単に済ませるには?を試すなど(予定)」(12/19)
- AngularJS 「Ember.jsとかと比較してどうなのか?みたいなん」(12/23)
- Realm 「ノシ」(12/24)
- SPARQL 「SPARQL が理解できたら http://qiita.com/advent-calendar/2015/code4tottori と組み合わせてみる」(12/10)
- SPARQL 「SPARQL is 何? 書けたら書く」(12/12)
- myThings 「一人アイデアソンでも!」(12/05)
- 技術英語や翻訳 「MDN特有のセルフビュー()」(12/07)
- 技術英語や翻訳 「製品名とかブランドはそのママにしよう(Firefoxを火狐と訳しませんね?)」(12/08)
- 技術英語や翻訳 「DeprecatedとObsolete(盛者必衰)」(12/09)
- 技術英語や翻訳 「もっとスタイル(スタイリッシュになれますよ!テキストならね)」(12/10)
- 技術英語や翻訳 「」(12/15)
- 技術英語や翻訳 「todo」(12/17)
- Code for Tottori 「鳥大の就職フェアーに学生が来なければ、空き時間に何か書く」(12/06)
- Code for Tottori 「位置情報を含むもので何か妄想?」(12/10)
- Code for Tottori 「県土整備部か危機管理局あたり」(12/17)
- Code for Tottori 「todo」(12/24)
- y-cubed
-
cigalecigales
- ハイブリッドアプリ 「用事あり。書けないかも」(12/13)
- ハイブリッドアプリ 「用事あり。書けないかも」(12/14)
- ハイブリッドアプリ 「用事あり。書けないかも」(12/15)
- ハイブリッドアプリ 「用事あり。書けないかも」(12/16)
- ハイブリッドアプリ 「」(12/17)
- ハイブリッドアプリ 「外部サーバー連携(仮)」(12/18)
- ハイブリッドアプリ 「外部サーバー連携(仮)」(12/19)
- ハイブリッドアプリ 「」(12/20)
- ハイブリッドアプリ 「」(12/21)
- ハイブリッドアプリ 「」(12/22)
- ハイブリッドアプリ 「何か書く」(12/23)
- ハイブリッドアプリ 「クリスマス的なアプリを何か作りたい(仮)」(12/24)
-
ega1979
- WebVR 「書けるかな、でも書きます」(12/22)
- WebGL 「クリスマス前ということでなんか書きます」(12/23)
- JavaScript for Robotics or Hardware 「ブラウザとラズパイで動くロボットをつくってみた」(12/07)
- JavaScript for Robotics or Hardware 「CyronJSかな」(12/12)
- JavaScript for Robotics or Hardware 「Johnny-fiveについて」(12/19)
- ロボット 「RTミドルウェアの講習会を受けてきたので復習(3)」(12/06)
- ロボット 「ブラウザとラズパイで動くロボットをつくってみた」(12/07)
- ロボット 「PalmiとCurlでどハマりした話」(12/18)
- ロボット 「Sotaあたりいけるかな。。。」(12/21)
- karupanerura
-
sukobuto
- Aurelia.js 「WYSIWYGエディタを統合する」(12/14)
- Aurelia.js 「toast (ポップアップ通知) を追加してみる」(12/15)
- Aurelia.js 「Bootstrap Modal を使ってみる」(12/16)
- Aurelia.js 「データバインドの挙動をカスタマイズする」(12/17)
- Aurelia.js 「ページャを実装してみる」(12/18)
- Aurelia.js 「Apache Cordova で使ってみる」(12/19)
-
kurohune538
- Cesium 「Me Nowを実装中なのでそれを」(12/20)
- wtnvStudio 「デザイナーって?そしてデザイナーがエンジニアリングを始めるにあたって(その2)」(12/06)
- wtnvStudio 「夏の開発合宿!」(12/08)
- wtnvStudio 「React Nativeでつまづいたところを覚えてれば笑」(12/12)
- wtnvStudio 「研究室でSlackを導入するススメ」(12/17)
- wtnvStudio 「Sketch Pluginの話でも」(12/20)
-
ydnjp
- Yahoo! JAPAN Tech 「(お休み)」(12/05)
- Yahoo! JAPAN Tech 「(お休み)」(12/06)
- Yahoo! JAPAN Tech 「(お休み)」(12/12)
- Yahoo! JAPAN Tech 「(お休み)」(12/15)
- Yahoo! JAPAN Tech 「(お休み)」(12/19)
- Yahoo! JAPAN Tech 「(お休み)」(12/20)
-
takuros
- プログラマになりたい 「AWSを使って、出来るだけ低コストでひたすらTwitterのデータを集める」(12/13)
- プログラマになりたい 「Proxyを超える技術」(12/18)
- プログラマになりたい 「」(12/20)
- プログラマになりたい 「Kindleの安売り・新刊情報を通知する」(12/22)
- プログラマになりたい 「SendGrid」(12/24)
-
hirodeath
- JavaScript 「ECMAScript6について思うことを何か書きたい」(12/19)
- Vue.js 「vue.js 1.0 の魅力を熱く語り倒す!」(12/10)
- Bootstrap 「bootstrap 4.0について諸々書きます!」(12/21)
- HTML5 「今更だけどSASSの小技tips」(12/20)
- HTML5 「PostCSSが変える未来について」(12/23)
- shimesaba
-
ken880guchi
- Aura for PHP 「[遅刻中スミマセン!12/4 -5 で投稿します]難しそうなのでこの機会に触ってみるしかない。」(12/02)
- CakePHP 3 「なんか」(12/07)
- Laravel 5 「[遅刻中スミマセン!12/4 -5 で投稿します]何か書きます。」(12/02)
- Phalcon 「[遅刻中スミマセン!12/4 -5 で投稿します]気になってるから触ってみて書く。」(12/01)
- Yii 「なんか」(12/04)
-
guicho271828
- グラフ探索アルゴリズム 「変わり者 -- BDD-A*」(12/19)
- グラフ探索アルゴリズム 「変わり者 -- SMA*」(12/20)
- グラフ探索アルゴリズム 「変わり者 -- AO*」(12/21)
- グラフ探索アルゴリズム 「変わり者 -- RWA*」(12/22)
- グラフ探索アルゴリズム 「RRT」(12/23)
- hondam
-
varmil
- C# 「staticコンストラクタのデッドロックとか?」(12/08)
- Visual Studio / Visual Studio Code 「入門的何か」(12/13)
- オブジェクト指向 「自分の理解を深めるために基本的なことを」(12/06)
- AWS 「プライベートで運用しているサービスの料金実態など」(12/12)
-
MasashiSalvador57f
- Haskell 「何か書く」(12/22)
- ATOM-editor 「何か書く」(12/03)
- Machine Learning 「強化学習とか」(12/19)
- 数学 「Who is #1的な内容とか書きます」(12/14)
-
yoku0825
- MySQL Fabric&Routerつらくない 「MySQL Routerには現在のコンフィグやバックエンドが落ちてるかどうかをどう認識しているかを確認するコマンドがない。迷ったら再起動しろってことだと思う。つらくない。」(12/06)
- MySQL Fabric&Routerつらくない 「MySQL Routerは全てのパケットを中継する、文字通りルーターになる。MySQL Fabricは落ちてもTTLの間は大丈夫、ってことになってたけど、MySQL Routerは落ちたらそこでコネクションが切れる。別につらくはない。」(12/16)
- MySQL Fabric&Routerつらくない 「Fabric Cache Pluginを使っていなくてread-writeに複数サーバーを指定する場合、フェイルバックに相当する機能が(少なくとも今は)ないので、下手するとRouterごとにマスターが変わってしまう。。一考する必要あり」(12/17)
- MySQL Fabric&Routerつらくない 「MySQL Proxyの拡張はLuaで、もともとL7(MySQLのクエリー文字列のレベルまで)プラグインの中から覗ける作りだった。MySQL Routerはどうだろう。言語はC++だろうけど。」(12/19)
-
mapconcierge
- Civic Tech 「何か書きます!」(12/21)
- FOSS4G 「日曜日に書いて月曜日に投稿する!」(12/14)
- wtnvStudio 「何か書きます!」(12/22)
- benzookapi
-
mikakane
- Laravel 5 「laravel.osakaの告知を」(12/18)
- 技術が足りない → サービスを使って物理(札束)で殴る 「デザイン力が足りない → webflowを使って物理で殴る」(12/11)
- 技術が足りない → サービスを使って物理(札束)で殴る 「インフラ力が足りない → Herokuを使って物理で殴る」(12/18)
-
hwtnv
- FOSS4G 二個目だよ 「KML to CZML」(12/14)
- wtnvStudio 「Good Bye, Google Earth API / Hello, Cesium」(12/11)
- wtnvStudio 「KML to CZML」(12/14)
-
yuki_okawa
- NIFTY Cloud 「mBaaSでなにか」(12/12)
- NIFTY Cloud 「mBaaSでなにか」(12/17)
- NIFTY Cloud 「mBaaSでなにか」(12/23)
- makkoruri
- tkc_tsuchiya
-
xcir
- Varnish Cache 「i」(12/05)
- Varnish Cache 「s」(12/06)
-
yosuke_furukawa
- JavaScript stage 0,1,2,3 「String.prototype.padStart, String.prototype.padEnd」(12/04)
- Electron 「この日までにElectronのworkshop作って公開する (ちょっと後で完成させますのでしばしお待ちを。。。)」(12/05)
-
kmry2045
- MoE Kotlin on RoboVM (1人) 「if Apple’s open sourced Swift could change everything,...」(12/05)
- Swift その2 「イブは請け負った!」(12/24)
-
nobkz
- JavaScript 「今更ながらES6私的まとめ」(12/06)
- Splatoon 「 なにか書く。」(12/01)
-
axross
- JavaScript 「設計」(12/15)
- Gunosy 「Reactってあったから書かなきゃって思った」(12/22)
-
sh19910711
- JavaScript 「なにか書きます」(12/24)
- Ruby on Rails 「web-console」(12/20)
- morisuke
- sota1235
- cakecatz
- toguri
- yhy_jp
-
Kenyat1989
- Cesium 「がんばってネタこさえますー」(12/13)
- wtnvStudio 「こっちもやるやで!!」(12/13)
- toru-takahashi
-
gyohk
- knockout.js 「何か書きます」(12/11)
- knockout.js 「もう一個何か書きます」(12/18)
- nyamadori
- yuku_t
-
ic_lifewood
- AngularJS 「angularでびうしてみた(仮)」(12/13)
- JavaScript for Robotics or Hardware 「Open Web BoardかRaspberry Piでなんかしてみた(仮)」(12/21)
-
motchi0214
- http2 「HTTP2+WordPress」(12/20)
- Webサイトパフォーマンス 「HTTP2+WordPress」(12/20)
- matsubo
- niyalist
-
yusuke84
- HTML5 「WebRTCに関して何か書きます」(12/11)
- Webサイトパフォーマンス 「WordPressのパフォーマンスチューニングについて書くよ!」(12/24)
- kohashi
-
nofrmm
- モバイルDevOps 「ビルドと配信まわりでなにかをー」(12/21)
- CircleCI 「なんかかく!」(12/13)
-
kazuph
- Bluetooth Low Energy 「Nordicチップまわりで何か」(12/22)
- Bluetooth Low Energy 「Nordicチップまわりで何か」(12/23)
-
sd_ts1017
- Milkcocoa 「vol.6登壇します!」(12/22)
- dots girls 「dots.でやりたいこと書くよ!」(12/20)
-
mamamama_su_da
- AltspaceVR 「かく」(12/19)
- ❤️ち→む⭐️びずり→みん❤️ 「なにか」(12/19)
-
muddydixon
- NIFTY Cloud 「node.js config / commanderを利用したベストプラクティス」(12/04)
- NIFTY Cloud 「docker swarmについてなんか」(12/16)
-
papix
- Qiita:Team 「Qiita:Teamがあってよかったと思ったこと (仮)」(12/09)
- Twilio 「」(12/23)
-
tsuka54
- Cloudpayment 「書くべきか書かざるべきか、それが問題だ」(12/10)
- Cloudpayment 「書けば書く、書かねば書けぬ何事も。書けぬは人の書かぬなりけり。」(12/17)
-
ukky
- Cloudpayment 「きっとここなら一段落してるはず!」(12/15)
- Cloudpayment 「イブは頂きます。」(12/24)
-
tomokojisan
- Cloudpayment 「なにかけばいいのーฅ⊱*•ω•*⊰ฅ」(12/16)
- Cloudpayment 「ฅ⊱*•ω•*⊰ฅ」(12/22)
-
cp-iwaikatsutoshi
- Cloudpayment 「」(12/19)
- Cloudpayment 「」(12/23)
-
hamajyotan
- Code for Tottori 「内容未定です。」(12/15)
- Code for Tottori 「内容未定です。」(12/22)
- spnv_mori
- brain-box
- inu1one
- tkaneda
-
potix2
- Apache Spark 「カスタムDataSourceの作成方法を解説します」(12/20)
-
rikima
- Apache Spark 「sparkの分散SGD実装がどうなっているかを調べてみる。」(12/24)
-
showyou
- Apache Spark,Impala,Presto..etc NextGen DistributedComputing system 「Apache HAWQのなんか書ければいいかなぁ」(12/20)
-
kaz3284
- Apache Spark,Impala,Presto..etc NextGen DistributedComputing system 「Sparkのクラスタ実行(yarn)について[リベンジ!]」(12/22)
-
satton_maroyaka
- Heroku 「Heroku Enterprise でなにかしら」(12/15)
-
cactaceae
- Test Tool 「JavaでProperty-Based testing その3 [Functional Java] 」(12/21)
-
kus0tenpa
- すきなことをしよう(仮) 「flyとか書きたい」(12/24)
-
yuichy
- Civic Tech 「(後日になるかもですが)なんか書きます。」(12/15)
-
ohyama
- Civic Tech 「Code for Kobe を1年やって感じたこと(投稿遅れてます。ごめんなさい…)」(12/17)
-
hal_sk
- Civic Tech 「Code for America のAPIについて書きます」(12/18)
-
totz
- アプリ道場 「RubyMotion(!?)」(12/24)
-
zukkun
- Dart 「Dart 1.13で改善されたJavaScriptインターオペラビリティを使ってPixi.jsを使ってみる」(12/22)
-
jooex
- Elm 「elm-testとか(遅れます)」(12/16)
-
dseg
- Elm 「Elmで株価チャートを作ってみよう」(12/22)
-
newapplesho
- Smalltalk 「なんか書きます」(12/09)
-
shoya
- Swift その3 「SpriteKitとか。」(12/07)
-
star__hoshi
- Swift その3 「Parse 使おう」(12/11)
-
ryotakodaira
- Swift その3 「クリスマスイブにプッシュ通知」(12/24)
-
rsky
- 闇PHP 「PHP7のzend_hash変更点まとめ」(12/12)
-
youxkei
- D言語 「D言語でAST mixinしたい」(12/07)
-
outlandkarasu@github
- D言語 「いずれ書きます。SDL2+OpenGL3」(12/08)
-
repeatedly
- D言語 「std.allocator」(12/18)
-
k3_kaimu
- D言語 「awebviewでGUIアプリ作るお話(Windows)」(12/24)
-
ligun
- G*Advent Calendar(Groovy,Grails,Gradle,Spock...) Advent Calendar 2015 「すみません、間に合いませんでした!月曜日に書きます!!」(12/20)
-
gentlegen
- Haskell 「パズル系(すみません、諸事情により1,2日遅れます...)」(12/05)
-
fumieval
- Haskell 「近況」(12/17)
-
hakatashi
- JavaScript 「"\8"についての小噺(すみません2,3日遅刻します)」(12/14)
-
ishimasar
- JavaScript 「少し投稿が遅れます」(12/18)
-
Imamotty
- JavaScript 「ライブラリからJavaScriptのTipsを学ぼうの会(Underscore.js編)」(12/20)
-
takanori9
- JavaScript 「折角の機会なので何か書きたいと思います。」(12/21)
-
athos
- Lisp 「何か書きます」(12/19)
-
B73W56H84
- Perl 6 「よやく」(12/18)
-
plsplsme
- PHP 「何かかきます」(12/18)
-
kj1216
- Python 「何か書く」(12/19)
-
ozw_sei
- Rust 「何か書く。」(12/09)
-
yohhoy
- Rust 「nannka」(12/17)
-
flada_auxv
- Rust 「Iron で todobackend を」(12/24)
-
yuyakaido
- Swift 「」(12/24)
-
Junky_Inc
- vvvv 「THETA Sとどいてたらなー」(12/20)
-
kazu56
- CakePHP 3 「何か書きます」(12/21)
-
rot
- Cesium 「Cesiumの始め方」(12/04)
-
yamakatu
- Chainer 「すいません、間に合わないです!今年中に書きます!!」(12/22)
-
hillbig_pfi
- Chainer 「chainerで顔認識します←すいませんもう少しお時間ください」(12/23)
-
JunichiWatanuki
- Data Visualization 「枯れた技術で可視化」(12/23)
-
frsyuki
- Embulk 「Embulk meetupレポート」(12/16)
-
shun-fz
- Git その2 「Gitをちょっと掘り下げてみる予定、日にち近くなったらテーマ考えます」(12/24)
-
53able@github
- knockout.js 「なんか調べて書きます」(12/22)
-
IanMLewis
- Kubernetes 「limit/quota の何か」(12/20)
-
jumilla
- Laravel 5 「Laravel Tokyoへようこそ!」(12/10)
-
kavao_jp
- Laravel 5 「laravel4と関連した物を何か書きます予定」(12/13)
-
hkwid
- Meteor 「meteor セキュリティについて」(12/03)
-
harukasan
- nginx 「めちゃくちゃ空いてたので」(12/02)
-
jrsyo
- nginx 「ngx_luaで作る動的更新可能なIPベース簡易ACL」(12/14)
-
tzmfreedom
- Phalcon 「phalconあれこれ2」(12/22)
-
yujinakayama
- RSpec 「Composable matchersについて」(12/18)
-
gomi_ningen
- RxSwift 「今月中に記事書きます」(12/01)
-
milkit
- RxSwift 「なんか書く」(12/22)
-
ka201504
- scikit-learn 「」(12/01)
-
yutarochan
- TensorFlow 「書いてみるか・・・(´・ω・`)」(12/24)
-
donPuerto
- Vue.js 「Greet」(12/08)
-
ayasuda
- Vue.js 「まにあいませんでしたごめんなさい」(12/15)
-
ara_ta3
- Vue.js 「何か書こうと思ってる」(12/21)
-
IzumiSy
- Vue.js 「なんか書きたい」(12/24)
-
can_i_do_web
- AngularJS 「なにか」(12/17)
-
michiomochi@github
- Elasticsearch 「かくぞ!!!」(12/13)
-
sairoutine
- Elasticsearch 「すみません、遅刻します!」(12/14)
-
ochi51
- Symfony 「CybozuHttpBundleについて」(12/23)
-
tomitakazutaka
- Cassandra 「とりあえず最初に予約」(12/01)
-
syokenz
- MongoDB 「Rails + Mongoidでよくあるパターンや困ったところ」(12/02)
-
y_matsuwitter
- PipelineDB 「PipelineDBとfluentdあたりの話?」(12/08)
-
takus
- PipelineDB 「なにか書きます!」(12/11)
-
Mura-Mi
- RethinkDB 「レプリケーションの MongoDB と RethinkDB の比較を書く」(12/03)
-
kirigakuretora
- Firebird 「ASP.NET MVC 5 開発 with FireBird (未定)」(12/24)
-
yuta-t
- Realm 「何か」(12/23)
-
yuuna
- Fluentd 「アレのアップデートについてかきます」(12/23)
-
tana-san
- ownCloud Japan 「ファイル共有の権限設定について再確認」(12/05)
-
miya0001
- SPARQL 「まだ未定。なに書こうかな。」(12/18)
-
megane1600
- SPARQL 「なんか書きます!」(12/20)
-
denari01
- SPARQL 「SABAE な感じのオープンデータから画像しょっぴくだけ。」(12/24)
-
syguer
- Web API 「なにか」(12/11)
-
shinofumijp@github
- Web API 「APIオーケストレーションか認可のプロトコルかJSON schema」(12/17)
-
Kino
- Drupal 「Drupalのセキュリティアップデートについて」(12/23)
-
khrtz
- Electron 「遅れます」(12/18)
-
mizchi
- Electron 「windows-updater周り」(12/20)
-
ttanimichi
- Ruby on Rails 「memoizable 便利でした」(12/09)
-
kobutya7
- Ruby on Rails 「DockerとChefでRails環境を構築」(12/14)
-
miyaboh
- Ruby on Rails 「Rubyエンジニアがフリーになったらどうなるかこたえます。」(12/22)
-
8823-scholar
- cocos2d-x 「spineの画像差し替えの件など」(12/10)
-
ashdik
- cocos2d-x 「MenuとScrollViewの共存について」(12/16)
-
mk18
- cocos2d-x 「なんか書きます」(12/24)
-
lenomick
- Deeplink 「ゼロからわかるディープリンク」(12/03)
-
joytomo
- Deeplink 「あとでなんか書きます」(12/06)
-
tabachain
- Deeplink 「Fingerprint計測の勘所」(12/10)
-
shota_hirao
- Deeplink 「Universal Linksの実装って大変なんだぞ(仮)」(12/14)
-
jumbOS5
- モバイルDevOps 「fastlaneとかサーバとかの話」(12/12)
-
Gazyu
- Android 「Android Custom Buildについて書きます」(12/15)
-
hiragram
- iOS 「作ってるアプリについて?」(12/24)
-
masashimizuno
- iOS Second Stage 「Watchのことをなにか書こうかな。。」(12/18)
-
ocadaruma
- iOS Second Stage 「」(12/24)
-
Omega014@github
- ChatOps 「自家用slackのbotで日々の生活が楽になった話をなにか」(12/20)
-
nacyot
- ChatOps 「something」(12/23)
-
kotatsu360
- CircleCI 「未定」(12/07)
-
hiconyan
- Sensu 「Sensu Deep Talksの振り返りとこれから」(12/24)
-
pitan
- NetOpsCoding 「まだexpectで消耗してるの?」(12/10)
-
kumao1127
- NetOpsCoding 「」(12/13)
-
mackee_w
- ESP8266 「1000円以下で買えるWiFiモジュールESP-WROOM-02でMackerelにメトリクスを送る」(12/18)
-
td2sk
- ESP8266 「ESP8266で痩せる話(21日投稿予定)」(12/20)
-
takipone
- IoTバックエンド 「AWS IoTネタを。」(12/02)
-
n0bisuke
- JavaScript for Robotics or Hardware 「Tessel的な何かを書きたい」(12/23)
-
k_onchan
- JINS MEME 「JINS MEME ESの良い点、悪い点(予定)」(12/12)
-
t_furu
- JINS MEME 「JINS MEMEを使って日常を楽しくするアプリ」(12/13)
-
saicologic
- JINS MEME 「各パラメータをわかりやすく可視化したい」(12/19)
-
you_matz
- JINS MEME 「なにか書く」(12/21)
-
harajune@github
- ロボット 「カスタマイズロボット」(12/19)
-
ksksue@github
- Bluetooth Low Energy 「BLEデバイスのアドバタイズ頻度・電波強度と消費電力の関係」(12/09)
-
OE_uia
- Bluetooth Low Energy 「やっぱりこわいAndroid BLE(バグとかハマりどころとか)」(12/21)
-
i_ka_rashi
- Milkcocoa 「Milkcocoa Meetup vol5で発表したものをクリスマスイブに...!」(12/24)
-
tienlen
- おうちハック 「2014に構想を公開したメイドちゃんのその後...」(12/13)
-
iwaim@github
- Linux 「ネタを探して何か書く。/ごめんなさい。遅れます。」(12/08)
-
RKX1209
- Linux 「KVMの実装について書きます(すみません 遅刻します....)」(12/17)
-
wasabiz
- Linux 「なんかかきますー(カーネルのロックまわり?)(遅刻します><)」(12/20)
-
tadsan
- .emacs 「ヾ(〃><)ノ゙」(12/09)
-
muukii0803
- ATOM-editor 「Contributerバッジを貰ったお話」(12/19)
-
hurutoriya
- Machine Learning 「Graph Laplacian と固有値の関係性、後はそれに関する最近の動向について纏めます。」(12/21)
-
somtd
- Machine Learning 「deeplearning何か」(12/22)
-
cou_z
- Machine Learning 「アールッシャッマンッッッ!!!! アールッシャッマンッッッ!!!! アールッシャッマンッッッ!!!! アールッシャッマンッッッ!!!! アールッシャッマンッッッ!!!! アールッシャッマンッッッ!!!! アールッシャッマンッッッ!!!!」(12/23)
-
geshi
- オブジェクト指向 「オブジェクト試行とUML書きます。」(12/07)
-
izumin5210
- ヒューマンコンピュータインタラクション論文紹介 「なにかよむ」(12/19)
-
h_sakurai
- 技術英語や翻訳 「WE NEED ENGLISH COMMINUCATION ABILITY」(12/22)
-
Takatymo
- 数学 「機械学習で使われる数学を何か噛み砕きます。」(12/18)
-
picaosgeo
- FOSS4G 「ここに記す」(12/20)
-
okd20813
- FOSS4G 「自己研鑽のため」(12/23)
-
kochizufan
- FOSS4G 「今年やったことなど」(12/24)
-
MayumiK
- FOSS4G 二個目だよ 「聖なる夜に…」(12/24)
-
mumoshu
- Container with AWS 「」(12/14)
-
DQNEO
- esa 「トノコト」(12/16)
-
ssaita
- Google Analytics 「APIを使った記事何かしら」(12/19)
-
o0h_
- slack 「何か書きます」(12/13)
-
UsrNameu1
- AWS モバイル 「iOSからKinesis StreamにPut」(12/22)
-
shinichi-takahashi
- EC-CUBE 「消去しました。」(12/03)
-
tao_s
- EC-CUBE 「EC-CUBE3との連携とかについて書きます」(12/10)
-
y-ken
- Treasure Data 「hivemallまわりの話をします」(12/17)
-
shimy@github
- 今年もやるよ!AWS Lambda縛り 「とりま」(12/24)
-
milk_yuki
- ❤️ち→む⭐️びずり→みん❤️ 「いえーい」(12/07)
-
syplus2
- ❤️ち→む⭐️びずり→みん❤️ 「evernoteでも書こうかな。」(12/11)
-
aita
- Gunosy 「がんばれない」(12/13)
-
tyshgc
- Gunosy 「抽象と具体とプロダクトとプロジェクトと」(12/20)
-
gyugyu@github
- Pepabo 「TBD」(12/09)
-
mickey1982
- Pepabo 「何か書きます。」(12/22)
-
q-zou
- Viibar 「弾道計算の話?iThink STELLAを勉強した話(まだ手がついてない)?」(12/11)
-
mizukami234
- Viibar 「俺の考える最強のヒアリングメソッドについて書きます」(12/15)
-
isoko
- Viibar 「まだ決めてない」(12/16)
-
yukihiro
- Viibar 「営業で気にかけていることを書きます」(12/17)
-
viibar-naito
- Viibar 「未定」(12/19)
-
kmuroi
- Viibar 「893っぽいはなし」(12/20)
-
mtbr
- Viibar 「TBA」(12/21)
-
tkyng
- Viibar 「なんか書く」(12/22)
-
cockdooo
- wtnvStudio 「【Cesium】CanSat Mappingで利用した技術」(12/19)
-
curepine
- インテリジェンス 「Hacklangでなんかやる」(12/23)
-
best_not_best
- インテリジェンス 「形態素解析系で何か」(12/24)
-
33-Nagata
- ジーズアカデミー 「ジーズアカデミーを受講するにあたって意識したい(したほうがよかった)こと」(12/02)
-
yamazakidaisuke
- ジーズアカデミー 「」(12/12)
-
afroscript10
- ジーズアカデミー 「なんかG'sの授業振り返って書きます(・∀・)」(12/24)
-
DrOhGami
- テモナ 「GASを使ってシステムへの脆弱性攻撃を検知したった」(12/23)
-
so-sato
- ネイティ部 「UIWebViewでCookieの共有はできるのか」(12/16)
-
kdxu
- リクルートエンジニア内定者 「」(12/17)
-
yuzumikan15
- リクルートエンジニア内定者 「」(12/21)
-
hideshine
- 情報理数科 「」(12/24)
-
sosuke
- 酒井研究室 「gulp + latexmk + biber」(12/21)
-
_likr
- 関西フロントエンドUG 「8日の結果を年内には可視化する」(12/09)
-
toyamarinyon
- 関西フロントエンドUG 「忘年会のレポート」(12/17)
-
martinheidegger
- 関西フロントエンドUG 「Firebaseを使って地図の軽いウエッブサイト」(12/24)
-
Chitama
- ★若葉組のつぶやき★ 「.net MVC で「エリア」を使ってみた」(12/09)
-
gitkan
- ★若葉組のつぶやき★ 「ここにコメントを入れてください」(12/12)
-
masai
- ★若葉組のつぶやき★ 「」(12/16)
-
kid84
- Atrae 「おっす」(12/23)
-
Chiharu39
- dots girls 「内容はまだ未定です。」(12/19)
-
little_85
- dots girls 「Elixir/PhoenixでHelloWorldします」(12/22)
-
showmeear
- eeic 「簡易アプリケーションとしてのtwitter bot」(12/20)
-
fds-yano
- foodison 「お魚についてpart2」(12/18)
-
yuma_nishizaki
- KAYAC 「なにか」(12/23)
-
cookych
- エウレカ 「」(12/23)
-
kyouryu_
- クービック 「block」(12/07)
-
kobakei
- クービック 「なんかかく」(12/22)
-
kajidai
- セカイエ 「書きます」(12/15)
-
M_Ishikawa
- セカイエ 「なんかかく」(12/19)
-
kozyty@github
- Product Manager 「POの補佐がPM? 的な話を書きます」(12/16)
-
kenchan@github
- Product Owner 「プロダクトオーナーシップ勉強会について何か書きます」(12/07)
-
meyco
- Sketch 3 「(仮)エンジニアの人に勧めたいsketch3」(12/08)
-
yohawing
- Sketch 3 「gulpとsketch-toolsでのSVG書き出しworkflowを考える」(12/11)
-
oinariman
- Splatoon 「Splatoonインスパイアゲームを作ったよ(仮)」(12/21)
-
laiso
- 本質 「空いてる日に書きます」(12/01)
-
akmterk
- プログラマの映画 「アベンジャーズ エイジ・オブ・ウルトロン」(12/21)
-
hy3
- プロ生ちゃん 「クリスマスイブはプロ生ちゃんと過ごそう!」(12/24)
-
iguchi1124
- 作業用BGM(個人or社内) 「アニソンいいよ〜〜すっごくいいよ〜〜」(12/17)
-
sky_y
- 作業用BGM(個人or社内) 「ルロイ・アンダーソンのクラシック楽曲について」(12/20)
おわりに
Advent Calendar の未投稿は、ユーザー自ら参加登録したにも関わらず期日に投稿せず、毎日特定のテーマ記事が読めるという楽しい多人数参加型のイベントに水をさし、Qiita Advent Calendar ランキングからも除外されてしまいますが、これだけ参加者が多いと中には死病が原因の場合や、また皆さん仕事は忙しいと思いますが、特別に忙しいという場合もあると思います。Qiita は、そういった方の参加を取り消し代わりに投稿できる、やさしい仕組みになっていますので、あまり気にせず Advent Calendar を楽しみましょう!