タグ

takuya-aのブックマーク (1,740)

  • NAT経由でもDS-Liteでも安全にリモートアクセスできる「Cloudflare Access」 VPN不要でわが家もゼロトラストに!【イニシャルB】

    NAT経由でもDS-Liteでも安全にリモートアクセスできる「Cloudflare Access」 VPN不要でわが家もゼロトラストに!【イニシャルB】
  • 赤黒木の本質 - Qiita

    この記事はデータ構造とアルゴリズム Advent Calendar 2019 16日目の記事です。 15日目は@minaminaoさんによる「すごいTrie」です。 17日目は@takilogさんによる「Fréchet距離の計算アルゴリズム」です。 はじめに この記事では有名なデータ構造である赤黒木がなぜあのようなトリッキーな定義になっているのかその質について解説します。 赤黒木の定義を見てトリッキーと思うかどうかは個人差あるかと思いますが、少なくとも僕が初めて赤黒木を学んだ時はなぜこのような定義になっているのか、そしてどうやって思いついたのか見当がつかずとても不思議に感じました。 しかし、その後赤黒木の成り立ちやその基になったデータ構造について知ると、トリッキーに見えた定義がとても自然であることを実感しました。 おそらく知っている人は当たり前に知っている内容だとは思いますが、知らない人

    赤黒木の本質 - Qiita
  • "技術顧問" のお仕事|Sotaro Karasawa

    "技術顧問" 👨🏻‍💻ブームだな〜と思ってて、ソフトウェアエンジニアや一定の経験を積んだ人たちが、他のそういう知識・経験の無い会社を副業や業務委託という形でサポートしていくのは良いしどんどん広まると良いな、というのがある一方で、"技術顧問" という言葉が独り歩きしていて、 ・それってどういうことをやるひとなの? ・(エンジニアにとって)自分が技術顧問になってほしいと言われたらなにをやるの? ・(技術顧問が必要かも? という経営者にとって) 自分たちに必要なのはどういう人達なのか などがあまりハッキリしないままで、今現在、仕事の内容も単価もおぼつかない状態で混沌💥としていると思います。 など、かつてのCTOブーム、VPoEブーム、エンジニアリングマネージャーブーム等同様(まぁ、ブームっていうのは若干自虐的揶揄も含みつつではあるものの) 言葉が独り歩きして爆発的にそれっぽい人が増える、

    "技術顧問" のお仕事|Sotaro Karasawa
    takuya-a
    takuya-a 2020/11/24
  • Goの良さをまとめてみた

    よく知られる良さ ネイティブコード出力で実行効率が良い コードの可読性を重視している 開発でよく使うツールがバンドル クロスビルドが簡単にできる コンパイルが遅くない(LLライクにrunできる) 並行処理の抽象化を組み込み言語仕様にもつ メモリ安全である 上記の一部に解説を加えつつあまり言及されない良さを以下にまとめます。 依存解決が最小限で決定的 ここにも書きましたが、Goの依存解決は常に 最小限のダウンロード 最小の範囲でのみビルドを実行 だけが走ります。これを一度体験すると、従来のパッケージ依存管理が冗長で余計なものをビルドしすぎることに気づくでしょう。これらに相当の時間を奪われているのです。 また、Goモジュール機構によりそのバージョン選択は決定的に安定動作するバージョンに決められます。このことのメリットは数ヶ月後のリビルドで安定してビルドできることで実感できるでしょう。 開発環境

    Goの良さをまとめてみた
  • Looks Like It - The Hacker Factor Blog

    For the last few months, I have had a nearly constant stream of queries asking how TinEye works and, more generally, how to find similar pictures. The truth is, I don't know how the TinEye image search engine works. They don't disclose the specifics of the algorithm(s) that they use. However, based on the type of results it returns, it appears to me to be some variation of a perceptual hash algori

  • One-liners | Basic | Cheat sheet | Linux Command Library

    $ wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com

    One-liners | Basic | Cheat sheet | Linux Command Library
  • なぜGoogle Meetの背景ぼかしが最強なのか(一般公開版)

    はじめに 最近ついに、Google Meet に背景ぼかし機能が利用可能になりましたよね。日語だとインプレスのケータイ Watchの記事などで紹介されてます。確か 2020 年 9 月末前後で順次リリースされていたと記憶しています。 このときは「背景ぼかし」の機能しかなかったのですが、最近(私が気づいたのは 2020/10/30)更にアップデートされました。アップデートで「背景差し替え」機能が付いて、ぼかし機能もぼかし効果が強弱 2 つから選べるようになりました。まだ日語のニュース記事は見てないですが、Googleによるアップデートの発表はちゃんとされています。 そして、Google AI Blog でBackground Features in Google Meet, Powered by Web MLという記事が公開され、実装についての解説がされました。 この記事はその解説記事を

    なぜGoogle Meetの背景ぼかしが最強なのか(一般公開版)
  • TypeScriptの型を手に馴染ませるためにやっていること - $shibayu36->blog;

    最近TypeScriptが好きで勉強していっている。しかしなかなか型定義周りが手に馴染まず、少し複雑な型定義を読んだり、自分でユーティリティ型を定義したりすることが難しかった。 そこで型を手に馴染ませるために色々学習をしてみたので、やっていることをメモしておく。 まずざっとTypeScriptの型概要を学ぶ まずTypeScriptでの型を簡単に学ぶには以下の2つの資料がわかりやすかった。 TypeScriptの型入門 - Qiita TypeScriptの型初級 - Qiita ひたすら型演習をする 資料を読むだけでは全く手に馴染まないと思ったので、その後ひたすら型演習をしている。 まずは TypeScriptの型演習 - Qiita 。これは先程の型初級、型入門の記事を書いた人が演習問題を作っているため同じ流れで学習でき、さらに解説編も充実しているので、手を動かしながら学ぶのに最適であ

    TypeScriptの型を手に馴染ませるためにやっていること - $shibayu36->blog;
  • 「Retrospectives Antipatterns」を読んだ - 勘と経験と読経

    先日「Project Retrospectives: A Handbook for Team Reviews (Dorset House eBooks) (English Edition)」を読んだばかりだけれど、別の調べ物をしていたら「Retrospectives Antipatterns」というが最近発売されたことを知ってしまったので勢いで読んでみた。アンチパターン好きなもので。すごい有用なだった。 Retrospectives Antipatterns 作者:Corry, Aino,Corry, Aino発売日: 2020/11/02メディア: ペーパーバック 著者サイトはこちらのようだ。https://metadeveloper.com/ 全体的な感想 えてして「ふりかえり」のファシリテーターは孤独だと思う。特にファシリテーションすること自体を主な仕事にしている場合、「より良い

    「Retrospectives Antipatterns」を読んだ - 勘と経験と読経
    takuya-a
    takuya-a 2020/10/16
  • Building a semantic search engine for large-scale fact-checking and question answering

  • Space- and Time-Efficient String Dictionaries - Tokushima University Institutional Repository

  • TypeScriptの型入門 - Qiita

    TypeScriptは型がついたJavaScriptです。プログラミングにおいて型があることの恩恵は大きく、近頃AltJSの代表格として人気を集めています。TypeScriptはもともと型のないJavaScriptで書かれるコードに型を付けることを使命としていることもあり、たまに変な型が追加されます。例えばTypeScript2.8で追加されたconditional typesはずいぶん注目を集めました。これによってTypeScriptの型システムの表現力が広がりましたが、一方でTypeScriptを書いている人の中には、よく分からない型が増えてついて行けない、一部の人たちが長くてよく分からない型定義を書いて喜んでいるだけと思っている方もいるのではないでしょうか。実際、健全にJavaScriptを書いていれば、自分でそのような変な型を書くことはあまり多くありません。 そこで、この記事ではT

    TypeScriptの型入門 - Qiita
  • マルチスレッド・プログラミングの道具箱

    まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

    マルチスレッド・プログラミングの道具箱
  • TrailNote : トラックポイントを間引くアルゴリズム

    旧バージョンでは、独自のアルゴリズムでトラックポイントを間引いていたのですが、とても処理が遅く性能も悪かったので、Ver1.2からは先人の知恵をお借りすることにしました。 調べた所、点を間引く方式としては、Douglas-Peuckerアルゴリズムが有名なようです。 Douglas−Peuckerアルゴリズム Douglas-Peuckerアルゴリズムは、ラインを単純化するアルゴリズムで、とてもシンプルです。 手順は、以下のようになるようです(こちらを参考にしました)。 ルートの始点、終点をプロット対象とする。 プロット対象をつなげた直線と、その間の各点との距離を調べる。 許容距離(ε)以上離れた点で、最も離れた点を探し出し、そこを新たにプロット対象とする。 もし、ε以上離れた点がなければ、終了。 2〜3の処理を再帰的に繰り返す。 最も離れた点(ルートの形を特徴づける点)を残していき、近い

    takuya-a
    takuya-a 2020/09/18
    Douglas-Peuckerアルゴリズム面白い
  • State: Workspaces | Terraform | HashiCorp Developer

    Each Terraform configuration has an associated backend that defines how Terraform executes operations and where Terraform stores persistent data, like state. The persistent data stored in the backend belongs to a workspace. The backend initially has only one workspace containing one Terraform state associated with that configuration. Some backends support multiple named workspaces, allowing multip

    State: Workspaces | Terraform | HashiCorp Developer
  • https://www.nintendo.co.jp/hardware/gamewatch/index.html

    https://www.nintendo.co.jp/hardware/gamewatch/index.html
    takuya-a
    takuya-a 2020/09/04
    買います
  • GitHubのREADMEをサクッと高品質で書けるサービス作ってみました。 - Qiita

    みなさんは GitHub でオープソースソフトウェア(OSS)を開発して公開する時、README をどのように書いているでしょうか? GitHub が自動で作ってくれる README に含まれるのはタイトルだけですし、OSS 開発初心者の場合、そもそも README に何を含めるべきかわからないという方もいらっしゃるのではないでしょうか?OSS 開発に慣れている方でも、コードを書くのはいいけれど README を書くのは面倒だと思ったことはありませんか?今回はそんな README 難民の方々向けの Web サービスを作ってみました。 LEADYOU - README Generator Web サイトへ 使い方 使い方は簡単です。トップページで GitHub の Public リポジトリの URL を入力してNext Stepボタンを押すと、README に書くべき内容ごとにフィールドが設

    GitHubのREADMEをサクッと高品質で書けるサービス作ってみました。 - Qiita
    takuya-a
    takuya-a 2020/08/23
  • LINE社内テクニカルライティング講座第2弾!1文では説明が終わらない文章を書くコツ

    こんにちは、Developer Contentチームの矢崎です。LINE株式会社でテクニカルライターとして働いています。先日、このLINE Engineering Blogで「LINE社内で大評判のテクニカルライティング講座で説明した内容をあらためてブログにまとめてみた」というタイトルで、1文を書くときに気をつけていることや手法について紹介しました。 前回の記事を簡単にまとめると「たくさんの文案を書いて、一番良さそうなものを選択することがとても大切です」という話を多くの例文を使って説明しました。まだ読んでいない方はぜひ読んでみてください。 今回の記事は、第2弾です。次のステップとして「1文では説明が終わらない文章をどのように組み立てていくとわかりやすいか」という話を、以下のような文章を例に説明していきます。 ここでは、このくらいの情報量の文章を「トピック」と呼びます。 第2弾を最後まで読む

    LINE社内テクニカルライティング講座第2弾!1文では説明が終わらない文章を書くコツ
  • 秒間3万リクエストをkubernetesでさばく - Gunosy Tech Blog

    こんにちは!スタンディングデスクを導入して快適な開発環境と運動不足の両方を解消できるようになったのではと感じている、広告技術部のUT@mocyutoです。 今回は半年ほどEKSを運用して秒間3万リクエストのトラフィックをさばくほどになりました。 秒間3万は広告システムだと割とあるとは思いますが、kubernetesでも運用できているので紹介しようと思います。 対象のEKSで構築したサービスは広告の配信サーバです。 広告配信サーバの要件として、まず50ms以内にレスポンスを返さなければいけません。 構築したk8sのレスポンスタイムの99パーセンタイルは10msほどで返せています。 以下は必要最小限のクラスタの構成図です。 全体像 API 弊社のサーバサイドはほぼGoで作られているので、例に漏れずGoで作られています。 pod構成はAPI、fluentd、envoyの サイドカーパターン です

    秒間3万リクエストをkubernetesでさばく - Gunosy Tech Blog
  • Linuxがブートするまで

    普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff