タグ

関連タグで絞り込む (593)

タグの絞り込みを解除

studyに関するraimon49のブックマーク (1,468)

  • GoらしいAPIを求める旅路 (Go Conference 2018 Spring)

    2. • @lestrrat • Perl/Go hacker, author, father • Author of github.com/peco/peco • Organizer for builderscon

    GoらしいAPIを求める旅路 (Go Conference 2018 Spring)
  • C言語がコンパイルされて実行可能になるまでの流れ - にょきにょきブログ

    コンパイルの処理は大きく分けて下記の処理にわけられる。 プリプロセス コンパイル アセンブル リンク この記事では、C言語の Hello World を過程毎に追い、プログラムが出来上がるまでの流れを追う。 登場するファイル main.c - ソースファイル main.s - ソースファイルからコンパイルされたアセンブラソースファイル main.o - アセンブル後のオブジェクトファイル main - 出来上がったバイナリ ソースコード 普通の C 言語の Hello World. 下記コードを main.c として保存する。 #include <stdio.h> int main(){ printf("Hello world!\n"); return 0; } プリプロセス プリプロセスとは、マクロの展開や #include や #ifdef などのディレクティブの処理が行われることを指

    C言語がコンパイルされて実行可能になるまでの流れ - にょきにょきブログ
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • Wi-Fi再入門〜見えない電波を知識で見抜く

    Wi-Fi再入門〜見えない電波を知識で見抜く InternetWeek2016

    Wi-Fi再入門〜見えない電波を知識で見抜く
    raimon49
    raimon49 2018/03/12
    macOSでOptionキー + Wi-Fiアイコンで接続中速度を確認できる機能知らなかった。
  • NaN === NaN が false な理由とutil.isDeepStrictEqual - from scratch

    NaN === NaN は false NaN、つまりは Not a Number 同士の同値比較が false になるのは、よく JavaScript とかで罠だと言われていますが、罠でもなんでもないです。 false が返るという仕様です。仕様の経緯を追うとすぐに『 IEEE754 という浮動小数点の標準規格で決められているから』、という理由がヒットします。 では IEEE754 ではなんで NaN == NaN を false にしようという話になったのか、というのを調べてみました。 今回はそういう歴史の話です。 IEEE754 現在のプログラミング言語の処理系の多くが採用している浮動小数点の標準規格です。 この標準規格は以下のことを定義している。 - 基形式: 二進および十進の浮動小数点数データの集合。有限な数(符号付ゼロと非正規化数を含む)、無限、特殊な「数ではない」値(NaN

    NaN === NaN が false な理由とutil.isDeepStrictEqual - from scratch
  • ソフトバンクビジョンファンドの仕組み解説が超絶勉強になったので詳説|決算が読めるようになるノート

    新着記事を(無料で)LINEへお届けします。以下のリンクからLINE友達登録してください。 https://line.me/R/ti/p/%40pap3801g ---------------------------- 今日の記事では、ソフトバンクビジョンファンドの例からファンドビジネスの勉強をしてみたいと思います。 2017年10月〜12月決算説明会の中で、投資家向けという資料に以下のような資料があります。 「SoftBank Vision Fund ビジネスモデルと会計処理」 この資料の中に、ソフトバンクビジョンファンドのビジネスモデルの詳細が記載されています。 ソフトバンクビジョンファンドのビジネスモデルの詳細がここまで詳しく公開されたのは恐らく初めてだと思いますし、それ以上にこの資料は、ファンドビジネスの全体像を掴むのにとても分かりやすい資料になっていると思いますので、一緒に勉強

    ソフトバンクビジョンファンドの仕組み解説が超絶勉強になったので詳説|決算が読めるようになるノート
    raimon49
    raimon49 2018/02/20
    SVFが採用する2種類の成果分配方法と本体グループP/Lへの繰り入れについて。ファンドの目標はIRR(Internal Rate of Return=内部収益率)の最大化。
  • Masato Kinugawa Security Blog: ユーザ入力を使った正規表現から生じるDOM based XSS

    お久しぶりです&あけましておめでとうございます。昨年はブログを書く時間をうまく作ることができず、あまり記事を書けませんでした。今年はできるだけ月に1回程度何か書いていきたいと思っています。今年もよろしくお願いします! さて、ブログを書かなかった間にXSSからSQLインジェクションへ興味が移った、なんてことはありませんでしたので、今日もいつも通り大好きなXSSの話をしたいと思います! 最近、正規表現にユーザ入力を使っていることに起因するDOM based XSSに連続して遭遇しました。あまり見慣れていない注意が必要な問題だと思うので、この記事では、見つけたもの2つがどのように生じたか、また、問題を起こさないためにどうすればよいかを紹介します。 そのうちの1つはLINEのBug Bounty Programを通じて報告した問題です。 賞金と、"LINE SECURITY BUG BOUNTY"

    raimon49
    raimon49 2018/02/07
    >いずれの修正も正規表現を組み立てない方法で書き直すことができているように、たいていの場合、ユーザ入力から正規表現を組み立てる必要はないはずです。 / 強力過ぎる正規表現を安易に使ってはいけないという話。
  • pip の constraints の正しい用途 - Qiita

    Pythonプロジェクトのディレクトリ構成 という記事を見かけたのですが、どうも constraints の使い方について誤解が広まっているようです。 この記事で利用されている requirements.txt と constraints.txt の正しい実現方法と、 constraints の来の使い方を紹介しておきます。 バージョンロックの実現方法 プロジェクトで Flask を使うとしましょう。特にバージョンに関して意見が無いので requirements.txt はこの状態で始めます。 $ pip install -r requirements.txt $ pip install flask Collecting flask Downloading Flask-0.12.2-py2.py3-none-any.whl (83kB) 100% |███████████████████

    pip の constraints の正しい用途 - Qiita
  • or-done-channelでコードの可読性を上げる - YAMAGUCHI::weblog

    はじめに こんにちは、キーボード自作おじさんです。このエントリはGo Advent Calendar 2017の4日目の記事です。 今年のエントリーは大作が並ぶアドベントカレンダーの休憩用のエントリーと思っていただければ幸いです。 Advent Calendar、小ネタでいいのよ。頑張り過ぎてネタ思い浮かばなくて穴開けるくらいなら575でもいいのよ。— mattn (@mattn_jp) 2017年11月29日 Goの並列処理のパターン Goが公開されてからもう8年になり、Goが得意とする並列処理にもGo特有のパターンなどがコミュニティ内で蓄積されてきました。 その中でもよく聞くものとしては for-select loop or-channel or-done-channel tee-channel fan-in, fan-out などがあります。今日はその中でも or-done-chan

    or-done-channelでコードの可読性を上げる - YAMAGUCHI::weblog
  • ついに国連で講演へ!82歳プログラマーが語る「100年時代の思考法」——「人生は風見鶏でいい」

    「プログラミング初挑戦」だった若宮正子さん(82)が、ひな祭りをテーマにしたiPhoneアプリ「hinadan」を開発したのは81歳の時。プログラミング言語「Swift」をゼロから学んで作った。2017年2月に配信されたこのアプリは、7万ダウンロードを突破。同年12月には英語版もリリースされた。 政府の「人生100年時代構想会議」の有識者議員も務める若宮さんは、2018年2月2日午後1時半頃(日時間3日午前3時半頃)に国連総会の基調講演に立つ。 そんな「アプリおばあちゃん」若宮さんは言う。「20代、30代で生き急がなくてよい」と。「人生100年時代」を見据えた、柔軟な思考法を語った。 定年をきっかけにパソコンを独自に習得した若宮さんは、シニア対象のパソコン教室を自宅でスタート。1999年にシニア世代のサイト「メロウ倶楽部」の創設に参画し、現在も副会長。NPO法人ブロードバンドスクール協会

    ついに国連で講演へ!82歳プログラマーが語る「100年時代の思考法」——「人生は風見鶏でいい」
    raimon49
    raimon49 2018/02/02
    失敗は学習する機会。勇気づけられる。
  • Effective Go — プログラミング言語 Go ドキュメント v0.1 documentation

    イントロダクション¶ Goは新しい言語です。既存の言語からいろいろなアイディアを借りてきていますが、効果的なGoプログラムは、関連するような言語のプログラムとはかなり異なる性質を持っています。C++JavaなどのプログラムをそのままGoに変換しても、満足できるような結果にはなりません。所詮はJavaで書かれたプログラムであって、Goらしいプログラムにはなりません。一方、Goの視点からプログラムについて考えてみると、うまくいく可能性はありますが、既存のプログラムとは違う結果になるでしょう。言い換えると、Goらしいプログラムをうまく書くためには、Goの特性やイディオムを理解することが重要になります。また、命名規則、フォーマット、プログラムの構造などの、Goでプログラミングをするための適切な習慣を知ることも大切になります。そうすることで、他のGoプログラマが簡単にあなたのプログラムを読むことが

  • await って言う単語

    C# 5.0で非同期メソッドが導入されてから、 正式リリースを基準にしても5年以上、 最初の発表からだと7年以上経っています。 で、5年経っても、「なんて読むの」「asyncのaとawaitのaは違う」などなどが「定番ネタ」として定期的に出てくるわけですが。 特に、ECMAScript 2017がasync/awaitを導入したり、 Unity 2017がやっとC#のバージョンを6.0に上げれる感じになってきたり、 5年の断絶を経て去年からasync/awaitに触れる人が増えているようです。 5年も離れたら、世代断絶も起こりますよね… そりゃ、「定番ネタ」が改めて増えもしますよね… ということで、5年くらい前に同じようなことをどこかで書いてるはずなんですけど、改めて。 英単語 えいしんく まず読み方。 async: エイシンク await : アウェイト ってやつ。async の方が「ア

    await って言う単語
  • ECMAScript 2015以降のJavaScriptの`this`を理解する

    この記事はJavaScriptの入門書として書いているjs-primerのthisに関する部分をベースにしています。 またjs-primerでは書けなかった現在時点(2018年1月1日)でのブラウザの挙動についてを加えたものです。 次の場所にjs-primer版(書籍版)のthisについての解説があります。 この記事と違って実際にコードを実行しながら読めるので、学習ソースとしては書籍版を推奨します。 書籍版: 関数とthis · JavaScriptの入門書 #jsprimer また、バグ報告やPRも直接リポジトリにして問題ありません。 asciidwango/js-primer: JavaScriptの入門書 おかしい場所を選択した状態で右下にある”Bug Report”ボタンを押せば、簡単にtypoとかのバグを報告できます。(PRでも歓迎) 前置きはこの辺までで、ここから編。 この記

    ECMAScript 2015以降のJavaScriptの`this`を理解する
    raimon49
    raimon49 2018/01/05
    Arrow Functionは静的に1つ外側のthisが決まってるから、bindしてもthisの指すオブジェクトは変わらないんだな。知らなった。メソッド呼び出しにおけるthisはPythonで必須のself引数が省略されてると理解するのがしっくり来てる。
  • Hayato.io

    Hayato.io This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: Free Credit Report Dental Plans Parental Control Healthy Weight Loss Work from Home Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Cookie settings|Do Not Sell or Share My Personal Information

    raimon49
    raimon49 2017/12/26
    提供されるDOM APIとDOMノードの実装についての関係性がよく分かる。
  • HTTP/2における双方向通信とgRPCとこれから - Qiita

    この記事は 第2のドワンゴ Advent Calendar 2017 最終日の記事です。 はじめに ウェブ技術を語る上で欠かすことのできない要素として、HTTPがある。 従来のHTTP/1を無くして、ここまでのウェブの発展はなかったといえるだろう。言うまでもなく、HTTP/1が我々人類に齎した功績は大きい。 しかしその一方で、その規格のシンプルな原理原則に縛られた結果、要件を達成するために非効率なネットワーク使用を前提とするシステムが量産されるなど、HTTP/1がもたらした技術的負債も存在する。 その中の一分野として、双方向通信に着目したときに、HTTP/1からHTTP/2へのアップグレードによってどのような変化がもたらされたか。 稿ではHTTP/2という規格と、それが持つ可能性の一端としてgRPCについての仕組みを紹介し、従来とこれからのWeb開発における双方向通信について述懐する。

    HTTP/2における双方向通信とgRPCとこれから - Qiita
  • git grepでソースコード内検索のあれこれ - エンジニアをリングする

    FOLIOアドベントカレンダー 21日目です。 12月は読み応えのある記事が多いので、わたしからはさくっとしたTipsを。 いま作業してるリポジトリのファイル群から、目当ての文字列を1秒でも早く見つけるための話。 おすすめのコマンド grep だと対象指定が面倒だったり、カレントディレクトリ以下を指定すると巨大なnode_modules以下のファイルも対象になってしまったりするので、git管理下のファイルのみを対象に検索できて高速な git grep がおすすめ。 git grep 検索したい文字列 だけで検索できる。 ~/.bashrc や ~/.zshrcなどに以下のエイリアスを書いておくと、 gg hoge だけでgit管理下のファイルにあるhogeをハイライトつきでリストアップしてくれてめちゃ手軽。 alias gg='git grep' もちろん日語も gg ほげほげ でいける

    git grepでソースコード内検索のあれこれ - エンジニアをリングする
  • ブロックチェ-ンを構築しながら学ぶ | POSTD

    ブロックチェ-ンの仕組みを知るには構築するのが最短の方法 この記事を読んでいるということは、仮想通貨の拡大に興奮しているということですね。ブロックチェ-ンの仕組み、背後にある基的なテクノロジーについて知りたいのでしょう。 しかしブロックチェ-ンを理解するのは簡単ではありません。少なくとも私にはそうでした。大量の動画の中をさまよい、抜けだらけのチュートリアルに従い、結局、実例が少なすぎてフラストレーションが大きくなりました。 私は手を動かして学ぶのが好きです。コードのレベルで内容を扱わざるを得なくなり、そうすることで身に付くからです。同じようにやってもらえば、この解説が終わる頃には、機能するブロックチェーンが出来上がり、どのように動くかがしっかりと把握できるようになるでしょう。 準備 ブロックチェ-ンとはブロックという名の 不変でシーケンシャルな 一連のレコードだということを覚えてください

    ブロックチェ-ンを構築しながら学ぶ | POSTD
    raimon49
    raimon49 2017/12/08
    休暇中に書いてみよう。
  • Node.js Performance 改善ガイド - from scratch

    Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに

    Node.js Performance 改善ガイド - from scratch
  • RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!

    「ユーザー目線」のシステムを目指して RDBが従来の階層型DBに比べて優れていた点はいくつか挙げることができますが、シェアを伸ばすうえで最も大きな影響は、ユーザーが使いやすいデータ構造とインタフェースにこだわったことです。すなわち、「テーブル」と「SQL」の発明です。 RDBでは、すべてのデータを「テーブル」というただ一つのデータ形式によって表現します。テーブルは、見た目が「二次元表」に似ているため*3、Microsoft ExcelGoogle ドキュメントなどのスプレッドシートを使い慣れた人が見ると、データを格納する方法が直観的にイメージしやすいという利点があります。実際、こうした二次元表によるデータ管理は、Excelなどのソフトウェアが登場する前から一般的な方法だったため、RDBが登場した当時の人々にとっても受け入れやすいものでした。 テーブルが画期的だった点は、もう一つあります。

    RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか? - エンジニアHub|若手Webエンジニアのキャリアを考える!
    raimon49
    raimon49 2017/11/28
    >Postgresは「Post(後の)」+「Ingres」から付けられた名称です。 / ポスグレの前身としてIngresというRDBが生まれていた。
  • Unixコマンド”yes”についてのちょっとした話 | POSTD

    知っているUnixのコマンドで一番シンプルなものは何ですか? 例えば echo という、stdoutに文字列を出力し true を返す – すなわち常に0の終了コードで終了するシンプルなコマンドがあります。 シンプルな、と言えば yes もそうでしょう。引数なしで実行すると、改行されたyが無限に出力され続けます。

    Unixコマンド”yes”についてのちょっとした話 | POSTD