「module」を含む日記 RSS

はてなキーワード: moduleとは

2022-12-04

Chat.OpenAIゲキヤバ。まじでちょっとした処理はググる必要なくなった

俺:

javascript言語で、現在時刻のタイムスタンプからMD5ハッシュ値を出力する関数、timeToMd5 を作ってください

JavaScriptでは、次のような関数作成することができます

function timeToMd5() {
  // 現在時刻のタイムスタンプを取得しまconst timestamp = Date.now();

  // ハッシュ値を出力するために、MD5ライブラリロードしまconst md5 = require('md5');

  // timestampを文字列に変換し、それをMD5ハッシュ値に変換して出力しまconst hash = md5(timestamp.toString());
  return hash;
}

このような関数作成することで、現在時刻のタイムスタンプからMD5ハッシュ値を出力することができます

ご参考までに。

俺:

nodeコマンドで実行しましたが、"Error: Cannot find module 'md5'" というエラーになってしまいました。なにか解決方法がありますか?

質問のように、JavaScript定義した関数を実行すると、"Error: Cannot find module 'md5'" というエラーが発生しているようです。

このエラーが発生する原因は、JavaScriptコード内で、MD5ライブラリロードしようとしたときに、そのライブラリインストールされていないためです。

JavaScriptコードで、MD5ライブラリを利用するには、まず、そのライブラリインストールする必要があります

インストールするには、次のように、nodeコマンドを実行します。

$ npm install md5

このコマンドを実行することで、MD5ライブラリインストールされ、JavaScriptコードから利用することができるようになります

また、JavaScriptコードを実行するには、次のようにnodeコマンド使用します。

$ node [JavaScriptファイル名]

このようにすることで、JavaScriptコードを実行することができます

ご参考までに。

俺:

ありがとうございます。実行できました😁

おめでとうございます!ご質問いただいた内容について、正しく解決されたようで嬉しいです。

しまだご質問があるようでしたら、お気軽にお問い合わせください。今後とも、Assistantをご利用いただけますよう、よろしくお願いいたします。

2022-11-17

anond:20221117180104

解説必要そうな増田から解説する。

ガンダム試作1号機

GP01の名前が有名。ガンダムOVAである0083(初代ガンダムの3年後)の主人公機。新型開発計画において初代ガンダムネームバリューやコンセプトを図々しくも借りて「ガンダム開発計画」と名付けたプロジェクトの1号機。ガンダムだ。

プロトタイプガンダム

文字通りガンダムプロトタイプガンダムだ。

G/SEED

平成ガンダムシリーズ。「比較的」新しい。

Z

ガンダムシリーズの2作目。古い。

小説ゲーム

作品ごとに新型が登場し大抵の場合はその中に1体はガンダムがいる。つまり作品の数だけガンダムが増えると言っていい。ただし「多くのものが知らないモブ兵士達による戦い」が舞台だと主人公機がジムタイプだったりする。

陸戦型ガンダム

ガンダム量産型廉価版ガンダム開発時の歩留まりたパーツをかき集めて作った一級品のパチモノ陸上しか戦えない上にコアファイター脱出も出来ない。ジムよりは遥かに強いが使ってるパーツが規格落ちなのでガンダムには劣る。兄より劣る不出来な弟というだけでガンダムだ。

ブルーディスティニー

セガサターンゲーム主人公機。陸戦型ガンダムベースにした改造機。当然陸戦型ガンダムよりは強い。特殊システムを搭載する関係上頭部パーツが一新され、アンテナのないジムっぽい外見になってしまっている。青いジムと呼ばれれることも多いが、ガンダムだ。

ガンダムEz8

OVA08小隊主人公機。元は陸戦型ガンダムだったが、一度大破したあとにジャンクパーツやジムのパーツを組み合わせて大幅改修された。Vアンテナをへし折られた代わりにつけたアンテナのせいでこちらもちょっとジムっぽい頭にされてしまっているが、ガンダムだ。

なんか赤くてシャアが乗っててモノアイの奴

Zガンダムに登場するリック・ディアス(γガンダム)。上記ガンダム開発計画で得た技術を基に開発され、素材にはガンダリムγなるガンダリウム合金パチモノを使って作られたMS。γガンダムという名前であっがパイロットであるシャアクワトロ)が別の名前しろ要望したことリック・ディアス改名された。元々ガンダムなのだから当然のようにガンダムだ。

ペーネロペー

閃光のハサウェイに登場するライバル機体。主人公機Ξ(クスィー)ガンダム兄弟機。原作小説では必死ガンダムでないことをアピールしていたが、いつの間にかオデュッセウスガンダムなるガンダムペーネロペーユニットを装備した機体という設定になった。こうなってはもうガンダムだ。

クシー

閃光のハサウェイ主人公機。「Ξガンダム」の読み方はクスィーガンダムとされるのが一般的だが、映画のハサウェイの発音だと「クシー」である。ただ「Ξ」を変換したいだけなら「くさい」と打つのが一番楽。くさいガンダムペーネロペーと違いこちらは最初からガンダムだ。

パイロット血筋

Ξガンダムパイロットであるハサウェイ・ノアブライト・ノアの息子。一年戦争出世頭の息子という立場スクスク育ち、悪名高きカツ・コバヤシに匹敵する調子こき男となる。今では立派なテロリスト。親の七光りが強すぎると人間歪むものである。決め台詞は「人の犯した過ちはマフティー粛清する!」

FAZZ

なまじ知識があると「フルアーマーダブルゼータ」と呼んでしまうのだが、これで「ファッツ」と読む。ガンプラ雑誌企画ガンダム・センチネル」にて登場。外見はほぼ白一色のフルアーマーZZ。ただし装甲はパージ出来ない上に色々とお安く作られており変形も出来なかったりと色々劣る。ZZハイメガキャノンの1.5倍の強さを持つハイパーメガカノンなるクソデカ武器を持っているのが特徴だが、それを発射するだけの装置とさえ言われることも。なにより凄いのが頭にハイメガキャノンは付いているが見かけだけのダミーということ。一見するとガンダムしか見えないコイツが実はガンダムでないというのが、ガンダム認定のややこしさを加速させる。コレジャナイ

G.U.N.D.A.M

SEEDに登場するガンダムは起動させるとOSに「General Unilateral Neuro - link Dispersive Autonomic Maneuver」だったり「Generation Unsubdued Nuclear Drive Assault Module Complex」の当て字が表示される。これが表示されるかどうかがSEEDにおけるガンダムかどうかの切り分けである外伝に登場するスターゲイザー名前こそガンダムではないがOSには「Guider UNmanned Deployment Autonomic Manipulation」が表示される。ガンダムだ。

色が白くて角が黄色ければガンダム

「目が2つついててアンテナはえてりゃマスコミがみんなガンダムにしちまうのさ!」というセリフクロスボーンの作中にある。初代ガンダムの角がアニメでは白なのに、何故か黄色く塗られていることが多いというネタも混じっていると思われる。どっちが正解なのかについては「最新の映像作品正史」というルールに従うの無難

ダブスタクソ親父

最新作「水星魔女」のヒロイン父親自分の都合で「ガンダムだ」「ガンダムではない」を使い分けるとされる。この増田のような話題になったら「ガンダムだ」「あれはガンダムではない」をとりあえず言ってみよう。面倒くさい人達早口解説してくれるかも知れないぞ。

俺に何も答えてくれない……

劇場版ガンダムWエンドレスワルツの名台詞「五飛、教えてくれ……俺たちはあと何人殺せばいい?俺はあと何回、あの子とあの子犬を殺せばいいんだ……ゼロは俺に何も言ってはくれない……教えてくれ、五飛!」が混じっている。ゼロウィングガンダムゼロのこと。ちなみにガンプラゲームでよく登場するウィングガンダムゼロカスタムという機体は存在せず、プラモゲーム利便性のために使われている「あだ名」のようなものである劇場版ウィングガンダムゼロアニメ版のウィングガンダムゼロと「設定上」同じ機体なのだあくまカメラ映りが滅茶苦茶よくなりすぎてベツモノに見えるだけの同じ機体である。「再現VTRにおける演技者が違っても歴史上の事実は変わらない」といった解説がよくされる。平行世界ガンダムWではストーリー全く一緒だけどガンダムに羽が生えているんだなと理解しよう。まあ漫画でいつの間にかキャラの体が伸び縮みしても体重身長の設定は変わらなかったりするし創作物はそういうもんだよ。ガンダム認定もそういうもんだよ。

2022-10-18

anond:20221016025527

> ちなみにmoduleディレクトリの中身は\models\hypernetworksに移動させて使う。

ちなみにmoduleディレクトリの中身は\modules\hypernetworksに移動させて使う。

