Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに 昨日のTwitterで書いたこちらが非常に反響を呼びました。 半年間かけたデータ解析の仕事が全くうまくいかなかった 今回の失敗は契約書に納品物を明記していなかったこと 機械学習の依頼は学習済みモデルのファイルを納品しただけでは、先方は検収できず、結果支払いを受けられない この教訓をひとりでも多くの人に知ってもらいたい — キカガク代表 吉崎亮介 (@yoshizaki_kkgk) 2017年11月20日 そうなんですよね。 全く先方が悪いわけでもなく、私自身が「機械学習のお仕事=解析」だと思いこんでいたことが失敗の始まり。 結局のところ、機械学習系のプロダクトを依頼されて、学習済みモデルを作成して即納品とはいかず、検証結果を示されないと検収できないよとなってしまうので、結局アプリケーション側まで組み込まないと納得感はないんですよね。 この検証とは、訓練データと検証データを分けた時
About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
属人化の理由 個人の問題 手抜きやバグを隠す たとえば、仕様書外の動作を実装し、それをプロジェクトで利用する 解雇されないための保険的行動 チームの問題 マニュアルを作る文化の欠如 他人のタスクに対する無関心 他人の監査なしにプロジェクトを更新可能 どうやって属人化を避けるのか 間違った対策 ○○さん以外にもマニュアルなしで操作できる人間を育成 育成した人が全滅すればやっぱり同じ状況 全員がすべてのプロジェクトに精通するとかはムリ 正しい対策 モジュールごとに仕様書を用意 間違って使うことが難しい仕様とする 即ち、仕様書を読まなくてもある程度正確に使える お互いにコードレビューさせる 具体的にはどうすれば良い? テスト・仕様書・利用例 テストは仕様書のベースとなる 仕様書を見れば、深い動作がわかるようになる 仕様書を読まなくても、利用例を見れば使える 全員がテストできる環境を作る 前提条件
あすかです。 プログラミングしてる時、たまに気になる話を雑めに書いてみます。 (´・ω・`) C#、VBやJavaなど、クラスベースのオブジェクト指向言語を前提にした話ですが、this(Me)を書いているプログラム、そうでないプログラムをよく見かけます。 例えば、thisを書くのは このような場面ではthisを書きます。文法上の制約ですから当たり前です。 今回は、このようなものではなく、thisを書かなくてもいい場面の話です。 thisを書くメリット ちなみに私はthisを書く派です。 というのも、後でコードを読み返す時に、ローカル変数とフィールド変数の区別が一発で付くからです。 VSはthisを色分けしてくれますよね。 けっこう地味かもしれませんが、長いクラス(といっても500行を超えるようなクラスはめったに書きませんが)の一部分だけを読む時に、thisの存在はかなり役に立ちます。 他の
const ua = navigator.userAgent; if (~ua.indexOf('iPhone') || ~ua.indexOf('iPod') || ~ua.indexOf('iPad')) { return 'ios'; } else { return 'other'; } const ua = navigator.userAgent; if (ua.includes('iPhone') || ua.includes('iPod') || ua.includes('iPad')) { return 'ios'; } else { return 'other'; } ※「それ、もっとスマートに書けるよ」を書いた人はnavigator.userAgentを配列だと勘違いしていますが、navigator.userAgentは文字列です。(だからua.indexOf()はArr
$k$は定数で、だいたい0.04~0.06くらいです。Rの値によって以下のように分類できます。 Rが大きい: corner Rが小さい: flat R < 0: edge 図にすると、以下のようになります。 CSE/EE486 Computer Vision I, Lecture 06, Corner Detection, p22 これで手早くcornerを検出できるようになりました。ここで、corner検出についてまとめておきます。 cornerは複数のedgeが集まる箇所と定義できる 変化量をまとめた行列の固有ベクトルからedgeの向き、固有値の大きさから変化量の大きさ(edgeらしさ)がわかる 2つの固有値の値を基に、edge、corner、flatを判定できる 固有値の計算は手間であるため、判定式を利用し計算を簡略化する なお、Harrisはedgeの向きである固有ベクトルを考慮す
みんな exists を使ってます。 納得できようができまいが、exists なのです。 ソフトウェアの世界では、Apple と Microsoft と Google が黒と言ったら黒です。 黙って従いましょう。 このように、関数名の表現に困ったら、世の中の API を参考にすると良いです。 非ネイティブの我々では思いつかないような的確な表現が見つかることもあります。 関数の名付け方 真偽値を返す関数は if 文で使われることが多いので、頭に if を置いて最もしっくり来る表現が良いと思います。 個人的には、真偽値を返す関数名を考えるときは以下のフォーマットに当てはめるようにしています。 if オブジェクト名 関数名 「項目が選択中だったら」なら "if item is selected" なので関数名は item.isSelected() となります。 同様に「項目が存在したら」なら "
「800万円以上で指名されたユーザー」の80%がGitHubアカウントの入力をしていました。「400万円以下でしか指名されなかったor1指名もされなかったユーザー」と比べ、 約2倍と大きな差! 同様にQiitaアカウントやその他URLも、「800万円以上で指名されたユーザー」では60%以上が入力しており、「400万円以下でしか指名されなかったor1指名もされなかったユーザー」と比べ、2倍以上の差となりました。 普段からアウトプットを残しておくことが高い評価につながると言えそうです。記載できるアウトプットがある方は、ぜひ記載してみてください。 レジュメ(職務経歴書)は面倒くさがらず書き込むのがベスト! 転職ドラフトには年収評価シートというものがあり、今まで関わったプロジェクトについてチェックボックスとフリーテキストで入力してもらっています。 そこで、年収評価シートのフリーテキスト欄にどれだけ
MPEG議長Leonardo Chiariglione氏のブログ記事によると、2020年6月現在の権利者は45企業・団体に急増しており、うち2/3は3つの特許プールいずれかに所属するが、残り1/3はいずれにも属さないという分布状況です。日本でもBS4K/8K実用放送が開始されたように放送業界ではH.265/HEVCコーデック利用が本格化し始めましたが、ストリーミングや双方向Web会議など動画像コーデック需要が急騰しているWeb業界での利用はわずか12%程度に留まるため、MPEG系コーデックのプレゼンス低下は避けられないと予測しています。 MPEG動画像コーデックの歴史を振り返ると、特許問題はそれぞれの商業的成否に強い影響を与えてきました。 MPEG-2 Videoコーデックは2020年現在の日本でもテレビ放送に使われ続けており、明らかな成功モデルとなっています。ちなみにMPEG-2 Vid
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今日、大学に入って最初のプログラミングの授業があった。それについて少しばかり思うことがあったのでここに記す。以下の文章は、工学部情報系学科一回生の、最初のプログラミング授業について述べたものである。タイトルにもある通り、この文章は「初心者に対する」講義について言ったものであり、機械制御を専攻する学生に対する講義などを言うわけではない。 最初の言語がC 結論から述べよう。最初のプログラミング言語にC言語は向いていない。できないとは言わないが(私が最初に触れた言語もCだが)、より有力な候補がいくらでもある。私の所属する学科には機械分野に進む
はじめに 驚き最小の原則(法則)という言葉があります。 Wikipediaの記事を引用すると http://ja.wikipedia.org/wiki/%E9%A9%9A%E3%81%8D%E6%9C%80%E5%B0%8F%E3%81%AE%E5%8E%9F%E5%89%87 ユーザインタフェースやプログラミング言語の設計および人間工学において、インタフェースの2つの要素が互いに矛盾あるいは不明瞭だったときに、その動作としては人間のユーザやプログラマが最も自然に思える(驚きが少ない)ものを選択すべきだとする考え方である。 要するに、使うときに「おやっ?」という驚きが少ないほうが良いプログラムであるといえます[1]。 [1]: どっちが驚きが少ないか迷う場面もかなり多いですが・・・ この記事では敢えて驚きの多いプログラムの書き方を紹介します。驚きの多いプログラムを読むとどんな気分になるか、
Kotlin が Android の公式言語になることが Goole I/O 2017 で発表されました。 Java プログラマが Kotlin を始めることがこれから多くなると思うので、 Kotlin をスムーズに始められるように次の 3 点についてまとめます。 Javaとほぼ同じところ 新しい考え方が必要でつまづきがちなところ Kotlinならではの便利なこと すべてを一つの投稿にすると長くなるので連載形式とし、本投稿では最初の「Javaと同じところ」について説明します。 Kotlinって何? 本題の前に、 Kotlin について簡単に説明します。 まずは↓の Android のコードを見て下さい。これは Android Studio が生成するテンプレートの Kotlin 版です。 Android アプリ開発者であれば、初見でも概ね何をしているのかわかると思います。 class Ma
あと5年もすれば「Railsしかできない奴はいつまで経ってもRailsしかできない」て言われるようになるよ - ledsun のコメント / はてなブックマーク 5年と言わず、今すぐ言おう。 流行りだと言われてRailsをやってみることにする。 Railsチュートリアルを一通りやる。 それなりの物ができる。 チュートリアルに毛が生えた程度はできる。 他のフレームワークに挑戦してみる。 Sinatraやってみたけど、Rubyの基礎がわかってないから、挫折する。RailsがあればSinatraなど不要と言って、Sinatraを貶す。なお、RailsとSinatraの違いはわかってない。 いっそ、他の言語に挑戦してみる。 Javaやってみたけど、オブジェクト指向の基礎がわかってないから、挫折する。Smalltalkこそがオブジェクト指向の本流であり、C++風のオブジェクト指向は似非と言って、Ja
(この記事は Dave Cheney さんの Why Go? の翻訳です。) 数週間前、友人に「Goに注目に値するのはなんで?」と聞かれました。 彼は私がGoに情熱を注いでいることを知っていましたが、なぜ私が他の人もGoを気にするべきだと思っているのかを知りたいようでした。 この記事は、私がGoを重要なプログラミング言語だと考える、3つの大きな理由を紹介します。 メモリ安全 個人としては、私もあなたもC言語でメモリリークも危険なメモリの再利用もしないプログラムを書く事ができるでしょう。しかし、40年以上の経験から、集団としてのプログラマーはC言語で信頼できるプログラムを書けない事がはっきりしています。 コードの静的解析、 valgrind, tsan (訳注: たぶん ThreadSanitizer), -Werror といったツールは10年以上前から使えますが、それらのツールが広く認知さ
「めんどくさそう」先入観で敬遠していたのですが、仕様を見たらそんなでもなかったので書き残しておきます。手っ取り早くコードを見たい方はこちらをどうぞ。 ユーザとして、ソースマップに接する機会は多いですが、AltJSを作るとかでもない限り、あまり提供側に回ることはないかもしれません。私自身、次のような疑問というか誤解を抱えたまま、深入りしなかったクチです...。 誤解1: ソースマップを作るにはASTを作る必要がある → 実際はもっとシンプル 誤解2: なんかすごいエンコード(AAAA;AACA;AACA;AACA...)がされてる → ただのBase64 よく見かけるソースマップの説明記事(というほど、記事自体ないけれど)では、「ソースを構文解析してASTを構築して...」という手順が出てくるのですが、 ソースマップにASTは必要ありません。 もちろん、実際にAltJSを作るならASTの作成
Guetzli [guɛtsli] とはスイスドイツ語でクッキーの意味。1 Go Guetzli or go home #baking #christmas #cookies #heyprettyeats https://t.co/55nX22aNOA pic.twitter.com/v4Fj8qyZo9 — HeyPrettyBeautyBlog (@HeyPrettyBeauty) 2015年12月5日 Google が2016年10月22日に GitHub で Initial Release を公開 2 した JPEG エンコーダー。2017年1月13日に GIGAZINE で紹介される。3 2017年3月15日に 1.0 がリリース 4 され、Google Research Blog でアナウンスされた 5 ため、同17日頃より国内メディアで紹介され始めた。 Google、より高画
バージョンごとに進化するIEのバグ 備忘録も兼ねて記事にまとめました。 バグについての解決策と補足も併せて記載してますが、 記事に記載されていない遭遇率高めのバグやより良い解決策などがあれば、是非フィードバックをお願いします。 まとめてみた所感としては、IE6の頃から根本的な部分は変わってない気がします。 (ただし、パフォーマンスが大幅にアップしたのは認める。) IE11はWindows10の場合、2025年までサポートが続きます。 https://support.microsoft.com/ja-jp/lifecycle/search/18165 ナンテ/(^o^)\\(^o^)//(^o^)\\(^o^)//(^o^)\コッタイ もうね...アボカドまるごとバナナかと。 ちなみに今年の4月でVistaがサポート終了するので、1ヶ月後にはIE9を窓から放り投げてOKです。 https:/
0. 前書き 前回「ASP.NETのセッション管理方法を整理する」で、ASP.NETのセッション管理方法についてまとめました。今回は、Custom定義のバリエーションとして、Azure Redis Cacheを用いたセッション管理方法について手順をまとめます。 バージョン情報 name ver. 1. Azure Redis Cacheとは Redis Cacheとは、オープンソースのNoSQLです。ちょっと古い記事ですが、こちらの説明が分かりやすかったです⇒「redis、それは危険なほどのスピード」。そのRedis Cacheを基盤にしてAzureのサービスとしたものが、Azure Redis Cacheというわけです。 2. 実際に使ってみる Azure Redis Cacheを有効化し、アプリケーションで利用するまでを手順を追って説明していきます。 2-1. Azure Redis
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く