タグ

programmingに関するch1248のブックマーク (845)

  • 単一責任の原則(SRP)についての見解と方法論 - FLINTERS Engineer's Blog

    こんにちは@kimutyamです。 今週末はいよいよScalaMatsuri2017ですね。 弊社は、今年も将軍スポンサーとして参加させていただきます。 そして今年も同人誌を配布させていただきます。 同人誌については去年配布した話を杉谷がブログで紹介しております。 labs.septeni.co.jp 今年の同人誌目次は以下となります。 ScalaAndroidアプリ開発 単一責任の原則(SRP)についての見解と方法論 末尾再帰の呼び出し最適化の有無によるScalaコンパイラの挙動について Akka HTTP で LINE bot を作ってみました 新卒scalaエンジニアが書くISUCONの歩き方 去年に比べて記事数は少なめですが、内容は濃くなっております。 ちなみに私は弊社の今泉と一緒に『単一責任の原則(SRP)についての見解と方法論』を執筆しました。 (Scala関係ないw) 代わ

    単一責任の原則(SRP)についての見解と方法論 - FLINTERS Engineer's Blog
  • SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ

    ネット上ではSIer批判=技術のことをわかっておらずプログラムも書けずPMも出来ない非効率でダメダメな上流工程と、 人月単位での労働力提供という業界の慣習に縛られ、持ち前の優秀な技術力・知識を生かせず非効率な作業を強いられているかわいそうな下請け開発者、という構図が確立されているように思います。 自分が関わるまでは、まあそうなんだろうなと思っていましたが、しかし実際にそういう立場のひとと関わりをもつにつれて、どうもそうではないのではないかと思うようになりました。このあたりの実情を書いていこうと思います。 なお、先に言っておきますが記事で書くことは、上流工程がどうのとか、業界の多重請け負い構造がどうのとか、給料が安くてとか労働条件が過酷でとか、そういう話とは全く関係がなく、純粋にプログラミングのスキルの話だけです。 対象はおもに詳細設計、実装UTだと思ってもらえれば。外部仕様が決まった状態

    SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ
  • 技術的負債の返済プロジェクトが失敗する 11 のワケ - jfluteの日記

    ワケ一覧 序の口: フレームワークだけが負債だと思ってる 序二段: ビジネスサイドに理解してもらう努力がない 三段目: 技術で遊び過ぎてしまう 幕下: 太り過ぎアーキテクチャ 十両: 過去に目もくれず、現状だって見ない 前頭: 技術に詳しいだけでアーキテクト 小結: アーキテクトの知識と覚悟が足りない 関脇: スパンが長く、モチベーションが続かない かど番大関: スパンが長く、人の入れ替えでチグハグ 大関: アーキテクチャデザインはどこへ? 横綱: 実は人間的負債だった 序の口: フレームワークだけが負債だと思ってる みんな、フレームワークが大好き。とはいえ、さすがにみんな、「フレームワークが古いことだけが負債」だなんて思ってないはずだが...なのに多くの人が、あたかもそのような振舞いと判断をしてしまう。潜在意識の Big Issue だから? o 信用できないテストデータ も負債 o 現

    技術的負債の返済プロジェクトが失敗する 11 のワケ - jfluteの日記
  • 例の機械学習コースが良いらしいと知りながらも2年間スルーし続けたがやはり良かったという話 - Qiita

    先日、オンライン学習サイトCourseraの"Machine Learning"コースを修了しました。これが最高に勉強になったわけですが、機械学習に興味があって情報収集を始めてる人にとって、「Courseraの機械学習コースがおすすめですよ」という話は 「はい、知ってます」 という感じではないでしょうか。 (たとえば、Qiitaで検索してみると、以下のような同コースに関連する超人気記事が出てきます) 数学を避けてきた社会人プログラマが機械学習の勉強を始める際の最短経路 - Qiita 機械学習をゼロから1ヵ月間勉強し続けた結果 - Qiita 僕もそんな感じで、幾度となく人や記事に同コースを薦められたりしつつ、たぶん2年ぐらいスルーし続けてきたと思います。 しかし約2ヶ月前、ひょんなきっかけから講座を始めてみて、やはり評判通り最高だったと思うと同時に、僕と同じような感じでこのコースが良い

    例の機械学習コースが良いらしいと知りながらも2年間スルーし続けたがやはり良かったという話 - Qiita
  • Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita

    関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対

    Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

    ch1248
    ch1248 2017/01/27
    C++の利点と得られたノウハウが詰め込まれた感じ。
  • 56歳からコードを書き始めて食べていく方法

    私は56歳、最近プログラミングを始めたんだ。 なぜかって?やりたいからに決まっているじゃないか。ようやく最近コツをつかめてきてね。でもコツをつかめたからといって簡単にはいかない。正直なかなか手こずっている。でもいいんだ。 アルゴリズムに挑戦して我を忘れるのは楽しいし、まだテストしたい事があって「あと数分だけ」と繰り返し自分に言い聞かせるのもいい。「今度こそ上手くいったかも、、」とドキドキしてから「やったぞ!ついに動いた。」となる瞬間も大好きだ。 でもこんな私には今まで趣味と呼べるものが何ひとつなかった。自分に見返りがない事に時間を費やすのは嫌だったんだ。ただ楽しみのためだけに何かをするのが好きじゃなかったのさ。休みの日にやる事といったら、ちょっとした小遣い稼ぎになるような事ばかりだった。 オーケー。もちろんコーディングだって小遣い稼ぎさ。上手くやればかなり稼げる。これだってあなたから見れば

    56歳からコードを書き始めて食べていく方法
  • (主に)ディープラーニングの成果を利用したAPI集(自分用) - Qiita

    ディープラーニングなどの成果を活用したAPI一覧 個人の整理用なので、分類や説明は大雑把です。 画像解析 IBM Watson AlchemyVision 機能・特徴 画像内で見つかった物体・人・文字を返す 試してみる IBM Watson Visual Insights(2016年6月末廃止予定) 機能・特徴 消費者の興味、活動、趣味、ライフイベント、製品に関連した洞察を抽出するためにオンラインの画像、ビデオを分析する 試してみる IBM Watson Visual Recognition 機能・特徴 画像中に映った代表的なものの関連する分類のスコアを返す 試してみる GOOGLE CLOUD VISION API 機能・特徴 画像からさまざまな情報を引き出す 画像を数千のカテゴリ(たとえば、「ヨット」「ライオン」「エッフェル塔」など)にすばやく分類する 画像に映る個々の物体や人物の顔を

    (主に)ディープラーニングの成果を利用したAPI集(自分用) - Qiita
  • 量産型プログラマを撲滅したい

    プログラマの生産性の差は、出来る人と出来ない人で10倍とも100倍とも言われる。そんな馬鹿な、と思われるかもしれないが、事実だ。 むしろ、一緒に働かせると、出来るプログラマが、下手に作られたプログラムの修正をしなければいけなくて、全体の生産性を落とすことになる。 つまり、出来ないプログラマはチームで働くと、生産性をマイナスにするのだ。厳しいことを言えば、いない方がマシなのである。 ソフトウェア開発にの手はいらないのだ。 では、出来ないプログラマとはどんな人たちか。 コピペで書くプログラマだ。他で動いているプログラムをコピペして、なんとなく直して書いているプログラマだ。 なぜプログラムが動くのか、どう書けば動くのか、わかっていない。 ただ沢山のプログラムを書くだけの量産型プログラマだ。こういう人のプログラミングは、デバッグさせてみて、横で見てるとすぐにわかる。 まず、エラーメッセージを見な

    ch1248
    ch1248 2017/01/13
    前職で直属の上司がそんな感じで俺は毎日発狂しそうになった。でも、撲滅した後に待ってるのはユートピアでも無かったりする。
  • エンジニアが知っておいて損は無さそうなISOの標準規格たち - Qiita

    「それ○○で標準化されているよ」って指摘されることほど、エンジニアにとっての屈辱は無いですよね。 ということで、世間知らずだと思われないためにも、手始めにISO縛りで有益そうな標準規格1をまとめてみました。 ちなみに、ISOとは…? 国際標準化機構(International Organization for Standardization)は国際規格を策定する世界最大のボランタリーな開発組織で、国家間に共通な標準を提供することによって、世界の貿易を促進することに貢献している という組織だそうです。 (どう考えてもIOSと略すべきだと思うのですが、ISOになった理由は諸説2あるようです。) コード体系 ISO 639 (言語名コード) 例: 日語 = ja, jpn 朝鮮語 = ko, kor 中国語 = zh, zho, chi, zho ドイツ = de, deu, ger, deu

    エンジニアが知っておいて損は無さそうなISOの標準規格たち - Qiita
  • Big Sky :: Matz の「言語のしくみ」を読んだ。

    Twitter で「言語のしくみ」読みたいなって呟いたら Matz 人から「献しましょうか」とメンション頂いて即答でお願いしました。ありがとうございます。 ひさびさ紙のを通勤電車の中で立ちながら読んだので手がだるくなりました。なんだか懐かしい感じがしました。 さてこのですが、一言で言うとこんなです。 Ruby のパパこと Matz が雑誌の連載に追われながら試行錯誤して作ったプログラミング言語「Streem」を解説する 聞こえが悪かったらすみません。言いたいのはこの「試行錯誤」がとても良いエッセンスになっている点なのです。実際にはその連載記事をまとめた物に対して、この当時はこの様に考えていたが後になってみると実は良く無かったといった振り返り「タイムマシンコラム」で構成されています。 この連載が1つのに纏められた事でプログラミング言語設計者の葛藤が非常に良く表されているな、そう

    Big Sky :: Matz の「言語のしくみ」を読んだ。
  • ディープラーニングについて学ぶならこの2冊を読むしかない|加藤貞顕

    年末年始はこの2冊を読んでいた。 『はじめての深層学習プログラミング』清水亮 『ゼロからつくるDeep Learning』斎藤康毅 結論から言うと、いま、人工知能やディープラーニングに興味があるひとは、2冊とも必読ではないかと思った。 アプローチが完全に対称的なので、両方読んだら、理論と雰囲気について、見通しがつくようになったのがとてもよかった。 『ゼロからつくるDeep Learning』は、ていねいに書かれたオーソドックスな入門書だ。人工知能開発によく使われる言語・Pythonの基や数値計算ライブラリの使い方からはじまり、ニューラルネットワーク、ディープラーニング、畳み込みときて、最後に画像認識を解説する。随所に適切な例題やサンプルコードを交えて、理論と実践をバランスよく説明している。 対して、『はじめての深層学習プログラミング』は、まったく真逆のアプローチだ。なんと、理論の解説など

    ディープラーニングについて学ぶならこの2冊を読むしかない|加藤貞顕
  • 分析SQLのコーディングスタイル - クックパッド開発者ブログ

    SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析

    分析SQLのコーディングスタイル - クックパッド開発者ブログ
  • ベンチャー系行ったらレベルが高すぎて辛い。 - 負け犬プログラマーの歩み

    今の職場で働きだして少し経つが、既にエンジニアとしての自信を割と失っている。 俺は自分のことを少なくとも「そこそこのエンジニア」と思っていた。でも今の職場では、俺は下から数えた方が早い。「技術は有るが人間的にはクソ」と自負していた俺は今「技術者としても人間としてもクソ」となりかねない事態に陥っている。 言い訳の材料はある。周囲のレベルが高いのだ。 自分で言うのもなんだか経歴は豪華な人が集まっている。コアメンバーは最高学府(あえて誤用)卒はザラだし、某世界時価総額トップとか某金融会社とか某大手ゲーム会社に居たとか、某ソシャゲーの幹部とか、あのフリマサービスを作ったとか、別会社の元CTOでしたとかはたまた現役CTOやってますとか集えば、下流エンジニアも皇帝、四天王、10傑(俺含まない)などの超一流だ。 文系で有名企業どころか正社員歴すらなく、名のしれた商品やサービスに協力会社の人間としても一度

    ベンチャー系行ったらレベルが高すぎて辛い。 - 負け犬プログラマーの歩み
    ch1248
    ch1248 2017/01/01
    似たような環境なので、すごく共感する。
  • 不寛容社会とエンジニアの「正しさハラスメント」 - エモくありたい

    先日、珍しく時間を持て余していたので、テレビを見る機会があった。 バラエティ番組を見るつもりもなく、また、10分ほどだったので、回したのはニュースチャンネル。そのときの題材に「不寛容社会」というものがあった。 何かと繊細な昨今、運動会での組体操でのピラミッド禁止や、除夜の金に苦情がきたために日中におこなうなど、ノイジーマイノリティによる過度な規制や自粛に疑問を示す内容であった。 「不寛容社会」というものは、インターネットにも溢れていると思う。いや、インターネットこそが不寛容社会を助長させていると言っても過言ではない状態だろう。どうあっても必ず誰かが批判をし、それが大きく取り上げられ、最終的には自由が制限される世界はまさに今のインターネットだ。 そうしたインターネットについて述べても良いのだが、今日は少し変わって、「不寛容」という言葉から連想された、エンジニアの「正しさハラスメント」について

    不寛容社会とエンジニアの「正しさハラスメント」 - エモくありたい
    ch1248
    ch1248 2016/12/29
    俺もよく指摘は受けるので気持ちは解るのだが、言い方・伝え方の工夫のはじまりが非効率のはじまりになるケースが多いのが、なあ。
  • 画像認識対決 ~Microsoft VS Google VS IBM VS AWS~ - Qiita

    はじめに この記事は、Life is Tech ! アドベントカレンダー2016 18日目の記事です。 はじめまして!iPhoneメンターのにっしーです。 「時間があるときに勉強しよう」と人工知能機械学習/Deep Learning/認識技術といったトピックの記事の見つけてはストックしてきたものの、結局2016年は何一つやらずに終わろうとしているので、とにかく一歩でも足を踏み出すべく、 質的な理解等はさておき、とにかく試してみる ということで画像認識技術に触れてみることにしました。 画像認識とは? 画像認識とは、画像データの画像内容を分析して、その形状を認識する技術のことである。 -- Weblio辞書 画像認識では、画像データから対象物となる輪郭を抽出して、背景から分離し、その対象物が何であるかを分析するのが基になります。 しかし、人間なら無意識化に行われていることですが、コンピュ

    画像認識対決 ~Microsoft VS Google VS IBM VS AWS~ - Qiita
    ch1248
    ch1248 2016/12/18
    MS凄いな。
  • 「関数型プログラミングって何?」日本語訳 - Okapies' Archive

    この記事は、技術翻訳 Advent Calendar 2016 の15日目です(枠が空いてたので勝手にお邪魔してます)。前回(6日目)は、id:msyksphinz さんの「個人が趣味技術書を翻訳するという意義について」でした。 今回ご紹介するのは、昨年末に公開された Kris Jenkins さん (@krisajenkins) の "What Is Functional Programming?" です。日語訳の公開については著者から承諾済みです。また、London Functional Programmers meetup での同タイトルの講演動画が公開されています。 関数型プログラミングの考え方は、世間ではどうも小難しい話だと思われている節があります。その理由の一つに、議論の抽象度が(比較的)高いことが挙げられるでしょう。例えば、以前このブログで紹介した「なぜ関数プログラミング

    「関数型プログラミングって何?」日本語訳 - Okapies' Archive
  • 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス

    2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る

    404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス
  • 今から新規でiOSアプリを書き始めるなら。2016年冬 - Qiita

    こんにちは @yimajo です。この記事は今から新規でAndroidアプリを書き始めるなら。に大きく影響されています。主な内容として次のような事柄を取り扱っています。 今から書くならこんな設計 こんなライブラリがあるが使ってみた感想 ただ、結論として大して深い内容は書けませんでしたので、がっかりせず、みなさん思い思いにやればいいよっていうことに終着しています。アドベントカレンダーのネタにみなさんも書いてみてはどうでしょう。 言語について Objective-C か Swift か まず最初に言っておくとObjective-CやSwift以外にもiOSアプリを始める方法はあります。例えばObjective-C++とかRubyMotionとか。まあそれはそれで良いところもあると思いますが、複数人でiOSアプリ開発を行いそれを保守したり機能追加したりすることを考えるとObjective-CかS

    今から新規でiOSアプリを書き始めるなら。2016年冬 - Qiita
  • コンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話 - kw-udonの日記

    僕は先日、「コンパイル時Cコンパイラ」なるプログラムをつくって、公開した。 「コンパイル時Cコンパイラ」とは、コンパイルするとC言語プログラムのコンパイルが行われるというようなC++プログラムである。 C++のコンパイル中に C言語プログラムのコンパイルを行う、 "コンパイル時Cコンパイラ"をつくりました #ELVMhttps://t.co/kKiLU3rLFX— うどん (@kw_udon_) 2016年11月18日 自分で書いておいてなんだが、「なんのこっちゃ」という感じではある。(ちゃんと記事中で説明する。) 実際、変なプログラムではあるのだが、とても嬉しいことに多くの人に面白がっていただき、予想だにしなかった大きな反響をいただいた。 Hacker Newsで1位になったり、LLVMの公式ブログで紹介されたり、果てはC++の作者であるBjarne Stroustrupにも言及されるに

    コンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話 - kw-udonの日記