の間違い?

2022-10-16

NovelAIが重すぎるからローカル環境にNAI環境を構築する(2022年10月16日版)(追記あり)

せっかく課金したのにユーザが増えまくっているのか滅茶苦茶重くなっていて最悪。

から流出したモデルを使ってローカルでNAI環境を構築する。

ネットには情報もだいぶ転がってるけど陳腐化した情報があまりに多いため増田にまとめることにした。

しかたらこ記事もすでに陳腐化しているかもしれないが…単純に間違ってたらトラバで教えてほしい。

もちろん自己責任。この記事を見て導入した結果何かあっても増田は何も保証しない。

英語がわかる人はこっちを見た方が早いと思う。今は導入RTAができるくらい導入は楽になっている。

https://rentry.org/nai-speedrun

推奨環境

VRAMが2GB以上あるNVIDIA製のグラフィックボードがあればローカル環境を構築できる。

GPU世代はGTX700シリーズ以降。なので一昔前のミドル級ボードでも動作するらしい。

IntelオンボードGPUでも実行する方法があるらしい(stable_diffusion.openvino)が今回は割愛する。自分で探してね。

その他の推奨環境は以下の通り。

対応OSWindows7以上(と言うがM1Macでも動作する方法があるとかなんとか)

必要な空きストレージ容量:20GB以上

インメモリ:16GB以上(VRAMもたくさん必要だが起動時にメインメモリも大量に食う。WebUI起動時にタスクマネージャを見ているとよくわかる)

スマホしか持ってないような人やこういうのがよくわからない人はNovelAIを使った方が良いと思う。

今は重いけど、きっとそのうちみんな飽きてサーバも軽くなるかもしれないし。

(追記)NovelAIリソースを確保してサーバが軽くなったかリスクを背負ってまで導入しなくても良いか

手順1:PythonGitを導入する

(追記)Pythonは当然3系。最新の奴を入れれば問題無い。

導入方法はいちいち書かないけど、「python --version」や「git -v」で

正常にバージョン情報が出る(パスがきちんと通っている)ことはちゃん確認しよう。

手順2:Stable Diffusion web UI(AUTOMATIC1111)を導入する

Stable Diffusion web UIはStable Diffusionやそれをベースとした画像生成AIを利用するためのフロントエンド

その中でも特に開発が活発でデファクトスタンダードとなっているのがAUTOMATIC1111版だ。

導入したい適当ディレクトリに対してPowerShellなどで

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

とやってやれば必要ファイルの導入が行われる。

なお、AUTOMATIC1111版は数時間単位コミットが行われるから

定期的に「git pull origin master」で更新しよう。

手順3:BitTorrent流出モデルダウンロードする

クライアントはqBitTorrentが一番楽だと思う。

ここにはさすがにmagnetリンクは書かないか各自ググって欲しい。

結構誤解されがちなことだが流出データ50GBを全部ダウンロードする必要は無い。

必要ファイルはanimefull-final-prunedディレクトリの中身とanimevae.ptから5GBちょっとくらいなんじゃないかな。

もし余裕があるならmoduleディレクトリの中身もダウンロードすればいいけど、ぶっちゃけ必要無いんじゃないか

手順4:ダウンロードした各ファイルリネーム・移動

まずはanimefull-final-prunedの中身のファイルリネーム

model.ckpt」を「animefinal-full-pruned.ckpt」のようなわかりやす名前にして、

「animevae.pt」を例えば「animefinal-full-pruned.vae.pt」のような拡張子以外は同じファイル名にする。

WebUI起動フォルダ配下の\models\Stable-diffusionリネームしたファイルを移動させれば配置はOK

ちなみにmoduleディレクトリの中身は\models\hypernetworksに移動させて使う。

それらのファイルを設定で適用させると画風が結構変わるがNovelAI再現とは関係無いみたいだ。

(追記)moduleディレクトリの中身の.ptファイルはhypernetworksという技術によって画風などを学習したものらしい。

すでに複数イラストレーターの画風を学習したptファイル作成されており議論を呼んでいる。

手順5:webui-user.batの中身に設定を追加する

自分グラボのVRAMが4GB未満の場合は「set COMMANDLINE_ARGS=」の後に

4GB未満の場合は「--medvram」、2GB未満の場合は「--lowvram」とパラメータを追加しておこう。

自分の持ってるグラボのVRAMがわからないときGPU-Zなどで調べよう。

またGTX1600系固有のバグ(単色の画像が出力される)があるらしいので

その場合は「--no-half-vae」もしくは「--no-half」や「--precision full」とパラメータを追加。

ちなみにパラメータに「--xformers」を追加してxformersを導入・使用すると

消費VRAMが減って画像生成処理時間も短縮されるので是非導入しよう。

画像からdanbooruタグAI調査するdeepdanbooruを利用する場合は「--deepdanbooru」を追加。

これらの設定は同時に複数適用させることもできる。例えば

set COMMANDLINE_ARGS=--medvram --xformers --deepdanbooru

のようになる。

手順6:webui-user.bat起動、設定変更

ターミナルPowerShellなどでwebui-user.batを起動しwebUIの初期導入と起動を行う。

過去には手動でCUDA等を導入する必要があったが、現在はこの初期導入でだいたいの導入が行われる。

ずいぶん楽にはなったがその分初期導入の時間結構長い。10分~20分くらいかかるかもしれない。

途中で導入処理がエラーで止まってしまった場合管理者権限で実行するなどして対応して欲しい。

起動ができたらSettingで以下の設定を変更してNovelAIに近づける。

Stop At last layers of CLIP modelを2に、

Eta noise seed deltaを31337にする。

これで設定は完了

おまけ:アスカテスト

設定を合わせて完全にNovelAIと同じ内容になったのかを確認するテストがある。

出力結果から海外じゃHallo Asuka Testなんて呼ばれている。

これは初期SEEDをはじめとする設定内容が完全に一致していれば同じ出力結果を得られる仕組みを利用している。

プロンプトの内容:masterpiece, best quality, masterpiece, asuka langley sitting cross legged on a chair

ネガティブプロンプトの内容:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name

サンプリングステップ数:28

サンプリング形式:Euler

CFG Scale(プロンプトの強度):12

初期Seed2870305590

この内容で見事下の画像と全く同じ画像が出力されれば合格だ。

https://i.imgur.com/Bfl5qJB.jpg

なお、このテストはAUTOMATIC1111のバージョンやxformersの適用状態によっては微妙に違う画像が出力されることがあるらしい。

xformersを適用させている増田環境だと確かに二つ並べると間違い探しレベルの違いがあった。

正直このテストクリアしなくても十分だと個人的には思う。

おまけ2:その他便利になる設定や拡張機能

「Booru tag autocompletion for A1111」を導入すればNovelAIのように自動danbooruタグを保管してくれる。

注意

画像生成AIモデルはStable DiffusionOSSのため派生結構多い。

自前で追加学習もできるため自前で学習した追加AIモデル4chanのような掲示板などで共有する人もいるらしい。

しかしそのようなモデルの中にウィルスのような悪意のある動作を行うものもあるらしい。

FBIペドフィリア一網打尽にするためにIPアドレスなどの個人情報を抜き出す動作を行うロリ特化AIモデル掲示板で配布していて

しかもそれには本物の児童ポルノ教師データとして使われている…などという都市伝説的な話が今界隈を賑わせている。

それが本当の話かどうかはわからないが、とにかく変なところからモデルダウンロードするのは危険なのでやめよう。

自己矛盾溢れる注意喚起かもしれないが…

2022-05-21

[]関連ページ・RSS一覧

はてブについて、情報検索したりクエリを投げたりして調べてまとめてみた。自分メモとして書いたもので、極少数の人しか興味を持たない内容かと思うが、読んでいただければ幸い。

公式等[1・2(参照したページURL最後記載。以下同様)]で詳細を確かめられず素人憶測説明した箇所がいくつもあり、簡潔明瞭でも網羅的でもない解説だがご容赦を。

トップページ

ホットエントリと新着エントリの一覧への導線がある。

URL

1. https://b.hatena.ne.jp/

1a. https://b.hatena.ne.jp/hotentry/{1}(引数に"all"を入力した場合、1のエイリアス

1b. https://b.hatena.ne.jp/ctop/{1}(カテゴリトップ[3]が過去存在していた場合、1aにリダイレクト

1c. https://b.hatena.ne.jp/hotentry/{1}/{2}

1d. https://b.hatena.ne.jp/hotentry/{1}/daily(1cにリダイレクト。前々日か前日の分が表示される)

1e. https://b.hatena.ne.jp/hotentry/{1}/{3}(?page={4})(()内のパラメータは省略可。以下同様)

