タグ

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

タグの絞り込みを解除

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

  • シャドーイングとイミュータブルプログラミング - ぐるぐる~

    シャドーイングのない言語と、イミュータブル中心のプログラミング(以下イミュータブルプログラミング)の相性って悪いのでは?と思ったのでブログに残しておきます。 シャドーイングとは 既存の変数と同名の変数を定義して、そのスコープで既存の変数にアクセスできなくする機能です。 例えば、F#ではシャドーイングができるので、 let f x = if x % 2 = 0 then (* 引数のxをシャドーイング *) let x = -1 printf "%d, " x (* スコープが抜けたので、引数のxを表示 *) printfn "%d" x f 10 (* => -1, 10 *) f 11 (* => 11 *) となります。 シャドーイングのない言語、例えばC#では同じことはできないので、別の名前を付けるか、再代入で回避することになります*1。 public void F(int x) {

    シャドーイングとイミュータブルプログラミング - ぐるぐる~
    Nyoho
    Nyoho 2016/01/20
    プログラミング用語としてのシャドーイング shadowing を学んだ。
  • 独学でプログラミングをやってきた中で良かった技術書50選 | κeenのHappy Hacκing Blog

    今まで読んできた技術書の中で良かったものを挙げていく。 そろそろ棚が溢れるので捨てる前に書き留めておく。 私は独学でプログラミングを始めたので情報系専攻の人には何をそんなというも混っているだろうが価値は人それぞれ違う。 一応私自身について語っておくと学生時代はプログラミングに興味を持ちつつも数学科に進んだ。 しかしそこでもプログラミングへの興味は薄れず、色々を読んだり同学年の情報科学科の真似をしたりしていた。 今思えば日の精鋭たる東大情報科学科の人達に勝てる筈もなかったのだが学生時代に我武者羅になれたのは悪い経験ではなかった。 私が興味があったのは主にプログラミング言語そのもの、特にLispとその周辺。 何故か 挙げていく前に1つだけ。Webに大量に情報がある今、何故かについて説明したい。簡潔に言うと 文章が推敲されていて読み易い 1つの情報ソースに多彩な内容が載っている 巨大

    独学でプログラミングをやってきた中で良かった技術書50選 | κeenのHappy Hacκing Blog
  • 初めての個人WEBサービスを作り始める前にやるべき設計

    少し前の記事(「プログラミング未経験者がWEBエンジニアになるためにやるべきこと」)の元になったプログラミング初心者の二人が、それぞれ無事Railsのチュートリアルまで終わらせていざ自分のサービスを作りたい!ってなった時に、さて何から手をつけたらいいんやろう?という同じ悩みにぶつかって同じようなアドバイスをしてたので、またその内容をまとめてみました。 初心者に限らず、小規模WEBアプリを作る時にこういうことをしとくといいかなっていう個人的な手法みたいなのをざっくり書いていきます。 SPONSERD LINK 前提 一般的なシステム開発は下記のフローで進んでいきます。 要件定義 設計 開発 テスト リリース ウォーターフォールはこれを1回流して完成、アジャイルはこれを小さく切ってぐるぐる回すというイメージですが、「初めての個人アプリを最初にリリースするまで」という状況では、一番困るのは2の設

    初めての個人WEBサービスを作り始める前にやるべき設計
  • バルス祭にTwitter APIとRubyを使って「バルス」とつぶやいた人にメンションするアプリを作った - ワタタツの日記!(2016-01-15)

    ☆ バルス祭にTwitter APIRubyを使って「バルス」とつぶやいた人にメンションするアプリを作った バルス祭と挑発するTwitter社 今夜は『金曜ロードSHOW!』にてスタジオジブリの名作映画『天空の城ラピュタ』が放送されました。 ここ数年は、その放送を見ながらTwitterで実況しつつ、滅びの呪文「バルス」に合わせてみんなで「バルス」とつぶやくというのが、Twitterのストレステストになりつつ、Twitterユーザの楽しみになるというのがすっかり定着しております。 そんな、放送のたびに大量の「バルス」に耐えたTwitter社が、今日に合わせて、 「バルス」歓迎? Twitter公式も「ぜひお楽しみください」「もしかするとサーバ遅くなるかも」 (ITmedia ニュース) という挑発的な声明を出しておりました。 開発 これは受けて立とうと思い、Twitterで「バルス」とつぶ

    バルス祭にTwitter APIとRubyを使って「バルス」とつぶやいた人にメンションするアプリを作った - ワタタツの日記!(2016-01-15)
    Nyoho
    Nyoho 2016/01/16
    書きました! 書きまみた! 交流も出来てとても世の中平和になる感じがしました! ソースは公開しています。
  • 2016年注目していきたい技術 | κeenのHappy Hacκing Blog

    2016年個人的に注目したいというか力を入れたいというか成行を見守りたいというか、そんな技術達を書き連ねていく。ものによっては「何を今更」と思うかもしれないがあくまで私にとって、だ。 順不同。 Apache Drill 公式。様々なデータソースに対してANSI SQLでクエリを投げれるやつ。 ビッグデータの時代にETL無しで迅速にデータを分析出来るようにするために開発されてるらしい。 様々なデータソースというのは当に凄くて、CSVとJSONをJOIN出来たりする。 あるいはTSVの生ログとRDBにあるマスタデータをJOIN出来たりする。 個人的にはデータベースから抽出したCSVにクエリを投げたい時に便利かな、と思って注目してる。viewや一時テーブルを作る権限がないデータベースだってある。 あるいは、Zookeeperを使って分散モードで実行も出来るのでBigQueryみたいなのをオンプ

    2016年注目していきたい技術 | κeenのHappy Hacκing Blog
  • Swiftの勉強に最適! 愛知のスーパーハカーが開発したサービスアプリ PlayNow が便利過ぎる - ワタタツの日記!(2015-12-31)

    AppleiPhone 6s の CM を見て文化を学んだ 以前、Apple のこの iPhone 6s の CM を見ていて、Siri を使ってコイン投げをした後、英語で何を言っているのかわからず、よく聴いてみると、"Sci-Fi Western" と発音している感じがしました。 その方向で調べてみたら、 Sci-Fi Western (Space Western へ転送される) (Wikipedia) というのは SF のジャンルの一つだと言うことが分かりました。 全く知らない単語でしたので聞き取れなくて当然でした。 このように、文化も学べる Apple の動画たち。実にすばらしいですね。 これからも Apple の動画を見ることでたくさんの勉強をしたいと思います。 ありがとう Apple! ☆ Swiftの勉強に最適! 愛知のスーパーハカーが開発したサービスアプリ Play

    Swiftの勉強に最適! 愛知のスーパーハカーが開発したサービスアプリ PlayNow が便利過ぎる - ワタタツの日記!(2015-12-31)
    Nyoho
    Nyoho 2015/12/31
    書きました! 書きまみた! この年始にSwiftを学ぶのにとても便利なPlayNow.appの紹介記事です。
  • 「なぜ関数プログラミングは重要か」を要約してみた(その1) - Okapies' Archive

    関数型プログラミング (functional programming) の利点を説く際によく持ち出されるのが、QuickCheck の開発者の一人である John Hughes が 1984 年に著した論文 "Why Functional Programming Matters" だ。「なぜ関数プログラミングは重要か」という題名で日語訳もされているので、読んだことがある人も多いと思う。 要旨としては、冒頭の1章および2章で述べられている「関数型プログラミングが優れているのは、高階関数と遅延評価という、モジュール同士を貼り合わせる強力な『糊』を持っているからだ」という話がほぼ全てで、以降はそれを具体例に基づいて説明する構成になっている。ただ、その具体例として「数値計算アルゴリズム」やら「ゲーム人工知能アルゴリズム」やらの話が延々と続くし、しかもコード例が Haskell の先祖にあたる

    「なぜ関数プログラミングは重要か」を要約してみた(その1) - Okapies' Archive
  • キャンセルのキャンセル - くらげだらけ

    photo by wootam! キャンセルのキャンセルについて社内ブログに書いたので、こっちにも書いておこうと思います。 confirm, dialogのdesignは案外と難しいものです。 どのタイミングで表示すべきか? どのようなメッセージを書くべきか? どのようなアクションをユーザーに提示すべきか? そもそも当に必要なのか? いろいろと考えることは多いですが、「そもそも当に必要なのか?」という問からスタートして、ではなぜ必要なのか?と考えていけば最適な解決方法にたどり着けるように思います。基的にDialogは邪魔なものだと思うので、表示しないのが一番です。 confirm, dialogのdesignはどうあるべきなのかというのは、基的にはiOSやAndroidのDesign Guidelineにも書かれているのでまずはそれを読んでおけば多くの場合、最適な解を見つける指針に

    キャンセルのキャンセル - くらげだらけ
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    Nyoho
    Nyoho 2015/12/17
    おもしろ
  • ツイッターでプログラミングを実行できる!140字の面白コード10選 -

    Photo by Christopher こんにちは。谷口です。 24言語対応の無料オンラインプログラミング実行環境サービス「paiza.IO (パイザ・アイオー)」、皆様ご利用いただいたことはありますでしょうか? 24のプログラミング言語がブラウザで即実行できる『paiza.IO』 - paiza開発日誌 「paiza.IO」には、連動したツイッターアカウント「@paiza_run」がございます。 Twitterでプログラムコードを実行!結果を返信してくれるpaiza_run - paiza開発日誌 「paiza_run」宛てにツイッターでコードをリプライとして飛ばしますと、そのコードの実行結果が返信されます。「ちょっとコードを書きたいけど、実行環境起ち上げるのが面倒だな……」というときなどにご活用いただければと思います。ぜひ遊んでみてください! こちらの「paiza_run」、最近もコ

    ツイッターでプログラミングを実行できる!140字の面白コード10選 -
  • ソースコードを美しくデザインする - Qiita

    はじめに 以前こんな記事を投稿しました。ノンデザイナー・デザイン初心者向け、デザイン虎の巻 上記記事では、デザインという漠然とした問いに対して、キモとなりそうな点をツラツラと挙げています。その中でレイアウトを知るという項目があります。これはプログラミングにおいても役に立つ重要な知識ではないかと思いました。 そこでレイアウトという1デザインメソッドをベースに、ソースコードの整形について具体的に考えてみました。もし何かの参考になれば幸いです。 前提条件 ここでのデザインとは設計のような上流・大きなものではなく、コードの見た目に関すること、表面的で単純なものです 名前やコメントの整形もある意味デザインとしても考えられますが、ここではレイアウトのみを取り上げたいと思います サンプルコードはJavaScriptになります(考え方なので他言語でも応用できるかと思います) 目次 デザインのおさらい 良い

    ソースコードを美しくデザインする - Qiita
  • 「プログラマが知るべき97のこと」を読んだ。 - コンパイラかく語りき

    非常に勉強になったので、所感とともに10個引用してみます。 [02] 関数型プログラミングを学ぶことの重要性 いきなり関数型プログラミングかい!って感じですが。 最近「JavaScriptで学ぶ関数型プログラミング」を読んでいて、非常に共感できる内容だったのでチョイス。カリー化や再帰を知ったことは、間違いなく自分のプログラミング観を向上させました。 関数型プログラミングのパラダイムを十分に学べば、その知識、技術は、マルチコアへの対応以外にも幅広く役立つでしょう。まず、自分の書くコードの品質を大きく高めることができます。重要なのは、「参照透過性(referential transparency)」が向上するということです。 参照透過性が高い、というのは非常に素晴らしいことです。参照透過性が高いとは、関数がどこでいつ呼び出されようと、入力が同じであれば、常に得られる結果がおなじになる、というこ

    「プログラマが知るべき97のこと」を読んだ。 - コンパイラかく語りき
  • 書き直さない時代の気分 - steps to phantasien

    なんとなく続き。(前回) Martin Fowler が蒸し返すまで、 自分は書き直しについてことさら何か書く気が起きなかった。 どうでもよさは時がたつほど増していった。気分の出処を見直してみたい。 部分的に書き直す 最初の理由は、書き直しがゼロかイチかの大きな判断ではないという納得かもしれない。コードの書き換えには様々な粒度がある。一番小さいのが厳密なリファクタリング。一番大きいのがフルスクラッチの書き直し。その間には様々な大きさの書き直しがある。書き直しの粒度が連続的である以上、どちらか一端を擁護する議論は虚しい。 小さい刻みの変更を積み重ねれば危険を冒さず大きな変更ができる。それがリファクタリングのテネットだ。刻みは小さいほど安全だから、良いプログラマは大きな変更を連続した小さい変更へと噛み砕く。変更の難しさに実力が及ばないと刻みが大きくなり失敗の危険が増す。バグが増えたり納期に遅れ

  • ぷよぷよの作り方【Windowsプログラミング研究所】

    ぷよぷよの作り方 概要:ぷよぷよの礎となるアルゴリズムをプログラム付きで解説します。 ぷよぷよはアルゴリムが高度なためテトリスで落ちゲーの基礎を習得した方に最適です。 ★☆ 注意 ☆★ この解説は「テトリスの作り方」の差分解説になります。 ぷよぷよ独自の内容中心に解説していきますので、 動作するプログラムを組みたい場合は「テトリスの作り方」も参照して下さい。 またゲーム全体の流れ制御や各種エフェクトについても解説しません(公開しているプログラムをご覧下さい)。 ■とことんぷよぷよ(ソースファイル / 実行ファイルその他) 私が作った作品の実行画面は以下のようになります。 このプログラムには様々な機能が実装されていますが、 ここではこのプログラムからぷよぷよに最低限必要なプログラムを抜粋して アルゴリズム中心に解説していきます。 ■データ構造の復習 一定の大きさを持つマスを単位に処理します。

  • さらに多くのことが変化する – Fluxは新しい”WndProc”である | POSTD

    たまたま今まで知らなかったという方のために言いますと、ReactはWebプログラミングにおける最先端の新技術です。そのアイデアはシンプルです。それは、Reactの各コンポーネントは、JavaScriptにおいて、ビューを冪等(べきとう)に描画します。ビューは、コンポーネントが内部に保持している少量のステートのみに基づいてレンダリングされます。同じステートにすれば、その状態におけるコンポーネントは常に同じようにレンダリングされます。これは、データが変われば、Reactは その変更のみを ブラウザのDOMに適用できるということでもあり、ページ全体の再レンダリングを省略できます。実際、何かを変更するかどうかという決定は 全て 、コンポーネントの内部状態に完全に左右されます。それが、なぜReactが非常に早いのかという根的な理由です。 しかし実際のところ、React自体には、変更をどのように 伝

    さらに多くのことが変化する – Fluxは新しい”WndProc”である | POSTD
  • 新卒の「プログラマー」志望者の3割くらいが…

    囃子屋たく @t_a_ku_hs_y 新卒の「プログラマー」志望者の3割くらいがunityだけで作った作品を提出してくるらしいんだけど、うちだと採用できない……。unityがトレンドから外れたら、彼らはどうなってしまうんだろう。 2015-10-22 11:39:11

    新卒の「プログラマー」志望者の3割くらいが…
    Nyoho
    Nyoho 2015/10/24
    面白い
  • 定番アルゴリズム本リスト - カレーなる辛口Javaな加齢日記

    どうせ何度も使い回ししそうなので,独立した項目に切り離した. アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書) 作者: T.コルメン,R.リベスト,C.シュタイン,C.ライザーソン,浅野哲夫,岩野和生,梅尾博司,山下雅史,和田幸一出版社/メーカー: 近代科学社発売日: 2012/08/02メディア: 単行購入: 1人 クリック: 16回この商品を含むブログ (21件) を見るアルゴリズムイントロダクション 第3版 第2巻: 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム (世界標準MIT教科書) 作者: T.コルメン,R.リベスト,C.シュタイン,C.ライザーソン,浅野哲夫,岩野和生,梅尾博司,山下雅史,和田幸一出版社/メーカー: 近代科学社発売日: 2012/12/26メディア: 単行購入: 1人 クリック: 4回

    定番アルゴリズム本リスト - カレーなる辛口Javaな加齢日記
  • ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 -

    Photo by Oferico 皆さんはアルゴリズムやデータ構造について勉強したことはありますか?そして、基的なアルゴリズムについて、どのようなものがあって、どのようなときに使うとよいかといったことを説明することができますか? 仕事をしていると、プログラミング言語等の勉強や業務に忙しくて、正直アルゴリズムどころではないという場合がほとんどでしょう。しかし、いつか勉強しようと思っていたけど、基的なアルゴリズムにどんなものがあるのかなんて今更聞けないな……ということもあるかと思います。 今回はそんな方に向けて、基的なアルゴリズムの一部の概要に加え、アルゴリズムの勉強に役立つサイト、書籍をご紹介したいと思います。 ■アルゴリズムを学ぶ意味 例えば、ソート等については、通常はすでにソート関数があるので、自分で作らなくても済む=アルゴリズムも勉強しなくていいと思ってしまうかもしれません。しか

    ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 -
  • プログラミングの低レベルと高レベル - 超ウィザード級ハッカーのたのしみ

    プログラミングにはレベルの低い・高いがある。ここでいうレベルとはCPUとかストレージデバイスといった生のハードウェアに近いかという意味である。レベルが低いほど生のハードウェアを意識しなければならない。カーネルは低レベルなソフトウェアの代表である。高尚かどうかと混同されることを嫌ってか、低レイヤ・高レイヤという言い方も良くする。私はあえて混同させたくてレベルという単語を使用している。 私は元々低レベルのプログラミングの方が計算機を操ってる感があって好きだった。しかし、しばらく離れてJavaとかPythonとか高レベルなことをやっていたが、ふと低レベルのところを再び触りたくなったので、 ハッカーのたのしみ Binary Hacks Cプログラミング高速化研究班 等を読み返しながら勉強している。低レベルはちょこちょこっとチューニングするだけで演算が高速化していき、ハッカー感が得られるので楽しい。

    プログラミングの低レベルと高レベル - 超ウィザード級ハッカーのたのしみ
  • 強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp

    アルゴリズム・ゲームAI・インフラ・データマイニング・セキュリティのコンテストと、そのはじめかたを紹介していきます。

    強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp