「引数」を含む日記 RSS

はてなキーワード: 引数とは

2018-09-17

anond:20180917230706

資格自分について回るものなのだから会社つべこべ言われたところで自分の考えを貫いたら?

一応、ひと昔前のオラクルマスターなんかは、DBといえばオラクル、と客も洗脳されてて、人売りIT企業では社員に是非取らせたい資格だったな。10年も前にゴールドデノミ前はプラチナ)を取ったけど、SQLコマンドライン引数がどうとか、今ならネットですぐ見つかるような、今となっては無意味な設問多数。

2018-09-14

「開発現場で役立たせるための設計原則パターン」への反論

開発現場で役立たせるための設計原則パターン

https://nekogata.hatenablog.com/entry/2018/09/10/163206

この記事はてブで大絶賛されてるが、個人的にはセンス無いなーと感じたので言語化してみる。

Notificationクラスが不親切。

Notificationクラスそもそも単一責任原則に反してない

開放閉鎖原則勘違いしてる

Notificationクラスと何のクラスが密結合なのか説明されてない

  • 『それ以前の問題というか「本来バラバラに書かれるべきものが、すべてここに書かれてて密結合しちゃってる」とみることができるかと思います。』?
  • 密結合というのであれば、コメント通知を変更した時にNotificationクラスとCommentクラスの両方に変更が生じてしまうことを示すべき

オブザーバーパターンが出てくる意味が分からない

今回の仕様を図で書くと

コメント→→→コメント通知

スター→→→スター通知

あしあと→→→あしあと通知

みたいな感じになるとする。

すると、今回スライド問題視しているのは矢印の右側の通知の部分が1クラス共通化されている点。

しかし、オブザーバーパターンの出番は図の矢印の部分が絡まり合って処理が複雑になってしまった場合

今回は1つのイベントから複数リアクションが発生することは想定しないので

オブザーバー不要なのは当然。選択肢に出てくるほうがおかしい。

そもそも問題認識(通知部分が問題)と解決策(矢印部分を解決)がズレてるから話がおかしな方向にいってる。

Notificationクラスサブクラスを作ろう、ならまだ分かる。

人間の可読性が考慮されてない

まとめ。

かに設計言語化するのは大事だが、言語化というのは「それっぽいことは幾らでも言える」危険性がある。そもそもプログラミングというのは芸術であり文学なんだからセンス無いのに言語化を頑張っても「一見それっぽく聞こえるけど間違ってる説明しか出てこない。

2018-08-04

コミュニケーション能力()とは

具体的になんだろと思ってきたが、どうも下記のことを指しているのではないかと気づいた。

  • どんな形式のinputでも入力可能。それに対して不満を言わない。たとえinputがなかったとしても。
  • どんな形式のoutputでも出力可能。それに対して不満を言わない。たとえoutputの形式指定がなかったとしても。
  • それに必要ものはすべて自主的に入手すべし。

Object型の可変長の引数を受け取り、相手が求めている型(それがどんなものかは不明)で返却する関数を作ってください、それに必要リソース自分で確保してなと言われてるようなものでこれは不可能なのでは?と思ってる。

Nullpoは甘え。

2018-07-30

anond:20180730125012

『AオブジェクトのBメソッドを〜』

って書いておきながら、引数で持ってくるのかnewするのかは書かないって、片手落ちじゃん

ロジック実装に任せるっていうなら、設計DBまでかもしくは、外部インタフェース仕様ぐらいまでにして、内部で使うクラスメソッド実装側に任せろよ

正直よく分からない

C言語プログラミングの基礎を学び、今はJavaベースシステム設計し、プログラマ実装をお願いする立場

それで、プログラマとのコミュニケーションに苦心している。


まず、完成した設計を渡すと高確率質問とともに突っ返されるのだが、その時の質問が、ほぼいつも

「『AオブジェクトのBメソッドを〜』とありますが、そのAオブジェクトはどっから引っ張ってくるんですか?それともnewするんですか?

なのが閉口する。

俺は業務の詳細を俯瞰し、処理のフローチャートに落とすのが仕事なんだけど、そんなトコまで書かないといけないのかよ?

なんでインスタンスだnewだのって話になるんだよこっちはJava専門家じゃねーんだよ。ぶっちゃけそんな低レベルな話は知らねーよ。

てか、それ考えんのは実装仕事じゃねーの?

コード書くのが俺の仕事じゃねーのに、なんでコード書きがするべき仕事押し付けられるんだ。


