ブックマーク / qiita.com (964)

  • Linuxのプロセス間通信 - Qiita

    この記事について LinuxのIPC(プロセス間通信)を紹介します。 プロセス間通信とは Inter Process Communication(IPC)はプログラムの実行単位であるプロセスの間で行われるデータ交換のことを指します。プロセスの依存関係は可能な限り疎結合になるようOSで管理されています。そのため、IPCLinux OSの機能を経由して行う必要があります。 OSがプロセスに提供するデータ交換の方法はひとつだけではありません。それぞれ特徴のある多彩な方法を提供しています。 ここで紹介するのは以下の5つです。 共有メモリー セマフォ マップドメモリー パイプ ソケット通信 (他にありましたらコメントで教えていただければ幸いです。) それでは、見ていきましょう。 共有メモリ プロセス間で同じメモリを共有します。 共有メモリの最大の利点はそのアクセススピードにあります。 一度共有メモ

    Linuxのプロセス間通信 - Qiita
    netcraft3
    netcraft3 2017/10/08
  • 青空文庫で作者っぽさ判定(KERAS + character-level cnn) - Qiita

    青空文庫のテキストを利用して、任意の日語文の作者っぽさを判定するモデルを作ってみました。 https://github.com/shibuiwilliam/aozora_classification 動機 2017/02のTFUG #3に参加したのですが、Rettyの中の方がcharacter-level convolutional neural networkをしていて、これで火がつきました。 https://tfug-tokyo.connpass.com/event/49849/ 元ネタとなったQiitaの記事はこちらです。 とても勉強になりました。ありがとうございます。 http://qiita.com/bokeneko/items/c0f0ce60a998304400c8 なおcharacter-level cnnの論文はこちらです。 https://papers.nips.cc

    青空文庫で作者っぽさ判定(KERAS + character-level cnn) - Qiita
    netcraft3
    netcraft3 2017/10/05
  • くそったれJavaScript - Qiita

    以下はWhat the f*ck JavaScript?というリポジトリの日語訳です。 What the f*ck JavaScript? JavaScriptは素晴らしい言語です。 単純な構文、大きなエコシステム、そして最も重要なところはコミュニティです。 同時に、JavaScriptは非常にトリッキーで面倒な言語でもあります。 幾つかの仕様は我々の仕事を地獄に変え、他の幾つかは笑える仕様です。 WTFJSの大元のアイデアはBrian Lerouxによるものです。 以下のリストは2012年のdotJSにおける彼のトーク、WTFJSに触発されています。 Node Packaged Manuscript 以下の内容はnpmでインストールできます。

    くそったれJavaScript - Qiita
    netcraft3
    netcraft3 2017/09/22
  • [それWeb] HTMLでデバイスのカメラから写真をとり、PHPでOCRにかけて文字列を返す - Qiita

    それWebでできるよ! こんにちは皆さん スマホのカメラを使って写真を撮ると、なんと文字列が返ってくる。 そんなアプリがあるような気がするのですが、現在ではブラウザでもカメラにアクセスできるので、わざわざアプリにする必要もなく ( OSの差異にあまり煩わされることなく ) Webアプリで簡単に作ることができるのではなかろうか、と考えました。 考えたらやるしか無いでしょう。 休日を利用して、ちゃっちゃか作ってみました。 あ、いつものようにPHP使いますね TL;DR 今回の見所は以下のとおりです。 HTML + JavaScriptでカメラを取る tesseract-ocrをインストールしたコンテナを作る PHPでOCRする 何がやりたいのか 掲示板とかで無線wifiのssidとか貼ってあるとき、いちいち手打ちするの面倒なんで、カメラで取ってそのままはっつけられるようになったら嬉しいのになぁ

    [それWeb] HTMLでデバイスのカメラから写真をとり、PHPでOCRにかけて文字列を返す - Qiita
    netcraft3
    netcraft3 2017/09/19
    PHPでこんなこと出来るのか。
  • 文系社会人・Python初心者のTensorFlow学習方法 - Qiita

    短評 想像の3倍くらい時間をかけてしまいましたが、色々なことが目からウロコで大いに面白かったです。TensorFlowエンジニアの見習い小僧レベルにはなれた気がします。とはいえ、奥が深くて当に表面的な部分を学習しただけとも感じています。内部的な処理はわからないことだらけですし、応用どころか基もままならない状態。あとどのくらい時間をかければ、プロと胸を張って言えるレベルになれるかは、正直見当がつかないです・・・一方でそんな状態でもオリジナルのテーマでDeep Learningが実装できるのは、当にTensorFlowの凄さだと思います。あと、地味にAnacondaも便利で助けられました。 学習目的 現在および直近の仕事でDeep LearningやAIはおろか、機械学習すら使わないですが、「今後を踏まえて何かしなきゃ」という強い想いのもと学習しました。また、純粋に「面白そう」という気持

    文系社会人・Python初心者のTensorFlow学習方法 - Qiita
    netcraft3
    netcraft3 2017/09/19
  • iOSアプリ開発の全体像 - Qiita

    技術書展で頒布したiOSアプリ開発の全体像をだらだら書いたを記事として公開。 ただのポエムです。 2年くらいまえに、SwiftもObjCも一切書いたことないし、アプリも一回も作ったことがない状況でiOSアプリを作ってリリースするミッションのお仕事が降ってきたので、そのときにこんな情報があったら全体が見通せて、気持ち的に楽だったなと思った内容をまとめました 1. iOSアプリ開発を取り巻く環境 iOSアプリ開発には、基的にmacOSを搭載したコンピューターとXcodeとよばれるソフトウェアが必要です。もともと主にObjective-Cという言語が使われるケースがほとんどでしたが、2014年6月にAppleがプログラミング言語Swiftを発表して以後の新規開発には、ほとんどの場合Swiftが採用されているようです。またSwiftは、Objective-Cのコードと共存できるため、もともと

    iOSアプリ開発の全体像 - Qiita
    netcraft3
    netcraft3 2017/09/18
  • 最新のNGINXはアプリケーションサーバー!?NGINX UnitのベンチマークをPHP,Python,Goで計測してみた!! - Qiita

    最新のNGINXはアプリケーションサーバー!?NGINX UnitのベンチマークをPHP,Python,Goで計測してみた!!PythonPHPGonginxnginx-unit NGINXって?? 簡単にNGINXの特徴について説明します. イベント駆動のWebサーバー 静的コンテンツの配信が得意 リバースプロキシとして使われることも多い 全アクティブサイトの中で2番目に多く使われている(19.60%) 参考:wikipedia nginx 以前(といってもだいぶ前ですが)はApacheが一強のサーバー業界でした.私もあんまり詳しくないですが,サーバーが安くなる中,C10K問題というものが業界で話題になり,Apacheが採用していたpre-Fork型のアーキテクチャのサーバーでは大量のリクエストが処理できなくなってきました.その中で,イベント駆動型のアーキテクチャのNGINXが大量のリク

    最新のNGINXはアプリケーションサーバー!?NGINX UnitのベンチマークをPHP,Python,Goで計測してみた!! - Qiita
    netcraft3
    netcraft3 2017/09/18
    Nginx Unitで動く最速の言語はPHP。
  • Railsアプリに秩序をもたらすGem、Trailblazerとは? - Qiita

    ここ1年で、Trailblazerの認知度は急速に上がってますよね。 BestGemsで見てみるとここ1年でめっちゃ伸びてます。 1月時点で6万4千DLだったのが、9月現在で既に15万を突破しているので、今年だけで倍以上のダウンロードですね…! 今回はそんな要チェックなGem、Trailblazerについて簡単に見ていきたいと思います。 Trailblazerは、RailsやSinatraなどで綺麗にビジネスロジックを書くためのGemです。 ModelやControllerが肥大化してカオスになっているアプリケーションに秩序をもたらしてくれます。 …なのですが、「具体的に何をするGemなの???」ってことですよね。 Trailblazerは複数のGemから構成されています。今回は代表的なGemである Operation 、 Reform 、 Cells、 Representable を見て

    Railsアプリに秩序をもたらすGem、Trailblazerとは? - Qiita
    netcraft3
    netcraft3 2017/09/17
  • 日常から使えるUnix系OS業務効率up技 - Qiita

    気分転換に、普段からLinuxで作業する上で割と便利なツールだったり小技を共有します。知ってたらごめんね 一応全部MacでもLinuxでも動くはずです。 高速化系 axel , aria2c http://qiita.com/sarumonera/items/2b30999d7d41a4747d74 https://goo.gl/gsFrCT https://wiki.archlinuxjp.org/index.php/Aria2 http://qiita.com/TokyoMickey/items/cb51805a19dcee416151 こいつらは割と有名(?)かなと思います。やってることはcurlやwgetとほとんど変わらず、サーバにHTTPリクエストを送ってレスポンスを取ってくるだけなのですが、ダウンロードを高速化するためにtcpコネクションを何も貼って、相手サーバーに負担をかけ

    日常から使えるUnix系OS業務効率up技 - Qiita
    netcraft3
    netcraft3 2017/09/17
  • iPhone X Human Interface Guidelinesの要点 - Qiita

    iPhone Xが登場したことで新たに注意すべき点をHuman Interface Guidelinesからまとめました。 最低限知っておくべきこと レイアウトは画面エリアの全てを使って表示される 画面の四隅が丸くなっているので端が切れてしまう可能性がある 受話口まわり(上部中央)とホーム画面に戻るためのジェスチャ用の目安表示(下部)にUI要素が被ってしまい見えなくなる可能性がある 横幅はiPhone8までのサイズと同じだが、縦が長い(1125px × 2436px (375pt × 812pt @3x)) SafeAreaという新しい概念がある(Storyboardに追加。プログラム側からも扱える。) ステータスバーの高さは従来の画面の高さより高くなるため、決め打ちしていた場合は注意 従来はステータスバー上に通話中等のバックグラウンドタスク表示がされると高さが変わったが、iPhone X

    iPhone X Human Interface Guidelinesの要点 - Qiita
    netcraft3
    netcraft3 2017/09/16
  • 【JavaScript】即時関数, 無名関数, クロージャについて - Qiita

    技術アウトプットするところに技術は集まる ソウゾウさんのエンジニアチームがブログで仰っていた言葉が、 非常に心に残るものだったので、この哲学のもと、 アウトプットすることにより比重を置いていきたいと思っている。 ファーストステップとして、JavaScriptの関数についてアウトプットしていく。 JavaScriptの関数は、奥深く、 また、関数型プログラミングを学ぶ上で初級として扱いやすい。 そのため、なるべく丁寧に書き残しておきたいので、何回かにわけて書いていく。(高階関数, カリー化, モナド, Promise, Rx....) JavaScriptにおける関数とは? JavaScriptでは、関数をファーストクラスのオブジェクト(第一級オブジェクト) と捉える点が楽しいところ。つまりは...特徴として リテラルを介して作成ができる 変数や配列の要素, その他のオブジェクトのプロパテ

    【JavaScript】即時関数, 無名関数, クロージャについて - Qiita
    netcraft3
    netcraft3 2017/09/14
  • 真・Flow & Redux で Reducer の実装パターンを考える - Qiita

    4ヶ月ほど前、 Flow & Redux で Reducer の実装パターンを考える という記事を書いたが、 reducer を型付けするという目的は達しているものの、明らかに記述量が増えて冗長だという問題があった。 ところでこういう記事を見つけた。 これを flow 向けに書き直した、というかセマンティクスが一緒だったので、そのまま動いたのだが、これを自分向けに書き直したらとてもいい感じになった. flow は v0.54.1 コード // @flow type __ReturnType<B, F: (...any) => B> = B type $ReturnType<F> = __ReturnType<*, F> // Actions const INCREMENT = 'counter/increment' const ADD = 'counter/add' export func

    真・Flow & Redux で Reducer の実装パターンを考える - Qiita
    netcraft3
    netcraft3 2017/09/14
  • ECMAScript 2017、2018 の時代の開発環境 - Qiita

    概要 ECMAScript 2017、2018 で導入が予定されている機能および開発ツールについて調べました。 ES モジュール 主要ブラウザー、モジュールバンドラー (Webpack、Rollup) でサポートされています。Node.js は v8.5 で実験的な機能として利用できます (--experimental-modules)。古いバージョンの Node.js のサポートのために @std/esm が公開されています。 ES モジュールを利用するメリットは従来よりも読み込む必要のあるコードを減らすことができることです。必要なクラスや関数だけをインポートできます。RxJS の場合、どれだけ変わるのかはこちらの記事をご参照ください。 import {Observable} from 'rxjs/Observable'; import 'rxjs/add/observable/inte

    ECMAScript 2017、2018 の時代の開発環境 - Qiita
    netcraft3
    netcraft3 2017/09/11
  • CoffeeScript 2という新たなる希望 - Qiita

    CoffeeScriptは滅びぬ!何度でも蘇るさ! CoffeeScriptがいかに駄目かを理解している皆さんならご存じの通り、これまでのCoffeeScriptには重大な欠点があった。それは「CoffeeScriptはECMAScript5(ES5)のaltJSである」と言うことだ。ES5以前のJavaScriptが駄目すぎるため、そこがCoffeeScriptの限界になってしまっていた。駄目な奴は何をやっても駄目なのだ。 ECMAScript2015以降(ES2015+)において、JavaScriptは目覚ましい発展を遂げた。ジェネレーター、テンプレートリテラル、class構文、モジュールベース、async/await等多くの機能が追加された。いくつかの機能は既にCoffeeScriptに存在していたものであったが、ジェネレーターのような全く無い物は新たに追加する必要があった。しかし、

    CoffeeScript 2という新たなる希望 - Qiita
    netcraft3
    netcraft3 2017/09/11
    CoffeeScriptも進化し続けてるのか。
  • in_arrayを使うときは黙って第三引数を付けること - Qiita

    はじめに phpでin_array使ってますか? その時、第3引数って使ってますか? 使ってない?いつ事故ってもおかしくないですよ? まずは普通に使ってみる <?php $students = ['山', '山下', '山田']; var_dump(in_array('山田', $students)); // trueを返すはず var_dump(in_array('山原', $students)); // falseを返すはず

    in_arrayを使うときは黙って第三引数を付けること - Qiita
    netcraft3
    netcraft3 2017/09/09
    知らなかった…。
  • 郵便番号や市区町村データを取り扱うときにはまったこと - Qiita

    今とりかかってる案件で、郵便番号から自治体を特定して云々という処理をやっているんですが、いくつかはまりポイントがあったので備忘録的にポストしときます 自治体コードは6桁のものと5桁のものがある これはすごく単純なお話で6桁のものは最後の1桁はチェックディジット 残りの上5桁から機械的に計算できます 郵便番号は必ず1つの町名に紐づいているわけではない 郵便番号→住所入力というフォームを作るときにハマる 例)郵便番号 807-0042 福岡県 遠賀郡水巻町 吉田 福岡県 遠賀郡水巻町 吉田団地 私の住んでいる宮城県にも 例)郵便番号 981-2114 宮城県 伊具郡丸森町 赤堀 宮城県 伊具郡丸森町 泉 宮城県 伊具郡丸森町 泉下 宮城県 伊具郡丸森町 大目 宮城県 伊具郡丸森町 北前 宮城県 伊具郡丸森町 天王 合併で旧・西春日井郡春日町を編入した愛知県清須市にこういうすさまじいデータがあり

    郵便番号や市区町村データを取り扱うときにはまったこと - Qiita
    netcraft3
    netcraft3 2017/09/09
  • ls よりも役に立つ loコマンドを作った - Qiita

    ls の時代は終わった ターミナルに触れるととりあえず ls と打ってしまう人は多いと思いますが、この行為は時間の浪費でしかないことには既に周知の事実であり、もっと有意義な時間の使い方をすべきです。 見知ったファイル一覧を見たところで得になることなどただの一つもありませんよね。 そこで私は ls よりも有用な lo コマンドを作りました。 その名の通り最新の COMIC LO のタイトルを取得して艶やかなピンク色で出力してくれるlsよりも有用なコマンドです。 ping 代わりにも使えます() 下記のpythonスクリプトをPATHが通っている場所にloとして置きましょう。 #! /usr/bin/env python3 from urllib.request import urlopen import re with urlopen("http://www.akaneshinsha.co.

    ls よりも役に立つ loコマンドを作った - Qiita
    netcraft3
    netcraft3 2017/09/08
  • ディープラーニングの判断根拠を理解する手法 - Qiita

    ディープラーニングは特定分野で非常に高い精度が出せることもあり、その応用範囲はどんどん広がっています。 しかし、そんなディープラーニングにも弱点はあります。その中でも大きい問題点が、「何を根拠に判断しているかよくわからない」ということです。 ディープラーニングは、学習の過程でデータ内の特徴それ自体を学習するのが得意という特性があります。これにより「人が特徴を抽出する必要がない」と言われたりもしますが、逆に言えばどんな特徴を抽出するかはネットワーク任せということです。抽出された特徴はその名の通りディープなネットワークの中の重みに潜在しており、そこから学習された「何か」を人間が理解可能な形で取り出すというのは至難の業です。 例題:このネットワークが何を根拠にとして判断しているか、ネットワークの重みを可視化した上図から答えよ(制限時間:3分) image from CS231n Visua

    ディープラーニングの判断根拠を理解する手法 - Qiita
    netcraft3
    netcraft3 2017/09/06
  • a/(b+c)+b/(c+a)+c/(a+b)=4の自然数解(a,b,c)を求める - Qiita

    はじめに ちょっと前に、こんな問題が話題になった。 ネタ元はどこか知らないが、僕は以下のサイトで知った。 適当に和訳してみた。 元の出題は果物とか使ってて「数学パズルです〜」みたいな顔をしているが、これは典型的ディオファントス方程式で、途中で楕円曲線が出てくるガチな問題になっている。解説は先のサイトに書いてあるが、いくつか天下りな箇所があるので、そこをちょっと丁寧に解説しつつ、Rubyで解を探してみる。 方針 問題は以下の通り。 上記を満たす「自然数」の組(a,b,c)を求める。すぐに分かる通り、もしひとつの解の組(a,b,c)が求まったら、それぞれ定数倍した(ta, tb, tc)も解となる。従って、大事なのは(a,b,c)の比であり、例えば$c=1$に固定して、(a,b)の有理数解を求める、という問題と等価である。従って、この問題の自由度(実質的な変数の数)は2となる。 さっきの式の分

    a/(b+c)+b/(c+a)+c/(a+b)=4の自然数解(a,b,c)を求める - Qiita
    netcraft3
    netcraft3 2017/09/05
  • Apache Kafka 上で SQL が実行できる KSQL を使ってみる - Qiita

    Confluent から KSQL のリリースがアナウンスされました。 Kafka 上で SQL によるストリーム処理が可能となるツールです。早速使ってみましょう。 参考 Introducing KSQL: Open Source Streaming SQL for Apache Kafka KSQL from Confluent | Streaming SQL for Apache Kafka™ - YouTube ksql/docs/quickstart at 0.1.x · confluentinc/ksql Apache Kafka とは Apache Kafka は LinkedIn 製の分散メッセージングシステムです。トピックによるメッセージ管理、コンシューマーグループごとキューイングなどの機能を持ちます。 Apache Kafka KSQL とは KSQL は Kafka や

    Apache Kafka 上で SQL が実行できる KSQL を使ってみる - Qiita
    netcraft3
    netcraft3 2017/09/05