あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
Ranger is a console file manager with VI key bindings. It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with rifle, a file launcher that is good at automatically finding out which program to use for what file type. For mc aficionados there's also the multi-pane viewmode. This file describes ranger and how to get it to run. For instructions on th
アクセシビリティ向上メモ 最初から考慮されているのが一番ですが、そうでもなかったプロダクトに手を入れるときのあるあるを記録します。既存プロダクトはモノが出来上がってしまっているため根治的なリファクタリングよりも基本的には省力で済ませたいので、今回書いた対応方法も完璧よりは省力路線です。 HTML やらセマンティクスに関する知識はそれなりにあるつもりでしたが、AT やマシンリーダビリティを念頭に勉強し直すと自分で作ったものも至らなかったなと振り返らざるを得ない今日この頃。初期設計のときの考慮範囲が拡がったように思うので善きかなです。 各項目について、もっと良い解法や誤り等あれば twitter とかでご指摘ください。 1. 画像に alt 属性がない場合 付けましょう。付けます。はい。 昔から基本とも言うべき、HTML/CSS 書きとしては耳にたこができるほど言われてきたことなので今更感もあ
Introduction F* (pronounced F star) is a general-purpose proof-oriented programming language, supporting both purely functional and effectful programming. It combines the expressive power of dependent types with proof automation based on SMT solving and tactic-based interactive theorem proving. F* programs compile, by default, to OCaml. Various fragments of F* can also be extracted to F#, to C or
(訳注: この日本語マニュアルは Verified programming in F* の翻訳です。 翻訳に参加するには 翻訳リポジトリ を参照してください。) 1. イントロダクション F* は検証指向のプログラミング言語で、Microsoft Research, MSR-Inria, Inria によって開発されています。 それは、型付で正格な関数型プログラミング言語である ML 族の言語の伝統を受け継いでいます。 けれども、その型システムは ML のそれよりも著しく豊かで、表明されて半自動的に検査される関数的な正確さの仕様を許します。 このチュートリアルは F* における検証されたプログラミングの最初の体験を提供します。 論文とテクニカルレポートを含む F* に関するより多くの情報が F* ウェブサイト で見つかります。 もし ML 族の関数型プログラミング言語 (例: OCaml,
MySQL 5.7 で JSON 型が追加されたのに関連して、私がメンテナをしている MySQL ドライバーで罠にハマったので、 MySQL のテキストプロトコルの闇を書き残しておくことにします。 Text Resultset MySQL にクエリを投げるコマンドが COM_QUERY で、そのレスポンスとして返されるのが Text Resultset と呼ばれる一連のパケットです。その中身は次のようになっています。 column count (整数1つだけのパケット) column definition * column count (各カラムの定義) EOF row * N (結果行数分) EOF この記事で注目するのは column definition パケット (定義) の中にある、 column_type と character set です。 Python の MySQL ド
golang の channel は他の言語に見ない独特のパラダイムを開発者に提供します。 単純にスレッド間でメッセージングをするだけでもC言語で書けばそこそこの量になったり、慣れていない人であればどう実装すればいいか分からないなんて事もあったと思います。しかし golang の goroutine/channel は、やっている内容の割にとても容易にスレッド間通信やキューイング、処理の受け待ち等を実装できる様になっています。尚、channel をどの様に適用したら良いかについては以下を参照下さい。 Big Sky :: Golang の channel の使い所 golang の特徴と言えば goroutine と channel ですが、その使いどころに悩む人もおられる様です。 goroutine は非同期に実行される処理、channel はその grout... http://mat
先日、Twitterでqコマンドが話題になっていました。 github.com スターが3000を超えていてすごいですね。2014年から開発されているツールで、Pythonで書かれています。 これはGoで実装してみたいなーと思っていたところ、mattnさんが素早く実装されていました。 mattn.kaoriya.net 一本取られたと思ったものの、よく読むとまだ標準入力しか対応していないようです。 いったいどういう仕組みなのか、何の実装が難しいところなのか、qコマンドが嬉しい場面はどういうケースなのか、自分も知りたくなったので1から実装してみました。 私が一番素早く書ける言語ということでHaskellを選びました。 qhs qコマンドのHaskell実装、ということでqhsと名づけました。 github.com stackが入っていればインストールは簡単です。 $ git clone ht
あなたの好きな言語は何ですか。そして、あなたの好きなアルゴリズムは何ですか。 好きな言語があると、その言語でどんな問題でも解決しようとなりがちになります。その言語を極めるのは素晴らしいことですが、その言語や似たような言語でしかコードが書けなくなったり、他の言語に対して見向きもしなくなってしまう可能性があります。 勇気を出して新しい言語にチャレンジしてみませんか?色々な言語に挑戦してみませんか? 何から始めればいいか分からない。次にどの言語を学べばいいか分からない。いま特に何も困っていない。何でも得意な言語で書けてしまう。そういう人が多いのではないでしょうか。 新しい言語にチャレンジするきっかけを作る一つの方法は、ある特定のアルゴリズムを一つ決めて、あらゆる言語で実装してみることです。解く問題が大きすぎると力尽きてしまうので、せいぜい20〜30行程度で書ける簡単なものが良いでしょう。大事なこ
UniRx 5.4.0をリリースしました!ちょうどUnity 5.4もリリースされたので、5.4向けの修正(Warning取り除いただけですが)を出せて良かった。というわけで5.4正式対応です。リリースは前回が5月だったので3ヶ月ぶりです。5.2 -> 5.3も3ヶ月だったので、今のとこ3ヶ月スパンになってますが偶然です。 GitHub/UniRx AssetStore/UniRx 何が変わったのかというと Add: Observable.FrameInterval Add: Observable.FrameTimeInterval Add: Observable.BatchFrame Add: Observable.Debug(under UniRx.Diagnostics namespace) Add: ObservableParticleTrigger and OnParticleC
Mirah Join the community Home Page github Resources Howto Sample Apps Guestbook | Mustache Sample Code Mirah Videos | Latest Posts: How Casinos Use Big Data to Improve Player Experience The Mirah Programming Language Mirah is a new way of looking at JVM languages. Mirah is the new way of looking at JVM languages and comes highly recommended by the hardworking chaps at Gigapips. In attempting to b
strace便利ですよね。最近もnginxがどのファイル開いてるのか調べるのに使いました。ただ、OSXだとそれに準ずるコマンドってないのかなーと勝手に諦めていたのですが、ありましたね。 dtruss straceと同じように sudo dtruss -p プロセスIDでシステムコールを確認できる。 例えば、nginxで確認してみよう。 $ ps -ef | grep nginx 501 31223 1 0 6:22PM ?? 0:00.00 nginx: master process nginx 501 31224 31223 0 6:22PM ?? 0:00.00 nginx: worker process 501 31935 31725 0 8:07PM ttys005 0:00.00 grep nginx ワーカーを見れば良いので、 31224 にアタッチしてみよう。 $ sudo
要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3
私はSkienaの『Algorithm Design Manual』 (訳注:『アルゴリズム設計マニュアル』 上巻 ・ 下巻 ) を読んでいました。ところでこの本は素晴らしい本で、連結リストと配列についてこんな比較をしていました(chapter 3.1.3)。 連結リストが静的配列に勝る相対的な長所には以下のものがあります。: • メモリが本当にいっぱいにならない限り、連結構造にオーバーフローが生じない。 • 連続的な(配列)リストに比べて、挿入と削除が単純である。 • 大きなレコードを扱う場合、要素自体を動かすよりもポインタを動かすほうが容易かつ高速である。 一方で、配列の相対的な長所には以下のものがあります。 • 連結構造には、ポインタのフィールドを格納するための余計な領域が必要となる。 • 連結リストでは、要素に対する効率的なランダムアクセスができない。 • 配列は、ランダムなポイン
自社で構築した数エクサバイトのストレージシステム、 Magic Pocketを発表 して以来、多くの好意的なフィードバックをいただいています。この発表に続きまして、舞台裏からシステムの興味深い側面を見ていただくことができる技術ブログシリーズを投稿していこうと思います。保護の仕組み、運用ツール、ハードウェアとソフトウェアの境界線上の革新などです。しかし、まず、背景を説明する必要があるでしょう。本稿では、Magic Pocketのアーキテクチャ概略と設計で使われた基準についてお話しします。 紹介の投稿 で説明しましたように、Dropboxには、ファイルの内容と、ファイルやユーザについてのメタデータという2種類のデータが保存されます。Magic Pocketは、ファイルの内容を保存するのに使われるシステムです。保存するファイルは、ブロックに分割されて耐久性のためにレプリケーションされ、複数の地域
過去にJavaScript開発をやったことがある人であれば、 Redux のことは聞いたことがあるでしょう。Reactとともに一般に普及し、開発者の中には「当時のJavaScript関係で一番興奮した出来事だった」、「アプリケーションの構築に大変革をもたらした」、はては「Reduxのおかげで地球温暖化が完全に止まった」と言う人もいるくらいです。 失礼、ちょっと我を忘れてしまいました。しかし、真面目な話、Reduxはアプリケーションの構築方法に、変化をもたらしたのは本当です。この投稿では、Reduxを別のライブラリの Immutable.js と一緒に、Angular 2と統合するやり方をご説明します。 概要 この投稿では、FluxアーキテクチャとReduxの基本的な概念を考えていきます。それから、簡単な連絡先リストのアプリケーションを段階的に作っていきます。初めは基本的なセットアップを構築
CSSプロパティの1つである display は、CSSレイアウトに用いるプロパティの中でも極めて重要なものです。よく使われているのは、 block や inline 、 none あたりでしょう。 table や inline-block も、今ではかなり一般的になってきたと言えます。一方、 flex は新たに登場したものです。きっとユーザに気に入られるでしょう。これはレイアウト用に特別に作られたdisplayプロパティです。さらには、この先、 grid がまもなく私たちの秘密兵器となるでしょう(現在、盛んに取り組まれています)。これもまた、レイアウトに特化したプロパティです。 本記事は、当初予定していたよりもずっと長くなりました。ご希望に応じて、自由にサブセクションに飛んでお読みいただければと思います。もし、お時間を割いて全体を読んでいただけるのでしたら、大変嬉しく思います???? 目
(訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) ことの始まりは、あるスパムキャンペーンでした。画像1は、スパム向けに仕掛けた罠に最近引っかかった、疑わしいドキュメントファイルが添付されたメールです。文面の英語がとても稚拙なことに気付くかと思いますが、この稚拙さがメール受信者への警告サインとなります。 画像1:スパムサンプル 添付のファイルは、”.doc”のファイル拡張子を使っていますが、実際はRTF(リッチテキストファイル)ファイル形式で、特別に細工されたRTFファイルによるスタックオーバーフローの脆弱性が含まれています。この脆弱性は、CVE-2010-3333で文書化されており、”pFragments”の形をしたプロパティを扱う際にMicrosoft Word RFTパーサを攻撃するものです。これに対する修正モジュールは5年以上前にパッチされています
OS X のハイパーバイザーである xhyve を試してみた。 xhyve とは #FreeBSD のハイパーバイザーである bhyve を OS X に移植したものであり、OS X 10.10 Yosemite に追加された Hypervisor.framework で実装されている。 特徴 # 超軽量で 230 KB スタンドアロンで依存関係はなし BSD ライセンス カーネル拡張を必要としない bhyve のカーネルコードはユーザーモードコードに移植されて、Hypervisor.framework を呼び出すようになっている マルチ CPU をサポート ネットワークをサポート Linux ディストリビューションを実行可能 他の OS も実行可能に拡張できる システム要件 # OS X 10.10.3 Yosemite 2010 年以降に発売された Mac 注意点 #VirtualBo
先日、OpenSSH 7.3 がリリースされましたが、 http://www.openssh.com/txt/release-7.3 新しい機能として、ProxyJump設定パラメータと、これに対応する「-J」コマンドラインオプションが加わっています。 以前の記事(OpenSSH のNetcat modeを使う)でも書きましたが、netcat モードができたから、ncとかconnect 使わなくても踏み台越えが楽になりましたが、さらに記述が簡素化されました。 使い方はこうです。 ssh -J user@fumidai user@innerhost 複数台踏み台ホストを経由する場合には、 ssh -J user@fumidai01,user2@fumidai02 user@innerhost と複数の踏み台ホストをカンマ区切りで記載すれば、複数の踏み台を経由したホストにも簡単に接続することが
TIM Labsの言い出しっぺなのに、まるで記事を書いていなかったhimuka_kenです。 ネタはヘビーな話題から、夜のおかずまで…あるんですが、なかなか書く時間がありません。 (サボっていると言われたらその通りですが、何か?) さて、メモをしとかないと忘れてしまいそうなのと、割りと社内でも知られていない?ので 記事として残しておきます。 OpenSSH の manを、ある日しげしげと眺めていると、 -W host:port Requests that standard input and output on the client be for- warded to host on port over the secure channel. なんじゃこりゃ?と調べてみると、OpenSSH 5.4から実質netcat の機能を取り込んだ様です。 今までは、踏み台等の特定のホスト経由で多段で
Marxico The Missing Markdown Editor for Evernote Loading... View the demo # Welcome to Marxico @(Sample notebook)[Marxico|Manual|Markdown] **Marxico** is a delicate Markdown editor for Evernote. With reliable storage and sync powered by Evernote, **Marxico** offers greate writing experience. - **Versatile** - supporting code highlight, *LaTeX* & flow charts, inserting images & attachments by all m
XOR連結リストの概要 XOR連結リストはポインタ一つで双方向の走査を実現する連結リストの為のアルゴリズムです。通常、双方向リストを実装する場合は前方向と後ろ方向へのポインタを2つ使用しますが、XOR連結リストでは隣接するノードのアドレスの XOR(排他的論理和) した値を格納することで1つのマジックポインタに保存します。これよって単方向リストと同じメモリ消費にすることが出来ます。このアルゴリズムはメモリアドレスを整数として直接計算して代入できる安全ではないプログラミング言語でのみ実装できます。 次の図のような構造でリストを構築します。 head -> a tail -> d a b c d +---------+ +---------+ +---------+ +---------+ | 0 xor b | <---> | a xor c | <---> | b xor d | <---
ポケモンGOの「かくれているポケモン」には、周辺のどこかに潜んでいるポケモンが表示されます。 この機能を使って、その実際にポケモンの場所を特定する手法が、海外の掲示板�「Reddit」で紹介されていました。 【追記】より便利に場所を特定するツール(Webアプリ)が公開されました。 注:下に紹介する手順は、Redditのユーザー・Zakraei氏が掲載した手法を意訳したものです。 「かくれているポケモン」の場所を特定する方法 image : Reddit by Zakaei 「かくれているポケモン」に表示されたポッポの場所を特定するとします。自分は現在、ポッポから半径200m以内(*)のどこかにいることになり、その場所をAとします。 どの方向でもよいので歩きはじめます。「かくれているポケモン」からポッポが消えた場所をBとして覚えておきます。 180°方向転換し、もと来た方向(A)へと歩数を数
このエントリは連載ものです。 第一回 問題はデータと首相の認識 前回も書いたように、日本の難民認定数、そしてその認定率は、他の先進国と比べあまりに少なく低いんです。 「なんで日本だけこんなに認定率が低いのよ?」ってことで調べてみたのが、法務省が出してる「難民認定の事例集」です。 (この資料も含め、難民に関する基本的なデータは、このページの一番下 にPDFリンクがまとまってます) この事例集には、難民として認定された例が 7人分、認定されなかった例として 37人分(人道配慮により一時的な在留許可の出た 12人を含む)が載ってます。 その 37人が認定されなかった理由を見てみたところ・・・ 1.迫害主体が本国政府ではなく、過激派の場合は難民とは認められない 37人のうち、なんと 10人もの人がこの種の理由で認定拒否されてるんですが、これって意味わかります? なんで過激派に迫害されて逃げてきても
(編注:2016/7/27、頂いたフィードバックを元に記事を修正いたしました。) 学生たちから、次に学ぶ言語はどれがいいのかとよく聞かれます。IT業界で働きたい人にお薦めするのは、現在盛んに使われている言語です。C++、Java、C#はもちろん、Python、Ruby、PHP、Perlなども挙げられるでしょう。 一方、向学のためという人や、学術研究や起業に関心がある人にとって、次の言語を選ぶ基準となるのは、就職に有利かではなく言語の表現力でしょう。学術研究や起業活動を行うには、プログラマとしての能力を何倍にも高める必要があります。そして、(おそらく)確立されたコードベースを扱った経験はないでしょうから、手元にあるタスクにとって最適な言語を自由に選ぶことができます。 この記事では、勉強に適したHaskell、Scala、ML、Schemeという4つの言語を、私の好きな特徴や参考資料のリストと
バッチを高速にした後はリアルタイムの世界へ! 現在、さまざまな業種の企業でビッグデータ分析の取り組みが行われている。ビッグデータへの最初の取っ掛かりは、既存のバッチ処理の高速化や、大量の業務データを用いた分析レポートの作成という企業が多いことだろう。そして、バッチ処理の高速化が一段落した次のステップとして、「リアルタイム処理」をテーマに掲げる企業も多いかと思われる。具体的には、 直近10秒間のトラフィックを集計したい。 直近10分間で自社商品がTwitterで話題になった回数を知りたい。 直近10時間での全店舗での来客数を集計したい。 といったリアルタイムなモニタリングを実現したくなるのではないだろうか?こういったモニタリング用の集計は、技術的には「ウインドウ集計(Time-Window Operation)」と呼ばれる。そこで本コラムでは、近頃、「ポストHadoop」として話題のApac
🚀 Adopt Go in your organization. Go is a lovely little language that's perfectly suited to writing microservices. Go kit fills in the gaps left by the otherwise excellent standard library, giving your team the confidence to adopt Go throughout your stack. 🔍 Focus on your business logic. Adopting microservices means building a distributed system, and that comes with a lot of challenges. Go kit
過去にインターン先で Apache Kafka という OSS プロジェクトに触れる機会がありました。今回はその時に理解したことをまとめようと思います。 読者対象 Apache Kafka に触れたことがない方が対象です。何をするもので、どう使うのか、ということに関して書きます。内部でどのようにデータが管理されているか、他の OSS との比較などについては記述しません。すでに概要を知っていて、パフォーマンスのチューニング、細かい挙動の詳細などを必要としている方には不要な内容かもしれません。そのような場合は、脳内のキャッシュを利用しながら適宜読み飛ばしていただくことでパフォーマンスの低下を避けていただければと思います。 内容 Kafka の紹介 起動・設定方法 メッセージの送受信 ( Python クライアント利用 ) trifecta を用いて UI から確認 (詳細に関しては省略か、イン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く