1f. https://b.hatena.ne.jp/hotentry/{1}/{3}(?of={5})

2a. https://b.hatena.ne.jp/hotentry.rss

2b. https://b.hatena.ne.jp/hotentry/{1}.rss("all"を入力した場合、2aのエイリアス

2c. https://b.hatena.ne.jp/hotentry?mode=rss(2aのエイリアス

2d. https://feeds.feedburner.com/hatena/b/hotentry(2aのエイリアス)[4]

3. https://b.hatena.ne.jp/entrylist/{1}(/{3}?page={4})(ブクマ登録数の閾値を設定するオプションがあったが、2018年3月廃止された[5])

4a. https://b.hatena.ne.jp/entrylist.rss

4b. https://b.hatena.ne.jp/entrylist/{1}.rss("all"を入力した場合、4aのエイリアス

4c. https://b.hatena.ne.jp/entrylist?mode=rss(4aのエイリアス

引数
概要
{1}カテゴリID省略するとカテゴリ総合」のページが表示される
{2}エントリ登録"YYYYMMDD"の形式入力。当該月日の24から一定時間経過後に利用可能になる。有効な最古の値は20050210
{3}特集特集[6]は不定期に改廃されるため、値が有効か注意
{4}ページ番号
{5}オフセット表示結果の先頭が、指定した値だけ後ろにずれる。1ページ分表示可
カテゴリ

エントリは、8種類あるカテゴリ[7]のどれか1つに自動区分される。そのアルゴリズム不定期に更新されているようだ[8]。区分に異議がある場合ユーザが変更申請することもできる[8・9]。

カテゴリ2013年2月現在名称・分類になった[10]。分類が現在と同じ8種類になったのは、2008年11月[11]。

なお、2011年以前のエントリはほぼ全て「暮らしカテゴリ区分されている[12]。2017年から2019年の間に何らかの障害が起きたためと思われる[13・14・15]。

エントリページ

別名、ブックマークコメント一覧ページ[16]。

なお「(ブックマークエントリ」という呼称は、一般的用法はてブ登録されたURLとその付帯情報エントリページの情報等、多様な意味で使われる。

URL

1a. https://b.hatena.ne.jp/entry/(s/){1}("s/"はセキュアサイトのエントリページURLに付加される[16])

1b. https://b.hatena.ne.jp/entry/{2}(正しく処理された場合、1aにリダイレクト

1c. https://b.hatena.ne.jp/entry/{3}(1aにリダイレクト

1d. https://b.hatena.ne.jp/entry?url={2}(1aのエイリアス

1e. https://b.hatena.ne.jp/entry?eid={3}(1aのエイリアス

2. (b:)id:entry:{3}(はてな記法[17・18])

引数
概要
{1}URLブクマされたURL原則として、パーセントエンコード[19]されたもの)の一部を入力
{2}URLURL(同上)全体を入力
{3}エントリID下記参照
エントリID

はてブ登録されたURLIDと1対1対応する。IDは、当初は1から始まる連番だったが、2018年12月頃から62bit以上の乱数値になった[20]。

余談だが、かつては番号が桁繰上りするたびにキリ番ゲッターブクマしに集っていたようだ。理由不明だが、欠番になったキリ番もある(キリ番前後エントリページ参照)。

エントリ統合

URLwebページは1対1対応するとは限らない[21][22]ため、エントリブコメは容易に分散する。

その改善のため2019年2月はてブ仕様が変更され、一定規則エントリが収斂されるようになった[23]。現在エントリページは、複数エントリと1対多対応していて、対応するどのIDURL引数にしてもアクセスできる。

1対多対応の例

参考[1]のエントリページに対応するIDを昇順にし、各ID確認できる最古のエントリをまとめた。非公開や削除済のブクマがあるせいか、完全な日付昇順ではない。

エントリID
ブクマ
ユーザ
URL
262005/2/10nabesohttp://b.hatena.ne.jp/help
2522982005/5/24nobodyhttp://b.hatena.ne.jp/help#tag
2613692005/5/26anotherhttp://b.hatena.ne.jp/help#favorite
3084552005/6/9naoyahttp://b.hatena.ne.jp/help?mode=design
3618202005/6/23superartlifehttp://b.hatena.ne.jp/help#collection
3685602005/6/24kurimaxhttp://b.hatena.ne.jp/help?mode=button
3690592005/6/24takeshi-shttp://b.hatena.ne.jp/help?mode=button#jugem
4613062005/7/18kidaglasshttp://b.hatena.ne.jp/help?mode=button#livedoor
5402192005/8/9kei-shttp://b.hatena.ne.jp/help?mode=tipjar
9907322006/1/14takefhttp://b.hatena.ne.jp/help?mode=tipjar#autodiscovery
10213852005/12/27tosch0718http://b.hatena.ne.jp/help#note_about_title
10510402006/1/7junky0http://b.hatena.ne.jp/help?mode=button#seesaa
11487292010/7/8b01012109http://b.hatena.ne.jp/help/
17854752006/4/20eiichimanhttp://b.hatena.ne.jp/help?mode=design#module
23618012006/7/19yamifuuhttp://b.hatena.ne.jp/help#keybind
46701350558056662742020/1/7aoyamayukihttps://b.hatena.ne.jp/help/
IDが正しく認識されない場合

以下に該当するIDURL引数として入力すると、エントリの一部または全ての情報の取得に失敗する



ブックマークコメントページ

コメントと、それに付けられたスター情報が表示される。

URL

1. https://b.hatena.ne.jp/{1}/{2}#bookmark-{3}

2. https://b.hatena.ne.jp/entry/{4}/comment/{1}

引数
概要
{1}ユーザID
{2}ブクマ"YYYYMMDD"の形式で、当該ユーザブクマした日付を入力
{3}エントリID当該ユーザブクマしたURLID入力
{4}エントリIDエントリページに対応するどのIDでも入力


検索ページ

はてブの全エントリから検索可能[29]。ただし単語の区切の判定が完璧でないため、連語複合語等が関わると上手く動かない場合がある(例えば、「更年」で検索したら「更年期障害で欠勤、認められず」というタイトルがヒットしなかった)。

URL

1a. https://b.hatena.ne.jp/search/{1}?q={2}(&sort={3}&users={4}&safe={5}&date_begin={6}&date_end={7}&page={8}&mode={9})

1b. https://b.hatena.ne.jp/t/{2}(1aにリダイレクト

2a. https://b.hatena.ne.jp/site/{10}(?sort={11}&page={8})

2b. https://b.hatena.ne.jp/entrylist?url={10}(2aにリダイレクト

引数
概要
{1}検索範囲"tag""title""text"のいずれかを入力
{2}検索文字ブクマに付帯するタグ・ページタイトル・ページ本文中のいずれかで、指定した文字列を検索する。複数文字列を"%20""|""-"で連結すると、AND・OR・NOT検索できる[30]。"site:{URL}"の形式入力すると、URL絞込検索できる
{3}表示順"popular"を指定すると、結果がブックマーク登録数降順で表示。デフォルトは新着順
{4}ブクマ件数指定件数以上のエントリで絞込検索する。デフォルト値は3
{5}セーフサーチの有無"off"を指定できる。デフォルトはオン
{6}検索期間の始め"YYYY-MM-DD"形式指定した日付以降のエントリで、絞込検索
{7}検索期間の終り"YYYY-MM-DD"形式指定した日付以前のエントリで、絞込検索
{8}ページ番号
{9}"rss"を指定できる
{10}URL指定URLで絞込検索
{11}表示順"count""hot"を指定すると登録数降順、"eid"で新着順で表示。デフォルトは、ブクマ3件以上のエントリのみ新着順


ユーザブックマークページ

ユーザブクマしたエントリが一覧表示される。

URL

1a. https://b.hatena.ne.jp/{1}/(?page={2})

1b. https://b.hatena.ne.jp/{1}/?tag={3}(&tag={3}&page={2})

1c. https://b.hatena.ne.jp/{1}/{3}(/{3})(1bエイリアス

1d. https://b.hatena.ne.jp/{1}/{4}

1e. https://b.hatena.ne.jp/{1}/?url={5}(&page={2})

1f. https://b.hatena.ne.jp/{1}/bookmark(1aのエイリアス

2a. https://b.hatena.ne.jp/{1}/bookmark.rss(?page={2})

2b. https://b.hatena.ne.jp/{1}/bookmark.rss?tag={3}(&tag={3}&page={2})

2c. https://b.hatena.ne.jp/{1}/bookmark.rss?date={4}

2d. https://b.hatena.ne.jp/{1}/bookmark.rss?url={5}(&page={2})

2e. https://b.hatena.ne.jp/{1}/rss(2aにリダイレクト

