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

  • 【AWS】アカウント契約の準拠法をワシントン州法から日本法に、管轄裁判所をワシントン州キング郡州裁判所から東京裁判所に変更する方法 - Qiita

    AWS】アカウント契約の準拠法をワシントン州法から日法に、管轄裁判所をワシントン州キング郡州裁判所から東京裁判所に変更する方法AWS要件定義契約非機能要件AWSArtifact はじめに AWSを利用しているプロジェクトのリーダーは一読ください。 AWSアカウント契約の準拠法と、管轄裁判所を変更する手順をまとめます。 お客様のAWS環境を自社が代行して契約しているようなケースの場合、米国法のままになっている可能性があります。後述するAWS Artifactから、番環境で使用しているAWSアカウントの準拠法を確認することをお勧めします。 AWSを使うプロジェクトでPLが意識すること RFPや要件定義時の非機能要件の確認事項として、「クラウドサービスの準拠法が日法であること」 を確認されたほうが良いと思います。 AWSとの契約のおさらい AWSは米国企業であるため、たとえ東京リージョン

    【AWS】アカウント契約の準拠法をワシントン州法から日本法に、管轄裁判所をワシントン州キング郡州裁判所から東京裁判所に変更する方法 - Qiita
    nati_ueno
    nati_ueno 2018/09/27
  • 貰う DP と配る DP、メモ化再帰、個数制限なしナップサック問題 - Qiita

    はじめに ついこないだの AtCoder 上のコンテストで出題された問題 AtCoder Beginner Contest 099 C 問題 - Strange Bank が、初心者向けの 300 点問題としては史上最難ではないかということで話題沸騰になりました。 何も考えずに DP (動的計画法) した 辺の長さが 1 の DAG なので BFS でも DP でも Dijkstra でも OK 個数制限なしナップサック問題を復習しないと 全探索 + Greedy でやった といった色んな声が飛び交いました。動的計画法アルゴリズムの設計法などを具体的に学べるすごく教育的な問題だと思ったので、上記の事柄をまとめて整理することを試みます。それにしてもこの問題はコイン両替問題の 1 パターンとして位置付けられますが、色んな取り組み方ができますね。 ABC 099 C - Strange Bank

    貰う DP と配る DP、メモ化再帰、個数制限なしナップサック問題 - Qiita
    nati_ueno
    nati_ueno 2018/07/24
  • 人間が型だけ書けば実装を意識しないでもよくなる未来 - Qiita

    型って「どういうことをしてほしいか」っていう 要件 の役割を持ってて、 一方で実装って「どうやってその要件を実現するか」っていう 具体的な手順 の役割を持ってますよね。 ところで仕事ができる人って、「こういうことやりたいな〜って思ってるんだけど〜」って伝えると、 「あ、それなら具体的にこういうやり方をすると良さそうですね〜」って自分で考えて提案して実行してくれてめちゃくちゃ助かるじゃないですか。 そしたら、プログラムの世界でも同じで、要件 (型) だけ書いたら 具体的な手順 (実装) を自動で導出してくれる未来が来たら嬉しい感じがしませんか? ざんね〜ん! 未来ではなくそれは現代のお話でした〜! 1 type MyApi = "books" :> Get '[JSON] [Book] -- GET /books :<|> "books" :> ReqBody Book :> Post '[

    人間が型だけ書けば実装を意識しないでもよくなる未来 - Qiita
    nati_ueno
    nati_ueno 2018/06/02
    Prolog (1972 - )
  • プログラミング入門者からの卒業試験は『ブラックジャック』を開発すべし - Qiita

    はじめに 4月もそろそろ後半。(執筆時) 新人研修でプログラミングを勉強している方は、そろそろ実践的な内容を取り組んでいる方も多いと思います。 課題をこなしていく中で、「そろそろ俺も出来るようになってきた」と自信を付けてくる方も多いはず。 一方で、「何に使うんだこれ」「何が便利なんだろう」と、初めてやる方にはメリットが分かりにくい技術があるのも事実。 例えばメソッド、クラス。極めていく中ではとても重要な技術なのですが、とっつきにくく感じるでしょう。 よく入門のときに使う、「Dogクラス」とか「walkメソッド」だと、なにが便利なのかイマイチ分からないんですよね。 また、はじめのうちは「奇数なら『はい』、偶数なら『いいえ』と出力」、「1から100まで出力」といった、なんとなく単調なプログラムばかりで、退屈してしまっている方もいるのではないでしょうか。 そこでご提案したいのは、あのトランプゲー

    プログラミング入門者からの卒業試験は『ブラックジャック』を開発すべし - Qiita
    nati_ueno
    nati_ueno 2018/04/22
    いいね!
  • async/await地獄 - Qiita

    地獄を抜けたらそこは地獄だった。 以下はHow to avoid (or escape) async/await hellという記事の日語訳です。 How to avoid (or escape) async/await hell async/awaitはたしかに我々をコールバック地獄から解放してくれました。 しかし、それは恐るべき地獄の、ほんのプレリュードにすぎなかったのです。 そう、async/await地獄の誕生です。 この記事ではasync/await地獄が何であるか、そしてそれから逃れるためのヒントをいくつか紹介します。 What is async/await hell 非同期JavaScriptを使用する際、しばしば複数の関数呼び出しすべてにawaitをつけがちです。 これによってパフォーマンス上の問題が発生します。 あるステートメントは別に手前のステートメントに依存はしてい

    async/await地獄 - Qiita
    nati_ueno
    nati_ueno 2018/04/12
    変なイディオム足さずにGo routine/channel 的なデザインにすればよかったのに、、
  • 俺が考えた最強の Reactのステートレスコンポーネントの書き方 - Qiita

    最近自分はこう書いてるという例。意見が欲しい。 この記事に redux は出てこない。 参考: https://qiita.com/mizchi/items/bcb1aef8d1f14f8d0b4a 構成要素 React flow styled-components recompose 以下 SFC = Stateless Functional Component /* @flow */ import React from "react" import styled from "styled-components" import pure from "recompose/pure" type Props = {| value: string |} export default pure(function Example(props: Props) { const { value } = p

    俺が考えた最強の Reactのステートレスコンポーネントの書き方 - Qiita
    nati_ueno
    nati_ueno 2018/04/07
  • Cloudflareが1.1.1.1で超高性能DNS始めたし、いっちょ俺のパソコンもDNS over HTTPSしてみる - Qiita

    はいど〜も!バーチャルYoutuberのおのかちおです! 先日、Cloudflareが 1.1.1.1:53 でパブリックDNSを始めたことが話題になってますよね。Googleが8.8.8.8でやってるあれと同じです。 しかもこれ、超速いんですよね。自分の手元からだと、8.8.8.8の10倍速い。 1.1.1.1の主な特徴 ログを保管しない。破棄する。 IPv6 対応 DNSSEC の対応 DNS over HTTPS の対応 DNS over SSL の対応 … IPアドレス 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 覚えやすくていいですね。

    Cloudflareが1.1.1.1で超高性能DNS始めたし、いっちょ俺のパソコンもDNS over HTTPSしてみる - Qiita
    nati_ueno
    nati_ueno 2018/04/03
  • C++完全理解ガイド Rev1.4.01 - Qiita

    はじめに C++を完全理解したので完全理解ガイドを書く。 最初に言っておくがタイトルは詐欺で、実際はポエムである。 僕は仕事C++を書いたことはないのでなんか変なことを言っているかも知れない。 ところで無職になったので、普通にC++で職がほしい。 2018年6月から受託で仕事をもらい、毎日C++17を書いています。 2018年9月から雇用され、毎日C++17を書いています。 かなり雑に書いているはずなので、コメント等でどんどんマサカリを投げてほしい。 僕は何者か 工学部を卒業して4年ほど高校の理科教師をやっていたが、現在無職になった人。 工学部を卒業して4年ほど高校の理科教師をやっていた。 最初は良かったのですが、授業に慣れ、このまま自分の成長が止まってしまうのかとなぁと思い、辞めて無職に。 一ヶ月無職を楽しんだあと、某から受託でC++を書く仕事をもらい、C++17を書いている。 主にツ

    C++完全理解ガイド Rev1.4.01 - Qiita
    nati_ueno
    nati_ueno 2018/03/29
  • kubectlチートシート - Qiita

    kubectl run <DEPLOYMENT NAME/POD NAME PREFIX> --image=<IMAGE>:<TAG> <CMD>

    kubectlチートシート - Qiita
    nati_ueno
    nati_ueno 2018/03/28
  • [Python]インスタ映えする決定木を描く - Qiita

    はじめに 概要 この記事ではPythonをつかって↓こんなのをつくります GraphVizによる決定木描画の不満点 機械学習が流行の今、pythonにおいてはscikit-learnを使う方が多いですよね。 その第一歩として、sklearnのDecisionTreeClassifierでIrisやTitanicを決定木分析するかと思います。 (ぼくはそうでした) sklearnのDecisionTreeClassifierでは、学習した決定木をDOT言語を介してGraphVizで可視化することができます。 ↓こんなふうに。 ダサい 勿論、分析に必要な情報は揃っていてわかりやすい秀逸な図だと思います。でもダサさが溢れ出てますね。 Tableauとかオサレなツールが登場している時代に、この古臭さ。 これではインスタグラムに投稿できないです。 もっとフォトジェニックに描画できないものでしょうか。

    [Python]インスタ映えする決定木を描く - Qiita
    nati_ueno
    nati_ueno 2018/03/18
  • コモナドを使った抽象化の威力をライフゲームで試してみた - Qiita

    class Functor m => Monad m where return :: a -> m a (>>=) :: (a -> m b) -> m a -> m b join :: m (m a) -> m a join = (>>= id) k >>= m = join $ fmap k m extract は return と、extend は >>= と、duplicate は join と、それぞれなんとなく反対になってるような気がしますよね?(m と w も上下反対の対応がありますねw) コモナドの感覚を掴むために具体的な実装を見てみましょう。 -- | List Zipper data Z a = Z [a] a [a] left, right :: Z a -> Z a left (Z (l:ls) c rs) = Z ls l (c:rs) right (Z ls c

    コモナドを使った抽象化の威力をライフゲームで試してみた - Qiita
    nati_ueno
    nati_ueno 2018/03/18
  • コンパイラは関数のインライン展開を☓☓段で力尽きる - Qiita

    はじめに 「コンパイラって、関数のインライン展開を何段までやってくれるんでしょうか?これってトリビアになりませんか?」 このトリビアの種、つまりこういうことになります。 「コンパイラに多段呼び出しの関数をわせてインライン展開させた時、☓☓段で力尽きる」 実際に調べてみた。 ソース 関数の多段呼び出しをするコードを吐くRubyコードを書いた。 num = ARGV[0].to_i puts <<EOS #include <stdio.h> int func0(int a){ return a + 1; } EOS num.times do |i| puts "int func#{i+1}(int a){return func#{i}(a);}" end puts <<EOS int main(void){ int a = 0; printf("%d\\n",func#{num}(a));

    コンパイラは関数のインライン展開を☓☓段で力尽きる - Qiita
    nati_ueno
    nati_ueno 2018/02/23
  • エンジニア歴20数年の私が、設計書を書く際に心がけていること - Qiita

    はじめに 時の経つのは早いもので、私がIT業界に身を置いて四半世紀になってしまいました。 その間、膨大な数の「設計書(仕様書)」を書いて来ましたが、未だに悩み・迷いは尽きません。 それでも、亀の甲より年の劫とも申しますので、私なりの経験則を「個人」と「チーム」の両観点でまとめてみました。 稿のテーマは、「主に設計書を想定した、開発ドキュメントの書き方」です。 稿で前提とする設計書は、ExcelやWordで書かれた、フォーマルな(≒納品物になりえる)設計文書、です。 したがって、自社サービス開発よりも受託開発、アジャイルよりもウォーターフォール、を前提として読んでいただいた方が、しっくりくると思われます。 <ご注意> 稿の内容は執筆者独自の見解であり、所属企業における立場、戦略、意見を代表するものではありません。 個人的に心がけていること 当該文書の作成目的や位置付けを冒頭に記載する

    エンジニア歴20数年の私が、設計書を書く際に心がけていること - Qiita
    nati_ueno
    nati_ueno 2018/02/15
    良記事。定義のない造語が沢山ある資料を読むのは苦痛、、
  • マークダウンベースのタスクランナー saku を作った話 - Qiita

    tl;dr make をタスクランナーとして使うことに疲れた (.PHONY ってもう書きたくない) yaml ベースのタスクランナーは幾つかあったがしっくり来ない (go-task / robo) そもそもタスクの記述言語をマークダウンにした方が良いのでは? マークダウンベースのタスクランナーを作った! saku! (update: Go言語バージョンも作った!) モチベーション 自分は普段、趣味仕事もほとんど JavaScript ばかり書いているため、タスクランナーとしては npm run-script を使っています。 run-script はタスクのドキュメントが書けないとか、タスクにコメントをつけれないとか(JSON の文法の制約上)、不満点は色々ありますが、npm-run-all などの支援ツールを利用することで、必要最低限のタスク定義は十分にできるツールと個人的には思って

    マークダウンベースのタスクランナー saku を作った話 - Qiita
    nati_ueno
    nati_ueno 2018/02/04
    面白い
  • MacにPostgreSQLをインストール - Qiita

    $ brew install postgresql : : ==> /usr/local/Cellar/postgresql/9.3.4/bin/initdb /usr/local/var/postgres ==> Summary ? /usr/local/Cellar/postgresql/9.3.4: 2921 files, 38M $ initdb /usr/local/var/postgres -E utf8 The files belonging to this database system will be owned by user "dai". This user must also own the server process. The database cluster will be initialized with locale "ja_JP.UTF-8". init

    MacにPostgreSQLをインストール - Qiita
    nati_ueno
    nati_ueno 2018/01/31
  • PostgreSQLに入門して感じた18のギャップ - Qiita

    はじめに 数百万件程度のデータをPostgreSQLにて集計・分析する作業を通して得た知見をまとめました。 ギャップを感じたりハマった順番に並べていきますので、自然と徐々にレベルが上がるような構成になっています:) 内容はPostgreSQLOracleとの比較になります。 どちらも触ってみて思いました。PostgreSQLOracleもどちらも良い!(キリッ 2022.07.02 会社の同僚の岡部さんがシェアしているのを見て、レイアウトが崩れていたりコメントを貰っていることに気が付きました。一部修正しています。 データ操作(DML) 1. from句なしでクエリが実行できる Oracleではfrom dualが必須ですね。 たったこれだけ書かなくて済むだけで非常に快適にクエリが書けます。 > select 1 as a, 2 as b ,3 as c +-----+-----+---

    PostgreSQLに入門して感じた18のギャップ - Qiita
    nati_ueno
    nati_ueno 2018/01/31
  • Kubernetes: アプリケーションのデバッグ方法 (kubectl exec など) - Qiita

    はじめに Kubernetes 上のアプリケーションに対して、curltcpdump など使い慣れたツールを使ってデバッグを行いたいと思う場合があるかと思います。kubectl exec を利用するとコンテナ内のコマンドを実行することができ、従来 ssh で行っていたデバッグに近いことが可能になります。一方、コンテナには必要最低限のものしか含めないことがベストプラクティスとなっているため、使いたいコマンドが含まれていないこともあるでしょう。 記事では、kubectl exec を主としたデバッグの方法と、コンテナに使いたいコマンドが含まれていない場合や kubectl exec が利用できない場合の対応方法などについて説明します。確認は Kubernetes v1.8 で行い、コンテナランタイムは Docker を前提としています。 kubectl exec を使ったデバッグ ku

    Kubernetes: アプリケーションのデバッグ方法 (kubectl exec など) - Qiita
    nati_ueno
    nati_ueno 2018/01/19
  • Emacs で時の流れを感じる - Qiita

    なにをやったの ふらっと外に出てみたらちょうど空が夕焼けていて「ずいぶん日が短くなってきたなあ」とか、あるいは夜、なんとなく空を見上げてみたら綺麗な満月で「もうひと月たったか」とか、そんな、ふと時の流れを感じる瞬間が僕は好きです。 が、社会人になってから、退社したら外はもう夜、という日がほとんどになって、そんな瞬間を感じることが減ってしまったなあとふと思いました。 そんなわけで、その時刻の空の色(イメージ)、月齢、天気を反映した時計ウィジェットを作ってみました。モードラインなどに置いておくと、ふと目をやったときに、ちょっとほっこりできるかもしれません。 スクリーンショット モードラインに設置 色のサンプル インストール GitHub: https://github.com/zk-phi/sky-color-clock load-path の通ったディレクトリにダウンロード (clone)、

    Emacs で時の流れを感じる - Qiita
    nati_ueno
    nati_ueno 2018/01/18
    いい!
  • Visual Studio Code と memo で Memo Life For You - Qiita

    2017-08-06: memo new hoge で新しいファイルが作成されない場合は、memo の更新が必要 Set file name with arguments in cmdNew by yosugi · Pull Request #19 · mattn/memo VS Code 1.13 から、ファイルを新しいウィンドウで開くかどうかを制御する "window.openFilesInNewWindow" 設定のデフォルト設定が off に変更になったのはいいのだが、macOS では、この設定でも新しいインスタンスで開いてしまう。そのため、macOS 専用の default を設定することで同一インスタンスに開いてくれるようになる Go 言語で作成されたメモ専用コマンドが便利そうだったので VS Code との連携を考えて見た。 きっかけはこの tweet。 書いた。 / “Bi

    Visual Studio Code と memo で Memo Life For You - Qiita
    nati_ueno
    nati_ueno 2018/01/13
    Nice!
  • vmgen で簡単なレジスタベースの VM を作る(2/2) - Qiita

    vmgen のために gforth をインストール gforth 0.7.3 をどっかからもってきて configure して make install します。ubuntu (Linux 64bit) では特別なオプションは必要ありませんでした。cygwin 64bit だとそもそもコンパイルできませんでした。 vmgen は何をするツールか? vmgen は VM を作るための C のひな形を作ってくれるツールです。書式に従って .vmg というファイルをつくり、vmgen でコンパイルします。とにかく試したいという人は、gforth の vmgen-ex あるいは vmgen-ex2 というディレクトリで make すれば簡単な(Modula2 風の)インタプリタができあがります(m4 と flex と bisonが必要)。 その vmgen-ex にある mini.vmg というの

    vmgen で簡単なレジスタベースの VM を作る(2/2) - Qiita
    nati_ueno
    nati_ueno 2016/02/10