まあそんな事を言っても仕方ないので、「引数で持ってくる」と直して実装させるじゃん?

すると、今度は別の実装チームから

その修正仕様変更になるので許可取ってください。てか、ビルドエラーになるのでやめてくれ

と言われ、ますます訳のわからん展開になる。


そして、それもこれも、全て設計のせいになるので納得が行かない。

普通に考えたらプログラマの怠慢じゃねーのって思うんだけど。

2018-07-08

anond:20180322223107から3ヶ月以上経ったので途中経過を報告する

結論から言うと、一定の成果はあった。

ペースは週2回、1回1〜2時間くらい。

この3ヶ月で勉強したことを列挙する。

Excel
Word
PowerPoint

PowerPointはよく分からないのであんまり教えてない、てかアニメーションとか要る?

その他

メートルミリメートルの換算ができなかったので。

換算一問一答とか、今使われてるのはSI単位が多いけど例外もあるよ、とか、トレーサビリティってのがあって世界中の計測器は〜、とか。

アメリカどーこだ?てやったら中国差したので。

緯度と経度とか、大陸名前とか、国当てクイズとか、大航海時代とか、メルカトル図法とか。

現状Hello Worldだけ。

ファイルシステムの使い方とか、巷でよくあるメモリを机上にたとえたり補助記憶本棚にたとえるやつとか、Windowsタスクマネージャーの起動方法見方トラブル対処法とか。

射出成形とかプレス機とかNC旋盤とかファクトリーオートメーションとか。

Google動画検索にはお世話になりっぱなし。

結果

成果物として、毎日つけているOneDrive上のExcel家計簿がある。

普段スマホで日付と金額と勘定科目?を入力してもらって、別シートにsumifs関数で期間と勘定科目の一致した金額を集計する。

大したものじゃないけど、自分で作ったから仕組みを全部理解しているというのが大きい。地方ならこれを提出するだけでも仕事もらえるんじゃないか。言い過ぎか。

この勉強が早速功を奏したかは分からないけど、今月の頭に某中堅製造業契約社員になれることが決まった。

優秀なら学歴関係なく正社員になれるとのことで、本人のやる気があれば今の勉強を続けていこうと思っている。

たぶんしばらくは反復練習に充てることになるかな。

俺も勉強しなきゃ…

2018-07-07

Haskell を書いてるわけではないんだけど Haskellメモ化したい関数ってどうするんだろう

OOP言語で書いてて

 

 

という条件なので、キャッシュを取って、キャッシュになければ計算して返すクラスを作った

純粋関数型でこれをやろうとするとモナドになったりして面倒臭そう

 

しかしながら

 

  1. メモ化は単なる最適化なので無限計算リソースがあれば不要。IOと違い、副作用自体を扱いたいわけではない。最適化の結果として副作用になるだけ。
  2. コンパイラに任せて低レイヤー隠蔽できるならその方がよい。上層レイヤー関数を書く人間が直接扱うようなものではない。
  3. メモ化できるのは参照透過性ゆえなのでむしろ関数純粋性が保証されてる Haskell とかの方が標準の言語機能として当然のごとく提供できるのでは。

 

と思ったのですがどうなんでしょう。

2018-06-28

Excel絶対参照を使って九九の表を作れと言われたら」ブコメ読んだ

Excel絶対参照を使って九九の表を作れと言われたら

https://www.watto.nagoya/entry/2018/06/28/003000

ブコメレベル低くて、しいたけさんがかわいそうなので応用例を書いておく。

別に九九に使わなくても二つのパラメータなど)引数もつ関数の値を表示したい場合はいつでも使える。

例えば正規分布標準偏差を変えて(平均は例えば0で固定して)値を得たりグラフを書きたい場合、1行目に標準偏差を入れて、1列目にxの値を並べておけば、

どのセルにも「=NORM.DIST($A:$A,0,$1:$1,FALSE)」と入力すればよい。

この記法メリットはどのセルも完全に同じ数式が入力されている点で、ミスが生じづらいこと。

2018-06-24

プログラミングのコツ(初歩)

「一つの関数には最小限の役割だけ与える」

「一つの関数は長くても20行以内に収める」

「できるだけ引数で受け取った値を戻り値に返すように書く」


これ、学校とかで教えておいてほしいコツだった

これ知った後、自分みたいなアホでも割と大規模なプログラム簡単に、

全容を把握しつつ読みやすい内容でかつ増築やすくなった

たぶんあらゆるプログラムに通じる基本的ことなんだろう

その割に過去読んだ教本では触れられてなかった気がする

