タグ

プログラミングに関するkei_keiのブックマーク (94)

  • 数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita

    巷ではDeep Learningとか急に盛り上がりだして、機械学習でもいっちょやってみるかー、と分厚くて黄色い表紙のに手をだしたもののまったく手が出ず(数式で脳みそが詰む)、そうか僕には機械学習向いてなかったんだ、と白い目で空を見上げ始めたら、ちょっとこの記事を最後まで見るといいことが書いてあるかもしれません。 対象 勉強に時間が取れない社会人プログラマ そろそろ上司やらお客様から「機械学習使えばこんなの簡単なんちゃうん?」と言われそうな人 理系で数学はやってきたつもりだが、微分とか行列とか言われても困っちゃう人 この記事で行うこと 数学の基礎知識に慣れるための、数式が最初から出てこないプログラマ向けの数学入門書の紹介 機械学習の初学者には鉄板の、オンライン講座(MOOC)の機械学習コース紹介 環境 WindowsでもMacでもLinuxでも大丈夫(MATLAB/Octaveというツール

    数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita
  • RakutenMAによる形態素解析入門 - あんちべ!

    概要 稿はRakutenMAというJavaScriptだけで動く学習器付きの形態素解析器を利用する入門記事です。記事を読了すると、形態素解析の実行と形態素解析のモデルを作成・更新出来るようになります。 また、稿ははてな×PC工房との連動企画の補足をするべく書きました。 「あんちべさんと一緒に Rakuten MA で形態素解析はてなニュース連動企画 第二弾! : パソコン工房 パソコン工房のPCで遊ぼう第2弾! あんちべさんと一緒に Rakuten MA で形態素解析 - はてなニュース RakutenMAを利用したエディタ判定器デモ エディタ判定器 :パソコン工房 【やじうまWatch】Emacs派とVim派の対立を煽る「エディタ判定器」が面白いと評判 -INTERNET Watch はじめに 近年、twitterやFacebookなどのSNSAmazonのレビューなどから得ら

    RakutenMAによる形態素解析入門 - あんちべ!
  • 関数型言語のウソとホント - Qiita

    追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあるいは関数型プログラミング言語を理解するもっとも確実な方法は、Haskellをあなたのマシンにインストールして何かまとまったアプリケーションを書いてみることです。Haskellでアプリケーションが書けたら、自分は関数型プログラミングを理解しているし使えると胸

    関数型言語のウソとホント - Qiita
  • 35歳定年説より怖いフルスタックエンジニアしか生き残れない未来とは - paiza times

    Photo by Joi 今回のpaiza開発日誌は片山がお送りします。 今後も技術(開発)を中心にエンジニアとしてのキャリアを歩んでいきたいなと考えている方向けに最近騒がれているフルスタックエンジニアとは何か、という事と、何故今後フルスタックエンジニアしか生き残っていけないのか?という事について書いてみました。 ■最近よく見かける【フルスタックエンジニア】とは何か? まずStackって何だろう?、というところで海外の記事などを読むと"LAMP stack"という言葉が良く出てきます。LAMPの場合、OSはLinux、WebサーバはApache、データベースはMySQL、プログラミング言語はPHP(もしくはPerlPython)という形で組み合わせたものの事を言います。つまりOS、Webサーバ、DB、プログラミング言語の組み合わせ≒積み重ね、なのでStackという事のようです。こういった

    35歳定年説より怖いフルスタックエンジニアしか生き残れない未来とは - paiza times
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • 開発チームにアーキテクトがいないなと感じてしまうような、残念なコードスメルの例 - 達人プログラマーを目指して

    まったく個人的なモチベーションの問題から、前回の最終更新から2年以上が経過してしまい、多くの読者のみなさんにはご心配をおかけいたしました。「プログラミングに関して調べたことや日々感じたことをメモとして残していきたいと思います。」というもともとの原点に立ち返って、あまり気負わずに、また今後も時々更新していけたらと思います。今までこのブログの主なテーマとして、JavaEEやSpringといったような、いわゆる業務開発で使われるような技術を中心としてきたわけですが、最近Springを使ったJavaの開発に(アーキテクトではなく)プログラマーとしてちょっと参加する機会があったので、その時気づいたこと、感じたことを書いてみたいと思います。 さて、皆さんはアーキテクチャやアーキテクトという言葉に対してはどのようなものをイメージするでしょうか。システムのセキュリティを確保するための方式であったり、大量の

    開発チームにアーキテクトがいないなと感じてしまうような、残念なコードスメルの例 - 達人プログラマーを目指して
  • Perl、C、Scala…プログラミング言語擬人化計画2|【Tech総研】

    前回に引き続き、C、shell、Perl、R、VB、Scala、ActionScript。7つのプログラミング言語を擬人化しました。話題沸騰中の子もいれば、舞台の中心からちょっとはずれてきてしまっている子もいる。プログラミング言語のセンター争いは熾烈です。 Perlは1987年12月、アメリカのウォール夫の元で生を受ける。父のラリーはコンピュータや言語学に精通し、母も中世ルネサンスや言語学を専攻する、高い教養を持つ両親の元で育った。 父の教えは厳しかったが、同時に自由でもあった。父は教育の中で、よくこの言葉を口にした。 「方法は1つだけじゃない」 (There's more than one way to do it) 何かを実現しようと思った時、それを達成する方法は1つだけじゃない。何通りも考えられる。そんな父の教えは、彼女の人格形成に大きな影響を与えた。 「こんな風にやってみたらどう

    Perl、C、Scala…プログラミング言語擬人化計画2|【Tech総研】
  • Pythonで数値計算のコツ:for文書いたら負けかなと思っている – はむかず!

    転職してから1年とちょっとが経ち、Pythonをメイン言語としてからも同じくらいが経った。最近やっとnumpy/scipyの使い方のコツがわかってきたと思うので、マサカリ飛んでくるのを覚悟でなんか書いてみようと思う。 転職して初めてPythonを使ったというわけではない(実際wafのwscriptとかは書いたことある)が、まあでもほぼ初心者同然だった。学習曲線でいうとPythonはすごく良い言語だと思う。Python体の言語仕様については、わりとすぐに覚えることができた。だが一方、numpy/scipyについては、そう簡単ではなく習得するにはそれなりに時間がかかったと思う。 ケーススタディ たとえば\(N\times M\)行列\(B\), \( M\times L \)行列\( C \), \( M \)次元ベクトル\(a=(a_k)_{1\leq k \leq M}\)が与えられて

  • tesseract-orc で 自作プログラムに画像の文字を読ませてみた - Kikuchy's Second Memory

    作っているプログラムで画像の文字を読み込む必要が出て来たので、手軽にできる方法を探してみました。 画像から文字を読むとなると、 OCR (Optical Character Reader) のライブラリを使うのが手っ取り早そうです。 OCR ライブラリの導入から、実際にライブラリを使ったプログラムを動かすところまでやってみました。 今回使う OCR の要件 今回は以下の条件の画像を読みたいので、この性能を満たしてくれる OCR があればバッチリ、ということになります。 画像には文字のみが書かれている 文字は単色、背景はほぼ単色 文字種は、数字とコロンのみの 11 種 文字は特定のフォントを使ってコンピューターで書かれたもので、印刷物でも手書きでもない 要するにこんな画像です。 見覚えがある? さあ、何の事やら。 OCR の選定 調べてみた所以下の二種類が有名なようです。 tesseract

    kei_kei
    kei_kei 2013/12/29
    OCRのライブラリの話。
  • GoogleのOCRライブラリ Tesseract

    急遽OCRを利用する必要があったので、フリーのライブラリを探してみた。 Linux(CentOS)で使えるものが無いか物色する中で、GoogleがOSSとして提供しているライブラリTesseractがあったので、導入から使用方法までを簡単に書いてみる。 導入 バイナリでも落ちているようだけど、ひとまずソースをダウンロードしてコンパイル、インストールすることにした。 下準備 デフォルトのCentOSでは入っていないパッケージをインストールする必要がある。 yum install libpng-devel libjpeg-devel libtiff-devel zlib-devel giflib-devel autoconf automake leptonicaのインストール Tesseractは内部でleptonicaを呼び出しているようなので、こちらを先にインストールする必要がある。 wg

    GoogleのOCRライブラリ Tesseract
    kei_kei
    kei_kei 2013/12/29
    いつか試してみる
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • ドキュメントベースの単体テストでxUnitを導入する前に考えて欲しいこと | Developers.IO

    ドキュメントベースの単体テスト ソフトウェア開発では、テストケースをExcel等で管理し、テストをテストフェイズで実施する方式(以下、ドキュメントベースの単体テスト)が行われてきました。 ドキュメントベースの単体テストでは、テストフェーズが明確に切られています。テストフェーズでは、テスト担当者がテストを実施し、結果をドキュメントに記録します。必要に応じてエビデンスも残すでしょう。もし、テストが失敗したならば、不具合管理票(バグ票)を起票します。そして、不具合の原因を分析し、仕様書やソースコードを修正します。不具合が修正されたならば、もう一度テストを実行し、不具合がなくなるまでこのサイクルを繰り返し、品質を高めていきます。 このようなドキュメントベースの単体テストは、機能や画面を対象としています。そして、ほとんどの場合は品質保証を目的としています。テスト件数や不具合件数、不具合の発生原因や修

    ドキュメントベースの単体テストでxUnitを導入する前に考えて欲しいこと | Developers.IO
  • 思考停止ワードとコミットログとコードコメント - 勘と経験と読経

    古い記事になるのだけれど、バージョン管理ツールにコミットログのNGワードを登録するという話が面白かった。ソフトウェアは思考がそのまま品質につながるようなところがある。思考停止に近しいワードを禁止してしまうのも手かもしれない。 コミットログのNGワード 注意するのも疲れるし、大抵の場合は注意しても直りません。 そんなわけで、私が面倒を見ている環境だとpre-commit-hooksを使って、規定のバイト数のコメント書かないとコミット出来ないようにして対応しています。 コミットコメントを意地でも書かせたい - almost nearly dead 単にコメント無しを規制するだけではなく、思考停止してしまうようなワードを禁止しているのが素敵。 また、これに加えて会社名や人名も禁止してしまうのはうまいやり方だと思う。人の名前が出てくるとそこで情報が隠蔽されてしまうし、「問題 VS 我々」のスタンス

    思考停止ワードとコミットログとコードコメント - 勘と経験と読経
    kei_kei
    kei_kei 2013/09/30
    これ、うちもやってみたいな
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
    kei_kei
    kei_kei 2013/09/18
    「個人的な目安としては3ヶ月に1回程度のリリースがないと大きなメリットとはならないと感じます。」そんなもんか。
  • 今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 – sumyapp

    今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 – sumyapp
    kei_kei
    kei_kei 2013/07/24
    アセンブラ分からないのにプログラム書くな、みたいな話?
  • ”Winnyは金子さんの本流じゃなかった”——東大 平木教授、稲葉准教授インタビュー - 週刊アスキー

    独自理論のニューラルネットワークAIを組み込んだ3D格闘ゲーム『NekoFight』について語る金子さん(2009年の第参回天下一カウボーイ大会より) インタビューの後編は、平木敬教授と、同じく金子勇さんと親交の深かった稲葉真理准教授を交えてお届けする。金子さんが取り組んでいたニューラルネットワークのアルゴリズムは、NekoFight(物理演算とAIを組み込んだ3D格闘ゲーム)の対戦相手に組み込んでテストされていたほか、ある別のレースゲームにも組み込まれ、着実に成果をあげ始めていた。 金子さんにとってWinnyに代表されるP2Pネットワーク構築はすでに“終わった話”で、興味の中心はニューラルネットワークに移っていたと稲葉准教授は言う。 金子さんのものづくりのスタイルと、独自の発想がどういう方法論から生まれてくるものだったのかをお二人の言葉から探る。 (前編の記事はこちらから読めます) ■「

    ”Winnyは金子さんの本流じゃなかった”——東大 平木教授、稲葉准教授インタビュー - 週刊アスキー
  • コード内で「現時刻」を気軽に取得してはいけない | Nekoya press

    日付を扱う処理についていろいろまとめたついでに、わりと簡単なことだけど知らないと落とし穴にハマる系のネタを。 日頃いろいろな処理を書いていて、現時刻を扱うこともは少なくないはずです。ですが、これを適当にやっていると困ることが多々あります。 実行中に「現時刻」を元にした処理がい違う 例えばこんなコード。ログ集計とかやってるイメージです。 class Analyzer(object): def analyze(self): logfile = datetime.datetime.now().strftime('my_log_file.%H') self.save(self.analyze_logfile(logfile)) def save(self, result): now = datetime.datetime.now() self.result[now.hour] = result

  • Python でポワソン画像合成のコード書いたよー | ぱろすけのメモ帳

    皆様こんにちは。元気に画像合成してますか? ふつーは画像合成とかあんまり興味ないですよね。僕も全然興味ありませんでした。何だか難しそうだし、面倒そうだし、Photoshop 持ってないし。でもですね、画像合成に全然興味がなく、一切関わりたいとも思っていなかったのは、画像合成について何ひとつ知識を持たなかったからです。皆様はポワソン合成についてはご存知ですか? ポワソン合成を用いると、以下のような画像を簡単に作ることができます。 モナリザをベースとしている感じはありますが、顔が違いますね。なんか違う。 実はこれ、以下の画像をベースとして 以下の絵を合成しています。 どの部分を合成するかについては、以下の画像で指定しています。 ポワソン合成を用いるとこのような合成を簡単に行うことができます。どうですか面白くないですか。 ポワソン合成は、SIGGRAPH というコンピュータグラフィクス界で非常に

  • 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?

    第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?:連載 C++開発者のための単体テスト入門(4/4 ページ) ■従来のテスト手法[2]:assertマクロの活用 ここまでprintf関数を使ったテスト(C++ですからprintf関数ではなく、「<iostream>ライブラリとcoutストリーム」を使うのをお勧めしますが)の手順を説明しましたが、この方法ではテスト対象の増加に伴ってテスト・ケースも次第に増えてきます。 そうなると、各テスト結果の検証に多くの時間を要することになります。printf関数(あるいはcoutストリーム)で出力しているのは、関数/メソッドが返した値そのものであり、それが正しいか否かを目視でチェックしているのですから、テスト・ケースが数百数千ともなると正直うんざりしますし、チェック・ミスも起こるでしょう。単に値を出力するだけではいずれ限界となるのです。 そこ

    第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?