3. https://b.hatena.ne.jp/{1}/search.data(?limit={6}&offset={7}) [31]

4. (b:)id:{1}(:{4}) [17]

引数
概要
{1}ユーザID
{2}ページ番号
{3}タグ指定タグで絞込検索。2件以上指定するとAND検索できる
{4}ブクマ"YYYYMMDD"形式指定した日付で絞込検索
{5}URL指定URLで絞込検索。部分一致検索可能だが、URIスキームから入力しないと無効
{6}最大取得件数デフォルト値は全件
{7}オフセット表示結果の先頭が、指定した値だけ後ろにずれる


イブクマークページ

前節とほぼ同様だが、利用可能オプションが多い[32・33]。

はてなスター

ログインすると、スター情報を閲覧できる。

余談だが、カラースター価値は緑5円・赤12円・青110円・紫890円程度のようだ[34]。

URL

1. https://s.hatena.ne.jp/

2. https://s.hatena.com/(1のエイリアス

3. https://s.st-hatena.com/(1にリダイレクト



参考URL

ブクマされてるURLにはIDを付記。

タイトル
URL
エントリID
1ヘルプトップ - はてなブックマークヘルプhttps://b.hatena.ne.jp/help/4670135055805666274
2はてブAPIwebサービスを作りたい全ての人に向けて書きましたhttps://syncer.jp/hatebu-api-matome264997023
3カテゴリトップテクノロジー」を新設し、グローバルナビゲーションの挙動を変更しました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2015/11/05/1512214667408542014962466
4はてブホットエントリーのRSS一覧 - まんとるぽっとhttps://www.mantol.net/entry/20120601/13385179414699737458651148386
5追記ありトップページカテゴリページなどのメディア面をリニューアルしました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2018/03/22/1611104667408571006016450
6編集ユーザ活動エンジニアリングを融合した「特集機能」を始めます - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2015/08/17/1506544667408546846804962
7[FAQ]はてなブックマークの「総合カテゴリーと「一般カテゴリーの違いはどこにある?https://anond.hatelabo.jp/20200108201212
8自由研究はてなブックマークにおける自動カテゴリ分けの傾向と所感 - AQMhttps://aqm.hatenablog.jp/entry/2019/08/06/1801004672608930549728738
9フィードバックフォームおよびカテゴリ変更依頼フォーム設置のお知らせ - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2018/12/11/1634534667408557584232770
10新しいトップページの一覧性を高めました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2013/02/06/000000
112008-11-07 - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2008/11/07/000000
12はてなブックマーク - 人気エントリー - 総合 - 2011年12月5日https://b.hatena.ne.jp/hotentry/all/20111205
13はてなブックマーク - 人気エントリー - 2008年11月1日https://web.archive.org/web/20170815132626/http://b.hatena.ne.jp/hotentry/20081101

anond:20220521221139 に続く

2022-04-19

anond:20220419200107

参考ページ(続き)

タイトル
URL
eid
*21マザーボードフェーズの話 - PC Watchhttps://pc.watch.impress.co.jp/docs/news/1152140.html373849521
*22PCエンサイクロペディア:第8回 PCエンジンプロセッサ」の歴史(2)~性能向上に勤しんだ486/Pentium世代 2. RISCアーキテクチャに近づくPentium - @IThttps://atmarkit.itmedia.co.jp/fsys/pcencyclopedia/008procs_hist02/procs_hist04.html4701261286880018114
*23トレンドの光るPCはハデなだけではつまらない ~【DIY PC 08】マザー&ケースの機能活用して作るイルミネーションPC - PC Watchhttps://pc.watch.impress.co.jp/docs/news/1148442.html372842665
*24【笠原一輝ユビキタス情報局AMDRyzen ThreadripperがIntel危機感に火をつけた ~Intelの18コアのSkylake-X急遽投入の背景にあること - PC Watchhttps://pc.watch.impress.co.jp/docs/column/ubiq/1062361.html347169693
*25【Hothotレビュー】待望の第12世代Coreついに発売! ベンチマークで見るその実力 - PC Watchhttps://pc.watch.impress.co.jp/docs/column/hothot/1363614.html4710698281882741314
*26見れば全部わかるDDR4メモリ完全ガイド、規格からレイテンシ、本当の速さまで再確認 - AKIBA PC Hotline!https://akiba-pc.watch.impress.co.jp/docs/sp/1231939.html4680749088087636034
*27新登場の32GBメモリモジュール、使えるチップセットは? : AKIBAオーバークロックCafehttp://blog.livedoor.jp/ocworks/archives/52098537.html-
*28シングルチャネルおよびマルチチャネルメモリー・モードhttps://www.intel.co.jp/content/www/jp/ja/support/articles/000005657/boards-and-kits.html374335238
*29特集】同じSSDでもこれだけ違う。SATAから第4世代PCIeまで速度差を検証 - PC Watchhttps://pc.watch.impress.co.jp/docs/topic/feature/1386511.html4715121623230645378
*30SSDの選び方:SLCMLCTLC、QLC、PLCの違いを解説 | ちもろぐhttps://chimolog.co/bto-ssd-slc-mlc-tlc/369046698
*31消耗品と有寿命部品について : NEWS: ビジネスPC | NEChttps://jpn.nec.com/products/bizpc/info/pc/cosmable.html4668458216799596930
*32M-DISC - Wikipediahttps://ja.wikipedia.org/wiki/M-DISC260312391
*33PS5にみる物理メディア終焉 - ITmedia NEWShttps://www.itmedia.co.jp/news/articles/2006/17/news056.html4687255935115670114
*34特集】チャタってしまった10年物マウスが3,000円で完全復活! ~ドスパラマウスボタン故障修理サービス」に依頼してみた - PC Watchhttps://pc.watch.impress.co.jp/docs/topic/feature/1160250.html4662344022334670305
*35ロジクールトラックボールマウスM570を自分スイッチ交換修理した方法 - ネットの海の渚にてhttps://dobonkai.hatenablog.com/entry/Logicool-m570-repair4680507411203374530
*36マウスの左クリックおかしくなったので分解修理した : トイレのうず/ブログhttps://1010uzu.com/blog/overhaul-mouse-failing-in-left-click304301040
*37Logicool MX300 Optical Mouse M-BP82のメンテナンスhttps://orz7.web.fc2.com/rat/log/mx300-optical-mouse-m-bp82.htm-
*38加水分解の止め方、ベタベタの除去 - 黒色中国BLOGhttps://bci.hatenablog.com/entry/kasuibunkai4697762672020785762
*39Mouse Roller Wheel Durable Optical Pulley Repair Parts for Logitech MX510 518 G400|Replacement Parts & Accessories| - AliExpresshttps://www.aliexpress.com/item/1005003407488009.html-
*40ASCII.jpWindows 11アップグレード可能CPUは基本はやっぱり第8世代Zen+以降になりそう? (1/2)https://ascii.jp/elem/000/004/061/4061479/4704977165657723746
*41Microsoft2022年Windows 11高速化に注力すると宣言 - iPhone Maniahttps://iphone-mania.jp/news-420988/4711489752449241922
*42BIOSからUEFIへ BIOSはなぜ終わらなければならなかったのか:“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(1/4 ページ) - ITmedia NEWShttps://www.itmedia.co.jp/news/articles/2202/24/news067.html4715865033555686850
*43マザーボードのCSM(Compatibility Supported Module)を有効にする方法ASRockマザーボード) | TSUKUMO サポートFAQhttps://faq.tsukumo.co.jp/index.php?solution_id=13164709334416996014018
*44そうだ、グラフィックボード増設しよう! でも、その前に... - ツクモ福岡店 最新情報https://blog.tsukumo.co.jp/fukuoka/2015/08/post_116.html298062585
*45備忘録】mbr2gptコマンド実行後の回復環境消失対応方法: YOSIの小さな旅の記しhttp://kykyblog.air-nifty.com/blog/2021/09/post-802f79.html-
*46Windows1011でDiskPartコマンド使用する方法https://www.diskpart.com/jp/windows-10/diskpart-windows-10.html4705642648092693218
*47アライメントhttps://www.pc-master.jp/mainte/aft-hdd.html4699883528408540354
*48Windows 10Administrator ユーザー有効にする方法ラボラジアンhttps://laboradian.com/enable-administrator-on-windows10/-
*49Windows 10 は既定で OneDrive にファイルを保存するhttps://support.microsoft.com/ja-jp/office/windows-10-%E3%81%AF%E6%97%A2%E5%AE%9A%E3%81%A7-onedrive-%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B-33da0077-770c-4bda-b61e-8c8e8ca70ac74687214936939669538
*50OneDriveのドキュメント・ピクチャデスクトップバックアップ同期をやめる手順 | パソコンかば堂本https://ikt-s.com/onedrive-backup-skip/-
*51Windows8をインストールしたSSD寿命を延ばす対策 | ZAKKINKShttps://zakkinks.com/windows8_ssd_hack/168055874
*52Windows10SSD寿命を延ばす対策第一回】 | ZAKKINKShttps://zakkinks.com/windows10_ssd_optimization/268597709
*53Windows10SSD寿命を延ばす対策【第二回】 | ZAKKINKShttps://zakkinks.com/windows10_ssd_optimization2/276446264
*54新しいコンテンツの保存先を変更する ( アプリインストール先変更方法を例に ) | ドスパラ サポートFAQ よくあるご質問お客様の「困った」や「知りたい」にお応えします。http://faq3.dospara.co.jp/faq/show/4557?site_domain=default369837603
*55一方、ふうえんさんちでは… SuperfetchとPrefetchについて~(1)http://blog.phooen.com/blog-entry-39.html217075081
*56windows10でAppData/Localを別ドライブへ移動する | ピースペースhttps://nasu38yen.wordpress.com/2015/11/19/windows10%E3%81%A7appdatalocal%E3%82%92%E5%88%A5%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B/274477044
*57mutaguchi on Twitter: "Win10スタートメニューショートカットファイルとの関係性が未だにいまいちわからんショートカットファイル編集すると、スタートメニューから消滅したりするんだよなぁ。挙動が分からなくて困る。" / Twitterhttps://twitter.com/mutaguchi/status/1298882977863270406-