心掛けるだけでだいぶ躓きにくくなるだろうからぜひ基本の知識として最初らへんに教えておいてほしい

2018-06-02

GetHoge(dbConnection, key), GetFuga(dbConnection, key, key2)

という関数があったとき

dbConnection引数を渡さずにその場でDB接続する版の関数 GetHoge(key), GetFuga(key, key2)

を作りたい

DataTable GetHoge(key) {

var c = CreateDbConnection);

return GetHoge(c, key);

}

DataTable GetFuga(key, key2) {

var c = CreateDbConnection);

return GetFuga(c, key, key2);

}

これでは関数の数だけ同じものを作らねばならないので煩雑である

もっと巧く書く方法はないか

ES2015であれば、

function OpenConnectionAndRun(runFunc, ...args) {

var c = CreateDbConnection);

return runFunc(c, ...args);

}

という関数を1つ用意すればそれで済む。

関数型言語でもカリー化や部分適用を使って似た感じのコードが書けると思う。

C#ではそういった方法はないのか?

2018-05-25

低能先生の消し方を考える

anond:20180523222112 参考

増田から低能先生を消したい場合はuBlockのマイフィルター

anond.hatelabo.jp##div.section:has-text(低能)

という設定を書き加えれば大体望み通りの結果が得られるわけだが、このhas-text()は引数として正規表現をうけとることができるらしい。

低能先生より複雑な安倍bot対応するためにもきっちり低能先生にだけマッチする正規表現を考えてみたいところである

低能先生投稿を一通り見たところ「は」「が」を付けて主語として使う場合と、「の」や「に」を付けて主語述語を修飾する場合と、文末に1単語だけ置く場合があるようだ。場合によっては「w」「w」付与される。

anond.hatelabo.jp##div.section:has-text(/低能[はがのにww]/)

anond.hatelabo.jp##div.section:has-text(/低能$/m)

1行目で「はがのにww」と続く場合を、2行目で行末に書かれた場合マッチさせて消そうと思ったのだけど、2行目の行末の場合機能してくれない。

uBlock Origin取説では正規表現解説AdBlock Plusのページに飛ばされ、AdBlock PlusからMozillaリンクが張られている。https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions おそらくuBlockの正規表現MozillaJavaScript準拠なのだろう。なのだろうけれどJavaScriptの改行にマッチしそうな特殊文字を一通り試したがどれも使えない。試しにuBlockのマニュアルページで

github.com##p:has-text(/ed.$/m)

を設定してみたところ、ちゃんと「ed.」で終わる行だけ消してくれた。ということは日本語から駄目なのだろうか?

JavaScriptに詳しい増田がいらっしゃったらアドバイスください。

2018-05-23

働く才能がないのでもう人生ダメかもしれない

・私について

20代後半 プログラマ

SES会社所属現在現場は2ヶ月目

資格 応用情報技術者

・悩み事

私は人並みの速度で作業することが、困難ということを確信しつつある。

今まで、数年経てば慣れてできるようになると自分に言い聞かせてきた。

しかし、たとえば、テストデータを作るのに工数に対して約2倍かかってしまうのだ。

作業のものは独力で遂行可能な内容だ。

1.基本設計と詳細設計インプットとする。

2.1をもとに画面遷移を網羅する引数テーブルデータ、想定結果、画面表示項目の表示をテスト仕様書記載する。

だが、「あのテストデータをどこと整合性合わせるんだっけ」「よくよく見たらテストパターンとして成立していなかった」という事象が発生する。

普通の人はうまくできているようなので、

私には普通の人に備わっているほどの記憶力が備わっていないのだと思う。

から不器用で、手を動かすアルバイトをしていたときに遅くて叱られていた覚えがある。

私は現代社会で働くことがやはりできないのかもしれない。

2018-05-15

捕鯨に関して

捕鯨ってインターネットではタブー視されているのかわからないけれど行きつけのクジラフグを出す料理屋が反捕鯨運動あおりを受けて潰れたので、捕鯨に関して考える材料になればと思い日記を書きます

そもそも日本が何で捕鯨でこんなにたたかれているかというと第二次世界国内物資が足りず、油もとれる肉もとれるクジラバカスカとっていたからで…そのあと戦勝国アメリカの言うことも聞いて漁獲引数個体(親は捕ってはならない、とか)は守り続けていたということを念頭に置いておいてほしい。はてな文法とかわからんから読みにくくてごめん。


