タグ

プログラミングとコードに関するluccafortのブックマーク (21)

  • チェリー本の増刷(第5刷)が決まりました&これまでに書いたサポート記事のまとめ - give IT a try

    お知らせ 先日、技術評論社の編集者さんから「プロを目指す人のためのRuby入門(通称チェリー)の4回目の増刷(第5刷)が決まりました」と連絡がありました! 増刷嬉しい〜😆これもひとえに今まで購入してくださったみなさんのおかげです。どうもありがとうございます! プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus 作者:伊藤 淳一発売日: 2017/11/25メディア: Kindle版 ちなみに増刷というのは、出版社が在庫を補充するために、まとまった部数を追加で印刷することを言います(書籍の内容は同じです)。 言い換えると、「増刷される=在庫がなくなるぐらい順調に売れている」ということなので、著者や出版社にとってはとても嬉しい知らせになります。 まあ、普通の読者さんにとっては「ふーん」という話題ですよね😅 僕も自分で

    チェリー本の増刷(第5刷)が決まりました&これまでに書いたサポート記事のまとめ - give IT a try
    luccafort
    luccafort 2020/07/21
    最初の頃大変お世話になったのでもっともっと必要な人の元へ届いてほしい。紙媒体版はあるのでKindle版をせっかくだから購入しようかなぁ。たまに読み返して確認したいことがあるんですよね。
  • RubyKaigi2018 懇親会に酒は要らない!?"コードで懇親する"コード懇親会 - Speee DEVELOPER BLOG

    架電芸人エンジニア*1の西(id: kohtaro24)です。最近スマホをiPhoneからBlackBerry KeyOneに変えました。物理キーボードの重量感を楽しんでいます。 現在はRubyKaigi2018に参加するためはるばる仙台まで来ており、RubyKaigi2018の二日目に開催されたコード懇親会についてレポートしたいと思います。 コード懇親会 "コード"懇親会ですのでイベント概要もGithubリポジトリ上で公開されています。 github.com 以下の引用にあるように、コード懇親会はお酒ではなくコードを媒介して懇親することをコンセプトに設計されています。 スポンサーをSpeeeが努めさせていただき、クリアコードの須藤(@ktou)さんにイベントコンセプトやデザインをリードしていただきました。 Rubyは楽しくプログラミングできることを大事にしているプログラミング言語です。み

    RubyKaigi2018 懇親会に酒は要らない!?"コードで懇親する"コード懇親会 - Speee DEVELOPER BLOG
    luccafort
    luccafort 2018/06/04
    あああめっちゃ楽しそう。次回あるなら参加したいいいい。
  • プライベートでコードを毎日書き続けて2年以上が過ぎた

    いつの間にか2年間継続してコードを書いていたので、その振り返りです。上のインコは日々僕を応援してくれる二羽のインコのうちの一羽です。この後をボロボロに噛みちぎっていきました。 1年目との違い去年こんなポストを書きました。 このとき、自分はコードを1年継続して書いたわけですが、その後また1年継続してコードを書いていました。 1年目とは「書きたい」と思うものも変わりました。また、習慣を維持する労力も小さくなり、コードを書くことそのもの以外の、登壇などの時間を取れるようになりました。 この1年で新たにやったことツール作成markdownをMediumポストにするCLIツールAWS SSMで管理されたパラメーターを環境変数にInjectするツールGoogle Cloud Platform API向けに使える、goonと同様のDatastoreクライアント基盤作成AWS上にTerraform+An

    プライベートでコードを毎日書き続けて2年以上が過ぎた
    luccafort
    luccafort 2018/02/27
    "あくまで平日の平均の時間ですが2~3時間くらいでしょうか。あんまり取れてないかなと思います。"え、平日のプライベート時間で2、3時間取れるってかなり取れているほうだと思ってたが少ないのかという衝撃…。
  • 『ZERO BUGS』を読んだ - r7kamura - Medium

    Amazonでケイト・トンプソン, 酒匂 寛, 小田 朋宏の{ProductTitle}。アマゾンならポイント還元が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽… 全体が78個の物語によって構成されており、それぞれの物語において教訓が紹介される。ZERO BUGS というタイトルの通り、どの物語もソフトウェアの不具合をテーマにしている。文章の内容は平易で、プログラマ初心者にもわかりやすく、しかしながら示唆に富んでおり、経験が浅いプログラマであれば「なるほど」、経験が深いプログラマであれば「あるある」とどちらも頷きながら読み進めていけるはず。 それぞれの物語は2ページ程度でとても短く、何かの合間にも少しずつ読み進めていける。出来る限りコンパクトに話を収めようという気持ちで書かれていることが文面から伝わり、とても好感が

    『ZERO BUGS』を読んだ - r7kamura - Medium
    luccafort
    luccafort 2017/09/24
    書店でパラパラ捲ったところベカラズ集的というか実践的でないと思って買わなかったが"最善のコードが書けないからといって、それが酷いコードを書く理由にはならない"みて考えが少し変わった。
  • プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列

    ここにクソコードがある。 誰が作ったかはわからぬ。それが、どのような経緯でクソコードとなったのか、 あるいは、最初からクソコードであったのか、それらは全てクソコード自身が知るのみである。 ファーストコンタクト ある日、営業からシステム案件を打診されたので見積もりして欲しい。というメールが来る。 とある企業の既存システムに機能を追加する簡単な案件ですが、なななんとソースや仕様書をご支給いただけます! と、それはサンタにプレゼントが貰えると信じて疑わぬ子供のような真っ直ぐなメールである。 ソースコードが入った圧縮ファイルを受け取ったプログラマは、早速、コードを読んでみる。 そのシステムが当にいいコードで書かれているかを判断するには時間がかかるが、 クソコードであるかはおおよそ30分でわかる。 インデントがタブとスペースどちらかに統一されていないとか、フレームワークの誤用があるとか、またはフレ

    プログラマをクソコードで殴り続けると死ぬ - megamouthの葬列
    luccafort
    luccafort 2017/08/01
    クソコードが悪なのではなくてその周りが悪だといういいお話し。「短期だしお金もそんなにもらってないから」とクソコードを放置するやつがいるがそのプロダクトは死なずに動き続けるんだぞ?わかってんのか?
  • 変数とかを英語にするとわかりにくくないですか?

    プログラムを独学で勉強している初心者です(2ヶ月くらい) ちょっとした疑問があり、質問させていただきます。 プログラムのサイトなどには、変数などの名称には英語を使うべきと書かれています。 これはなぜなのでしょうか? はっきり言って、この風習があるために勉強で困っています。 勉強のためにサンプルコードなどを見ていても、英単語が並んでいると、 どれがプログラム特有の命令で、どれがプログラム記述者が自由につけた変数名なのかが わかりにくいのです。 変数は変数であることがはっきりわかったほうが便利だと思うのです。 プログラムに慣れている人にはそんな必要ないのでしょうが… 自分でコードを書く時には、あとから自分でわからなくならないように 変数名には必ず「h_」をつけるようにしています。 h_speed とか h_count とか。 英語にするべき理由と、初心者のうちだけでも変数がわかりやすくするよう

    変数とかを英語にするとわかりにくくないですか?
    luccafort
    luccafort 2015/12/23
    ちょっと違うと思うな。 そもそもローマ字で日本語を表現することは難しいからだと思うね。 日本語は平仮名と片仮名と漢字で構成されてるわけだけどそれらをローマ字で表現すると必ず抜けが出来たりするわけですよ。
  • http://www.smaroomch.net/programing-hituyounakoto/

    luccafort
    luccafort 2015/12/22
    どうサムネ画像と絡むんだろうか?と思ったら全く関係ないし、そもそも5つのことに関しても個人的に物申す感があってアレ。
  • クソコード、あるいは技術的負債 - 時計を壊せ

    クソコードについてここ数日で考えたことを書いてみる。 技術的負債まわりのえらいひとたちの議論を眺めてて、技術的負債って言うとなんかプロっぽいけど、クソコードって言ったほうが示したいモノを素直に表してるし分かりやすいきがしてきた。 クソコードを書くなとは思わないけど、クソコードをいつまでも放置するのはやめようって思う。 クソコードは次なるクソコードを生み出すし、バグを隠蔽するし、メンテナンスコスト増大の悪循環のキッカケになるし、新人の教育上良くないので無くて済むならもちろんないほうがいい。 ただ、ギークな人たちを除いて、さらっと60点*1のコードなんて書けない。僕を含め大多数のエンジニアは自分自身が書いたクソコードをリファクタリングして60点以上のコードを目指すための時間が必要になる。 そのうえ、そういうコードを書いてもだいたい時間経過に伴って事情が変わって、60点のコードの挙動を壊さないよ

    クソコード、あるいは技術的負債 - 時計を壊せ
    luccafort
    luccafort 2015/12/14
    言ってる内容自体は間違ってないんだけど一点だけ気になるのが技術的負債はクソコードだけじゃないってことだな、そこをもし勘違いしてるならちょっと怖い。認識したうえで本筋とか関係ないから省略してるならいい。
  • PHPerの書くコードの保守性・管理性が劇的に上がるのスマートな方法

    みなさんお仕事の進捗どうですか? 今日は ふと今こそ保守性・管理性が劇的に上がるPHPのスマートなコードの書き方まとめを俺が書くときじゃないだろうか。 — そーだい@初代ALF (@soudai1025) 2014, 8月 12 こんな軽はずみな発言をしてしまったが故にネットで触れては行けない3大炎上案件について触れる。 ※ネットで触れては行けない3大炎上案件とは? Excel関連(スクショとか) 宗教(エディタとか) PHP のこと。 で今話題の元ネタを既に@sue445さんが魚拓してくれてる。 「Hello! my name is 404 お探しのページはありませんでした!申し訳ありません。。」 http://t.co/MS8Xy0bCMz 魚拓とっててよかったw http://t.co/UvG3gzsPul — sue445 (@sue445) 2014, 8月 12 (炎上したら即

    luccafort
    luccafort 2014/08/13
    「結論これで8割くらいの問題が解決すると思う。」リーダブルコードは偉大。というかコードに関する直接的な部分ってここだけのような……。あ、あとホッテントリおめっとざーっす。
  • 例外設計の話

    例外設計の話。 こんな指針がいいのかなー 2013 夏 ver. 例外の目的とは? 「例外をキャッチする主な目的は、エラーの原因を取り除いて、回復すること」 via http://dobon.net/vb/dotnet/beginner/exceptionhandling.html .NET の「例外のデザインのガイドライン」にもこう書いてある。 特定の例外が特定のコンテキストでスローされる理由を把握できている場合は、その例外をキャッチするようにしてください。 回復可能な例外だけをキャッチする必要があります。たとえば、存在しないファイルを開こうとした場合に発生する FileNotFoundException は、アプリケーションで処理できる例外です。それは、アプリケーションがユーザーに問題を知らせ、ユーザーが別のファイル名を指定したり、ファイルを作成したりできるようにすることが可能だからで

    例外設計の話
  • 怠け者で愚かな人間ほど優秀なプログラマーに向いている理由

    By slworking2 優秀であり仕事を迅速にこなす人は、よく働き、頭の回転も早そうですが、プログラミングの分野においては話が別のようです。ブロガーのPhilip Lenssenさんによれば、優秀なプログラマーほど怠惰で愚かでなければならないとのことで、その理由について公開しています。 Why Good Programmers Are Lazy and Dumb http://blogoscoped.com/archive/2005-08-24-n14.html 怠け者のプログラマーは自分の仕事を減らしたいがために、便利なツールやソフトを作成することがあります。また、単調で、繰り返されるだけのコードを書かず、余分なものをそぎ落とす傾向があるとのこと。自分が楽をしたいがために生み出される努力から作り出されたツールは、生産性をあげるのに一役買ってくれるでしょう。 By dchrisoh ま

    怠け者で愚かな人間ほど優秀なプログラマーに向いている理由
    luccafort
    luccafort 2013/07/30
    「PCの画面を見ているか?プリントアウトした紙を見ていないか?」「他の画像はきちんと表示されているか?」これ言われたことあるわー。結果すいません、古い(紙の)資料見てました!とかホント勘弁してくれと。
  • プログラマが満たすべき最低基準って? - (define -ayalog ’())

    日記 プログラマとしての最低基準って何? 言語の仕様を知ってることが最低基準? 3つ以上の言語を手足のように扱えるのが最低基準? モノを作れることじゃなくて、色んなことをたくさん知ってることが最低基準? 「なんで、こんなことも知らないの?」って人のやる気削ってるだけじゃん。 2013-07-18 17:16:45 via web なんだろう。昨日くらいからJavaの参照の値渡しに関する話がバズってる。 あえてリンク貼らないけど、だいたいこれ読んでる人は知っているでしょう。 そんな中で、どうしても目に入ってくる雑音*1が気になる。 「10年間も知らなかったの?」とか「こんなの知ってて常識だよね」とか「言語仕様を読むよね、普通」とか「レベルの低い技術者は辞めたらいいのに」とかとかとかとか。 間違いを正してあげようとするのは良い事だと思う。だけど、それに余計な言葉をひとつもふたつもくっつける必要

    luccafort
    luccafort 2013/07/19
    言いたいことはわかるのだけど「おまじない」的になにやってるか、わかろうともせずに何年も同じコード書いてる人とか知ってると全面的には同意できない。 学ぶ意欲のない人は除外されても仕方ないかなーと。
  • あなたのコード、激遅ぷんぷん丸?今すぐできる7つのチェック項目 PHP編 | GeNERACE labo

    みなさん、こんにちは。 GeNERACEのピンキリエンジニアこと、ひろゆきです。 ここのところPHPを書いてるんですが、同じ処理を書くとしても、どの関数を使えば良いのか分からないことがありました。 たとえば、繰り返し処理を書くにしてもfor, foreach, whileと3種類もあります。 いったいどれを使えば良いの?(´・ω・`) 分からないなら調べれば良い。 ということで、弊社環境にて処理速度の検証してみました。 (この辺ってググってみても、ソースが古かったりしてたので、あえて調べました) 実行環境: PHP 5.3.3 AWS EC2 m1.small 1.ループ処理を比較 まずは基中の基。 for, foreach, whileのどれを使うべきなのか。 $this->testArray = range(0, 10000000); $x = 0; foreach ($this-

    luccafort
    luccafort 2013/06/22
    後述してるからわかってはいるんだろうけどもPHPの真の怖さは何が入ってるかわからんという点に尽きる。 なので多少速度を犠牲にしてもきちんと型チェックするべき。 仕様がカッチリ決まってるならいいんだろうけども
  • コード作成やデータ編集作業など、マイナーだけどすこぶる便利なChromeアプリを一挙まとめ | ライフハッカー・ジャパン

    最近、めまぐるしい成長っぷりを見せているChromeアプリストアの「オフラインアプリ」たちですが、残念なことにその多くが知名度を得られていない状態になっています。そこで今回は、米Lifehackerお気に入りの知られざるアプリたちをいくつか紹介してみたいと思います。 Googleはここ最近、Chromeウェブストアにオフラインアプリを数多く投入してきています。オフラインアプリとは、PCにインストールしたアプリさながらに、Chormeブラウザ内で使えるアプリのこと。Chromeブラウザがインストールされているパソコンであれば使えるので、借り物のノートPCや容量が少ないPCで作業する際にもかなり便利です。 全てのアプリがオフライン作業に対応しているわけではありませんが、オフライン使用が可能なものも段々と増えてきています。つまり、大量の容量を必要とするデスクトップソフトウェアの代替として、オフラ

    luccafort
    luccafort 2013/05/16
    いくつかよさげなのがあったのでインスコしてみた。
  • https://github.com/yukitos/notes/blob/master/tenreasons/index.md

    https://github.com/yukitos/notes/blob/master/tenreasons/index.md
    luccafort
    luccafort 2013/04/17
    まんじゅうこわいメソッドは実に優秀なことをこのエントリで再確認したw
  • 「null」をフラグとして使うのは、やめた方がいい - 地平線に行く

    null をフラグとして使うのは、やめた方がいいと思います。 null は、ただ変数が初期化されていないことを表しているだけです。 この意味以外で、null を使わない方がいいと思います。 null をフラグとして使う 「null をフラグとして使う」というのは、「null なら xxxx」というように、null が何らかの意味を持って使われていることを指します。 例えば、下記のコードでは「null はゲストユーザを指すフラグ」として使われています。 /** * ユーザ用のヘッダを作る処理 */ public String createHeader(User user){ (…中略…) String name; if(user != null){ name = user.getName(); }else{ name = "Guest"; // null ならゲストユーザ } 問題点 これの

    「null」をフラグとして使うのは、やめた方がいい - 地平線に行く
    luccafort
    luccafort 2013/04/15
    言いたいことはわかるけど「変数が初期化されていないことを表しているだけ」は少々乱暴な言い方でないかい?
  • AndroidAnnotations - コード量を劇的に削減、初学者にも優しい多機能ライブラリ

    Androidアプリを開発していると、単純な処理を実装するだけでもコードが長くなってしまいます。煩わしいと感じる人も多いでしょう。今回紹介するAndroidAnnotationsは、劇的にコードの記述量を抑えることができる夢のようなライブラリです。 アノテーションを利用 Javaでは、「@Overide」など「@」から始まるアノテーションをソースコードに記述して、警告メッセージを抑制したり、実行時にソースコードを自動生成したりできます。アノテーションの使い方には、大きく2種類あります。実行時にアノテーションを読み取るタイプ、もう一つがコンパイル時に読み取るタイプです。前者が一般的で、後者はほとんど知られていないと思います。AndroidAnnotationsは後者になります。このアノテーションを処理するには、アノテーションプロセッサと呼ばれる専用のクラスを使います。 AndroidAnno

    AndroidAnnotations - コード量を劇的に削減、初学者にも優しい多機能ライブラリ
    luccafort
    luccafort 2013/03/30
    ITProェ...続きが見れねえ!
  • 職業プログラマーなら必ず読むべき「Code Complete」 - $shibayu36->blog;

    Code Completeの上下巻を読んだ。 CODE COMPLETE 第2版 上 完全なプログラミングを目指して 作者:スティーブ マコネル日経BPAmazonCODE COMPLETE 第2版 下 完全なプログラミングを目指して 作者:スティーブ マコネル日経BPAmazon 読んだ感想としては、職業プログラマーなら必ず読むべきだなと感じた。 このではソフトウェアコンストラクションに関する話題を扱っている。このの中でソフトウェアコンストラクションとは、詳細設計、コーディングやデバッグ、単体テストなどなど、要求定義が終わった後、ソフトウェア製作に必要なプロセス全般のことを指している。 主なテーマとして、どうやってソフトウェアにおける複雑さを減らすことが出来るのか、について書かれている。そのテーマをいろいろな観点から説明されている。例えば以下の様な観点がある。 上流工程の欠陥による

    職業プログラマーなら必ず読むべき「Code Complete」 - $shibayu36->blog;
    luccafort
    luccafort 2013/03/10
    「しかし、コードを復唱するコメントは最悪である」これ専門学生のコードでよく見かける気がする。現場でもたまに見かけるけど殺意が芽生えるのでやめてください、しんでしまいます。
  • 動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log

    自分の思考を整理する意味でも、件のアレについて考えたことを書いてみる。 変数に型がないということの利点について考える - サンプルコードによるPerl入門 http://d.hatena.ne.jp/perlcodesample/20130227/1361928810 この件に触れることはプログラマとしての中二病である。恥ずかしい。マジレス乙だ。 でも気づいたら5000文字も書いてしまったし、公開して酒のんで寝る。 型のフローは機械のためだけでなく、人間に対するものでもある 最近TypeScriptを書いている。こいつを使って、二次元座標上で二点間を求める関数、getDistanceを定義してみよう。 interface IPoint { x: Number; y: Number; } var getDistance = (a:IPoint, b:IPoint): Number => Ma

    動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log
    luccafort
    luccafort 2013/03/06
    「一般的に、マイナーな言語コミュニティほど平均的な技術力が高い」絶対の担保ってわけじゃないけど確かにそう感じることはあるなぁ。
  • https://www.gembook.org/benefits_of_dynamic_typing.html

    luccafort
    luccafort 2013/03/05
    この考え自体は割と理解できるんだけどもそれよりも問題なのはその問題のあるコードがとりあえず動く状態のままリリースされてしまう現状なのではないだろうか。リファクタしてるならまぁいいとして。