タグ

プログラミングに関するz_dogmaのブックマーク (77)

  • 中学生でLinuxカーネルのバグフィックス! 若き天才エンジニア矢倉大夢に爆速成長術を学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!

    中学生でLinuxカーネルのバグフィックス! 若き天才エンジニア矢倉大夢に爆速成長術を学ぶ 中学1年生でプログラミングを開始。高校時代にプログラミング関連の数々の賞を受賞。そして、大学在学中にグローバルリーダーの育成トレーニングを提供している株式会社TEAMBOXのCTOに就任した矢倉大夢さん。エンジニアとして圧倒的スピードで成長をする術を聞きました。 中学1年生でプログラミングを開始。高校時代にプログラミング関連の数々の賞を受賞。そして、大学在学中にグローバルリーダーの育成トレーニングを提供している株式会社TEAMBOXのCTOに就任。まるで映画やドラマの登場人物のような輝かしいキャリアですが、これは実在の人物。若き天才エンジニア・矢倉大夢(やくら・ひろむ/@hiromu1996)さんの経歴です。 中学時代にプログラミングの魅力に取りつかれて以来、猛スピードでスキルを積み上げてきました。

    中学生でLinuxカーネルのバグフィックス! 若き天才エンジニア矢倉大夢に爆速成長術を学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!
  • ウェブアプリをソースごとパクる業者に対する対策 - Qiita

    こんにちは。みなさんもウェブアプリをリリースしたあとに同業者にソースごとパクられたことってありますよね。難読化しても難読化されたまま同業者のサーバで動くので困ったものです。そこで、私がとった解析しずらい対策をまとめてみたいと思います。 前提 多機能な画面をJavaScriptでゴリゴリ作ったのにもかかわらず、HTMLCSSJavaScriptファイル一式を自社サーバにまるごとコピーして、ライセンス表記だけ書き換えて使うような業者を罠にはめるということを想定しています。 当然通信をリバースエンジニアリングする人もいるので、自社サーバでは防げないという前提です。 HTMLにはauthorメタタグ よくあるMETAタグで権利者を明記します。これは権利の主張もそうですが、JavaScript自体に権利者が認定した権利者でなければ無限ループを起こすという処理のためにも使用します。逆に、権利者が我

    ウェブアプリをソースごとパクる業者に対する対策 - Qiita
  • Linuxのプロセス間通信 - Qiita

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

    Linuxのプロセス間通信 - Qiita
  • 画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD

    この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、PythonOpenCVPython 2.7 ^(1) 、iPy

    画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD
  • 原理原則で理解するbashの仕組み - Qiita

    はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba

    原理原則で理解するbashの仕組み - Qiita
  • iOSでこんなアプリ,こんな機能を作りたかったらこれを見ろ!作りたいアプリに対応するクラス、フレームワーク、ライブラリのまとめ! - Qiita

    画像を表示しようとしたら遅いよ! 外部データを取ってきて表示するときにまずはまるのが画像の処理だと思います。非同期で必ず処理しましょう。 画像の非同期ロードはライブラリを使った方が早いと思います。 ヘッダーやフッタをつけたいよ! tableView.tableHeaderView tableView.tableFooterView に突っ込む方法を書いてあるのが多いんですが、今回はもっと簡単な方法としてStoryboardなどでこれらのビューを直接突っ込んで管理できるのでおすすめ。 テーブルビューの上や下にUIViewをドラッグすると UIViewをIB上で直接追加できます。 後はIBでレイアウトをくめばok 使用するクラス、フレームワーク、ライブラリ ビュー UITableViewController https://developer.apple.com/library/ios/doc

    iOSでこんなアプリ,こんな機能を作りたかったらこれを見ろ!作りたいアプリに対応するクラス、フレームワーク、ライブラリのまとめ! - Qiita
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
    z_dogma
    z_dogma 2017/02/22
    まだ見てないけど、ソースコードの鮮度をどうやって維持していく仕組みなのか気になる
  • JavaScript初級者のためのコーディングガイド - Qiita

    JavaScriptは大変難しい言語です。Rubyの難易度を2、Cの難易度を5、C++の難易度を8にすると、JavaScriptの難易度は12ぐらいあると思います。このコーディングガイドはそんなJavaScriptの深みに嵌まらないようにするためのJavaScriptの書き方を規定したものです。初級者1のための物ですので、わかってやっている人に好きにやってください。 このコーディングガイドは絶対に従わなければならないものではありません。私は一切強制はしませんし、初級者が従わなければならないという義務もありません。採用するしないはみなさんの自由です。 禁止編 JavaScriptには安易に使用してはいけない機能があります。下記の機能は、それぞれの機能を使っても良い、または、使うべきであるという理由を説明できない限り、使用してはいけません。 ==、!= ==と!=を使用してはいけません。代わり

    JavaScript初級者のためのコーディングガイド - Qiita
  • Command/Query分離原則とreturn this - Kokudoriing

    Command/Query分離原則はバーランド・メイヤー大先生のありがたいお言葉です。 内容はと言うと、 オブジェクトやシステムのインターフェイス&実装を「CommandとQueryに分けろよ」という提案。 Commandは値を持たず、副作用(つうか、主作用だけど)だけを持ちます。 Queryは副作用を持たず値だけを返します。 「メイヤー先生の偉大さとCommand-Query分離 / 檜山正幸のキマイラ飼育記」 http://d.hatena.ne.jp/m-hiyama/20101216/1292469108 より引用 以下はCommand/Query分離原則を順守した簡単な例です。 var stream = new Stream(); stream.write(item); // command var result = stream.read(); // query なるほど、Co

    Command/Query分離原則とreturn this - Kokudoriing
  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
  • Goのアンチパターン

    Go書いててなんとなく見えてきた Goでやっちゃいけないパターン WAF導入してらくらくWebアプリ WAF自体が現在群雄割拠状態。 WAF毎にハンドラインターフェースが違うので既存コードつなぐにはラッパーが必要。 どのWAFもLL言語に比べるとまだまだフィーチャーの網羅範囲が狭い。 なのでもちろんLL言語ほど楽には書けないことが多い。 リフレクション使いまくりでトータル性能はLL言語並みに遅いのもある。 Go1.7のcontextパッケージの導入で標準のHTTPハンドラが復権する可能性があり更に荒れる予想。 追記: 楽できるのを期待してWAFを導入するの「やっちゃいけない」とまでは言い過ぎだったかもしれないけれど例のsqlでPrepareを正しく使えていないで性能出なかった件とか、当面WAFを使うなら自分で概ね中身を理解して使う覚悟が必要。 構造体メソッドにロジックを詰め込む Goの思想

  • オーディオアプリ開発でありがちな4つの間違い | POSTD

    ここで論じているのは、オーディオアプリの開発者が陥りがちな 4つの間違い 、 より良く開発する方法 、 問題個所の発見方法 です。主に開発者向けの内容ですが、開発者以外の方にも知っておいてもらいたいと思います。ここでは、開発者向けの診断ツールである Realtime Watchdog を紹介し、 人気のあるオーディオライブラリの調査結果 を提示します。 オーディオアプリの開発はとてつもなく楽しいです。やりがいを感じるし、創造力を発揮できる範囲が大きく広がり、ひとたび開発が終われば、 誰かがクリエイティブなツールとして使ってくれるのです! こんな分野は多くないし、この領域で働けるなんて非常に幸運だと自分でも思っています。 しかし、仕事でオーディオアプリを扱う時には深く考えなければならない部分もあります。オーディオアプリの開発者としてユーザに対する責任があるのです。大前提として、ユーザを公共の

    オーディオアプリ開発でありがちな4つの間違い | POSTD
  • すべてのプログラマーが知っておきたいReactの7つの強み

    JavaScriptはこの6年で大きくその地位を向上させてきました。JavaScriptは有名なサーバーサイド言語になり、オフラインファーストSPAは用語として定着し、そしてJavaScriptは他の言語のための有名なコンパイル先となりました。 JavaScriptは、ElectronやReact Nativeのような技術やハイブリッドアプリを通して、ついにはデスクトップとモバイルのプラットフォームとなってきています。 この3年でもう一つ革命が起こり始めました。FacebookのプログラマーであるJordan WalkeがReact.jsを生み出しました。Reactはそれ以来、数百ないし数千ものプログラマーJavaScriptのコードの書き方を変えてきました。 Reactの途方もない成功の裏にはそれなりの理由があります。 1. バグが出にくいよりシンプルなコードReactはユーザーインタ

    すべてのプログラマーが知っておきたいReactの7つの強み
  • Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) - paiza開発日誌

    こんにちは、吉岡(@yoshiokatsuneo)です。 Dockerはシンプルで軽量な仮想環境という特徴から急速に広まっており、paizaでも利用しています。ただし、発展が早いことから、断片的な情報や古い情報などもあります。そこで、ここでは今のDocker(Ver1.13: 2017/1/20更新)について、5分でわかるように簡単にまとめてみます。 目次 Dockerの特徴 コンテナと仮想マシンの違い Dockerの発展 Dockerの構成(5つの要素) Dockerの基コマンド Dockerコマンド一覧 Dockerの仕組み 考え方 まとめ Dockerの特徴 Dockerは、Linux上のシンプルで軽量な仮想環境(コンテナ)で以下の特徴があります。 早い・軽い OSレベルの仮想化なので、起動は一瞬です。コンテナ間でイメージを共有できるので、コンテナの起動自体ではディスクは消費しませ

    Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) - paiza開発日誌
  • OpenCV + Google Cloud Vision API + Intel Edison で笑った瞬間を撮るカメラを作る - from scratch

    やりたいこと 最近娘が生まれて二ヶ月経過し、そろそろ笑ったりするようになりました。今回のテーマは娘が笑った瞬間を逃さずにカメラで撮影する事です。ちなみにこういう子どもをネタにして行うハック、僕はこれを『親バカハック』と呼んでます。 TL; DR Intel Edison でカメラをセット、一定のタイミングで撮影しつつ OpenCV で粗く笑顔認識させてから Google Cloud Vision API で表情解析 笑顔だと判定された画像を Slack で飛ばして画像をいつでも見れるようにする。 かわいい笑顔が撮れたので最高でした。 ハードウェアセットアップ Intel Edisonを手に入れたのでそれを使って作ります。Edison は Arduino 拡張ボードなら普通のUSB web camera 対応しているので、それをただぶっさして使います。 Intel Edison はSDカード

    OpenCV + Google Cloud Vision API + Intel Edison で笑った瞬間を撮るカメラを作る - from scratch
  • JavaScriptでグラフ描画入門!全8個のライブラリをコード付きで一挙に解説! - paiza times

    どうも、まさとらん(@0310lan)です。 今回は、JavaScriptを使って「グラフやチャートを描きたい!」とか、「さまざまなデータを可視化させたい!」という人にオススメのJSライブラリをご紹介しようと思います。 また、すぐに使い始められるように、ミニマムな構成の「サンプルコード」も合わせて掲載しているので、自分に合ったライブラリを使う取っ掛かりになれば幸いです。 ■Chart.js 【Chart.js】 最近、活発にバージョンアップをしている「Chart.js」は、すべてのグラフが自動的にアニメーション表示されるユニークな仕掛けを持っており、シンプルで理解しやすい記述が出来る点も魅力です。 グラフの種類は少ないものの、モダンブラウザ&レスポンシブ対応で、あまりカスタマイズせずに「デフォルト」のままでも手軽に使えるでしょう。 【 基の書き方 】 「chart.js」ファイルは、公式

    JavaScriptでグラフ描画入門!全8個のライブラリをコード付きで一挙に解説! - paiza times
  • オブジェクト指向の問題点 - ビスケットのあれこれ

    オブジェクト指向プログラミングを神格化するような記事が流れてきたので,僕が知っている問題点について書いてみたいと思います.僕がまだ学生だったころは,オブジェクト指向の評価もまだそれほど定まっていなくて,オブジェクト指向の次はどんなパラダイムが出てくるかとか普通に学生レベルで議論していたものですが,ここまで強大になってしまうとそれを打ち負かそうなんて気にはならないのでしょうか.僕にはオブジェクト指向が普遍的な真理という感じは全然しなくて,ここまで使われてる理由は,現実的なテクノロジーで大きなシステムを作らなければならない必要性のほうを優先した結果であると認識しています.オブジェクト指向がその後の25年ほどもずっと安定してその地位を保てるほど素晴らしいものとは思えないのです. 以下で上げる問題点は,個別に解決している研究はあったりしますし,僕も論文を書いたりしましたけど,実際の言語に導入されて

    オブジェクト指向の問題点 - ビスケットのあれこれ
  • プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG

    インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近ではAWS,GCPをはじめとするクラウドサービスが充実しているのでWeb界隈のエンジニアはなおさら気にするシーンが少なくなったように思います。 今日は最低限これだけ覚えていたら有事の際にちょっとは役に立ちますよという話が出来たらなと思います。 書式統一のため sudo を省略しています。ご容赦下さい。 コマンド編 ping ping です。疎通確認を行う時のコマンドです。 さすがに分かると聞こえてきそうですね。 例えば、192.168.1.1 というサーバに通信を確認したい場合はこうです。 $ ping 192.168.1.1 繋がる場合はこうなります。 $ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 d

    プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG
  • コードを書いて美少女を集める!? 萌えとプログラミング学習を融合させたブラウザゲーム「コードガールこれくしょん」が本日無料公開

    コードを書いて美少女を集める!? 萌えとプログラミング学習を融合させたブラウザゲーム「コードガールこれくしょん」が日無料公開 編集部:Gueed IT/Webエンジニア向け転職サイトなどを手がけるギノは,“コードを書いて美少女を集める”というブラウザゲーム「コードガールこれくしょん」を,日(2016年4月20日)公開した。作は,メールアドレス,ニックネーム,パスワードで会員登録を行えば遊べる無料のゲームとなっている。 作は,プログラミング初心者を対象とした“プログラミング学習ゲーム”。仮想世界に取り込まれ記憶を失ってしまったプレイヤーが同じように記憶をなくしたキャラクター「リリア」と出会い,記憶を取り戻すべくプレイヤー自身のプログラミングスキルを高めながらストーリーを進めていく。プレイヤーに要求されるのは“リアル”なプログラミング力だ。 ゲームは,プログラミング力が鍛えられるクエス

    コードを書いて美少女を集める!? 萌えとプログラミング学習を融合させたブラウザゲーム「コードガールこれくしょん」が本日無料公開
  • Rust 1.8 がリリースされました - Qiita

    Rust 1.8 が日(日時間2016年4月15日)リリースされました。Rust は、安全性、スピード、並列プログラミングにフォーカスした、システムプログラミング向けの言語です。 オフィシャルブログの リリースアナウンス リリースノート(GitHubリリースページ) Rust の ダウンロードページ また同時に、次のバージョン 1.9 がベータ版になりました。1.9 のリリース予定日は、6週間後の2016年5月27日(日時間)です。 もしこれから Rust を始めるのでしたら、オフィシャルマニュアルの 日語翻訳版 を読むのがいいでしょう。現状は Rust 1.6 をベースにしていますが、全体の 約93% が翻訳済みとなっています。また、近々、1.8 版のマニュアルへと更新する予定です。 (これ以降はリリースアナウンスの抄訳です) 1.8 安定版の内容 Rust 1.8 には言語上の

    Rust 1.8 がリリースされました - Qiita