主なエビデンス水産庁の出している調査捕鯨データです(http://www.jfa.maff.go.jp/j/whale/pdf/140513japanese.pdf)

調査捕鯨データ全然とれとらんやんけ!!やはり調査捕鯨無駄!!と憤る人、国もいますが、調査捕鯨によって得られたデータにより作成された論文拒否する媒体もあるので興味を持った方は論文を探す前に水産庁をディグったほうが良いです



Q.クジラ絶滅に瀕しているから捕っちゃダメ


A.そもそも資源量に関して「クジラ」っって大きなくくりで話している時点でおっ、こいつは面倒くさい奴だ、と思うのですが…

だってトキ絶滅に瀕している」とはいうけど「トリは絶滅に瀕している」って言わないじゃないですか

それは置いておいてクジラの多くの種類は豊富であったり過去の乱獲から数を増やし続けています

最近調査捕鯨採集されているみんな大好きミンククジラなんかは常に高水準で資源は安定しているし、ザトウクジラなんか増えすぎて南極ミンククジラの生息域を脅かしていたりしています

IWC国際捕鯨委員会)の科学委員会1992年資源安全捕獲計算方式(RMP)を算出しているのだけれど、国際捕鯨委員会会議では政治的理由がハバを聞かせていて、「絶対捕鯨を阻止するべきである」という反対国の意見に押し切られて採択はされていないです。



Q.だってクジラ特別な生き物じゃん


A.なぜなら彼は特別存在なら仕方がないですが、賢い云々で言うとクジラより脳が大きい動物もいます

例えばイルカネズミ一種銀河ヒッチハイクガイドでは地球でが人間が3番目、イルカが2番目、ネズミが1番目に賢い生き物であるとされていたのですがあながち間違いではないのかも)。

また、マッコウクジラハーレムを作るだとかの社会構成を作る点に関しても同様にクジラより複雑な社会構成動物もいます

その地域での「神」としての特別な生き物という観点で考えるならば(ゴールデンカムイを見ればわかる通り)、異なる文化が集えばすべての生き物が「神」になる可能性があります

一番簡単なのが牛でしょうか。(どうでもいい余談ですけれど捕鯨日新丸がハラル認証されたので日本流通している鯨肉イスラム圏の人間でも口にすることができます

他に例を挙げるならば日本で神の使いとされている鹿は西欧ではスポーツハンティングとされ毎年ミリオン単位の鹿がスポーツとしての狩りで殺されています

西欧文化では鹿の狩猟管理釣り場ニジマスを釣る感覚と何ら変わらないと考えられます

(クジラは頭がよくて、歌を歌ってコミュニケーションして、親子で行動して、ハーレムを作って、絶滅に瀕していて…という複数クジラの特徴をかけ合わせ、人々の頭の中で考えられている理想クジラ象をスーパーホエールと呼びます。そんなクジラ、いません)



Q.捕鯨残酷


A.捕鯨は今の方法簡単に言うと銛ミサイル)が即死率が高く効率が良いとみなされ採択をされています

動物の命をいただく行為なのでもちろんもっとも苦しまずに屠殺する方法がとられていますし、改善もされています

参考までにですが牛はノッキングガンで気絶させ、その間に血を抜いて絶命させます人間勝手に肉を食べているわけですからエゴは介在しますよね。



