SlideShare une entreprise Scribd logo
1  sur  35
東京電機大学 ポータルサイト
UNIPAからの情報抽出と再利用
     @nullpoo
     2012/8/25
だれ?
• 名前:Koki Hashimoto
• Twitter :@nullpoo
 – ぬるぷー


• 東京電機大学に通っています
• 来年から社畜です
• すまべんスタッフになってました
はなすこと
• UNIPAとは何か、どこがどうダメなのか
 – 欠陥仕様、事務部の運用
• 無知の状態から形になるまでの道のり
 – 認証や各ページへの遷移
 – スクレイピングでゴリゴリと削り出す
 – フリーダム書式に正規表現の力
 – etc
• 成果物と活用方法
UNIPAとは?
•   学生向けポータルサイト
•   製品名はUNIVERSAL PASSPORTらしい
•   http://www.jast-gakuen.com/
•   ググると被害者リストが出てくる
いきさつ
• (元)神田キャンパスにUNIPA試験導入
 – ものすごく使い勝手が悪い
• 神田キャンパス正式導入、一本化
 – 使い勝手は変わらず、不具合多数
• 他キャンパスにも導入
 – 悲しみの連鎖
• XMLな講義の課題としてUNIPAを標的に
UNIPAのだめなところ
ログイン
• 新しいウィンドウ開くな
• メンテナンスしすぎ
• Operaだとabout:blankに飛ばされるぞ
連絡事項
• 基本的に通知は無いぞ
 – 休講補講情報に気づかず出席
 – 事務部が機能を無効化
• 書式が全く統一されていないぞ
 – 各詳細ページの「本文」項目のフリーダム感
  • やっぱり新しいウィンドウで開く
作るか・・・
UNIPAクローラー

制作過程
指針
• APIとして公開する
 – 自分でも使いやすく、他の人も使える
• とりあえず、休講補講情報を扱う
 – 事務部からのお知らせなども同じ構造なので
   応用は簡単(のはず)
• 色々な技術を取り入れる
 – 正規表現やデータベースなど
開発言語
• 最初はC#で作っていた
 – C#くらいしかまともに使えなかったし
 – Visual Studio使いたかったし
• けどPythonに
 – Linuxで動かしたかった
 – 本持ってた


• Javaの講義なんだけどね
やるべきこと
•   認証とページ遷移
•   必要な情報を抽出
•   データの整形
•   データベースへの格納
•   リクエストに対しての出力
認証・ページ遷移
ソース見て解析したり通信内容解析もいい
  だけど、もう尐し楽に解析したい




FirefoxプラグインのTamper Dataとかおすすめ
Tamper Dataとは
• Webアクセスをモニタできるアドオン
• HTTPパラメータの中身を見て、いじれる
• Webサイトのテストにも使えるらしい
ながれ
• Cookieを引き回し
• 各ページにセッションIDが埋めこまれて
  いるので、抽出
• POSTパラメータに追加して、サーバに
  シュート
 – 入れなくていいパラメータもある


• 基本的にはこの繰り返し
Cookie
• Cookieを使いまわす
 – .NETならCookieContainerで
 – Pythonならこんな感じ
 cj = cookielib.CookieJar() //このcjを使いまわす
 opener = urllib2.build_opener()
 opener.add_handler(urllib2.HTTPCookieProcessor(cj))
 res = opener.open(req)
 result = res.read()
 – 普通ですね
ゴリゴリと削りだし
• スクレイピング
 – .NETならSgmlReaderでLINQ!LINQ!
 – PythonはBeautifulSoupかMechanizeが有名
 – 正規表現で抽出するのもいいかも


• 今回はBeautifulSoupを採用
 – 名前がかっこいいから
