タグ

programmingに関するstealthinuのブックマーク (815)

  • Swift 2のProtocol-Oriented Programmingっぽい書き方を理解する - Qiita

    func isEven(number: Int) -> Bool { return number % 2 == 0 } let evens = Array(1...10).filter(isEven) print(evens) // [0, 2, 4, 6, 8, 10] 何が古いかというと、いちいち1...10をArrayにしているところ。もうしなくていいんです。そう、Swift 2ならね。 実際、Swift 2では.mapはもうArrayでは定義されてないんです。公式ドキュメントのArray Structure Referenceを見ても、.mapはどこにも見当たりません。 ではどこで定義されているか? Arrayが準拠しているprotocol CollectionType です。実際にCollectionType Protocol Referenceを見てみると、.mapや.filt

    Swift 2のProtocol-Oriented Programmingっぽい書き方を理解する - Qiita
    stealthinu
    stealthinu 2016/03/07
    Protocol Oriented Programmingがどんなものなのか、がわかるかな?と思って読んだけどなにがPOPなのかはよくわからんかった。ちょっと違った書き方する継承くらいにしか理解できん…
  • Kotlin 1.0 リリース: JVMとAndroid向けの実用的(Pragmatic)言語 | Post Blog

    See discussions on Reddit and Hacker News Kotlin #とは? KotlinはJVMとAndroid向けのオブジェクト指向かつ関数型な実用的(Pragmatic)言語です。相互運用性、安全性、明瞭性、そしてツールサポートにフォーカスしています。 汎用言語であるKotlinJavaが動作する場所であればサーバサイドアプリケーション、モバイルアプリケーション(Android)、デスクトップアプリケーションを含むどこでも動作します。以下のメジャーなツールやサービスに対応しています: IntelliJ IDEA、Android Studio、Eclipse Maven、Gradle、Ant Spring Boot (KotlinサポートがKotlin 1.0と同時にリリースされました!) GitHubSlackMinecraft Kotlinの焦点

    Kotlin 1.0 リリース: JVMとAndroid向けの実用的(Pragmatic)言語 | Post Blog
    stealthinu
    stealthinu 2016/03/01
    Kotlinが1.0に。間違いなくIntelliJのサポートが厚いだろからそういう点が安心できる。あと名前がかわいい。
  • 握力王 vs 日本男児 ヘルシーすぎるプログラマ対談(Part2)

    お待たせいたしました。前回の続き、対談の後半戦です。前回のPart1には「プログラム関係ないじゃん」というツッコミをいただきましたが、今回は偶然にもお二人ともが使っている「セパレートキーボード」について。また奥野さんがトレーニングを始めたきっかけについて。そして話題は「プログラマへの運動のススメ」へと。その前に、まず前回の対談の模様からあの動画をお届けします。 新沼大樹 Web魚拓を運営する株式会社アフィリティーの代表取締役。握力王の異名を持ち、その鍛え上げられた肉体でTV、Web媒体など出演多数。バーチャロンの名プレイヤーとしても知られる 奥野幹也 某大手ソフトウェア企業で、データベースのスペシャリストとして活躍中。ブログ『漢のコンピュータ道』で知られる。TwitterIDは@nippondanji 健康なプログラマーはセパレートキーボードに向かう 奥野: blogにも書いたんですけど.

    握力王 vs 日本男児 ヘルシーすぎるプログラマ対談(Part2)
    stealthinu
    stealthinu 2016/03/01
    『プログラマは運動したほうがいい』
  • 非エンジニアにこそ本っ当に読んでほしい技術書9冊 | みんなのスタンバイ

    stealthinu
    stealthinu 2016/02/26
    えええ!?Perlがすごい上位でびっくり。というかSwiftとObj-Cが低いのが不思議… あとアセンブラが最下位ってなんで??一番技術力必要だろうに。
  • "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ

    PHP Advent Calendar 2013 - 7日目 昨日は@hidenorigotoさんのBeyond MVCでした。 今日は PHPあるある的な問題に対する対策について少しばかり書きたいと思います。 ※ 歯ブラシを持たせてみた *1 メモリ不足でよくやる対応 PHPで大量のデータを扱ったりすると、設定された利用可能な最大メモリ使用量を超えて PHP Fatal error: Allowed memory size of 524288330 bytes exhausted (tried to allocate 351 bytes) in ....というエラーが発生して対応に追われたことの経験がある人はかなり多いと思います。 そもそも環境のメモリに余裕があるならmemory_limitを調整してメモリの使用量を増やしたり あまり余裕がない場合は暫定的対応として、該当処理部分だけ <

    "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ
    stealthinu
    stealthinu 2016/02/24
    PHPである程度以上のメモリを消費したらログに残す方法。CakePHPからはEvent Manager経由で行なうかPHPのauto_prepend_fileという指定をしてそこでログに吐く関数を指定してやる。
  • 厚切りジェイソン、NHKでプログラミング番組「可能性は無限大」

    お笑い芸人の厚切りジェイソンが23日、東京・渋谷のNHKでEテレのプログラミング教育番組『Why!?プログラミング』(3月21~25日 後3:30)の取材会に出席。自身も幼いころからプログラミングに親しんできたといい「大学学士も修士号もコンピューターサイエンスなので、馴染みのある世界で活躍できて光栄です」と出演の喜びを語った。

    厚切りジェイソン、NHKでプログラミング番組「可能性は無限大」
    stealthinu
    stealthinu 2016/02/24
    ブ米にあった昔々にNHK教育でやってた「マイコン入門」の紹介にあまりの懐かしさに涙したわ。30年以上経てBASICはScratchに変化してもまあ学ぶ内容はあまり変化ないのは面白い。
  • Joel on Software - 射撃しつつ前進

    Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2002/1/6 ときどき何もできないことがある。 確かにオフィスにやってきて、だらだらとし、emailを10秒ごとにチェックし、Webをながめ、アメックスの請求書を支払うというような頭を使わない作業をしたりもする。しかしコードを書くフローの状態に戻ろうとしても、それができない。 このような非生産的な期間は通常1日か2日続く。しかし私の開発者としてのキャリアには何週間もの間何もできずにいたということが何度かあった。言うならば、私はフロー状態になかった。私はゾーンの中にいなかったのだ。私はどこにもいなかった。 誰でも気分のむらはある。ある人々にはそれは穏やかなものだが、他の人々には、それはもっとはっきりしていて、ときには機能不全でさえある。そして非生産的な期間は塞いだ気分と何か関係しているようだ。 それ

    stealthinu
    stealthinu 2016/02/03
    『射撃しつつ前進』って2002年に書かれたのか。10数年経っても全然色あせない話だ。前にもブクマしたと思うのだがここじゃなかったのかな?
  • git bisect で問題箇所を特定する - Qiita

    以前は問題なく動いていたはずの機能が、最新版では動かなくなっている・・・。こんなときは、「どのコミットが問題を混入させてしまったのだろうか?」を知りたくなるでしょう。 これを手助けするのが git bisect コマンドです。git bisect コマンドは、二分探索によって問題箇所を特定します。 事前準備 最初に大事なことがひとつあります。それは、「問題がない(good)状態と問題がある(bad)状態を、確実に判定できるようにする」 ことです。 当然のことではありますが、ここがあやふやだと、二分探索をしても問題箇所をうまく特定できません。 可能なら、「テストスクリプトを1つ実行するだけで判定」できるようにしたほうが良いです。このとき、テストスクリプトは、git リポジトリからチェックアウトした作業ツリーに対して実行できるようにします(例えばソースからのビルド処理もテストスクリプトに含めま

    git bisect で問題箇所を特定する - Qiita
    stealthinu
    stealthinu 2016/02/01
    git bisectという機能で問題のないバージョンとあるバージョンからなにの機能追加で問題がでたのかを特定できる。
  • 半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。

    半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ
    stealthinu
    stealthinu 2016/01/08
    うわー、これは大変。超つらい。RAIDコントローラのバグか。てことはすんごいまれな頻度でそのRAID使ってるとデータ壊れてるってことだよね。
  • R.swiftを使ってStoryboard名や画像名のTypoを0にする - Qiita

    最近使っているR.swiftという便利ライブラリについてまとめてみます。 このライブラリですが、Storyboard名や画像名をプロパティーとして取得できるようになるのでTypoする事がなくなります! おまけにコードも短くなるので非常にオススメです。 R.swift - Github R.swiftでできること

    R.swiftを使ってStoryboard名や画像名のTypoを0にする - Qiita
    stealthinu
    stealthinu 2016/01/07
    rizumitaさんのtweetより知ったR.swiftという便利ライブラリについて。例えが変かもだけどswift用のjQueryみたいな感じ。
  • もうサムネイルで泣かないための ImageMagick ノウハウ集 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちわ、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなみかんは紅マドンナです。 今回は、サイボウズのサムネイル事情について記事を書きたいと思います。サイボウズに限らず通常の Web アプリケーションでもサムネイル作成はよくあると思いますが、ハマりどころが多く涙しているサムネイリストも多いかと思います。これからの時代を生きるサムネイリストが快適なサムネイルライフを送れるよう、知見を共有したいと思います。 弊社では画像変換ツールに ImageMagick を用いており、従って知見は ImageMagick 固有のものがほとんどです。 画像比較は人間の眼で行うべし サムネイル周りに何か修正を入れたら修正前後の画像を比較しましょう。機械によるバイト列の比較では画像の良し悪しがわかりません。頼れるのは人間の眼だけです。肉眼で確認しましょう。 比較できるツールを作ると良

    もうサムネイルで泣かないための ImageMagick ノウハウ集 - Cybozu Inside Out | サイボウズエンジニアのブログ
    stealthinu
    stealthinu 2016/01/06
    ImageMagickでCMYK画像の取り扱いとか聞くだけでゲロがでるわ…
  • Tips (CGI, Perl, Unix and etc.)

    Tips 目次 Tips (CGI&SSI) ブラウザの表示を変化させない CGI スクリプト(Status: 204 No Content) 他の URI (URL) にジャンプする CGI スクリプト(Location フィールド) CGI のタイムアウトおよびブラウザの中断 CGIスクリプト中で重い処理をバックグランド実行 サーバによるタイムアウトを回避 サーバによるタイムアウトを回避&重い処理の保護 SSI における HTML 出力の中断 CGI出力内容のコピーをファイルに出力 CGIによるブラウザでのダウンロード POST のサイズ制限 Content-Encodig による gzip 圧縮 Tips (Perl) flock の使い方 排他制御 実効 UID の切替え perl の setuid スクリプト perl の system、exec、パイプ fork, system

    stealthinu
    stealthinu 2016/01/05
    perlのCGIで非常に時間がかかる処理をさせるような場合にSIGPIPEで死なないようにforkしてそっちで処理を継続させるサンプル。
  • 第6回 UNIXプログラミングの勘所(3) | gihyo.jp

    ネットワークプログラムとSIGPIPE 「私の書いたサーバが突然死するんです。どうしてでしょうか」という質問を受けることがあります。これは多くの場合、SIGPIPEの処理を忘れていることが原因です。SIGPIPEとは、切断されたネットワークソケットなどにデータを書き込もうとした際に送出されるUNIXシグナルです。特に設定しない限り、プロセスはSIGPIPEを受け取ると強制終了されます。そのため、通信が突然切断される可能性のあるTCPサーバにおいては、SIGPIPEを無視するよう設定する必要があります。 # デフォルトの動作(SIGPIPEの場合はプロセスの終了)に設定 $SIG{PIPE} = 'DEFAULT'; # SIGPIPEを無視するよう設定 $SIG{PIPE} = 'IGNORE'; # SIGPIPEを受信した際に実行するサブルーチンリファレンスを # 設定 $SIG{PI

    第6回 UNIXプログラミングの勘所(3) | gihyo.jp
    stealthinu
    stealthinu 2016/01/05
    perlのCGIなどでクライアントの接続が切れている状況で出力しようとするとSIGPIPEが発生してその時点でperlが死ぬ。$SIG{PIPE}を設定するか時間掛かる処理はforkしておく。
  • GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last.

    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. Dismiss alert

    GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last.
    stealthinu
    stealthinu 2016/01/04
    HikariCPというJDBCのコネクションプールライブラリ。先のGMOのブログエントリーから。
  • 16年間うごいているWebアプリケーションが抱えていた技術的負い目を考察する | GMOメディア エンジニアブログ

    技術推進室の浅井です。 技術的負い目とは、世に言う技術的負債のことです。 社内で技術的負債の定義、ことばの表現を考える中で、「『負債』は優れた比喩表現であるものの、第三者への返済義務がない点で会計上の負債とは異なり、言葉としての問題も多く、不必要な議論を生み出しやすい」などの指摘があり、代わりの表現として社内の一部で使われている言い回しです。 最近社内のたいへん古いシステム(16年の歴史があります)の技術推進を行う機会があり、たくさんの技術的負い目と向き合いました。 そのような古いシステムの技術的負い目と向き合ったとき、エンジニアはストレスを感じ、ネガティブな感情を抱いてしまいがちです。負い目に苦しめられることで過去のコードや技術的判断に対して不満を言いたくなる気持ちはとてもよくわかりますし、実際に私もたくさん苦しんでたくさん不満を言いました。 ですが技術的負債の文脈でよく言われるとおり、

    16年間うごいているWebアプリケーションが抱えていた技術的負い目を考察する | GMOメディア エンジニアブログ
    stealthinu
    stealthinu 2016/01/04
    すごい。すばらしいエントリ。技術的負債に対してどう対処していくかというのは一番泥臭いけど一番難しいことだと思う。大変参考になるし勉強になった。
  • GitHubで使われている実用英語コメント集 - Qiita

    この記事はリクルートライフスタイル Advent Calendar 2015 - Qiita の17日目です。 こんにちは。現在、ホットペッパーグルメのエンジニアをやっている敷地@shikicheeです。 git英語のコミットメッセージどう書けばいいの? と思ったことはありませんか? 英語で書きたいなーって思っても、いざ書くとなると躊躇しますよね。 ネイティブはどう書いてるのでしょうか。 そこで、github上で実際に使われているコメントを解析し、 よく使われている例をまとめてみました。 解析したデータ github上で1万スター以上を獲得している169リポジトリのコミットメッセージを対象としました。 bootstrap、jquery、react、d3、docker、node、tensorflowなどの有名なプロジェクトばかりなので、良いコメントが期待できます。 解析するコミットメッセー

    GitHubで使われている実用英語コメント集 - Qiita
    stealthinu
    stealthinu 2015/12/24
    すごく参考になる。英語でcommit message書いてないけど今後書くことを考えて。
  • そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)

    ハートビーツ最年長エンジニアの滝澤です。以前、弊社CTOにシニアおっさんエンジニアから若手エンジニアに向けて何か書いてくれと言われた気がしたので、アトミック(atomic)なファイル操作について3編に分けて紹介します。この内容は弊社の社内勉強会で話した内容をまとめ直したものです。 そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)←今回 そのファイル、安全に作成できていますか?(アトミックなファイル操作:中編) そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編) 今回は「みなさん、安全にファイルの更新ができていますか?」ということについて、考えてみましょう。 あなたはあるサーバ上のファイルの更新を依頼され、もらったファイルをサーバ上でコピーして上書きしました。しばらくして、データに異常が発生したので調べて欲しいと言われました。さて、何が起き

    そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)
    stealthinu
    stealthinu 2015/12/21
    unixでアトミックなファイル操作をする手法について確認しようとしたら滝澤さんのエントリーが一番に上がっていた。流石だ。
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

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

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    stealthinu
    stealthinu 2015/12/16
    よいインタビューだった。PHPを作った思想が言語によく現れてる。
  • Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか-

    タイトルは釣りです。すいませんほんと。 2015年12月0c8日に行われたAktsk Tech Meetup #1: Elixir & GraphQLで発表した際の資料です。 === Node.js+Koaで開発していたサービスを、なぜリリースせずにElixir+Phoenixに書き換えることにしたのか? Elixirを通して見えてくるNode.jsの問題点とは?Node.jsユーザーがElixirを始める際の注意点とは? この辺りのテーマについて答えられるお話をさせていただければと思います。

    Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか-
    stealthinu
    stealthinu 2015/12/10
    なんかこの紹介見てるとすごく良さそうに感じてしまうわ。関数型とパターンマッチの流れだな。
  • システムエンジニアのカレンダー | Advent Calendar 2015 - Qiita

    About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    システムエンジニアのカレンダー | Advent Calendar 2015 - Qiita
    stealthinu
    stealthinu 2015/12/08
    とても良い話が並んでる。これも正座して続きを待ちたいアドベントカレンダーだわ。