Q.捕鯨法律禁止されている(商業捕鯨モラトリアム


A.商業捕鯨モラトリアムとは国際捕鯨取締条約によって商業捕鯨猶予期間が設けられてたことを指します。

よく引き合いにされるのが1983年に発行されたこの附表第10項(e)で


この10規定にかかわらず、あらゆる資源についての商業目的のための鯨の捕獲頭数は、1986年の鯨体処理場による捕鯨の解禁期及び1985年から1986年までの母船による捕鯨の解禁期において並びにそれ以降の解禁期において零とする。この(e) の規定は、最良の科学的助言に基づいて検討されるものとし、委員会は、遅くとも1990年までに、同規定の鯨資源に与える影響につき包括的評価を行うとともに(e)の規定修正及び他の捕獲頭数の設定につき検討する。


と記されています

この項の前半を読むと「商業目的捕鯨数はゼロにする」と読み取れますが後半をでは「遅くとも1990年までにはクジラに対して資源評価を行って、捕獲頭数を検討する」と書かれています

日本はこの後半の資源評価を行うために現在調査捕鯨を行っているわけです。調査捕鯨に関しては同条約8条で定められています


1.この条約規定にかかわらず、締約政府は、同政府適当と認める数の制限及び他の条件に従って自国民のいずれかが科学研究のために鯨を捕獲し、殺し、及び処理することを認可する特別許可書をこれに与えることができる。また、この条の規定による鯨の捕獲殺害及び処理は、この条約適用から除外する。各締約政府は、その与えたすべての前記の認可を直ちに委員会に報告しなければならない。各締約政府は、その与えた前記の特別許可書をいつでも取り消すことができる。

2.前記の特別許可書に基いて捕獲した鯨は、実行可能な限り加工し、また、取得金は、許可を与えた政府の発給した指令書に従って処分しなければならない。

3.各締約政府は、この条の第l項及び第4条に従って行われた研究調査の結果を含めて鯨及び捕鯨について同政府が入手しうる科学資料を、委員会指定する団体に、実行可能な限り、且つ、l年をこえない期間ごとに送付しなければならない。

4.母船及び鯨体処理場の作業に関連する生物学資料継続的収集及び分析捕鯨業の健全建設的な運営に不可欠であることを認め、締約政府は、この資料を得るために実行可能なすべての措置を執るものとする。

未だに調査捕鯨なのはこのモラトリアムが続いているからですね。1990年にはちゃん漁獲量が決まるはずだったのに。おかしいな。



言いたいことは言えたのですっきりしました。またなんかあったら追記します。


シーシェパード妨害活動を行っている船が総何トンなのか調べましたが出てこず…単純に長さは50~60mくらいなんで総トン数200~400トンの船でしょうかね?

対する日新丸は全長約130m、総トン数8030トン。第〇勇新丸などの目視調査船は総トン数700トンです。

人間をこのような狂気の行動に駆り立てるクジラという動物、とんだカリスマ動物ですね。

とりあえずクジラ資源なのか、守るべき生き物なのか、そこらへんはっきりさせたほうがよさそうです。

これだけ書いていたらクジラ食べたくなったのでスーパーで買って帰りますガツが好きなんだよなぁ。酢味噌でさ。

2018-04-17

Quick Tutorial for Pyramidをやってみる

PyramidPython向けWebフレームワーク

Quick Tutorial for Pyramid公式チュートリアル

https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/index.html

Prelude: Quick Project Startup with Cookiecutters

$ $VENV/bin/cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.9-branch

として、プロンプトの問いに答えるとサンプル的なアプリができる。

ghはgithubか。

引数指定できるテンプレートhttps://github.com/Pylons?q=pyramid-cookiecutter

sqlalchemyを使うものは分かるけど、zodbって何?

アプリは以下のようにして起動する。

$ env/bin/pserve development.ini --reload

このpserveというPythonモジュールアプリ動かしたりする。

01: Single-File Web Applications

超単純なPyramidアプリを作って、WSGIイメージをつかむ。

app.py を書き写して動かしたらHello Worldが動いた。

Analysisの項:
2. Lines 12-14. Use Pyramid's configurator in a context manager to connect view code to a particular URL route.

viewURLの紐付けはconfig.add_routeしてconfig.add_viewする。add_viewしてからadd_routeしても大丈夫だった。

3. Lines 6-8. Implement the view code that generates the response.

viewにはrequestが渡される。requestに色々入ってそう。

4. Lines 15-17. Publish a WSGI app using an HTTP server.

waitressは知らないけど、serveでHTTPサーバ作ってWSGIアプリを公開できるのかな?

Extra creditの項:
1. Why do we do this:
print('Incoming request')

...instead of:

print 'Incoming request'

Python3だから

2. What happens if you return a string of HTML? A sequence of integers?

Inernal Server Errorになった。アプリのほうではValueErrorresponseを返すようにと怒られていた。text/plainとか返すには何かしないとダメっぽい。

3. Put something invalid, such as print xyz, in the view function. Kill your python app.py with ctrl-C and restart, then reload your browser. See the exception in the console?

print(xyz)してみろ、ということかな。1と同じくInernal Server Errorになって、コンソールにはNameErrorが出た。

4. The GI in WSGI stands for "Gateway Interface". What web standard is this modelled after?

CGIかな?

2018-04-10

anond:20180410165141

引数禁止。全部グローバル変数で渡せ」

えー、グローバル変数変わるタイミング分かりづれー

サブルーチンを使うとあちこちに飛んでわかりにくい。同じ処理をするときコピペでそれぞれの場所に同じコードを書きなさい」

むかーし、「ふんどしプログラム」って呼ばれてたやつか。

サブルーチン無しのメインだらだら書くやつ。

プロジェクトで開発した事無い奴らなのか?

それともそのプロジェクトで失敗して変に原点回帰しようとしてるのか?

何れにしても悲惨現場だな。

anond:20180409181511

サブルーチンに値を引数で渡してたら「引数禁止。全部グローバル変数で渡せ」とか、「サブルーチンを使うとあちこちに飛んでわかりにくい。同じ処理をするときコピペでそれぞれの場所に同じコードを書きなさい」とか言われたことがあるわ。

そこまでひどくなくてもレヴューを受けると「うわ、こいつレベル低っ」「この人Excelばっかりでコードいたことないんだろうな」みたいな人ばっかり。

レビュー機能してる現場に遭遇したことない。

2018-04-03

anond:20180403111540

よく考えたらそうだな。

構造体はそのまま引数にする利用が一般的

クラスインスタンスポインタを渡す利用が一般的

なんでそこでは差がつくが、構造体のポインタ渡すなら確かに結果は変わらんな。

anond:20180403111253

メソッド構造体を引数として渡せば言ってるとおり「超でかいint」となって

速度にかなりの影響を与えるはずだが… 違ったっけ?

anond:20180403105350

考え方としては「構造体は超でっかいサイズのint」クラスは「常にint」

で、速度が必要な処理で構造体そのもの引数としてやり取りしようとすると超でっかいintであるが故にメモリ読み込み/書き込み時間を取られる。

逆にクラス(のインスタンス)はint(メモリアドレス)のみをやり取りするので比較して高速になる。

逆に、インスタンスアドレスしかやり取りしないので、メソッド呼び出し時にはインスタンスの内部変数がそのままになってしまう。

これはメリットのように見えるがそうでない場合もあるので、

一般には座標計算等の最初から計算し直す系のデータについてはクラスではなく構造体で管理するパターンの方が多い。

2018-03-22

"ポンタ" "ポインタ"

約 5,380 件 (0.48 秒)

引数ポンタ

マウスポンタの精度を上げる

intポンタ

ポンタ

ポンタデータから構成されるものノードという

構造体へのポンタ

オブジェクトアドレスを親クラスポンタに代入

「 加速なし」の場合に比べ約3倍のポンタが動く

32ビットポンタを利用する

Tポインタカードきゃりーぱみゅぱみゅデザインに切り替えた

UR住宅にお住いの方なら年間1万円分以上のポインタポイント獲得

500ポインタもらえる

https://anond.hatelabo.jp/20131217032711

2018-03-18

()を見ると

自動的に直前を関数名に、中身を引数脳内変換

そしてそれはどんな関数なのだろうとしばし妄想してしまう。

2018-03-17

anond:20180316232605

Excelを持っているならはてブJSONデータをそのまま取り込めるそうだからそのデータを使ってブクマが付いた時間グラフが描けそう。

例えばこんな感じでJSONデータが取れる。 http://b.hatena.ne.jp/entry/jsonlite/https://anond.hatelabo.jp/20180315232737

Excel持ってないならスクリプトCSVにしてしまえばいい。

rubyスクリプトだとこんな感じ。(Mechanize無し版に差し替え。なぜMechanizeを使っていたかと言うとはてブUser-Agentが空だと値を返してくれないから。ちょっと長くなるが自前でUAを渡すようにした。)

#!/usr/bin/ruby

require 'uri'

require 'net/http'

require 'json'

require 'csv'

site = ARGV[0]

json_uri = URI.parse("http://b.hatena.ne.jp/entry/jsonlite/%s" % [site])

response = Net::HTTP.start(json_uri.host, json_uri.port) do |http|

http.get(json_uri.path, "User-Agent" => "Mozilla/5.0")

end

json_data = JSON.parse(response.body)

json_data['bookmarks'].each do |bookmark|

puts [bookmark['user'], bookmark['timestamp'], bookmark['comment'], bookmark['tags'].to_s].to_csv

end

引数に取得したいページのURLを入れる。hatebuapi-csv.rbという名前で保存したとしたらこんな感じで実行。

% hatebuapi-csv.rb https://anond.hatelabo.jp/20180315######## > 結果.csv

このケースでは朝の7時から爆発的にブクマが付き始める様子が分かる。

https://imgur.com/66FlJIB

2018-01-16

anond:20180113193527

大丈夫引数をいんすうって読んじゃうのは誰でも通る道だから

2018-01-13

引数

れいんすうじゃなくてひきすうなのな

なんであいつら教えてくんねーんだよ今までずっといんすうって読んでたぞくそくそ

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん