タグ

関連タグで絞り込む (205)

タグの絞り込みを解除

programmingとProgrammingに関するNyohoのブックマーク (443)

  • コードレビューに費やす時間を短くする - クックパッド開発者ブログ

    はじめに こんにちは、広告事業部の芳賀(@func09)です。普段はクックパッドの広告配信周りや純広告・タイアップ広告などの商品開発を行っています。 私が広告事業領域の仕事をするようになって、そろそろ1年になるのですが、初めはエンジニア以外の人(営業、編集、広告入稿、レポート、メール配信、などなど様々な担当者がいます)と業務をすることが多くてコミュニケーションが上手くいかず業務がスムーズに進まないことがありました。 当たり前のことではありますが、エンジニアにしかわからない言葉は使わないとか、できるだけ相手の業務を理解し相手の考え方や視点に立って話すなど、ちょっと工夫することで、長引きがちなMTG相談がすんなり終わったり、お互い良い気分で終わることが多くなって、費用対効果が高いなと感じています。 一方でエンジニア同士のコミュニケーションでも時間がかかってコストが高いと感じることがあります。

    コードレビューに費やす時間を短くする - クックパッド開発者ブログ
  • コンパイラーを負かす

    roguelazer's website: beating the compiler なかなか面白かったので翻訳して紹介する。 たとえば、97%の場合において、僅かな効率など忘れるべきである。。早すぎる最適化は諸悪の根源である。とはいえ、残りの重要な3%の機会を逃すべからず。 -- Donald Knuth 計測せよ。計測するまで速度の最適化を施してはならぬ。たとえ計測したにせよ、一部のコードが残りを圧倒するまではまだ最適化してはならぬ。 Rob Pike 最新のWebサービスを主体とした技術の業界に長年浸かった我々は、パフォーマンスの問題を忘れがちである。SQLAlchemy ORMの中で行うリクエスト一つが8,9秒かかる中で、関数呼び出しひとつを3ミリ秒最適化したところで何になるというのか。とはいえ、時にはそのような最適化スキルを養っておくのもいいことだ。今回は、ある簡単な課題を最適化

  • 再帰関数のスタックオーバーフローを倒す話 その1 - ぐるぐる~

    再帰関数のスタックオーバーフローを倒す話を何回かに分けてします。 連載目次 再帰関数のスタックオーバーフローを倒す話 その1 ← 今回 CPSとCPS変換の話 再帰関数のスタックオーバーフローを倒す話 その1.5 F#での「末尾」についての話 再帰関数のスタックオーバーフローを倒す話 その2 .NETにおける末尾最適化の方法についての話 再帰関数のスタックオーバーフローを倒す話 その2.5 継続モナドと、F#の残念さの話 再帰関数のスタックオーバーフローを倒す話 その3 すべてをあきらめて再帰をwhileに書き直す方法の話 はじめに 継続渡しスタイルもしくは継続渡し形式(Continuation Passing Style、以降CPS)という言葉を聞いたことがあるでしょうか。 今日はCPSの話をします。 前提知識は、F#のみです。 継続とは CPSの前に、まずは継続の話です。 継続と言って

    再帰関数のスタックオーバーフローを倒す話 その1 - ぐるぐる~
  • 若手開発者の後悔 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) これはある仕事熱心な若手開発者のほぼ実話です。2004年の後半、この若手開発者は小さな会社で働き始めました。条件は全て彼の望みどおりでした。給料はいいし、扱うのは彼の得意とするプログラミング言語、アプローチの複雑性、モデリングのアーキテキチャでした。 彼にとって今回の会社が初めての職場ではありませんでした。しかし、ここでの最初のプロジェクトは結果的に 問題だらけ に終わりました。当時、この若手開発者は、機能は絶対に変わらないものだと思っていました。しかし、それは間違いでした。機能が変更されるたびに完全なリファクタリングを行わなければなりませんし、バグを引き起こして膨大な時間を無駄にしてしまいます。彼は、テストを書くといった実直な方法も試してみましたが、書いたテストはメンテナンスが必要な上、書くのに時間

    若手開発者の後悔 | POSTD
  • cURL as DSL — cURL as DSL 1.0 documentation

    cURL as DSL¶ github repository Target: Curl Command: Generate Code Reset Result code is printed here. Usage¶ Select target envirionment and type curl command in above text box. You get source code that works as same as curl command. Enjoy! Supported Options¶ It doens’t support fully options of cURL. It supports only options for http 1.x in the following list: [supported options:] --basic Use HTTP

  • 自作CPU向けCコンパイラをつくってOS動かした話 (CPU実験まとめ) - kw-udonの日記

    僕の学科では伝統的に3年の後期に半年かけてCPU実験というものをおこなう。 班で自作のアーキテクチャを設計・実装し、FPGA基板上でMinCaml(OCamlのサブセット)でかかれた課題用レイトレーシングプログラムが動けば単位がもらえるというものである。 レイトレ完動後には、その高速化にはげむもよし、余興としてゲームをつくるもよしで、自作CPU上で色々あそんだりする。 今年は有志で班を結成し、自作CPU上でxv6というOSを動かした。 僕はその班にCコンパイラ係として参加したので、そのことについてかく。 あと、OS移植班全体の成果についても触れる。 わりと長くなってしまったので、結局なにができたんだっていう人は、とりあえず先にこっちに飛んでほしい。 動機 期間は4ヶ月程度、配布されたFPGA基板のうえで動かしたいという制約のもとで移植するOSはxv6を選択した。 このOSはシンプルであるが

    自作CPU向けCコンパイラをつくってOS動かした話 (CPU実験まとめ) - kw-udonの日記
    Nyoho
    Nyoho 2015/03/21
    すごい
  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ

    関数名によく使われる英単語(動詞)の意味とニュアンス 関数名によく使われる英単語(動詞)の意味とニュアンス | PHP Archive プログラムで、よく利用される動詞の種類が豊富なリストです。 動詞を見つけるなら、一覧になっているのでcodicで検索するよりも手軽かもしれません。 以下のような、よく利用される単語の、主な用途と細かい意味、ニュアンス、使い分けについてリストアップされています。 追加・作成保存・出力読み込み・解析・取得編集・変更・修正削除検索検査許可・禁止その他プログラミングに出る!英単語 C言語編 – プログラミングに出る!英単語 名詞なども含めて、一般的に関数名などで使われる英単語を百数十個まとめてあるページです。 C言語編と書かれていますが、どのような言語でもよく利用されている単語ばかりなので、ここにある単語さえ押さえておけば、自分以外の人にも理解されやすい名前をつけ

    プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ
  • 『pixivエンジニアが教えるプログラミング入門』という本が出ます - pixiv inside [archive]

    インフラチームの @catatsuy です. 去年非エンジニアの新卒にプログラミング研修というのをやりました. 非エンジニアの新卒にプログラミング研修を行いました - pixiv inside [archive] 縁あってこの研修の内容を書籍化しました. pixivエンジニアが教えるプログラミング入門 (星海社新書) 作者:金子 達哉星海社Amazon Amazon では 2015/03/26 に発売されるそうです. 非エンジニア向けということで手軽に手に取れるように技術書ではなく新書として星海社さんから発売されます.内容は実際にやったプログラミング研修を同じく実際に Mac 上で動く画像投稿掲示板を作ってもらうという内容です.実際に作る画像投稿掲示板のコードは以下に公開しています. catatsuy/sinatra_keijiban 以下の様な読者が対象読者であることを書の『はじめに』

    『pixivエンジニアが教えるプログラミング入門』という本が出ます - pixiv inside [archive]
  • Ruby初心者必見!?「ビンゴカード作成問題」のリファクタリング風景をお見せします #codeiq - give IT a try

    はじめに 先月、CodeIQにビンゴカード作成問題を出題しました。 CodeIQに「ビンゴカード作成問題」を出題しました。みなさんの挑戦をお待ちしてます! - give IT a try このビンゴカード作成問題、ありがたいことに50人もの方が解答を送ってくれました。 挑戦してくださったみなさん、どうもありがとうございました。 前回のエントリでは優秀作品ベスト3を発表しました。 今回のエントリはその続編です。 一部の解答(5)について、僕が実際にいただいた解答を採点しつつ、リファクタリングする様子を動画に撮っておいたので、その様子をお見せしちゃいます。 おさらい「ビンゴカード作成問題」とは? ビンゴカード作成問題とはその名の通り、Rubyを使ってビンゴカードを出力する問題です。 Bingo.generate_cardというメソッドを呼ぶと以下のような文字列を出力する、というのが要求仕様で

    Ruby初心者必見!?「ビンゴカード作成問題」のリファクタリング風景をお見せします #codeiq - give IT a try
  • [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp

    第1章関数プログラミングは難しくない! ―初めて学ぶ人にも⁠⁠、挫折した人にもきちんとわかる 山和彦 2015-03-02

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 記事一覧 | gihyo.jp
  • 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp

    [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第1章関数プログラミングは難しくない! ―初めて学ぶ人にも⁠⁠、挫折した人にもきちんとわかる マルチコア環境が身近になった影響からか、勉強熱心なプログラマの間で関数型言語が話題になっているようです。関数型言語が奨励する関数プログラミングでは、これまで命令型言語で習得した、命令プログラミングの再代入を使う技法があまり通用しません。そのため、「⁠関数型言語は難しい」と言って途中で投げ出してしまう人も多いようです。 この特集では、関数プログラミングの習得を一度諦めてしまった人や、これから始める人のために、関数プログラミングのポイントをできるだけわかりやすく説明します。 筆者がわかるようになるまで 実は筆者も長い間、関数プログラミングを習得できませんでした。筆者は、長年Emacs Lispを使って、Mewというメールリーダーを開

    第1章 関数プログラミングは難しくない!―初めて学ぶ人にも、挫折した人にもきちんとわかる | gihyo.jp
  • 絵本でプログラミングを6歳の女の子にも―、北欧から世界に広がる女性プログラマの輪 | HRナビ by リクルート

    どうやったら6歳の女の子に「ガベージ・コレクション」や「抽象化」というプログラミングの概念が分かるのか? 女性向けの無料プログラミング・ワークショップとして2010年に始まった「Rails Girls」創始者のリンダ・リウカス(Linda Liukas)さんは最近、子どもたちにプログラミングを教えるための絵を描いている。主人公は、Rubyという名前の女の子だ。 「フィンランドでは2016年から学校でプログラミングが必修になります。7歳以上、男女問わずです。ですが、これまでは小さな女の子もプログラムをやるべきだ、と言う風になっていませんでした。私は女の子にもプログラミングをやってほしいと思っています。なぜなら、プログラミングやソフトウェアといったものは、もう世界中どこにもあるものですから」 リンダさんが描くのは、プログラミングの概念を日常生活にたとえた一種の喩え話だ。 プログラムの実行には

    絵本でプログラミングを6歳の女の子にも―、北欧から世界に広がる女性プログラマの輪 | HRナビ by リクルート
    Nyoho
    Nyoho 2015/02/25
    面白そうだなあこれは。「日本でも出版したいという。」期待
  • Reactive Programming in JavaScript

    - + 最近の小学校では、「お父さん・お母さんの名前をグーグルで検索してみましょう」という、世にも恐ろしい授業があるらしい。・・・。 — 丹 洋介 (@yosuke_tan) January 25, 2015

  • Haskellでの合成可能なオブジェクトの構成とその応用

    Haskellでの合成可能なオブジェクトの構成とその応用 木下郁章, 山和彦, 2015 Haskellで状態を管理する際は、 一般的に代数データ型や型クラスが用いられるが、 データが拡張できないか、動的な性質を持たない。 そのためHaskellは、 複雑な状態を扱う問題領域には適していないと考えられてきた。 一方で、一般的なオブジェクト指向言語では、 オブジェクトを提供することでこの問題領域で成功を収めている。 論文では、Haskellの言語仕様を変更することなしに、 オブジェクト指向言語から着想を得たオブジェクトを実現する。 論文で提案するオブジェクトは圏を構成し、合成を用いて継承を表現できる。 また、終了する運命にあるオブジェクトやストリーミングなどに応用でき、 複雑な状態を扱うゲームの実装にも使われている。 論文をダウンロード(PDF) PPL 2015 発表スライド ここに

    Nyoho
    Nyoho 2015/02/23
    このところよくふみさんが山本さんとやりとりされていた成果が論文になったんだ! 面白そう。
  • CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」

    社内ライブラリを8年間に渡って作り、サポートし続けてきた講演者が、1~2年で完成するだろうという当初の想定とは裏腹に、なかなか進まない作業、得られないサポート、バグの押し付け合い、それら数々の修羅場から得られた、技術面およびサポート面でのノウハウをお伝えします。 http://cedec.cesa.or.jp/2014/session/ENG/8073.html ※2014/9/4にCEDEC2014@パシフィコ横浜で行った講演です。

    CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」
    Nyoho
    Nyoho 2015/02/14
    すごく大変そう。それとともにすごく優秀な方なんだろうなあと思う。
  • NewsPicks クラッシュしないアプリ制作の鉄則 - Uzabase for Engineers

    NewsPicksサービスの開発を行っている大川です。 日はNewsPicksのスマホアプリがどんな設計になっているかを紹介します。社内LTネタを元にしています。 階段の部分はどうやってるの?(『NewsPicksUIデザイン』) 文字が読みやすいように工夫しているの? などいろいろと観点はあるとは思いますが、まずは全体として絶対に守っている「竜骨」とも言うべきコアの設計についてお話しします。どのアプリでも必ず守るべき鉄則となります。 鉄則とは端的に言うと、 ビジネスロジックをView, ViewControllerに密結合させない ということです。 まず大前提として、下記の3レイヤーに分けた設計を行います。 プレゼンテーション層は、ユーザーの操作に従ってViewのコントロールを行います。 ビジネス層は、データそのものや、データの取り扱い責務を担います。Viewへのデータ変更通知も行い

    NewsPicks クラッシュしないアプリ制作の鉄則 - Uzabase for Engineers
  • プログラミングの本を無料で手に入れる方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    プログラミングの本を無料で手に入れる方法 - Qiita
  • 多くの若きプログラマたちが学ぶべきこと | POSTD

    私はこの7年半、 Ronimo でプログラミングを学ぶ多くのインターン生を指導し、様々なタイプの大学生や大学院生を見てきました。彼らのほとんどには、共通して言える学ぶべきことがあります。特別なテクニック、アルゴリズム、数学、あるいは特定の形式についての話だと思う人もいるかもしれません。もちろんそれも必要ですが、中心的なものではないと私は考えます。彼らが主軸として学ぶ必要があるのは、自己統制力です。常に可能な限り読みやすいコードを書き、開発中の変更により秩序がなくなってきた時にはきちんとリファクタリングを行い、使用されていないコードを除去し、コメントを追加することができるという力です。 プログラミングのインターン生を指導する際、この話にほとんどの時間をかけます。上級のテクニックでもなければエンジンの詳細についてでもなく、概ね彼らにより良いコードを書かせることに主眼を置きます。いつもインターン

    多くの若きプログラマたちが学ぶべきこと | POSTD
  • 独学で 1 ヶ月間 OpenGL を学んで得た基礎知識のまとめ ~ 2D 編 ~ · けんごのお屋敷

    OpenGL。その単語の響きだけで素晴らしく魅力的に思える 3D コンピューターグラフィックスライブラリは、これまで何人もの駆け出しゲームプログラマーに幾度と無く挫折を味わわせてきた。「ゲーム作るならやっぱり高速に描画できる OpenGL でしょ。でも自分が作るゲームに 3D はいらないし、しかも難しそうだし、別に 2D 描画だけできればいいや」 と、軽い気持ちで手を出したのが運の尽き、世の中そんなに甘くはなかった。OpenGL というその難攻不落城は私達の進む道を阻むように高々とそびえ立っている。 OpenGL がコレほどまでに取っ付きにくいのは 気軽に Hello World できない からなんじゃないかと思う。OpenGL の場合だとそれは何かしら 1 つの図形を表示することにあたるのかな。でもたったそれだけなのに、覚えることが山ほどありすぎて全然題にたどり着くことができないし、O