並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 882件

新着順 人気順

byteの検索結果1 - 40 件 / 882件

  • 「1Byteが8bitに決まったワケ」についての長い話 まずは「バベッジの階差機関」から

    いつものようにヘロヘロと仕事をしていると、突如担当編集の松尾氏からMessengerで「これに対するちゃんとした回答を書けるのは大原さんだなということで、また歴史物をお願いしたく」という依頼が飛び込んできた。 いやちゃんとした回答も何も、上のTreeで出題されたSEライダー氏が正解を出されているわけですが、歴史的経緯というか、ここに至るまでの話というのが長い訳で、その辺りを少し説明してみたいと思う。 ちなみに出題に少しだけ違和感がある(なぜ10bitがキリがいいと思うのか?)のは、筆者もこっち側の人間だからかもしれない。 回答の前に、その根底にある2進数採用の経緯 そもそも非コンピュータ業界の方からすれば、2進数がベースという辺りから違和感を覚えるのではないかと思う。実際、世界最初の計算機(≠電子計算機)とされる「バベッジの階差機関」(写真1)にしても、世界最初の電子計算機(※1)であるE

      「1Byteが8bitに決まったワケ」についての長い話 まずは「バベッジの階差機関」から
    • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

      TwitterのTLで知ったのだが、少し前に海外の掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

        常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
      • 「1byteはなぜ10bitでなく8bitなのか」に即答できないのはIT素人」説を受けてベテランが「なぜ8bitに収束したのかわからん」と苦悩する世界

        SEライダー @Sys_Rider プロ野球好きのITコンサル。バイクネタは非常に稀です。 基本的にIT系属性。 農業IoT、産業系基幹、行政系、エネルギー系、たまに金融系などなどアレコレPMやっていて近年はITコンサルに転向。徐々に経営側の知識得ながら資格取得目指す。 SEライダー @Sys_Rider 面談で未経験なのに経歴盛り盛り詐称を洗い出す究極の質問を編み出した。 「1byteは何故8bitなのか?」 「何故キリがいい10bitじゃなかったのか?」 これ即答出来る人に未経験はまずいない。 そしてしっかり基礎から学んでると即答出来る。 2022-02-01 07:16:51 SEライダー @Sys_Rider 今回の質問は、完璧な答えを望んではいません。 冒頭に言ったように『ITに興味あるか否か』を見るため、敢えてツッコミ所を持たせた質問を考えついたのでした。 もしITに興味がなく

          「1byteはなぜ10bitでなく8bitなのか」に即答できないのはIT素人」説を受けてベテランが「なぜ8bitに収束したのかわからん」と苦悩する世界
        • npmjs.com で著名ソフトウェアによく似た名前のマルウェアが大量に発見された - Islands in the byte stream

          Malicious packages in npm. Here’s what to do | Ivan Akulov’s blog People found malicious packages in npm that work like real ones, are named similarly real ones, but collect and send your process environment to a third-party server when you install them 訳: 悪意のあるパッケージがnpmで発見された。それらは、実際のパッケージによく似た名前で同じように動くが、パッケージのインストール時にプロセスの環境変数を外部のサーバに送信する。 発見されたパッケージの一覧は元エントリをどうぞ。このようなマルウェアである偽パッケージの一例をあげると、 ba

            npmjs.com で著名ソフトウェアによく似た名前のマルウェアが大量に発見された - Islands in the byte stream
          • プログラミング初心者にオススメのPerl本 - Islands in the byte stream (legacy)

            この時期、Perlを学び始める方も多いと思います。そこでプログラミング初心者がPerlを学ぶのに適した本を、私が実際に読んだことのあるものの中から選んでみました。 1冊目 1冊目はなんでもいいと思うのでとりあえず定番としてリャマ本を挙げておきます。 初めてのPerl 第5版 作者: Randal L. Schwartz,Tom Phoenix,brian d foy,近藤嘉雪出版社/メーカー: オライリージャパン発売日: 2009/10/26メディア: 大型本購入: 22人 クリック: 293回この商品を含むブログ (41件) を見るこれで基本的なPerlの文法が学べるはずです。この手の入門書は「課題」がつきものですが、すべて解く必要はないと思います。幾つか気になるもの・面白そうなものだけ試してみればいいでしょう。 1冊目読了の辞典では、以下のプログラムの簡易バージョン*1を実装できるよう

              プログラミング初心者にオススメのPerl本 - Islands in the byte stream (legacy)
            • DX: Developer Experience (開発体験)は重要だ - Islands in the byte stream

              DX: Developer Experience (開発体験)とは、あるシステムを「気持ちよく開発・保守できるかどうか」を示すもの 開発者は開発・保守という行為を通じたそのシステムのユーザーであり、DXはUXの一種である DXがよいと日々の開発を楽しめるようになり、気持ちに余裕ができる 気持ちの余裕がでるとコードの品質があがり保守時のデグレも減らせる また、DXがよい事自体がDXを高める動機になり、正のスパイラルを見込める つまり、「定められたタスク」(=義務)以上のことを行うようになる DXが悪いと開発を楽しめず、「定められたタスク」以外のことをしたくなくなる DXは放置すると悪化するので、「DXがよくも悪くもない」プロダクトは時間が経つに連れ「DXが悪い」になる なので積極的にDXを良くしていく活動を奨励していくのがよい いくつか興味深いフィードバックがあったので記しておきます。 DX

                DX: Developer Experience (開発体験)は重要だ - Islands in the byte stream
              • 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)

                (追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー

                  「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)
                • quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream

                  <追記>ベンチマークプログラムに誤りがありました。ソート済のシーケンスに対してソートを掛けていました。ご指摘ありがとうございます>ak氏 そんな夢のようなソートアルゴリズムがあるのかというと、あるらしいんです。それがtim sortと呼ばれるアルゴリズムです。 画期的(?)なソートアルゴリズム「Sleep Sort」:濃縮還元オレンジニュース|gihyo.jp … 技術評論社 このあたりで拾ってきたネタですね。 merge sortを改良したアルゴリズムで、安定*1しており、しかも実行速度にも優れているとか。アルゴリズムの性能の評価は済んでいるらしく、CPythonやJDK7には既に導入済みのようですね。 ならば当然Perlのソートも…と考えるわけですが、まず評価のためにJavaのソースをC++にそのまま移植してみました。それがこれ(いちおうテスト済): https://github.co

                    quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream
                  • PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream (legacy)

                    あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPerlについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。Perlの場合は cpanm というCPANクライアントでライブラリをインストールする。バージョンの固定とライブラリパスの設定は carton で行う。 https://github.com/miyagawa/cpanminus https://github.com/miyagawa/carton アプリケーションサーバ Webサーバへのインターフェイスとしては、PSGIという仕様がある。PSGIに準拠したツールキットとしてPlack

                      PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream (legacy)
                    • なぜTypeScriptに失望してしまうのか - Islands in the byte stream

                      追記: この件に関してエンジニアHubにもTypeScriptの記事を書きました: TypeScript再入門 ― 「がんばらないTypeScript」で、JavaScriptを“柔らかい”静的型付き言語に - エンジニアHub|Webエンジニアのキャリアを考える! TypeScriptに対する失望は2パターンあって、その理由は理解できるのですが、いずれにせよそこでTypeScriptを捨てる判断をするのはもったいないと思っています。この2つの失望を感じたとしてもなお、TypeScriptには導入する価値があると思っています。 パターン1: 実はJavaScriptに対する失望である そこらのブログやTwitterで観測していると、理由の7割くらいこれです。これは、TypeScriptが独立した言語ではなくJavaScriptへのトランスパイラ(言語変換ツール)であり、独立したランタイムを

                        なぜTypeScriptに失望してしまうのか - Islands in the byte stream
                      • Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte!

                        Free resources for young people to learn to code and become digital makers

                          Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte!
                        • Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)

                          Perlではメモリリーク検出ツールがいくつか開発されているので、top(1)の結果を眺めるよりそういうツールを使うほうが楽である。 さて、メモリリークが発生しているとき、その可能性としてはだいたい以下の4つが挙げられる。 Perlレベルでの循環参照 グローバル変数に値をどんどん足しているとき*1 XSレベルでリファレンスカウントの管理ミス XSレベルでmalloc()したメモリの管理ミス この1-3についてはすべてPerlインタプリタ内の出来事であり、Test::LeakTraceを使って検出できる。4を検出するのは難しいが、Test::Valgrindが役に立つ。 Test::LeakTraceのSYNOPSISは歴史的経緯によりごちゃごちゃしているが、テストで使うべき関数はno_leaks_ok()とleaks_cmp_ok()だけである。 たとえば、以下のようにして使う*2。 #!p

                            Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)
                          • なぜTypeScript推しなのか - Islands in the byte stream

                            KibelaのフロントエンドをES2015からTypeScriptに絶賛移行中です。 www.typescriptlang.org で、なぜ flow じゃないくてTSなのかって話です。 flow vs typescriptである理由は、どちらもJSのスーパーセットをうたう静的型付きのaltJSだからです。この時代にあえてaltJSを導入する理由としては静的型があるというのが必須で、かつ学習コストを考えるとJSのスーパーセットであるのが望ましいでしょう。 言語仕様 言語仕様の点から言うと、決定的な差はないと思っています。 メリットもだいたい同じで 生産性: エディタの補完をJSよりも賢くできるので、より少ない脳のワーキングメモリでコードを書ける 堅牢性: コンパイル時に(=多くのケースではエディタで)typoなどの間違いを検出できるのでバグを減らせる 学習コスト: JSをベースにしており、

                              なぜTypeScript推しなのか - Islands in the byte stream
                            • markdownの拡張記法の現状 - Islands in the byte stream

                              Kibelaは次のようにいくつかmarkdownを拡張しています。 PlantUML記法に対応しました - Kibela Blog 記事の外部共有とLaTeX記法による数式表示に対応しました - Kibela Blog そして、今後もそういう拡張は増えていくと思われます。 PlantUML KibelaのPlantUML記法はこういうやつです。 ```plantuml Bob -> Alice : hello Alice -> Bob : Go Away ``` GitLabも同じ構文でPlantUMLをサポートしていますね。 PlantUML & GitLab - GitLab Documentation crowiも最近PlantUML記法をサポートしはじめましたね。構文はKibelaとおなじです。 Support PlantUML by sotarok · Pull Request

                                markdownの拡張記法の現状 - Islands in the byte stream
                              • Fastly に入社しました - Islands in the byte stream

                                2019年9月9日からFastlyに入社しています。勤務地は東京です。今後ともよろしくお願いいたします。 前職の Bit Journey, Inc. では3年ほどKibelaのサーバーサイドやフロントエンドアプリの開発に関わりました。Bit Journey在職中に子供がうまれ、現在も夫婦で分担しながら子育てをしていますが、この子育て初期という大変な時期*1にBit Journeyで気持ちよく働けたのはたいへんな僥倖でした。ここで改めて感謝いたします。 さて、Fastlyは方向性を変えて、ウェブアプリではなくVarnishやH2Oなどのミドルウェアの開発に関わります。 Kibelaは自分が数年のあいだ心血を注ぐにふさわしいサービスでしたし、実際のところ大いに開発を楽しみました。しかし、しばらく今後のキャリアの方向性を考えた結果、かねてから経験してみたいと思っていた低レイヤーなソフトウェア開発

                                  Fastly に入社しました - Islands in the byte stream
                                • 新技術を学ぶ技術と三つの壁とDroidKaigi 2017 - Islands in the byte stream

                                  こないだの@onkさんのスライドがとても良かったんですよ。 短期間で新技術を学ぶ技術 from Takafumi ONAKA 短時間といいつつ守破離の「離」までいくのに3年かかるといってて、高速道路なんてものはないんだなということがわかりますね。 とはいえ自分自身に照らし合わせてみてもそのとおりだなと思いました。ぼくもAndroidで対外的にアウトプットできるようになるまで3年くらいかかってますし。まあ、ぼくは新技術を学ぶのはわりと苦手なほうではあるんですが。 で、スライドにはないけど新しい技術を学ぶ際には大きな壁がいくつかあるなとあると思ってます。それを 意識して 乗り越えるための指標としてもこのスライドはよさそうだなと。 ついでなのでちょっと ぼくの感じる 三大壁をまとめてみました。まあ、壁を壁と感じない人もいると思いますけどね! Lv.1 着手の壁 症状: 何の役に立つのかわからない

                                    新技術を学ぶ技術と三つの壁とDroidKaigi 2017 - Islands in the byte stream
                                  • 『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

                                    Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、という本で、大変面白く読みました。最終的にまあまあ本格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この書籍で最終的に作られる言語はこちら: GitHub - msakuta/ruscal: Programming language implementation learning project ちょうど私も、以前から構想していた言語があったので、ちょっと作ってみました。というのも、TypeScriptを設定記述言語としてさまざまなプログラミング言語から使えると便利ではないかとずっと思っていたのです。 この設定言語で複雑なことができる必要はなく、最終的にはJSONに準ずるデータ構造になればよい

                                      『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream
                                    • Android Javaでフィールドにmプレフィクスをつけるのはやめよう - Islands in the byte stream

                                      Android Javaでは昔からAOSPのcoding style guidelineに則ったスタイルがとられることが多いようです。そのなかで、private fieldに "m" (member) や "s" (static member) などのプレフィクスをつけよ、というものがあります。 AOSP Java Code Style for Contributors  |  Android Open Source Project これはいわゆるハンガリアン記法の変種で、こういうやつですね。 class Recipe { private String mTitle; private List<String> mSteps; // ... } これについての態度はプロジェクトごとに様々ですが、たとえばクックパッド社のJavaのスタイルガイドでは明確に否定しています。 styleguide/

                                        Android Javaでフィールドにmプレフィクスをつけるのはやめよう - Islands in the byte stream
                                      • XS基礎文法最速マスター - Islands in the byte stream (legacy)

                                        元ネタ:Perl基礎文法最速マスター(id:perlcodesample) XSを始めるための手順といくつかの要素の解説です。C言語をある程度知っている人でも,これを読んだだけでXSの基礎をマスターしてXSを書くことができるようにはなっていません。リファレンスでもありません。 XSとは,狭義ではPerlでエクステンションを書くためのマクロ言語の名前ですが,広義ではエクステンションを書くための技術の総称です。ここでは,広義のXSを俯瞰します。 XSはいろいろと特殊なのでテンプレは無視で行きます。 目次: h2xsで空のディストリビューションを作る XSファイルの構成 スレッドコンテキスト SVファミリ GCとスコープ さらなる学習のために h2xsで空のディストリビューションを作る 以下のコマンドで空のXSディストリビューションを作ることができます。 h2xs -A -b 5.8.1 -n

                                          XS基礎文法最速マスター - Islands in the byte stream (legacy)
                                        • 1-byte.jp - CakePHPを使ったテスト駆動開発

                                          ブログ初ポストはCakePHPを使ったテスト駆動開発です。 CakePHPはユニットテストとしてSimpleTestに対応しています。 SimpleTestをインストールするだけで、モデルやコントローラ、シェル、ルーティングクラスなどのユニットテストが出来るようになります。 今日はこのCakePHPとSimpleTestを使ってテスト駆動開発の流れを説明します。 ただ、僕自身テスト駆動開発を学んだのは去年のCake祭りなので、至らない点が多々あります。 もし何かあれば、コメントでご指摘ください。 今更感もありますが、この場を借りてCake祭りでテスト駆動の指導をしてくださった、@sizuhikoさんに感謝します。 開発手順 まずは開発手順を示します。少し細かいですが、テスト駆動では以下のような順で開発していきます。 設計する。 テストケースを書く。 テストケースをデバッグする。 コー

                                          • Twitterが葬った6秒動画アプリ「Vine」、「Byte」として復活

                                            6秒動画アプリの「Vine」が「Byte」として復活した。1月24日(米国時間)、iOSおよびAndroidアプリがそれぞれのアプリストアで公開された。 Byteをリリースしたのは、「Vine」の共同創業者、ドム・ホフマン氏。Vineは米Twitterが2012年10月に買収し、自社アプリとして公開したが、トップクリエイターがSnapchatやYouTubeに流出したことなどもあり、2016年10月に終了した。 ホフマン氏は2018年11月に新たな動画投稿サービスとしてByteを立ち上げると予告し、Byte Incを創業して開発を進めてきた。 ByteでできることはVineとほぼ同じ。アプリのカメラで撮影するか、カメラロール内の動画をアップロードすると、6秒のループ動画として公開される。Vineの後に登場した人気の動画アプリ「TikTok」にあるような口パク機能などは今のところ備わっていな

                                              Twitterが葬った6秒動画アプリ「Vine」、「Byte」として復活
                                            • Holiday-MDJP03 / 2byte True Type

                                              アルファベット・記号・数字のベースライン修正、前バージョンでの漢字変換エラー(下記の赤字参照)の修正、全体的なスペーシング調整、追加文字として、(←・→・↓・↑・♪・※)の記号を追加しました。 サンプルグラフィックのみ変更しました。クリックすると2倍の大きさの画像が表示されます。(2011.06.24 UP DATE) ※現バージョンの『ホリデイMDJP03(Holiday-MDJP03)』の変換エラーとして、『謎 → 迷』、『塞 → 寒』が報告されています。 「酵」という文字が『酉と考』の組み合わせになっていて誤字になっています。ご了承ください。(2011.10.06 UP DATE) 『ホリデイMDJP03(Holiday-MDJP03)』は2バイトフォントです。ローマ字入力!縦書き!カタカナ!ひらがな!漢字!と簡単変換が可能。第1水準の漢字全て打ち出せます。トータル約全6200文字!

                                              • FizzBuzzを1byteで実装する - Qiita

                                                以前「FizzBuzz Zero ―― 人類の知識なしでFizzBuzzをマスターする」という記事がQiitaに出ました。 これに対して「人類の知識を使わないと大変すぎる」という趣旨の意見がいくつかありました。確かにGitHubで公開されているコードをみると全部で31,086 バイトで、少し長いような気もします。 では、人類の知識を使うと、どれくらい簡単にFizzBuzzを書けるのでしょうか? 気になって調べたので、備忘録も兼ねて記録したいと思います。 この記事の内容をざっくり2行で: 様々なプログラミング言語の最小のFizzBuzzコードを比較する 最短で1バイトで実装できる 目次: 1. Code Golfとは 2. Python3 3. Python2 4. C 5. Ruby 5. Bash 7. GolfScript 8. Vim 9. Hexagony 10. Lazy K 1

                                                  FizzBuzzを1byteで実装する - Qiita
                                                • Ruby の invalid byte sequence in UTF-8 例外を encode("UTF-8", "UTF-8") で回避するのはおかしいよ、という話 : sonots:blog

                                                    Ruby の invalid byte sequence in UTF-8 例外を encode("UTF-8", "UTF-8") で回避するのはおかしいよ、という話 : sonots:blog
                                                  • 発表資料: Elasticsearchによる 全文検索の実装 - Islands in the byte stream

                                                    Rails Developers Meetup 2018 (#railsdm) で話した資料です。Railsの話はほとんどなくて、全文検索の仕組みとスコアリングについてのまとめが主です。 Q&Aシステムでの質問もここで回答します。 Q. データの同期はどうされていますか? 同期はActiveRecordのcallbackでActiveJobに更新jobを投げる形で非同期で行っています。また、データ構造などの更新がある場合にindex再構築するときのためのblue-green deployment用のバッチがあります。 Q. 何かgemを使われていますか?使われているなら、どんな選定理由ですか? いまはelasticsearch-railsを使っていますが、このエントリの後半にあるような理由で捨てようと思っています。移行先はまだ決めていません。 Q. 辞書を作ったりしていますか? Amazo

                                                      発表資料: Elasticsearchによる 全文検索の実装 - Islands in the byte stream
                                                    • JSにコンパイルされたDartがPerlより速い件 - Islands in the byte stream (legacy)

                                                      Dartのインストールが簡単になっていたので試してみたところ、Perlよりも高速だった。 なにこれ悔しい。 Dart: void main() { final t = new Stopwatch(); t.start(); final a = new List<int>(); for(var i = 0; i < 1000000; ++i) { a.add(i); } for(var i = 0; i < a.length; ++i) { ++a[i]; } var sum = 0; for(var i = 0; i < a.length; ++i) { sum += a[i]; } print(sum); print(t.elapsedMilliseconds / 1000); } Perl: use 5.12.0; use Time::HiRes qw(gettimeofday tv_

                                                        JSにコンパイルされたDartがPerlより速い件 - Islands in the byte stream (legacy)
                                                      • GizmoCrunch - Your Daily Byte of Tech Discovery

                                                        Android 15 May Adopt Samsung-Inspired Design for Google’s Status Bar Icons Google revamped Android's look with a new colour scheme in Android 12. However, Android 15 might not have such a ...

                                                        • Byte saving techniques

                                                          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

                                                            Byte saving techniques
                                                          • ES modulesのexport defaultは使わないほうがよい - Islands in the byte stream

                                                            ES modulesにexport defaultってのがあるんですが、default exportのexport対象に名前が必須でないため、IDEによるコード補完と相性が悪いです。 他のところはどうしてるのかなと思って調べてみると、GoogleのTypeScript Style Guide では禁止されてました(v1.0.0, 2019/07 現在)。 https://github.com/google/gts/blob/v1.0.0/tslint.json#L40 ("no-default-export": true) TypeScript compiler coding guidelineには特に言及はないみたいですね。 https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines そもそもexport defaultは

                                                              ES modulesのexport defaultは使わないほうがよい - Islands in the byte stream
                                                            • わかりやすくてかわいいピクセルアートなカロリー表 - Fancy a Byte -

                                                              様々な食品のカロリー表をピクセルアートの面積で表現するというインフォグラフィックス。 視覚的にわかりやすくとてもかわいいですね。 ビール気をつけないと。。 ところで、こういう8-bit感は私にはとてもグサグサくるのですが若い子にはどうなんでしょうか? 会社の20歳前半の男子的には全くササらないそうなので、これがジェネレーションギャップなのでしょうか。。 いや、かわいいものはかわいいのです! via: Fancy A Byte: Food Pixel Art Style Information Graphic | visualizing.org

                                                                わかりやすくてかわいいピクセルアートなカロリー表 - Fancy a Byte -
                                                              • github.comのアカウントは仕事用と私用で分ける方がいいの? - Islands in the byte stream

                                                                追記(2019/04/11): sonots氏がGitHubの方と相談しつつ設計した運用方法が公開されました。 全社的に会社用GitHubアカウントを廃止した件 - ZOZO Technologies TECH BLOG このガイドラインは今後のデファクトスタンダードになると思うのでtl;drを引用します。 個人で会社用と私用の2つの無料GitHubアカウントを持つことはGitHubの規約「非」準拠だった 会社用GitHubアカウントを廃止し私用GitHubアカウントを利用する規定に変更した セキュリティを担保するためGitHubのSSO機能を利用した GitHubの規約的には、おそらく「会社として会社用アカウントを pro版にする」「個人が身バレを防ぐために個人アカウントをpro版にして会社用アカウントを別途作る」などの運用も可能だとは思います。しかし、GitHubというサービス自体マル

                                                                  github.comのアカウントは仕事用と私用で分ける方がいいの? - Islands in the byte stream
                                                                • ActionArgsが素晴らしい件 #Rails - Islands in the byte stream

                                                                  github.com Railsのcontrollerで違和感があるのって actionのinputに params というインスタンスメソッド経由でアクセスすること しかも params はviewからアクセスできる! actionのoutputが controller のインスタンス変数への代入であること しかもそのインスタンス変数はviewからアクセスできる! というところだと思うんですよ。 なぜなら我々は「メソッドの引数でinputを受け取りメソッドの戻り値をoutputとすべし」ということを是としてコードを書いてるわけじゃないですか。リーダブルコードを読むまでもなく、変数のスコープは狭ければ狭いほどメンテナンスしやすいリーダブルなコードだというベストプラクティスを正しいものとしてコードを書いているわけじゃないですか。 そういうベストプラクティスに真っ向から反しているのが現在のRa

                                                                    ActionArgsが素晴らしい件 #Rails - Islands in the byte stream
                                                                  • GitHub ActionsからGitHub wikiを更新する - Islands in the byte stream

                                                                    GitHub ActionsからGitHub wikiを更新したいことがたまにあります。たとえば、何かのメトリクスを見やすく整形したものなど、repositoryのデータを何らかの形で加工したドキュメントを作りたいときです。コード生成したmarkdownドキュメントをコミットしてもいいですが、それよりはシンプルで運用が楽です。 今回は、GitHub repoで管理する原稿の文字数(など)を継続的に見れるページを作ると便利かなと思って作りました。自分一人だったらローカルで適当なツールを叩けばいいですが、同repoを見れる編集者にも共有したいとなると独立したページがあるほうが便利ですからね。 リポジトリはこんな感じです。 github.com 基本的には、 actions/checkout を使って "${{ github.repository }}.wiki" をcloneして編集してpus

                                                                      GitHub ActionsからGitHub wikiを更新する - Islands in the byte stream
                                                                    • IT業界を目指す大学生へ - Islands in the byte stream (legacy)

                                                                      新卒準備カレンダー 2011春という企画のエントリです。本来であれば3/11日の投稿でしたが、東日本大震災があったため本日の投稿となりました。 東日本大震災を目の当たりにして衝撃を受けつつも、身の回りでは困難があるわけでもないので何もしないのがもどかしく、しかし実のところ何もできることはなく、Twitterを眺める、NHKを眺める、コーディングするなどして過ごしています。しかし、電力不足等の懸念はあるものの、春からは社会人になることは依然として明らかです。であれば、今は粛々と日常生活を送るしかありません。そういう訳で、平常モードでポストします。 お前誰よ? [twitter:@__gfx__]と申します。この春からDeNAで働くPerlプログラマです。Perl好きが高じてPerlの仮想マシンをpure Perlで実装したりしたことがあります*1。Shibuya.pmやYAPC::Asiaで

                                                                        IT業界を目指す大学生へ - Islands in the byte stream (legacy)
                                                                      • MySQLのUNIQUEなINDEXには長さ767byteまでしか使えない件と対策 - tanamonの稀に良く書く日記

                                                                        はじめに たとえばこんなDDLを投げる。 CREATE TABLE test ( id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, hoge varchar(256) NOT NULL, UNIQUE KEY (hoge) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; するとエラーになる。 Specified key was too long; max key length is 767 bytes (SQLState:S1000)エラーに書かれているとおり、keyは最大で767byteまでしか使えないらしい。 ちなみにkeyはPRIMARY KEYとUNIQUE KEYがダメ、ただのKEYならOK。 で、どうするか。 1.素直に諦める 上記例ではテーブルがCHARSET=utf8のため1文字3b

                                                                          MySQLのUNIQUEなINDEXには長さ767byteまでしか使えない件と対策 - tanamonの稀に良く書く日記
                                                                        • Bit Journeyに転職してKibelaをリリースしました - Islands in the byte stream

                                                                          半年くらいまえにBit Journeyに転職してKibelaを作ってました。AndroidエンジニアからRails + Reactエンジニアへの転向ということになります。 Kibelaはこちら。ようやく本日リリースできました。といっても開発面でいうとこれからが正念場ではあります。 Kibela - 個人の発信を組織の力にする情報共有ツール “個人の発信を組織の力にする情報共有ツール” と銘打っているとおり、これは 個人が組織内で自由に情報を発信すると組織が活性化する という仮説に基づいて設計されている、会社などの組織向けのサービスです。もちろんそれだけでなく、仕様書の整理につかったり議事録をとりあえず突っ込んでおくみたいなのもありです。 さてKibelaでできることはBlogとWikiを書くことです。これはつまり 個人が発信する情報 とそれ以外を分けるということです。このあたりの思想やベス

                                                                            Bit Journeyに転職してKibelaをリリースしました - Islands in the byte stream
                                                                          • Data::Dumper が壊れているという惨事 - Islands in the byte stream (legacy)

                                                                            あるいは PERL_CPANM_OPT=-n は危険だという話。 それはこのtweetから始まった。 結局これは Data::Dumper 2.143 が壊れていたからなのだが、そこに至るまでがちょっと大変だったので記録しておく。 まず、再現スクリプトは以下のものだった。 # executed in perl 5.10.1 use strict; use warnings; use Data::Dumper; use Text::Xslate; my $tx = Text::Xslate->new({ syntax => 'TTerse' }); my $template = <<TMPL; [% value | dump %] TMPL my $value = +{ 'ab' => 'c', }; print Dumper($value); my $ret = $tx->render_s

                                                                              Data::Dumper が壊れているという惨事 - Islands in the byte stream (legacy)
                                                                            • AndroidのORMに求めること、あるいはOrmaを開発した話 - Islands in the byte stream

                                                                              Android用ORMライブラリを書き始めました。 github.com 開発の動機 AndroidのORM事情は2014年の天下一「AndroidのORM」武道会 - Qiita あたりをどうぞ。ただ2015年11月現在だとDBFlow 2.xが爆速になっており、GreenDAOに匹敵するレベルになっていそうです。ほかのライブラリもいろいろアップデートしているので、天下一Android ORM武闘会の2015年版が望まれます。 さて本題ですが、私がAndroidのORMに求めるものは下記のようなものです。 高速 Realm並は無理でも、爆速ORMとして知られるGreenDAO程度の速度はほしい upgrade / downgradeできるmigration機構 なるべく自動的によしなにやってくれるのがよい たとえば開発中にカラムを追加したときは自動的にmigrationしてほしい マイグ

                                                                                AndroidのORMに求めること、あるいはOrmaを開発した話 - Islands in the byte stream
                                                                              • 自己紹介と過去の話 - Islands in the byte stream (legacy)

                                                                                新卒準備カレンダー 2011春に何か書くにあたって、まずは軽く自己紹介的な挨拶を書こう…と思ったら予想外に長い自分語りになってしまったので別途書き出しておきます。エンジニアとしてのスキルや活動については本編に書くので、ここではそれ以外のことを書きます。 現在の私 この3月で大学を卒業し、4月からはDeNAにエンジニアとして入社します。 プログラミングが大好きで、3年ほど前からShibuya.pmによく顔を出しています。最近の成果物としては、Perl用のテンプレートエンジンXslateです。これについてはWeb+DB Presss誌で解説の機会をいただき、「Xslate 次世代テンプレートエンジン」としてWebでも公開済みです。 ところで、私は今年29歳になります。しかし、大学院にいったわけでも二度目の大学というわけでもありません。これは大学入学が24歳のときと遅かったためです。私が大学を目

                                                                                  自己紹介と過去の話 - Islands in the byte stream (legacy)
                                                                                • AWSでコスト計算する時はData Transfer Out Byteが重要です - 日報 #118 - 俺の報告

                                                                                  お金の話です。 AWSの。 一般的なアプリのサービスの場合、 サーバサイドのメインコストは下記の3つです。 RDS固定費 EC2固定費 S3固定費 転送料金 使っていれば大物コストになりうるのはRedshiftやDynamo、CloudSearchあたりだと思いますが、 まぁ一旦ここは置いておきましょう。 特にRoomClipのような画像中心のサイトの場合は、 転送料金がバケモノ化していくので要注意でございます。 よくAWSの料金体系は複雑と言われます。 確かにそうなのですが、 複雑化している最大の要因は転送料金にあるんじゃないでしょうか。 もっと突っ込んで言えば、「S3の転送量が把握できない」ということが大きいのではないでしょうか? 今日はその辺について、僕が荒く把握するときの計算方法を記載してみます。 転送料金以外について、まず整理してみます。 これは実はとてもシンプルで、 RDSもE

                                                                                    AWSでコスト計算する時はData Transfer Out Byteが重要です - 日報 #118 - 俺の報告