追記

トラバコメブクマしてくれた方々に感謝。人の興味を惹く内容を投稿できて良かった。

以下、説明しようと思ったトラバブコメに返信。

hoimin-densetsuさんのセルクマ

ブクマエントリのdata-entry-createdと件のブクマの日時分が一致してるが、濡れ衣だ。

初代Core…Allendale(65nm、Meromアーキテクチャ)か

Core第1世代Nehalem)のつもりで書いたが、Core Duoとかもっと古いのを失念してたので本文修正

こんだけ知識あるおじさんがお金無いはずがない

技能金銭にできない人々を我々は見てきたはず。

電源は新品がいい

古い電源でもイケるのではと憶測してそれを実証してみたいと思わなければ、自分もきっとそうした。

10年前にHDD 3TBってめちゃくちゃ高級品だと思う

PCのだいぶ後で、TV録画のために買った外付HDDが元。ケースが死んだので、中身をデータドライブとして使っていた。

一体何にパソコンを使っていたのか

はてブと5chとTwitterとそれらの引用元を隅々まで読む作業動画漫画鑑賞、Paradoxゲーム相場観察。

メインPC別にあるんじゃないの

上記用途しか使ってないので、他に良いPCを買うのは勿体なくてできなかった。

この増田んちのジャンク置き場ヤバそう

Socket7M/Bとかその頃のPC雑誌とか、必要な人がいたら譲るんだが。

参考文献57まであって草

玉石混ぜて文章量を稼ぐムーブ

学生さん可能性も

老眼の始まったアラフォーで、日本人学生で、増田ユーザで、最近10年ぶりに自作PCをしたという積集合が空でない可能性とは。

無欲ではなく最高の贅沢なんだろね

過ぎた吝嗇は強欲と執着の発露だとは思う。

ヒキニート疑惑も抱いている

他の人は言うのを遠慮してたのに。

その間も知識アップデートはあったはず

生憎、数年前のRyzenショックを見逃す程度には、自作PC事情への関与が薄かった。

なんでブログで書かなかったの

完璧主義自意識過剰怠惰のせいでブコメすら継続的にできない性質なので。今回は衝動的に長文を書きたくなって投稿した。

多分友達になれる

追記を見たら、その気が薄れるのではないかな。

ケチオブドケチ

支出抑制しようとする情熱収入を増大させる方に向かって欲しい人生だった。

古老の趣味やな

初老のおじさんに何てことを。

机の周りもめちゃくちゃ綺麗にしてそう

偏執狂は恐ろしく整備された部屋か恐ろしく汚い部屋かどちらかに住んでいるものだと思う。

「これ、安かったんよ」と自慢している大阪オカン共通する

そういう行為から抜け出せないならそうすることが許容される愛嬌は持ち合わせたいものだねと。

貧乏人はなぜ労力や時間という「コスト」を無視するんだ

考慮した上で優先事項から排除する性分なんだ。

2020-03-06

Safariでsourcemapが動作しない

Safariデフォルトでsourcemapが動作する。っていう記事しか出てこない。この世にSafariのSoucemapが表示されない人は存在しないのだと思う。

本来動作としてはSafariの開発ツールリソースタブを押したときに左ペインスクリプトソースリーが表示され、そこのトランスパイル済みのjsファイル選択すると、そのファイルの下にツリー形式で元ソースが表示されるといった、動作になるそうです。

だが私の環境での動作は起こらない。そのjsファイル選択しても何も起こらない。

代わりになぞの数字だけのファイルが大量に表示されてる(これらは多分トランスパイル済みのjsファイル)、といった動作であり、こんなの読めるか!といった佇まいである。

さて原因だけど、Webpackのオプションを変更したら表示されるようになった。

webpack?のdeftool?とかいオプションに、cheap-module-eval-source-map が設定されていたんだけど

(俺が環境構築したわけじゃないし詳しくないのでなんでこの値を選択したとかも知らん)

これを #cheap-module-source-map に変更したらSafariソースマップ動作した感じである

だれもこの動作踏んでないのマジ?この世で俺だけ?一番乗り?普段からWebpackとか使ってない人間がこんなのわかるわけ無いだろ。

プログラミングってなんでこうエスパー能力求められる場面ばっかなの?

2019-06-05

anond:20190604104819

もうちょっとかみ砕いて説明したほうがよさそうだな。

好みのプログラミング言語があればそっちに合わせるから言ってくれ。ここは適当な感じで書いておく。

値を決めるのがcaller側でもいいなら、hasXXX、isXXXで当然bool値を返してそのbool値をもとにAかBを設定する。

if hasXXX(x) { r = A } else { r = B }

みたいな感じ。

値を決めるのがcallee側なら、initializeとかnewとかがいいだろうね。

r := module.New(x)

そんでもって、

package module

func New(x) returnType { if hasXXX(x) { return A } else { return B }}

みたいな感じ。

どちらがいいかカプセル化観点から決まると思う。callee側のモジュールに強く依存したデータを返すなら、callee側で値を決める。そこに何のデータが入っているかcallerは関知せず、callee側のモジュールけがそのデータ操作できる。

別にcaller側でも作れるようなデータなら、caller側でやる。

さらに言っておくと、関数名を何にするかはその言語でのお作法とかコーディング規約(不文律的な規約も含む)とかで決まるような気もする。何もなしで決めるならこうするよって例だけれど、すでに似たようなことをしているほかの関数があるなら、それに従うほうがいいだろうね。そいつらがcalculateならcalculateにしたほうがわかりやすいだろうし。

2019-05-22

4000Stepを超えるVueコンポーネントを見た

もはやどこまでが methodでどこからがcomputedなのかも判断できなかった。

VuexのModuleも5000Stepを超えていた。管理しているstateの数は100近かった。

もちろんTypeScriptなどという高尚なものを使っているわけもなく。コメントからなんとなくObjectの型を推測してデバッグするしかなかった。

テストなんてあるわけない

chromeデバッグツールけが頼りだ。Vueデバック用の拡張機能は重すぎて動かなかった。

非同期処理のハンドリングも雑だった。

async関数の中で平気でコールバック関数を呼んでたりするし、

awaitがついていないことも多々あった。

アプリ挙動が安定しないのは明らかに雑な非同期処理のせいだったが、コードが巨大すぎて原因を突き止めるには至らなかった。

処理の途中でObjectの型が変わることもしょっちゅうだった。

さすがJavaScriptだ。必要になったら必要になった分だけいくらでもプロパティを追加できる。

でもごめんなさい。追加してくれたのはありがたいけど、僕には今目の前にあるObjectに何が入っているのかもはやわからないんだ。

君が好意で追加してくれたプロパティを、僕は活かすことができない。

このコードにらめっこを始めてから3日間、全く進捗はなかった。

今日やっとなんとなく全体像がつかめてきたところだ。

明日からは、何かしらの進捗が出せるかもしれない。

とりあえずModuleを分割するところから始めようか

いや、その前にテストを書く必要があるのかもしれない。

でもどうやって書けばよいのだろう。正解がわからないんじゃテストの書きようがないじゃないか

週末には、上司に何かしらの報告を入れなければいけない。

どう説明すればよいだろう。いっそさじを投げてしまおうか

