タグ

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

  • Ruby でパーサーコンビネータを使った CSV ファイルのパース処理 - RParsec 使用 - なんとなくな Developer のメモ

    id:fits:20101226 や id:fits:20101231 で実施したパーサーコンビネータによる CSV ファイルのパース処理を RParsec を使って JRuby でやってみました。 環境は以下の通り。 JRuby 1.5.6 RParsec 1.0 サンプルのソースは http://github.com/fits/try_samples/tree/master/blog/20110103/ 事前準備 - RParsec のインストール RubyGems を使って RParsec をインストールしておきます。 インストール > gem install rparsec CSVファイルのパース 以下の CSV ファイルをパースしてみる事にします。 test.csv 1,テスト1,"改行 含み" 2,test2,"カンマ,含み" 3,てすと3,"ダブルクォーテーション""含み"

    Ruby でパーサーコンビネータを使った CSV ファイルのパース処理 - RParsec 使用 - なんとなくな Developer のメモ
  • 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?

    回答 (5件中の1件目) この質問にかなり先行して2015年、Quora(家)で投げかけられた質問として、 Why do some functional programmers criticize design patterns in OOP languages as a sign of language deficiency, while Monad is also a design pattern? なぜ、関数型プログラマらは、オブジェクト指向(OOP)言語のデザインパターンを、言語の欠陥の象徴だと批判するのでしょうか?モナドもデザインパターンじゃないんですか? があります。...

    一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか?
  • 床井研究室 - 第12回 模様を付ける

    877.fm 実は今日知ったんですけど, 和歌山市内にある "バナナ FM" (877.fm, エフエム和歌山) は, 株式会社ではなく NPO 法人なんですね. この放送局は空中線電力が 20W しかなく, サービスエリアが和歌山市とその周辺くらいしかありません. 番組内容も独自のもので, メジャーなタレントを呼ぶとかそういうこともなく, 時には高校のブラスバンドの演奏を流したりして, それはもう地味というか, 地元に密着した内容になってます. どこかのテンションがやたら高い放送局と違って DJ も日常会話のように自然にしゃべっていて, 気負いがありません. いいです. 日々の生活に実にフィットします. CM にも「近所のあの店が CM してる!」という親しみやすさがあります. 私はこの放送局と縁もゆかりもありませんが, 永く続いて欲しいと思ってるので, 皆さん応援してあげてください.

    床井研究室 - 第12回 模様を付ける
  • 【Pyxel】Pythonでレトロゲームを作ろう! 総集編 -まるっと1週間でゲーム開発入門-|はやぶさの技術ノート

    記事は『Pythonでレトロゲームを作ろう!』シリーズの総集編です。 シリーズは、以下の読者を想定して書きました。 【対象読者】 Pythonゲームを作りたい人 ゲーム開発を題材にPythonプログラミングを学びたい人 数学・物理を学び、実践としてプログラミングまでしたい人

    【Pyxel】Pythonでレトロゲームを作ろう! 総集編 -まるっと1週間でゲーム開発入門-|はやぶさの技術ノート
    animist
    animist 2019/02/19
    こういうところまでは Processing だろうが Pyxel だろうがその他のツールだろうがすぐに行く。問題はその先にあるような気がする
  • 体系的にプログラミングを教えられると挫折するタイプの人はご注意!|ふろむだ@分裂勘違い君劇場

    「専門学校では、全くの素人に、体系的にプログラミングを教えることで、それなりにプログラムが書けるようにしている」という記事が賛同を多く集めていた。 しかし、私の場合、まったく逆だった。体系的にプログラミングを教えられたらすぐに挫折したけど、体系もカリキュラムも全部無視して、自分の興味の赴くままにプログラミングを学んだら、ごく短期間に、劇的にプログラミング能力が高まった。 元記事によると、専門学校では、素人は、まず、簡単なアルゴリズムの問題集をやらされるとのことだが、こんなことをやらされたら、僕のようなタイプの人間は、まず挫折する。 実際、大学でプログラミングの授業を履修したときは、すぐに挫折した。 なぜなら、退屈だからだ。 僕は、子供の頃からそうなのだが、退屈なことを続けることができない。だから、小学生の時に公文式をやったときも、すぐに挫折した。しかし、学校の算数のテストでは、満点以外の点

    体系的にプログラミングを教えられると挫折するタイプの人はご注意!|ふろむだ@分裂勘違い君劇場
  • 「ゼロからわかるRuby超入門」は本当にはじめてのプログラミングに適しているというお話 - すむとこ探し

    こんにちは。ぷぽと言います。私は昔々、文系未経験からひょんなことでIT企業に入社し、うっかりエンジニアになってしまった人間です。今回は11/22発売の「ゼロからわかるRuby超入門」が、当時の自分に渡してあげられれば...と悶絶するくらい素晴らしいでしたので紹介させてもらいます! gihyo.jp 一言で表現するならば「ゼロからわかるRuby超入門は優しさでできている、その名に恥じないである」です。なぜそう思ったか、どこが(誰に)オススメか、といったことをずらずら書き連ねていきます。 ※この先の文章ですが、もしかすると当に初心者の方は「なんだその単語は?」って思う部分があるかもしれません。ただ、それは今後こので学べば大丈夫()なので、今は雰囲気だけでも受け取っていただけると幸いです! 当に初心者の視点で書かれている Rubyというプログラミング言語に限らず、私は技術周りのやWe

    「ゼロからわかるRuby超入門」は本当にはじめてのプログラミングに適しているというお話 - すむとこ探し
  • ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ

    今日はプログラミングの生産性に対して気づきがあったのでシェアしてみたい。 なぜ米国の人は生産性が高いのだろう プログラミングの生産性に関しては以前から興味がありいくつかのポストで考えたことをシェアしてきた。私は職業柄、いろんな国でいろんな人々とプログラミングを一緒にする機会が多い。その時に頻繁に感じるのは、平均的に言うと、アメリカの人プログラマが生産性が高い確率が高くて、しかもコードもきれいだという傾向にある。アメリカでお客さんと一緒にコードを書くと、お客さん自体が物凄く良く知っているし、実行力もある。アメリカの次と言うことでいうと、英語がネイティブの国もそれに近く、フランスなどの言語が近いところが続く感じなので、英語が物凄く影響すると思っていたし、実際すると思う。そのあたりの話はこちらのポストに書いてみた。 simplearchitect.hatenablog.com 定義での理解と、例

    ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ
    animist
    animist 2018/09/25
    理解と仮説と結果
  • プログラミング初心者のうちに身につけたい3つの習慣 | Social Change!

    プログラミング技術さえ身に付けば、プログラマとして一人前と言えるでしょうか? プログラミングを始めたばかりのうちは、プログラミング言語の習得や周辺の知識を得ることばかりに目がいきがちですが、それだけでは一流のプログラマになれません。(プログラミング言語を学びたいならこちら:写経で身につけるプログラミングの基) プログラマとして成長するためには、プログラミング技術を学ぶだけではなく、良いソフトウェアを作るための良い習慣を身に付けることが大事になります。初心者のうちに良い習慣を身につけておけば、ただ知識を追い求めるのではなく地に足をつけた成長ができるはずです。 記事では、私自身も先人たちから学んだプログラマが身につけたい3つの習慣について書いています。 自分で書いたすべてのコードを説明できるようになろう プログラミングは全て、明確な判断の結果です。if文を使うべきかどうか、どのAPIを使う

    プログラミング初心者のうちに身につけたい3つの習慣 | Social Change!
  • ドメイン固有言語 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ドメイン固有言語" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年12月) ドメイン固有言語(ドメインこゆうげんご)またはドメイン特化言語(ドメインとっかげんご、英語: domain-specific language、DSL)は、特定のタスク向けに設計されたコンピュータ言語[1]である。 DSL は一種類のタスクをうまく記述することに集中したプログラミング言語であり、古くから存在した。何らかのプログラミング言語それ自体の構文と処理系を利用する internal DSL(あるいは embedded DSL)と、独立した構文と処理

  • Go言語による2年半の新規プロダクト開発とその総括

    RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub

    Go言語による2年半の新規プロダクト開発とその総括
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
    animist
    animist 2018/08/09
    いや、こういうエッジケースの山みたいなの見てるとそれだけでもうツラくなってくるな
  • Rustを学ぶ

    「the book」としても親しまれているプログラミング言語Rustは、この言語の概観を基原理から説明します。読み進める中で複数のプロジェクトを構築し、読み終わるまでにはこの言語の確かな理解が得られます。 あるいはRustlingsなら、コマンドライン上で、Rustのツールチェインのダウンロードとセットアップ方法を確認しながら、Rustの構文の基的な読み書きを学ぶことができます。Rust by Exampleをあなたの環境で動かすようなものです。

    Rustを学ぶ
  • 「女性エンジニア少ない問題」を解決するために、機械学習で男性エンジニアを女性に変換する

    2018年4月21日、株式会社サイバーエージェントが主催するイベント「Battle Conference U30」が開催されました。30歳以下のエンジニアによる30歳以下のエンジニアのための技術カンファレンスであるイベントには、さまざまな領域で活躍する若手が登壇。企業の枠を超えて、自身の技術・事業・キャリアに関する知見を発表しました。「機械学習ブームの裏側に」に登壇したのは、ヤフー株式会社データプラットフォーム部の池上哲矢氏。「女性エンジニアが少ない」という問題に対して、機械学習を用いて解決を試みた、ユニークな取り組みを紹介します。 「連続最適化」を研究し、ヤフーへ 池上哲矢氏(以下、池上):ご紹介に預かりました、ヤフー株式会社の池上哲矢と申します。 今日は「機械学習ブームの裏側に」というタイトルで、発表させていただきたいと思います。こういったイベントは初めてで、すごく緊張しているんで

    「女性エンジニア少ない問題」を解決するために、機械学習で男性エンジニアを女性に変換する
  • プログラミングは何歳までなら習得可能か?|山本一成🚗TURING

    私は今32歳で、プログラムを始めた時は20歳くらいからでした。始めた時にすぐ思ったことは、ずっと小さい時からプログラムをしている人たちには勝てないでした。でもどうやらそんなに簡単なことではないようです。 今でも告白すればアセンブラというものすごいローレイヤーのことは全然わかりません。当に読めません。一応様々な分野のプログラミングは少しずつはできたりしますが、当に得意なところはごくごく限定された領域だけです。私、コンピュータのすべての領域に全然精通していません。 Software is eating the world「ソフトウェアが世界をい続けている」こういう言葉があります。世界中の様々な領域がソフトウェア化していることを表しています。もはやコンピュータが絡まない学問領域やビジネス領域はほとんど残っていないといってもいいはずです。 もうどんなプログラマもコンピュータの世界すべてを見通

    プログラミングは何歳までなら習得可能か?|山本一成🚗TURING
  • 「早すぎる最適化は諸悪の根源」について - Qiita

    この、ドナルド・クヌース先生の有名な格言について考えてみます。 プログラムのコードをきれいな状態に保つことと、実行速度の向上や必要なリソースの削減といった最適化を図ることとは両立しない場合が多々あります。こうした場合にどちらを優先すべきか?という問いに対し、クヌース先生は「まずコードをきれいにしろ」と答えています。 ソフトウェアのユーザにとって、コードがきれいかどうかは何の価値もありません。対して実行速度などは使いやすさに直結する重要な要素です。それなのになぜ、きれいなコードのほうが優先されるべきなのでしょうか? きれいなコードとは? なぜ最適化と両立しない? まず考える必要があるのは「きれいなコード」とは何か?ということです。 それは、開発者がコードを眺めて「なんて美しいんだ!」と悦に入るためのものではありません。 きれいなコードの条件として、大きく以下の2つが挙げられると思います。 ・

    「早すぎる最適化は諸悪の根源」について - Qiita
  • この10年間のプログラミングの変化|山本一成🚗TURING

    はじめましてnoteの皆さん、名人を倒した将棋プログラムPonanzaというものを作っていた山一成と言います。この度ははてなから引っ越してきました。2018年になったので新しくブログ書いてみようかなぁ〜ってはじめました。 私がプログラミングをはじめたのは大学生だった時ちょうど10年前でした。そして今2018年になって、同じプログラミングにしても色々変わったなぁという印象です。今日はそのへんを皆さんと共有できたらなぁ〜と書きました。 あくまで私の観測範囲内での話をすればですけど、10年前のプログラミングの世界は速く動くことがかっこよかったです。実際にかっこいいだけでなく、必要とされる場面も多かったような気がします。私が愛用しているプログラミング言語はC++(シープラスプラス)と言って、まあそれは高速に動作することだけを意識して作られた言語でした。 加えて、今から考えれば一体なんでそんなトリ

    この10年間のプログラミングの変化|山本一成🚗TURING
  • 翻訳: WebAPI 設計のベストプラクティス - Qiita

    これは Enchant の開発者である Vinay Sahni さんが書いた記事「Best Practices for Designing a Pragmatic RESTful API」1を、ご人の許可を得て翻訳したものです。 RESTful な WebAPI を設計しようとすると、細かなところで長考したり議論したりすると思います。また、他の API に倣ってやってはみたものの、当にそれでいいのか、どうしてそうしているのか分からない、何てことも少なくはないと思います。 この記事では、そのようなハマリどころについて Vinay さんなりの答えを提示し、簡潔かつ明快に解説してくれています。 今後 WebAPI を設計される方は、是非参考にしてみてください。 なお、誤訳がありましたら編集リクエストを頂けると幸いです。 まえがき アプリケーションの開発が進むにつれて、その WebAPI を公

    翻訳: WebAPI 設計のベストプラクティス - Qiita
  • 優秀なプログラマーになるためのコツ

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    優秀なプログラマーになるためのコツ
  • フロントエンドエンジニアのための動画ストリーミング技術基礎

    動画はデータ容量が大きい 画像と違い、動画コンテンツはデータ容量がとても大きいため、データをダウンロードして再生するまでに待ち時間が発生します。 動画のデータ容量が大きい理由はとても単純で、動画は画像データが集合したものだからです。静止画像を人間の目が滑らかに感じられる速さで切り替えて表示することで絵を動かすという表現を実現しています(よくパラパラマンガに例えられますが、そんな感じです)。この人間の目が滑らかに感じる速さというのが 1 秒間に 30 枚だったり 24 枚を切り替えることになります。29.97 (≒30) fps とか 24 fps とかの数字を耳にしたことがあるかと思いますが、24 fps の場合は 1 秒間(s)の間(p)に 24 フレーム(f)を切り替えることを意味します。 データを全て自分の端末にダウンロードしてから再生しようとすると、かなり長い待ち時間が発生してしま

    フロントエンドエンジニアのための動画ストリーミング技術基礎
  • Media Source Extensionsを使ってみた (WebM編) - Qiita

    モバイルブラウザのビデオ再生でアプリキャッシュが使えるかを再度検証で紹介したように、Androidのブラウザでは、アプリケーションキャッシュを使っても、<video>タグでデータを先読みしてタップしたら直ちに再生する、といった挙動を実現することができませんでした。 そこで、少し手の込んだ方式になってしまいますが、Chrome等でサポートされている、Media Source Extensionsを使って、キャッシュされたWebMファイルをXMLHttpRequestでロードして<video>タグで再生してみます。 なお、だったらXMLHttpRequestでデータを取得してBlobを生成すればいいのではないか、という声も聞こえてきそうですが、残念ながら、これもまたモバイルブラウザでは上手く行かなかったりします。 Media Source Extensionsの予備知識 そもそも、Media

    Media Source Extensionsを使ってみた (WebM編) - Qiita