コトコト煮込む
• 結構簡単にいけます
 //まずは煮込む
 soup = BeautifulSoup(srchtml)
 //inputタグのidがhogehogeな要素を取り出す
 q = soup.findAll('input', id=“hogehoge")
 //0番目の要素のvalueを取り出す
 session_id = q[0]['value']
• これでデータを削り出せる
削りだしたデータ例 - 1
<span id="form1:htmlMain"            <span id="form1:htmlMain"
class="output002">                   class="output002">
教室変更情報詳細<br><br>                     補講の詳細は下記の通りです。<br><br>
日付:2012年05月07日 月曜日<br>               科目名留学生のための日本語Ⅲ<br>
時限:6限<br>                            教員名佐藤 有紀先生<br>
科目:熱機関<br>                           休講日<br>
教員:小林 佳弘<br>                         補講日7/14(土)2限<br>
変更前教室:【千住】2号館2502教室                  補講教室9401<br>
<br>                                 備考<BR>
変更後教室:【千住】2号館2705教室                  </span>
<br>
備考:5/7(月)以降、前期期間中を通
しての変更となります。<BR>
</span>                   . .: : : : : : : : :: :::: :: :: : ::::::::::::::::::::::::::::::::::::::::::::::
                          :::::::::::::
                                         . . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::
                          ::::::::::::::::::::
                                      . . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::
                          ::::::::::::::::::::::::::
                                                     Λ_
                          Λ . . . .: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
これを後述の正規表現で分ける
削りだしたデータ例 - 2
• 休講補講情報の日付書式
 – 2012年07月11日水曜日
 – 7/12(木)4限
 – 7月18日(水)
 – 7/26
 – 5/19,6/2,6/23,6/30,7/14(いずれも土曜日)
                           .,,..,,,,_
                      / ,' 3 `ヽーっ
                      l        ⊃ ⌒_つ
                      `'ー---‐'''''"
というわけで、整形
• 正規表現難しいけどがんばろう
• 不必要な情報を削る方向で
• (事務部の気分で)情報は常に変化する
 – 将来的に出てくるであろう書式にも対応
 – どうしても無理なら無視
• 下処理しておく
 – 半角・全角スペースの削除や、全角数字を半
   角数字に変換
正規表現の例
• 2012年07月07日(木曜日)や、7月7日など
  を2012-07-07に整形
p1 = re.compile(u"^(d+年)?d+月d+日?:*")
_date = p1.match(_date).group()
_date = _date.replace(u'年','-').replace(u'月','-').replace(u'
   日','')


• ツッコミ歓迎
データベースにシュート
• データベースは全然わからないです

• クローラーとAPIプログラムを分離
• 単にMySQL使いたかっただけ
• ログ的に活用できるかも?
APIをつくる
• リクエストパラメータ例
  日付指定:?fdate=20120808&tdate=20120831
  キャンパス指定:?campus=[senju or hatoyama]
• データベースから欲しい情報だけ拾う




          JSONやXMLで出力
運用
• Cronで定期的にクローラーを実行
 – エラーで落ちても影響が尐ない
 – メモリも多尐節約
• まだ実装していません
 – (できない)
できたの?
• 完成という言葉は多分無い
 – 新たな書式や、データ構造と戦い続ける運命
 – UNIPAが滅びるまで戦いは続く
• そして問題点がいくつか
 – 夏休み中なので運用テストできていない
 – あと半年で卒業
 – リニューアルされたら禿げる
 – 使って貰わなければ意味が無い
成果物 - 1
• UNIPA API
  – http://nullserver.jp/nullpo/sqlout.py
  – とりあえず公開しただけ
  – JSONでの全件出力しかまだできないです
• UNIPA BOT
  – @TDU_UNIPA_BOT
  – データがないので稼働できていません
成果物 - 2
• iOS向けアプリ(TDU休講情報)
 – 酢酸先生が作ってくれました
 – そのうち公開されます(多分)
 – きっとAndroid版も出ます
成果物 - 3
• 講義用Javaプログラム
 – Javaを絡めるために無理やり作成
 – 講義名でTwitter検索するだけ
   【千住・休講】07/11(水)6限企業と経営
   ----------------------------------------------------------------
   Wed Jul 11 12:35:39 JST 2012:JUNJUN593:@XxHKRxX 企業と会計、企業と経営、基礎
   統計???かな??
   Wed Jul 11 04:34:43 JST 2012:ForbesFortune48:三井住友フィナンシャルグルー
   プ: 概要: 他のグループ企業と経営統合をしたのでもないのに、既存の子会社との
   間で持株会社を設立した背景には、三井住友銀行の財務状況の改善がある( わかし
   お銀行 との逆さ合併前)。 http://t.co/G64IpQFz
   Tue Jul 10 20:53:50 JST 2012:horipyon2:企業と経営もっとちゃんとレジュメ書い
   とけばよかったぁ( ; ; )
   会計に続きえりにお世話なるかも…笑
   Tue Jul 10 16:35:56 JST 2012:taisukes07:今週やることが多すぎる!! 英語の
   PowerPoint、英語のエッセイ、600字、企業と経営のレポートetc ヤバいーー
   Tue Jul 10 10:38:53 JST 2012:taaakaaa1111:吹いたー!
   企業と経営に紅野発見!!
   単位もらったわ笑
様々な活用方法
• 携帯向けサイトを作る
 – ガラケーに救いの手を
 – スマートフォンでも見やすい
• データ解析
 – データが蓄積すればきっと何か見えてくる
 – 休講予報とかできるかもよ


      何か作ってください
さいごに
•   精神的に強くなれました
•   色々な人に助けてもらいました
•   大学の事務部はクソ
•   他の大学のUNIPAも気になる
•   UNIPA MVP募集
俺達の戦いはここからだ!
ぬるぷー先生の次回作にご期待下さい




                    おわり

Contenu connexe

Tendances

複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介Kazuki Saito
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」VirtualTech Japan Inc.
 
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Hirofumi Iwasaki
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについてippei_suzuki
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界Yutaka Kachi
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)NTT DATA Technology & Innovation
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)NTT DATA Technology & Innovation
 

Tendances (9)

複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
複数サービスを使う業務の自動化にはRPA×Node-RED構成がおすすめ/Node-RED Desktop紹介
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」サイバーエージェント様 発表「OpenStackのNWと物理の話」
サイバーエージェント様 発表「OpenStackのNWと物理の話」
 
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 

Similaire à 東京電機大学 ポータルサイト UNIPAからの情報抽出と再利用

Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 OSSラボ株式会社
 
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationRyuichi Ueda
 
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)AtCoder Inc.
 
POStudy Day 2012 in Okinawa - ユーザーストーリーマッピング
POStudy Day 2012 in Okinawa - ユーザーストーリーマッピングPOStudy Day 2012 in Okinawa - ユーザーストーリーマッピング
POStudy Day 2012 in Okinawa - ユーザーストーリーマッピング満徳 関
 
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件Yusuke Suzuki
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2Yasukazu Kawasaki
 
POStudy Conference 2012 - ユーザーストーリーマッピング
POStudy Conference 2012 - ユーザーストーリーマッピングPOStudy Conference 2012 - ユーザーストーリーマッピング
POStudy Conference 2012 - ユーザーストーリーマッピング満徳 関
 
国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -yamahige
 
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会Kazuhiro Hara
 
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-Yasuyuki Sugai
 
20121017_アプリ制作勉強会@GMO Yours
20121017_アプリ制作勉強会@GMO Yours20121017_アプリ制作勉強会@GMO Yours
20121017_アプリ制作勉強会@GMO YoursYozo SATO
 
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4bitter_fox
 
java-java-bpstudy-connpass
java-java-bpstudy-connpassjava-java-bpstudy-connpass
java-java-bpstudy-connpassHaruo Sato
 
国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -yamahige
 
Yokozuna 日本語検索機能を評価しました
Yokozuna 日本語検索機能を評価しましたYokozuna 日本語検索機能を評価しました
Yokozuna 日本語検索機能を評価しましたTakashi Sogabe
 
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたSQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたKumano Ryo
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
Sql database のご紹介
Sql database のご紹介Sql database のご紹介
Sql database のご紹介Oda Shinsuke
 
実践的IT勉強会参加術
実践的IT勉強会参加術実践的IT勉強会参加術
実践的IT勉強会参加術Hiromu Shioya
 

Similaire à 東京電機大学 ポータルサイト UNIPAからの情報抽出と再利用 (20)

Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
 
OSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentationOSC2012 Tokyo Spring, USP lab. presentation
OSC2012 Tokyo Spring, USP lab. presentation
 
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第四回講義資料(ワークスアプリケーションズ & AtCoder)
 
POStudy Day 2012 in Okinawa - ユーザーストーリーマッピング
POStudy Day 2012 in Okinawa - ユーザーストーリーマッピングPOStudy Day 2012 in Okinawa - ユーザーストーリーマッピング
POStudy Day 2012 in Okinawa - ユーザーストーリーマッピング
 
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
xDev2010 早い安い新しい「Fast IT」を使いこなせ! クラウドを楽しめるエンジニアの条件
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2
 
POStudy Conference 2012 - ユーザーストーリーマッピング
POStudy Conference 2012 - ユーザーストーリーマッピングPOStudy Conference 2012 - ユーザーストーリーマッピング
POStudy Conference 2012 - ユーザーストーリーマッピング
 
国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -
 
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
 
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
 
20121017_アプリ制作勉強会@GMO Yours
20121017_アプリ制作勉強会@GMO Yours20121017_アプリ制作勉強会@GMO Yours
20121017_アプリ制作勉強会@GMO Yours
 
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
 
java-java-bpstudy-connpass
java-java-bpstudy-connpassjava-java-bpstudy-connpass
java-java-bpstudy-connpass
 
Klabの梅雨対策
Klabの梅雨対策Klabの梅雨対策
Klabの梅雨対策
 
国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -国際的な相互運用とオープン技術 - 日時と文字 -
国際的な相互運用とオープン技術 - 日時と文字 -
 
Yokozuna 日本語検索機能を評価しました
Yokozuna 日本語検索機能を評価しましたYokozuna 日本語検索機能を評価しました
Yokozuna 日本語検索機能を評価しました
 
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたSQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
Sql database のご紹介
Sql database のご紹介Sql database のご紹介
Sql database のご紹介
 
実践的IT勉強会参加術
実践的IT勉強会参加術実践的IT勉強会参加術
実践的IT勉強会参加術
 

東京電機大学 ポータルサイト UNIPAからの情報抽出と再利用