「あまりにも難解すぎて私には無理です」

と。

でもたった3日で諦めてしまってよいのだろうか?

しかしたら、これはものすごい成長のチャンスなのかもしれない

僕が世間知らずなだけで、世の中にはこんなコードがいっぱいあって、みんなこの試練をくぐり抜けて一人前になっているのかもしれない。

たかだか4Kステップときでガタガタ言うなと言われてしまうかもしれない。

この程度でさじを投げていたら、なんの仕事もできないのかも・・・

とりあえず今日疲れた。もう寝てしまおう。

明日になったらなにかいアイデアが出てくるかもしれないし

しかしたら親切な増田たちが、あっと驚く素敵な解決方法を見つけてくれるかもしれない。



明日自分に幸あれ

2019/5/22 記

2018-05-26

By Lick Watermelon May 25, 2018 588 米国驚愕法案下院を通過した。その名も「国民死刑制度」だ。これは相次ぐ銃犯罪への対抗策として提出された一連の法案の一部で、この法案国民は誰でも任意相手死刑にできるという衝撃の内容だ。法案を提出した野党連合代表ロバートエリクソン議員は「アメリカ潜在的世界中の銃犯罪の温床になってきました。国民銃社会を脱却するときに来ています。銃に代わって国民を守るのがこの法案です」と語る。同制度では各州政府に設置される投票箱にアメリカ人の氏名・年齢・住所・職業などを記入して投函すると、アイデンティティ確認された人物を無条件に死刑にできる。在職中のアメリカ大統領および議会議員など任期中の執行猶予されるというが、例外は一切認められていない。エリクソン議員によれば「現在では読み書きができれば銃を手に入れ、任意人物を射殺することができますが、実際には銃撃によって国民が半減するには至っていません。この制度でも同様の難しさであらゆる人物排除できますが、相互の信頼と隣人愛が正しく機能していれば乱用される事例は起こらないはずです」とのこと。また、執行事務処理などを経て早くて1週間程度を要すると見積もられている。

全文→https://www.nytimes.com/2018/05/25/us/politics/banks-gun-sales-republicans.html?rref=collection%2Fsectioncollection%2Fpolitics&action=click&contentCollection=politics&region=stream&module=stream_unit&version=latest&contentPlacement=3&pgtype=sectionfront

2018-05-13

