タグ

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

タグの絞り込みを解除

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

  • マクロクラブ Rust支部 | κeenのHappy Hacκing Blog

    マクロ・クラブのルール マクロを書くな それがパターンをカプセル化する唯一の方法ならば、マクロを書け 例外: 同等の関数に比べて、 呼び出し側が楽になるならば、マクロを書いても構わない κeenです。レーシックを受けようとしたら角膜が薄くて手術拒否されました。予定が狂って時間が空いたのでブログを書きます。 冒頭のルールはプログラミングClojureに出てくるマクロの書き方の指南です。 Rustのマクロって色々できるんだよという記事を書くにあたってマクロに一日の長があるLispの知見を引用されていただきました。 ルールにあるとおり、マクロは関数と違ってRustの第一級オブジェクトでないので扱いづらいですし体がコピーされるのでコードサイズも膨らんでしまいます。 よく考えながら使いましょう。とはいってもRustの構文はLispに比べると複雑ですし型やパターンマッチなどLispに存在しない構文要

    マクロクラブ Rust支部 | κeenのHappy Hacκing Blog
  • Big Sky :: sudo の特権昇格バグはなぜ起こったのか

    « Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。 | Main | VimConf 2019 を終えて » Linuxsudo に root 権限を奪取できるバグが見つかった。 Linuxの「sudo」コマンドにroot権限奪取の脆弱性。ユーザーID処理のバグで制限無効化 - Engadget 日版 この脆弱性は、sudoコマンドのユーザーIDに-1もしくは4294967295を指定すると、誤って0(ゼロ)と認識して処理してしまうというもの。0(ゼロ)はrootのユーザーIDであるため、攻撃者は完全なrootとしてコマンドを実行できることになります。 https://japanese.engadget.com/2019/10/14/linux-sudo-root-id/ 既に Ubuntu 等にはパッチが配布され始めているらしい

    Big Sky :: sudo の特権昇格バグはなぜ起こったのか
    raimon49
    raimon49 2019/10/17
    sudoのソースコードは独自Mercurialサーバー立てて管理されてるの初めて知った。
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
    raimon49
    raimon49 2019/09/30
    それぞれのアプローチに対して工夫点やメリットをしっかり拾って総評しているのが素晴らしいなぁ。これ回答を提出した人も嬉しいよね。
  • 江添亮のC++入門

    書はプログラミングの経験はあるがC++は知らない読者を対象にしたC++を学ぶためのである。書はすでに学んだことのみを使って次の知識を説明する手法で書かれた。C++コンパイラーをC++で書く場合、C++コンパイラーのソースコードをコンパイルする最初のC++コンパイラーをどうするかというブートストラップ問題がある。書はいわばC++における知識のブートストラップを目指しただ。これにより読者はを先頭から読んでいけば、まだ学んでいない概念が突如として無説明のまま使われて混乱することなく読み進むことができるだろう。 C++知識のブートストラップを意識した入門書の執筆はなかなかに難しかった。ある機能Xを教えたいが、そのためには機能Yを知っていなければならず、機能Yを理解するためには機能Zの理解が必要といった具合に、C++の機能の依存関係の解決をしなければならなかったからだ。著者自身も苦し

  • Learning Machine Learning  |  Cloud AI  |  Google Cloud

    Accelerate your digital transformation Whether your business is early in its journey or well on its way to digital transformation, Google Cloud can help solve your toughest challenges.

    Learning Machine Learning  |  Cloud AI  |  Google Cloud
    raimon49
    raimon49 2019/09/14
    普段あまり気にせず読んでいる漫画家の持つコマ割りスキルの偉大さが分かる……。あと日本の漫画って基本的に右上から左下に流れて行くので、Webの文章と同じように読めと言われても難しい。
  • Introduction to Kubernetes

    この資料は「Kubernetes という名前ぐらいは知っているけど、実際には使ったことがない、何ができるのかよく知らない」という人を対象に、Kubernetes の基的な使い方を説明しています。 この資料を読めば、Kubernetes 上に単純な Web アプリケーションをデプロイできるようになるはずです。

  • make の -C オプションについて

    makefile を読み込むなどの動作の前に、ディレクトリ dir に移動する。 (中略) このオプションは通常、make を再帰的に呼び出すときに使われる。 と書いてあります。 ほとんどの場面で 「make -C dir」は「cd dir; make」と同じと考えていいと思うが、 わずかに挙動が違う部分があることに最近気づいた。 実験のため、次のような /home/foo/Makefile, /home/foo/bar/Makefile という2つの Makefile を用意。 /home/foo/Makefileの内容: all: @ echo CURDIR = $(CURDIR) @ echo PWD = $(PWD) @ cd bar; $(MAKE) /home/foo/bar/Makefileの内容: all: @ echo CURDIR = $(CURDIR) @ echo

    raimon49
    raimon49 2019/09/07
    cd dir; makeする場合とmake -C dirの違い。make実行プロセスのカレントディレクトリは$(CURDIR) or $(shell pwd)にしておけば環境変数$(PWD)のように親makeから影響を受けない。
  • Big Sky :: Go で型がインタフェースを実装している事を保証するには

    « C++ な WebServer 実装 crow と TensorFlow Lite を使って Object Detection の API サーバを書いた。 | Main | Go で大文字小文字無視の文字列比較ベンチマーク » Go は Ducktype をサポートしたプログラミング言語です。interface で宣言されたメソッドを型に強制したり問い合わせたり出来ます。メソッドの実装を保証する為に以下の様に struct に interface を embedded する事も出来ます。 package main type I interface { doSomething() } type foo struct { I } func (f *foo) doSomething() { } func callSomething(i I) { i.doSomething() } func

    Big Sky :: Go で型がインタフェースを実装している事を保証するには
    raimon49
    raimon49 2019/07/12
    var _ I = (*foo)(nil)
  • TypeScript Deep Dive 日本語版 | TypeScript Deep Dive 日本語版

    出典: https://www.npmtrends.com/typescript TypeScriptJavaScriptを拡張して作られたプログラミング言語です。トレンドが示すとおり、TypeScriptJavaScriptに代わって第一に選択される言語になりました。TypeScriptが提供する静的型システムは、コードの保守性と可読性を大幅に向上させます。またブラウザ等の互換性を心配することなく、モダンで便利なJavaScriptの機能を利用できます。 TypeScript DeepDiveは初心者からベテランまで役立つオープンソースのドキュメントです。JavaScriptのモダンな機能からTypeScriptの様々な魔法に至るまで丁寧に説明されています。多くのコードサンプルがあり、具体的なTypeScriptの使い方を簡単に理解できます。TypeScript DeepDive日

    TypeScript Deep Dive 日本語版 | TypeScript Deep Dive 日本語版
  • Python で Unicode 正規化 NFC/NFD の文字列を扱う - forest book

    先日、ビジネスパーソン向けの Python を執筆したことを書きました。 t2y.hatenablog.jp 稿では書のことを「できるPy」と呼びます。 Amazon でいくつかカスタマーレビューもいただいて次のコメントをみつけました。 python3.7 対応ということで、pathlib を使ってる点が(古いpython は切り捨てる!的なところは)潔いと言えば潔いし、日語のファイル名にも気を配っている記述はオライリーに期待するのは酷なところもある。でもこのでもNFD問題は全くの記述無し。だめだろ、それじゃ。 Amazon CAPTCHA まさに仰る通りです。執筆時にそのことに気づかずご指摘いただいてありがとうございます。 ここでご指摘されている NFD 問題というのは、ファイル名のみに限った問題ではなく、Unicode の文字集合を扱ってエンコード/デコードするときに発生する

    Python で Unicode 正規化 NFC/NFD の文字列を扱う - forest book
  • ニューイングランドIPAとは? - BrewNote

    最近、ニューイングランドIPA(New England IPA)という言葉を国内でも耳にすることが多くなってきました。 ニューイングランドIPAは、大量に使用するフレッシュなホップの香りとソフトな口あたりを重視し、苦味を抑えたビアスタイルです。飲まれたことがあるかたは、今までのIPAとも大きく違うという印象を持たれたのではないでしょうか。 今回お声がけいただき、両国・麦酒倶楽部ポパイさんにて開催されているGood Beer Clubさんの勉強会でお話しする機会がありましたので、その内容を改稿して記事化致しました。 30分程度でしたので詳しく語りきれていないところが多いですが、今後また補足していければと思います。 アメリカ合衆国の東北部。ニューイングランド地方のことを指します。北から順にメイン州、ニューハンプシャー州、バーモント州、マサチューセッツ州、ロードアイランド州、コネチカット州の6州

    ニューイングランドIPAとは? - BrewNote
    raimon49
    raimon49 2019/06/01
    アメリカのニューイングランド地方で始まったスタイル。イーストコーストIPA(East Coast IPA)やヘイジーIPA(Hazy IPA)などの別名で呼ばれ、Hazy(濁った)やJuicy(トロピカル)といった形容詞が多用される。
  • 実践クリーンアーキテクチャ with Java

    この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を

    実践クリーンアーキテクチャ with Java
    raimon49
    raimon49 2019/05/18
    DDDやヘキサゴナルアーキテクチャとのマッピングを交えた解説とサンプルコード。
  • JSでDoSる/ Shibuya.XSS techtalk #11

    Shibuya.XSS techtalk #11 の発表資料です。

    JSでDoSる/ Shibuya.XSS techtalk #11
    raimon49
    raimon49 2019/05/17
    仕様の改定やブラウザの歴史もまとめられている。Nodeで安全にサーバー書くのつらいよなぁ。
  • DNS over TLS/HTTPSについて考える | IIJ Engineers Blog

    はじめに 昨年から DNS over TLS (DoT)、DNS over HTTPS (DoH) にまつわる動きが急速に活発になっています。 DoT は2016年に RFC7858 が出てしばらくは大きな動きはありませんでしたが、2017年11月にサービス開始した public DNS である Quad9 (9.9.9.9)、昨年4月開始の Cloudflare (1.1.1.1)が相次いで DoT に正式対応し、遅れて今年1月には Google Public DNS (8.8.8.8) も対応しました。クライアント側としては昨年8月リリースの Android 9 “Pie” が DoT に対応しています。 DoH は仕様の標準化より実装の方が先行しています。Cloudflare は DoT だけでなく DoH も昨年4月のサービス開始当初からサポートしています。Mozilla Fire

    DNS over TLS/HTTPSについて考える | IIJ Engineers Blog
    raimon49
    raimon49 2019/05/08
    DoT/DoH はユーザとキャッシュサーバの間で利用されるプロトコル。権威サーバとの改ざんを検知できるのはDNSSEC
  • Dockerfile のベストプラクティス — Docker-docs-ja 1.9.0b ドキュメント

    インストール Docker エンジンのインストール Mac OS X Windows Ubuntu Red Hat Enterprise Linux CentOS Fedora Debian Arch Linux CRUX Linux FrugalWare Gentoo Oracle Linux openSUSE and SUSE Linux Enterprise Amazon EC2 Google Cloud Platform IBM SoftLayer Microsoft Azure Rackspace Cloud Joyent Triton バイナリをインストール Kitematic のインストール Docker Machine のインストール Docker Compose のインストール Docker Swarm のインストール Docker 基礎 コンテナのクイックスタート Do

    raimon49
    raimon49 2019/01/28
    RUNを連結した方が良いケースや、COPY→RUN→COPYした方が良いケース。キャッシュ効率の解説がためになる。
  • python自習テキスト [kirinwiki]

    このコンテンツを更新しなくなって久しく、さらにレンタルサーバーのPHPもずっと古いバージョンを使うわけにいかず、従来のdocuwikiを使うのをやめました。全ての内容を静的なHTMLにするのが割と手間なため、手抜きとして、ここの表紙以外をPDFに直してしまいました。これで保存します。python2用なので利用価値もすでに少ないですけどね。 っていうか、実際は動物さんイラスト集サイト。pythonの話はオマケ。 スクリプトが書けると、多分どっかで何かの役に立ちます。決まりきった仕事をチマチマと手作業でやるような場面で、スクリプトを上手に書けると劇的に楽になったりすることもあります。筆者自身がそういう経験を持っているので、他にも同じようなことができる人が現れてほしい。こういった動機で、習得用のテキストをポチポチと書き続けています。 興味はある(or 必要に迫られている)んだけど、当に何も知ら

    raimon49
    raimon49 2018/11/17
    yield文について、ティッシュを1枚ずつ取り出すのと束で取り出すメタファーでリソース効率を、バケツリレーのメタファーでコルーチンを解説。
  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

    raimon49
    raimon49 2018/11/01
    ゴールはセルフホスト
  • バーンダウンチャートで子どもの夏休みの宿題を「マネジメント」した話 | Backlogブログ

    Backlog開発チームの藤田です。皆さんは子どもの頃、夏休みの宿題にどんなふうに取り組んでいたでしょうか? 夏休みの初めに一気に終わらせてしまう 毎日こつこつ進める 夏休みの終わり近くになって必死でやる 終わらせない などいろんなタイプがありますね。 私は「初めに一気に終わらせる」タイプでした。毎日こつこつ進めるとかは無理と自分でわかっていたので、先にやってしまって安心したかったのだと思います。「終わらせない」を選択できるほど肝が据わってもいませんでした。 記事は、普段私たちが業務で使っているプロジェクト管理の手法を夏休みの宿題に応用したお話です。小学2年生になった娘と一緒に「夏休みの宿題完遂」を目的に、バーンダウンチャートなどを活用して、プロジェクトをどのように進めたのかお届けします。 夏休みの宿題をマネジメントする事の発端 うちの子にかぎって 私には小学校6年生と2年生の娘がいます

    バーンダウンチャートで子どもの夏休みの宿題を「マネジメント」した話 | Backlogブログ
    raimon49
    raimon49 2018/09/15
    >子どもの宿題はこれほどすんなりきれいに進行するのに、普段のプロジェクトはこんなにきれいに進まない理由について考えてみると、やはり不確定要素の多さが挙げられると思います。 / 学びのある話。スパイク大事。
  • Storyboardとの付き合い方 2018

    Aug 12, 2018 少し前に、自分のStoryboardの使い方をツイートしたら割と反応があったので、改めてまとめてみようと思います。これまで何年かiOSアプリの開発をしてきて、Storyboardとの付き合い方は何度も変わりました。なので、今回紹介するものはあくまで2018年現在のもので、来年には変わっているかもしれません。 説明のイメージを掴みやすくするため、画面の例を用意しました。左が編集時のStoryboardで、右が実行時のiOSシミュレーターです。具体的なトピックが出た時に、この例を説明に使うことがあります。 記事の最後にこれが動作するサンプルコードも用意しましたので、興味があればどうぞ。 Storyboardを使う目的 以下の2つを重視して、Storyboardを選択しています。 動作確認に掛かる時間を短縮する 成果物の構造を把握しやすくする ただし、Storyboar

    Storyboardとの付き合い方 2018
  • Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang | メルカリエンジニアリング

    はじめに メルペイ エキスパートチームのtenntennです。 メルカリグループでは、毎週金曜日にGo Fridayという社内勉強会を開催しています。 毎週やっているとそれなりに知見が溜まってくるので、定期的に”こぼれ話”としてブログを書こうという話になりました。 今回の記事では、先日のGo Fridayで話題にあがった非公開な機能を使ったテストについて扱いたいと思います。 なお、Goにおけるテストの手法やテストしやすいコードの書き方については、GopherCon 2017でも発表があったmitchellhさんの”Advanced Testing with Go”(スライド/動画)が参考になります。テーブル駆動テストやテストヘルパーなど非常に勉強になるので、まだ見たことのない方はぜひスライドや動画をご覧ください。 TL;DR Goのテストではテスト対象とテストコードを別パッケージにできる

    Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang | メルカリエンジニアリング
    raimon49
    raimon49 2018/08/08
    go testの時だけビルド対象となる_test.goサフィックスを使ったテクニック集。