タグ

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

タグの絞り込みを解除

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

  • 良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

    CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して

    良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer
  • 自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - おんがえしの blog

    読み終わった。たった100Pにプログラム言語を作るための基礎(字句解析、構文解析、ランタイム、インタプリタ、仮想マシン、ネイティブコンパイルまで!)が一通り学べ、さらに書で作った実際に動くプログラミング言語がついてくる。 $39.99 とちょっと高いがプログラム言語を作る勉強代だと考えれば最も安くそして早く(ドラゴンブックは1090P)学べるのではないだろうか。洋書なのが難点だが半分くらいはソースコードなので苦労しながらなんとかなりました。(日語訳出てほしいなぁ) 書籍内で作る言語は2種類で Awesome Rubyの構文にPythonのインデントブロックを混ぜ合わせたようなオブジェクト型 Mio Ioを参考にしたメッセージ型 言語自体はどちらもRubyで書かれているが紹介される概念は特に言語の制約を受けないものが多い。 よかったところ yaccやbison, JVM系の構文解析ツール

    自分でプログラム言語を書いてみたい人は「Create Your Own Programming Language」がおすすめ - おんがえしの blog
  • 強くなるためのプログラミング -様々なプログラミングコンテストとそのはじめ方- - ぴよぴよ.py

    みなさんは何のためにプログラミングをしていますか? 仕事のため、何かをつくるため。 それも良いけれど、「強くなる」ためにプログラミングしてみませんか。 様々なジャンルのプログラミングコンテストとまだ見ぬライバルたちがあなたを待っています。 今回はアルゴリズム/AI/機械学習/セキュリティ等の様々なジャンルのコンテストとその始め方について紹介したいと思います。 ※これはPyConJPでの発表を文字におこしたものです。が、Pythonの話は殆どないです。 プログラミングコンテストとは? すべてのコンテストに共通する、「コンテストに参加する利点」 1. 自分と同じ問題を解いた、他の人の解法を知ることができる 2. 同じコンテストに出ていた、たくさんのライバルと知り合える アルゴリズムのコンテスト 問題1 問題2 TopCoder Single Round Match CodeForces AtC

    強くなるためのプログラミング -様々なプログラミングコンテストとそのはじめ方- - ぴよぴよ.py
  • 3分探索 - ICPC突破専用ザク

    凸関数の極値を求める方法を知りたくなってググってみたところid:nodchipさんのエントリがヒットした. 以下,個人的なまとめ. 実数探索三種類解説 - nodchipの日記 http://d.hatena.ne.jp/nodchip/20090303/1236058357 単調関数の零点を求めるのには2分探索が使われるけど,凸関数の極値を求めるのには3分探索が使われるらしい. 三分探索は凸関数の極値を求めるために使うアルゴリズムです。このアルゴリズムは関数が微分不可能な場合にも使えます。やり方は探索領域を三分割し、真ん中二の境界のうちどちらの値が大きいかを調べ、それとは逆の方の境界を新たな探索領域の端にするというものです。一回のイテレーションで関数の計算を2回行い、探索領域が2/3になります。 3分探索がうまくいく理由は以下のとおり. f : [a,b]→R : 上に凸な関数とし,区

    3分探索 - ICPC突破専用ザク
  • オープンソースソフトウェアの育て方

    製作著作 © 2005-2013 Karl Fogel, 高木正弘, Yoshinari Takaoka(a.k.a mumumu), under a CreativeCommons Attribution-ShareAlike (表示・継承) license (3.0, 2.1-jp)

  • ¿ôÃÍ·×»»¥Þ¥Ë¥å¥¢¥ë¡§Àþ·¿Âå¿ô (FAQ)

    ¤³¤Î¥Ú¡¼¥¸¤Ë¤Ä¤¤¤Æ ¤³¤Î¥Ú¡¼¥¸¤Ë´Ø¤¹¤ë¼ÁÌä¤ä¥³¥á¥ó¥È¤Ï¤ªµ¤·Ú¤Ë°Ê²¼¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤Þ¤Ç¡¥ ¹¹¿·ÍúÎò¤ÈÌܼ¡ ¹¹¿·ÍúÎò 2008-12-16 ÈÖ³°ÊÔ (1)¤ËWindows´Ä¶­¤Ç¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤òÄɲä·¤Þ¤·¤¿¡¥ 2008-10-09 ¥Ú¡¼¥¸¤ò¸ø³«¤·¤Þ¤·¤¿¡¥ Ìܼ¡ ¤Ï¤¸¤á¤Ë ¤³¤Îʸ½ñ¤Ë¤Ä¤¤¤Æ ÁÛÄꤹ¤ë±ÜÍ÷¼Ô ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë´Ø¤¹¤ë¼ÁÌä ¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤¬²¿½è¤Ë¤â½ñ¤¤¤Æ¤Ê¤¤¤Î¤Ç¤¹¤¬ CentOS¤Ç¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤ Debian GNU/Linux¤Ç¤Î

  • アルゴリズムコンテストの挑み方 - d.y.d.

    17:29 08/09/30 クロスワード 暇つぶしに "Clueless Crossword" という冊子を買ってみて意外とハマっています。 クロスワードパズルなんだけど、単語のヒントの代わりに、 各マスに1~26の数字が振ってあって同じ数字のマスには同じA~Zが入るように埋めるというもの。 「母音っぽくて二連続して語尾にも出てくるのは多分 E だろう、もしかしたら O の可能性はなくもないけど」 みたいに埋めていく。 ちょっと違うけど フラッシュであった。 20:15 08/09/28 だいちのよろい そろそろ日に戻る前に観光するぞ月間、ということにして、ウルル(エアーズロック)に行ってきました。 もっとワイルドな感じかと思ったら、完全にリゾートのリゾートによるリゾートのための地帯になってました。 まあそんなもんか。 日は強風のため登るの禁止とのことだったので、周りから見るだけ。

  • Python でグラフ・(疎)行列計算するためのライブラリを紹介するよ - 武蔵野日記

    PageRank とか HITS といったリンク解析ではグラフの計算が頻発するのだが、Python でそのあたり書くときの話をまとめてみる。グラフは行列で表現できる(ノード×ノード次元の行列 A を考えて、ノード i からノード j にエッジがあるとき、A[i,j] に値を入れておけばよい。無向グラフのときは A[i,j] = A[j,i] なので対称行列になる)ので、要は行列を手軽に扱えるライブラリの紹介である。 実は Python の行列演算ライブラリはどれも lapack/blas を内部的に呼んでいるので、C/C++ 等と比較してもそんなに遅くない。それどころか、自動的に並列化できるところは並列化してくれたりするので、まれに C より速いこともあるらしい。特に巨大なグラフを作る場合、ほとんどの処理は C などで書かれた関数に飛ぶので、速度的な問題は無視してもいいくらいである(逆に、

    Python でグラフ・(疎)行列計算するためのライブラリを紹介するよ - 武蔵野日記
  • Loading...

  • Cでのポインタの読み方

    Cでのポインタの読み方 Cのポインタの読み方は、ルールを知らないと摩訶不思議です。 ルールを覚えれば、 int (*p[5])[3]; char (*(*fp)(void))(int); なんてのも解読する事ができます。 大事な前程 ポインタを読む際には、「英語で読む」必要があります。 「え~、英語~」 と思う方もいるかもしれませんが、逆に日語で読む方が大変です。 基ルール ルール 後置演算子が優先。 関数の() 配列の[] 前置はあとで。 要は、「後ろに何かあったら、後ろが優先」です。 演算子の英語での読み方 * pointer to ... () function returning ... [] array of ... Lesson 1 まず、演算子が単独で出てくる場合です。 Lesson 1-1 pointer to ... int *p; これは、まずpを見ましょう。 i

  • plagger - otsune FreeStyleWiki

    Plagger 注意 このページは単なるインストール手順のメモです。Plaggerは開発が活発なので、ここの情報は古くなっていることが多いです。 Plaggerについての正確な説明は Plagger公式サイト Shibuya.Plaggers Plagger Plugin はてなブックマーク - タグ plagger などを参照してください。 概要を知りたい場合は公式サイトのPresentationsにある「YAPC::Asia 2006 Tokyo」「Plagger Conference 1 Keynote」のスライドを参照するとよいでしょう。代表的なデモとしてElementary, ... Googleで「はらへった」と検索するとピザが届くようにするまでがあります。 解説 Plaggerは、mixiやBloglinesやWebサイトなど様々なところからデータを取って来て、いろいろなフィ

  • 年末年始くらいしか読める気がしない2008年のコンピュータ書この5冊 - 『このコンピュータ書がすごい! 2009年版』最新情報 - compbookグループ

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    年末年始くらいしか読める気がしない2008年のコンピュータ書この5冊 - 『このコンピュータ書がすごい! 2009年版』最新情報 - compbookグループ
    syou6162
    syou6162 2008/12/29
    ビショップ本は大変よい本ですが、コンピュータ書では全くないです
  • 一行野郎(one-liner)はperlにおまかせ

    序文 もしもプログラミング言語が宗教だったら……(全訳版)[絵文録ことのは]2008/12/21 によると、ブードゥー教徒らしい dankogai です。 ブードゥー教徒らしく、「上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる」呪文をここでまとめておくことにします。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e'print "Hello, World!\n"' Hello, world! % ちなみに、perlとコマンド名だけで起動すると、標準入力をスクリプトとして返します。 %

    syou6162
    syou6162 2008/12/22
    これは素晴しい記事
  • Ruby 用 JSON パーサーを更新、 JSON への変換も追加 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 以前公開した前バージョンにはたくさんのアドバイス、リンクなどいただきまして、ありがとうございます。少々時間が経ってしまいましたが、あれからいろいろと勉強しまして、 strscan なる便利なライブラリが Ruby の標準ライブラリに含まれていることも知りました。それらをきちんと使えばコードをだいぶシンプルにできそうだったので、思い切って書き直してみました。まだまだ

    syou6162
    syou6162 2008/09/21
    あとでRでやってみたい
  • All About Monads モナドのすべて

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

  • asin - プログラミング作法

    下に表示されている文字を入力してください 申し訳ありませんが、お客様がロボットでないことを確認させていただく必要があります。最良のかたちでアクセスしていただくために、お使いのブラウザがクッキーを受け入れていることをご確認ください。

  • Ruby (デバッグ方法) - あさあさの公開メモ

    asaasa.tk Wiki+ This wiki was moved.

  • 404 Blog Not Found:WEB API - Google Code Chart キター

    2007年12月07日11:30 カテゴリiTechLightweight Languages WEB API - Google Code Chart キター 久々に使い出のあるAPIが登場! Google Code Blog: Embed charts in webpages with one of our simplest APIs yet Developer's Guide - Google Chart API - Google Code Query Parameterを適当に設定してURIを叩くだけでグラフを描いてくれる。 だから、JavaScriptでグラフを書くのもちょちょいのちょい。 chs cht chxt chxl chd uri ここでサンプルで入れてあるデータは東京の月平均気温そのままなのだけど、見てのとおりExcelみたく正規化まではしてくれない。あくまで下が0で上

    404 Blog Not Found:WEB API - Google Code Chart キター
  • CPANの漁りかた

    Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると何がどう違うのかわかなかったりしたのを覚えてます。 その後1年、今はレベル8弱ってとこでしょうか。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールはまだ上げてません。 この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きます。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。 1. まずはPerlStyleを読み直す miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。これはロギングとか OR マッピングなどの基的題

    CPANの漁りかた
  • Perlの小技

    Perlでは世界中の達人が開発したモジュールによってさまざまな機能が簡単に使うことができます。 OracleやAccessから情報を集計した結果をLHA形式で圧縮してメールに添付して送ったり、メールを受信してその内容をデータベースに登録するなんてなことまで簡単に(?)できます。最近話題のXMLまで扱えます。 ただドキュメントが英語なんですよね(まぁ当たり前)。そこで私がつたない英語能力を使ってなんとかかんとか、日語にしてみたシリーズが「日語チョウ訳」なのです。原著者の方々にはメールで了解をいただいております。みなさん快く応じてくれました。(当にありがとうございます) あいにくと何かを保証するということもないのですが、モジュールの作者の方々のためにも、わかりやすく正確な内容にしたいと思っています。 間違っている点やご意見などありましたらメールをください。m(__)m また小技ではAct