いつもと違う言語コード書くのつらい(´;ω;`)

たまにRubyコード書いてるけど、毎回色々と忘れていてつらい。

はあ、やっぱりいつも書いてる言語でなんでも書きたいものだ。

2018-03-22

おれめも

\ 2,000 Webカメラ (最低 480p/30fps) ベストセラーhttps://www.amazon.co.jp/dp/B003YUB66A/

\ 0 Photoshop もしくはレイヤー分解されたpsdファイルを吐ける同等のソフトウェア

\ 1,480 FaceRig http://store.steampowered.com/app/274920/FaceRig/

\ 398 FaceRig Live2D Module http://store.steampowered.com/app/420680/FaceRig_Live2D_Module/

上記FaceRig モジュール対応Live2D Cubism 2.1 までなので、Cubism 3 には手を出さずに旧製品を使うとよい、らしい。

http://www.live2d.com/ja/download

\ 0 Live2D Cubism Editor 2 Free http://www.live2d.com/ja/download/cubism2-pro-free-comparison

\ 0 Live2D Viewer http://sites.cybernoids.jp/cubism2/tools/live2d-viewer

以下参考

\ 0 Live2D Cubism 3 Editor Free版 http://www.live2d.com/ja/products/cubism3

Cubism 2.1モデルファイルへの書き出し は Pro のみなので、おそらくこちらは選ばないほうがよい。 http://www.live2d.com/ja/download/cubism3-pro-free-comparison

Cubism 3 に対応するViewerは Portable Viewer ? http://cubism3.live2d.com.s3.amazonaws.com/tools/portableviewer/download.html

・画を描く能力

・画を分解する能力

・画をマッピングする根性

時間

2018-02-25

pythonって一貫性なさすぎじゃない?

いや、実用的で素晴らしい言語だと思うよ。

でもさ、なんか一貫性が無いように感じるんだよね。

まず、言語の大半の部分がオブジェクト指向言語っぽいデザインになってるのに、listの要素数を測る手段len()って*関数*なのはどうなの?

(しか略語って...)

a = [1, 2, 3]
len(a)  # 3

他にもあるよ! pythonくんのアレな所

俺は、sortとsortedって言う命名からこの挙動をまったく予測できなかった。

  • 破壊的変更をする list.sort()
a = [1, 3, 2]
a.sort()  # None
a  # [1, 2, 3]
sorted([1, 3, 2])  # [1, 2, 3]

しかもsortedにdictを渡すとkeyがlistに変換されてソートされて返ってくる。

コードリーダビティに関する本を開けば、どの本にだって「良い名前選択する」ことの重要性が書かれていると思う。

「sort()が破壊的で、sorted()が非破壊的、sorted()にdictを渡すとkeyのlistがソートされて返ってくる」これって良い命名なのかな?

pythonくんってこう言う所あるよね

配列の要素を文字列連結

", ".join(['1', '2', '4', '8', '16'])  # "1, 2, 4, 8, 16"

えーっ、join()のレシーバー区切り文字って…引くわー

しかも、これに対する「文字列リテラル (文字列定数) のメソッドを使うのは*醜すぎる*」という意見に対しての公式の返答が、これってのも凄い。

かにそうかも知れませんが*文字列リテラルは単なる固定された値に過ぎないというのが答えです。文字列に束縛された名前メソッドが許されるなら、リテラルに使えないようにする論理的理由はないでしょう。

https://docs.python.jp/3/faq/design.html#why-is-join-a-string-method-instead-of-a-list-or-tuple-method

The Zen of Pythonで「醜いより美しい方がいい」って言ってましたやん。

そもそもリテラルかどうかに関係なくstrインスタンスにこのメソッドがある事がおかしいと思った。

なんでpythonくんって一貫性ないの? pythonくん「歴史です」

pythonmap関数として実装されている。(まただよ...)

list(map(lambda x: x*x, [1, 2, 3]))  # [1, 4, 9]

なんでメソッドにしなかったの? って質問に対して公式がこう答えてる。

主な理由歴史です。複数の型に対しての総称的な操作で、対象オブジェクトメソッドを全く持っていなかった (例えば、タプル) としても働くよう意図したもの関数は使われました。

(中略)

個々のケースについては粗探しのしようがありますが、Python の一部であるし、根本的な変更をするには遅すぎます

https://docs.python.jp/3/faq/design.html#why-does-python-use-methods-for-some-functionality-e-g-list-index-but-functions-for-other-e-g-len-list

うわー、信じられねぇ…

歴史的経緯があるから一貫性が無いのは仕方ないみたいなこの感じ。

これが設計思想に「醜いより美しい方がいい」を掲げるpython実装なんだねぇ…

pythonくんの良い所

散々pythonの事を悪く言ったけど、おれ実はpythonくんの良い所もいっぱい知ってるんだ。

pythonくんの良い所:

ライブラリが超充実してる!
インデントコードブロック表現する文法クール!
PEP8という規約であるべきコードフォーマットを明示したのが良いよね。
Cythonで高速化楽ちん!
namespaceが使いやすい! デコレーター便利!

美しくない、それゆえに強いプログラミング言語python

The Zen of PythonPython設計思想が色々書いてある。

「醜いより美しいほうがいい」という指針があることはさっき紹介した通りだ。

pythonがそれを体現してるとは、僕にはどうも思えない。

でもThe Zen of Pythonには「Although practicality beats purity.(実用性を求めると純粋さが失われることがある。)」とも書いてある。

pythonはこの設計思想を他の言語には無い高いレベル体現してるとは思う。

pythonは、

節操に色々取り入れた上で、「tupleからメソッドはやせないから、map関数にする」とか、メチャクチャ方法でそれらを統合した言語だ。

だが、そういう言語からこそ、pythonで書いたコードを育てていく中で様々なパラダイムへとシームレスに変化させていく事ができる。

そういう「不純であるがゆえに柔軟性を持ったプログラミング言語pythonだと思う。

ruby純粋性はすごいよ。イカれたくらい徹底されたオブジェクト指向

BaseObjectをrootとする継承のツリーの中に世界のすべてが収まっている。

haskell純粋性も凄い。「代入が無い」プログラミング言語に初めてであった時の衝撃。

でも、そういう純粋性をかなぐり捨てたpythonにはタブーが無い。

不純で醜い、それゆえに強い言語python.

から僕はrubyとの思い出を反芻し、haskellに焦がれながら、明日pythonを選び、書いていく。

2017-12-23

掲載してくれなかったAmazonレビュー

AmazonBose Acoustimass 300 bass module サブウーファー ブラック国内正規品】を購入したら、届かないのでレビューしたら掲載できませんと来たからここに。

★ - 評価者: ○○○、2017/12/22

商品が届きません。

この商品は重量物なので、商品が発送予定日に書いてある日には絶対に届かないそうです。

書いてある日にちは単にお飾りだそうです。便宜上書いてあるのだとか。

早く欲しいなとサウンドバーやリアスピーカーと3点セットで購入しましたが、この商品だけ届きません。

そう届きません。

全部同じ日に届くはずが、このウーファーだけ届かないのです。20日に発注し、配送予定日が最初22日〜23日と表示されていたものが、22日になり突如29日に書き換えられたので、慌てて何事かとAmazonサポート電話したところ、問題無く23日には届くとの回答を得られ一安心していました。

しかし、23日になって配送業から30日にしか届けられないと電話がありました。しかも、30日限定。なんで?

おかしいでしょという話で再度Amazon電話したところ、昨日は昨日、今日今日という回答。

素晴らしい回答です。

昨日確認できたもの今日確認できないの一点ばりで、もはや出荷したもの配送業者の責任なので、勝手配送業者とお客さんでやり取りして届くのが早くできるかどうかは調整してくれとの話。

外資系ですね。

しかも、現時点でAmazonのこの商品を覗くと、今発注すれば25日までにお届け♡と表示されていますおかしくないですか?と質問したところ、今後の参考にしますとの回答だけ。おやおや。

サウンドバーとリアスピーカーの音質は最高で、今までのホームシアターよりもとても良い音質で、テレビ音楽も良い音質で聴けるだけにウーファーも楽しみにしていましたが、残念です。届けば最高の音質が聴けるのでしょうけれども。届けば。

つの日か、音を聴ける日が来たらまたご報告させていただきたいです。

ただ、皆様もご発注の際には届かないことを念頭に、ご発注ください。今頃どこをさまよっているのか・・・

2016-07-25

gitにおけるコミットログ/メッセージ例文集100

私はコミットログの書き方に悩む英語の苦手な人間である。実際、似たような人は世の中に結構いるようで、頻出単語を集計したりまとめたものは既にあって役に立つのだけれど、これらはあくま単語の話であり、具体的な文を構成する過程でやっぱり困る部分がかなりあった。

要するに、どういう時にどういう文が使われているのか、ということを示した例文集が欲しいのであるググると他にも「例文集があればいいのに」みたいな声はあるくせして、しかし誰も作ろうとしない。何なんだお前ら。それじゃ私が楽できないじゃないか

仕方なく自分でまとめたので、増田に垂れ流しておく。

はじめに

ここで挙げているコミットログは全て実際のコミットログから転載である。当然ながら各コミットログ著作権はそれぞれの書き手にある。いずれも各英文でググれば出てくるし、フェアユース範囲なら許してくれるだろうと考え名前プロジェクト名は割愛したが、ここにお詫びと感謝を述べておきたい。

抽出条件だが、参考にできそうなコミットログを多く含んでいそうなリポジトリGitHubSTARの多い方からざっと目で見て適当に選び、それぞれ最新コミットから5000件抽出した(あわせて前処理として、コミットログ冒頭のタグ情報は消去した)。

結果として対象としたリポジトリは以下の通り。

atomのみ5400件抽出していたため、計25400件のコミットログベースである。このうち、以下の条件に合致するものは参考例にすべきでないとして一律排除した。

こうして残った8540件を眺めながら、適当に切り出したのがこの用例集である個人的に「うーんこの」と思った表現も、散見される場合は載せた。

ということで、以下用例を羅列していく。

用例集

オプションフラグメニューを追加した
ファイルを追加した
メソッド機能を追加した
実装を別のものへ切り替えた
  • Use args.resourcePath instead of args.devResourcePath
  • Use arrays instead of while loops
  • Use auto instead of repeating explicit class names
  • Use weak pointer instead of manual bookkeeping
  • Change all uses of 'CInt' to 'Int32' in the SDK overlay
  • Change Integer#year to return a Fixnum instead of a Float to improve consistency
新しく何かに対応した/機能上の制約を取り払った
何かを使うようにした
より好ましい実装に改良した
何かを出来ない/しないようにした
  • Don't bail reading a metadata instance if swift_isaMask isn't available
  • Don't exit until the parent asks for an instance
  • Don't include Parent pointer in Nominal/BoundGeneric TypeRef uniquing
  • Don't use MatchesExtension for matching filters
  • Don't use ES6 class for AutoUpdater windows class
  • Don't use MatchesExtension for matching filters
  • Avoid `distinct` if a subquery has already materialized
  • Avoid infinite recursion when bad values are passed to tz aware fields
オブジェクトの内容や挙動確認やすくした
Assertを追加した
不要コードを除去した
コードを移動した
名前修正した
さなバグタイポ修正した, 警告を潰した
バグや好ましくない挙動修正した
テストコメントドキュメントを追加した
テストを削除した
テストコメント修正した
ドキュメント修正した

表現傾向とまとめ

以上の用例をふまえ、今回の参考ログ8540件から先頭の単語を出現回数で並べると次のようになった。

Add1149
Fix1014
Update584
Remove566
Use382
Don't260
Make228
Move178
Change103
Rename85
Improve76
Avoid68
Allow65
Implement60
Handle58

コミットログの基本形はもちろん動詞 + 名詞である名詞固有名詞複数形、不可算名詞が多いが、単数形場合冠詞は a が使われるか、あるいは省略される。the はまず使われない。

何かを追加した、という表現では非常に広く Add が使われる。メソッドからテストドキュメントに至るまで大概これでまかなえる。

一方、何かを修正した、という表現では広く Fix が使われる。「何か」は typocrash といった単語からメソッド名まで幅広い名詞を取るが、動名詞はあまり取らないのと、that節は取らないのでその点は注意が必要である

Fix は「何かが正しく動くようにした」ことを示し、正しい動作内容が何かを説明しない。そこで正しい動作内容に言及したい場合Make sure が使われる(こちらはthat節が取れる)。ただし Fix よりもニュアンス的に重い表現と思われ、Fix を使わず Make sure ばかり使うのはちょっとキモいのではないかと思う(Ensure はさらに重い表現っぽい)。

また、Fixtypo 以外でのドキュメント修正に対して使われることは稀である。対して Update はドキュメントコメントテストに使われ、本体コード修正に対しては使われない。本体コード修正にあわせてテスト更新したなら Update が使われる。ただ、テスト機構それ自体バグ修正したなら Fix である

無駄な何かを単純に除去したなら Remove を使う。これまでのもの(A)からのもの(B)に切り替えたのであれば Use B instead of A か Change A to B が使われる。新たに何かを利用するようにしたのであれば Use を、利用を取りやめた場合Don't use を使うことが多い。

何かをしないようにしたなら Don't を、内部実装効率化なら Make A + 比較級/形容詞Improve が使われる。

中身の変更を伴わない単なる名前の変更なら Rename A to B、コード機能論理上の場所を移動させたなら Move A to B である

この辺はリファクタリングと呼ばれる行為と思うが、Refactor というぼんやりした動詞はあまり使われず、このように変更内容の種類に応じて動詞が使い分けられている。

余談

コミットログにはWhyを書くべきだ、というのを何かで見かけたので because とか since を使ったログがどの程度あるかを調べたが、8540件のうち22件だった。基本的に短く、シンプルに、一目で意味が取れるログが好まれる傾向がある。例えば get rid of とか2件しか使われておらず、圧倒的に remove である

一方で、シンプル単語だけど開始単語としては使われないものもある。例えば次のような単語である。Expand(9)、Extend(8)、Print(5)、Optimize(5)、Publish(4)、Append(4)、Modify(3)、Manage(2)、Revise(2)、Dump(2)、Insert(2)、Migrate(2)、Enhance(1)、Edit(1) 。いずれもカッコ内は8540件に対する冒頭での登場回数である。結局、より一般的平易な単語で表せたり、Refactor同様に抽象度が高すぎると使われないのだろう。

おわりに

8000件もログを見たおかげで、迷いなくコミットメッセージが思いつくようになったのが個人的には今回書いてて最大の収穫だった。たぶんカンニングペーパーを作る行為それ自体効率のいい学習になるという話と同じだと思う。

このまとめも100以上用例を転載してあるので、それを読むだけでも多少は効果があるんじゃないかと思う。同じようにコミットログ書きたくねぇなぁ英語わっかんねぇなぁと思っている人にとって、何か役に立つところがあれば幸いである。

2016-06-16

歴史的仮名遣への熱い差別

http://b.hatena.ne.jp/entry/qiita.com/tadsan/items/fb496e450fc27c8c4494

歴史的仮名遣へのヘイトスピーチが人気コメントの2位・3位。これはひどい。そして悲しい。

多分、著者のtadsanは一々コメントを返したりしないので、この場で勝手ツッコミを入れてみる。

bottomzlife なぜ意味不明歴史的仮名遣いがまじってるんだ。気持ちいからやめてほしい。プログラマなら日本語コーディングガイドラインも守れ

「まじって」なんかない。全文が単なる歴史的仮名遣しかない。(これは逆に、「現代仮名遣い」との差が少ない証拠になってる)

あと「日本語コーディングガイドライン」が「現代仮名遣い」を指すなら、そのガイドラインの方が意味不明でクソ。まだ歴史的仮名遣の方が論理的で、プログラマ的にも腑に落ちる。その辺は http://web.archive.org/web/20020612101011/http://hb9.seikyou.ne.jp/home/kyuri/nihongo/kana-hikaku.html でも見れば、小学生でも解る。

megazalrock ネット歴史的仮名遣い風を使う人は無条件に信用しないことにしている。

歴史的仮名遣い風」ではなく、正真正銘の歴史的仮名遣。(字音仮名遣? 知らない子ですね…)

それでも信用しないのなら、個人の勝手だが、そんな差別をする奴は信用ならない。

snobbishinsomniac 「ヘッダ」「メソッド」ではなくて「ヘツダ」「メソツド」だろうし、「レガシー」「モジュール」じゃなくて「レガシイ」「モジユウル」ではないのかな。

外来語の長音記号とか大書き・小書きとかはどっちでもええんやで。

ちなみに「モジュール」は「module」でダ行だから「モヂュール」と書く人も居る。

ghostbass 現代口語と正仮名遣いの相性の悪さ。良い事書いているのに。

慣れの問題。いや本当に。

時間を掛けてまで歴史的仮名遣の読み書きを習得する価値は、個人的にはある。似た感覚としては、全然論理的でないHTML3.2を捨てて4.01とか5.0に移行するのと同じ程度に有用

2016-04-13

anond:20160413023627

富士通入社5年目の自分だが、ちょっと会社庇護をさせてほしい。彼の求める仕事会社存在しなかったわけではない。

弊社、ここ数年、OSS利活用に猛烈に注力している。有名どころではCloud Foundry参画の話http://www.publickey1.jp/blog/15/26_paas.htmlOpenStackへのコントビュートリンク先は作為的抽出なので注意)http://stackalytics.com/?release=all&metric=commits&module=api-site

彼の求める仕事はおそらくあったはずで、彼がその仕事をできなかったのは運(縁)がなかったという話で同情するし、彼の上司はクソだという点にも同意する。(彼の心象にも、富士通への風評的にも、それ以前に人としてよろしくない)

Excel某の話は自分経験があって、弊社開発の闇。1年目は彼と似たつらい思いもした。そういったことも全部自動化できればよいが、マンパワーで解決してしまいがち。ただ、2年目からは新製品の開発を含めガッツリ開発できたし、今はSI上流工程担当させてもらって(苦戦はしてるけど)充実してると感じる。

彼の境遇から辞めたことを批判できないが、面白い未来もあったかもしれないというお話

今後の彼に幸あらんことを。

# ところで弊社、2016年入社であれば絶賛研修中のはずだけど、2015年度以前入社?あるいはグループ会社

2016-01-10

違い

呼び出し方が変わってきます。詳細は、以下のコードをみてください。

 

使い方

import MODULE

import decimal
y = 0
for i in range(1,10):
  y = y + decimal.Decimal('0.1')

 

from MODULE import CLASS

from decimal import Decimal
y = 0
for i in range(1,10):
  y = y + Decimal('0.1')

 

ちなみに

from MODULE.CLASS import CLASS_METHOD とはできない。

http://stackoverflow.com/questions/21347346/python-importerror-no-module-named-datetime

2014-11-13

http://anond.hatelabo.jp/20141026015847

続き

xvideo_helper というgemをみつけたので、xvideoのスクレイピングは簡単に出来た。

ただ、一覧から取得しているのでdescriptionが途中で切れているものは、ページにアクセスしてnokogiriでパースしてtitleを取るようにした。

あと、microsoft_translator を使って翻訳かけたり、言語判定を入れてみたりした。

ベタッと一枚のファイルで書いてたものmoduleかしたりもして、ようやく形になって一段落

あとは、AWS cloudsearchで検索機能をつけたいな。

http://sp.eropop.net/

2014-10-11

http://anond.hatelabo.jp/20141011221350

Firefoxでも同様の表示を確認した。

で、開発者ツールちょっと追いかけてみたが、このイメージ自体はwidth:100%が設定されているものの、本来親になると想定しているclass:hatena-module-bodyのDIVではなく、BODYタグのものブロック親要素とされている模様、

2014-02-16

古いプログラムの書き直しをしたいけど

研究室で使っているFortran77のプログラム

配属されてからいろんな機能を追加してきた。中規模くらいのプログラムで、研究ではメインで使っている。

でもだんだんつらくなってきた。とにかく見づらい。

1980年代に作られたこのプログラムは今までの人たちのコメントの蓄積が半端ない

プログラム書き換えでとりあえずとっておいたコードコメント、書き換えた日時と人が書いてあるコメントプログラム中に混在している。

これらは実際に動く部分のコードよりも多く、可読性をかなり下げている。

前者については、ほとんどが不要だと思うのだがあまり考えずに消すと将来困るかもしれないのでちゃんと確認して消したい。

そして未だに残るGOTO文とFORMAT文と文番号。implicit noneではない暗黙の型宣言。

Fortran入門: 知識として必要な過去のFortran このページに書いてあるほぼすべてが詰まってる。

COMMON文もほぼすべてのサブルーチンにあったが、これはなんとかmoduleに書き換えた。

moduleに書き換えたとはいえ、本来は引数で渡したほうが適切なもの機械的にCOMMONからmodule文に書き換えたためその辺も見直したい。

一番面倒なのが一行の文字数制限。何段かのインデントを入れるとすぐにアウト。

エディタ使ってると自動でインデント入れてくれるのでいちいち直すのも面倒だし、インデント好きなのでできればインデント入れたい。

エディタといえばシンタックスハイライトfortran77モードだとうまく表示できないことが多い。

allocatableとかmodule文なんかは厳密に言えばfortran90以降の機能だけどコンパイラ対応してくれているおかげで使える。

でもエディタシンタックスハイライトにはそういうコンパイラが気を利かせたような実装は含めないのでうまく表示されない。

fortran90モードを使うと今度は行頭カラムの空白が守られなかったりしてコンパイルエラー

すっげー書き換えたい。全部きれいにしたい。他言語にするとあまりにも変わりすぎて教授が混乱するからせめてFortran90にしたい。

でもさ、よく考えるとこの書き換えって全く自分の実績にならないんだよね。

そもそも今までプログラム改良して出来る計算の幅をだいぶ広げたけど、それ自体は発表できないからほぼ表に出ない。

計算結果を出してそれを発表しないと表面的にはまったく意味が無い。

ましてやプログラム保守作業であるこの書き換えは計算結果に影響をおよぼすものでもないから研究成果にはまったく現れない。

しかプログラム書き換えた自分だけじゃなく、みんなも使うから書き換えた自分特別得するわけでもない。

プログラムすべてのコードを書き換えるのは単純に機械的にやっても結構時間がかかるし、書き換えても一発では絶対にうまく動かないから修正にも時間がかかる。

研究者の中にはそういうプログラム書いてばかりの人間馬鹿にする人もいる。プログラムを書いてる研究者自分の分野ではかなりヒエラルキーは低い。

情報系でもないんだし、それが研究の本筋じゃないからというのはわかる。自分たちのやるべきことじゃない。(でも専門性の高い道具を作り、整備する技術・人も必要なんじゃないかなと思ったりもする。)

やってもあまり得しないし他のことやったほうが絶対に自分の将来を助けるけど、ほっとくのもなんだかなあと悶々としている。

多分きれい好きの人が自分の部屋を見たら同じ苦悩を抱えると思う。

2012-11-13

Python3でMeCab

python3.2にpythonバインディングを入れようとしても途中でエラーが出る

AttributeError: 'module' object has no attribute 'split'

setup.pyの中で使われているstring.splitがpython3.2では使えなくなってるからなので以下のように変更すればおk

setup.py

def cmd2(str):
    return string.split (cmd1(str))

を以下に変更

def cmd2(str):
    return cmd1(str).split()

これでいけます。困ってる人がいたら参考にしてください。

ログイン ユーザー登録
ようこそ ゲスト さん