n, m = gets.split.map(&:to_i) MOD = 1_000_000_007 def nPk(n, k) r = 1 while k > 0 r *= n r %= MOD n -= 1 k -= 1 end r end if (n - m).abs > 1 puts 0 elsif n == m puts nPk(n, n) * nPk(m, m) * 2 % MOD else puts nPk(n, n) * nPk(m, m) % MOD end

func main() { e := echo.New() // 通常のルーティング e.GET("/articles", GetArticleList) // JWT認証が必要なパスをグループ化※ r := e.Group("") r.Use(middleware.JWTHeaders()) r.GET("/user", GetUserInfo) r.POST("/articles", CreateArticleInfo) } r := e.Group("")でJWT認証が必要なパスをグループ化しました。 r.XXXと書いたパスでAPIコールした場合は、JWT認証をすることになります。 例えば、r.GET("/user", GetUserInfo)のところでは、APIコールする時にリクエストヘッダにJWTを突っ込んであげて認証するという実装が必要になりますね。 フロントエンド側の実装は以
Kinesis Data Firehose介し、S3へ出力したCloudWatch LogsのデータをS3 SelectとAthenaで確認してみました。 Kinesis Data Firehoseを使いCloudWatch LogのデータをS3に出力することが可能です。S3をデータソースにしたデータの確認方法は多々あると思いますが、ここではS3 SelectとAthenaを利用しログデータを確認してみたいと思います。本エントリでは、環境構築については割愛していますので、構築については以下ブログを参考にしてください。 CloudWatch LogsのログデータをKinesis Data Firehose経由でS3に出力する なお、ここではS3へ出力されたログデータはAurora監査ログを利用しています。 S3 Select 構成 Kinesis Data Firehose設定 配信ストリー
そろそろ「May 2020 Update」こと、Windows 10 Ver.2004(以下コード名で20H1)が最終版になる。とりあえず、完成したよ的なアナウンスがあった。 20H1における最大の変更点は、Linuxカーネルを使うWSL2(Windows Subsystem for Linux 2)だ。そこで今回は、WSL1とWSL2を比較してみることにした。WSL2ではLinuxカーネルが仮想HDD上でネイティブのファイルシステムを動作させる。このため、NTFSの上でLinuxのファイルシステムをエミュレートしていたWSL1のVolFs(あるいはlxfx)に比較してファイル処理などが高速化するという。 その一方で、WSL2では仮想マシン環境でLinuxカーネルを起動させるためオーバーヘッドがある。また、WSL2からNTFS側をアクセスするには、9Pと呼ばれるネットワークプロトコルが用い
GitHub Actions + CircleCI でDocker HubへDockerイメージを登録、定期的にre-buildするCICircleCIDockerDockerHubGitHubActions GitHub Actions + CircleCIを利用してDocker HubへDockerイメージを登録、定期的にrebuildする方法を解説します。 実際に動いているサンプルコードはこちらで確認出来ます。 DockerイメージのビルドのCIを行う CI用途のためリポジトリにpushがあったら全てのブランチでCIが実行されるように設定します。 利用するAction Build and push Docker images · Actions · GitHub Marketplace DockerfileからDockerイメージのビルドとDocker HubへDockerイメージの
In these difficult times, we’ve made a number of our coronavirus articles free for all readers. To get all of HBR’s content delivered to your inbox, sign up for the Daily Alert newsletter. On Monday March 9, in an effort to address soaring patient demand in Boston, Partners HealthCare went live with a hotline for patients, clinicians, and anyone else with questions and concerns about Covid-19. The
はじめに Macにて、EclipseじゃなくてVsCode(Visual Studio Code)で Javaの開発を行いたいという方に向けての記事となります。 VsCodeではなくEclipseで開発したい方は Qiitaに「Javaの開発環境(Mac, Eclipse)」をあげてますので、そちらを参照ください。 Javaのインストールがまだの方は 「Javaのインストール(Mac, Homebrew, 複数バージョン管理)」 を参考にインストールを先にすませておいてください。 動作確認した私の環境は以下の通りです。 VsCodeのインストール 既にインストール済みの方は読み飛ばしてください 公式サイトのダウンロードページ にて、Macを選んでダウンロードします。 「VSCode-darwin-stable.zip」というファイルがダウンロードされると思いますので、 ダブルクリックします
CloudWatch Logsのデータを、Kinesis Data Firehose経由でS3に出力する手順です。 Lambda Functionなどで作り込みを行わず、CloudWatch LogsのログデータをS3に出力するには、Kinesis Data Firehoseが利用できます。 本エントリでは、Kinesis Data Firehoseを介して、CloudWatch LogsのデータをS3へ出力する設定を紹介しています。CloudWatch LogsからKinesis Data Firehoseへ出力するには、CloudWatch Logsのサブスクリプションフィルタの設定が必要になりますが、こちらの設定はマネジメントコンソールでは行えないので、関連する作業含めAWS CLIを利用して実施しています。さいごに、AWS CLIで構築した同様の構成を定義するCFnテンプレートも添
SQLステートメントの挙動を勉強するためにMySQLだけの環境がほしかったのでDockerで作成しました。 少し前に利用していたものですが、今も使えるのでここに認めておきます。 概要 達人に学ぶSQL徹底指南書を読んでSQLを勉強していましたが、やはり直接SQLを叩いて学びたいので環境を用意しました。 この書籍の第2版ではウィンドウ関数について記述されています。ウィンドウ関数が対応しているMySQLのバージョンは8.0以上が必要なのでご注意ください。 対応したこと linux内の日本語入出力に対応 mysqlの日本語利用に対応 viを導入してmysql入力を楽に 今回使う書籍がtable定義で日本語を多用するので少し苦労しました。 構成 FROM mysql:5.6 RUN apt-get update && \ apt-get install -y locales vim && \ rm
これはUbuntuのデスクトップチームのDaniel Van Vugtが投稿した「GNOME Shell Performance Improvements in Ubuntu 20.04」を許可をもらって日本語に翻訳したものです。 記事にもあるように18.04からは大きく改善しています。19.04と19.10の同様の記事と合わせて読むと、さらに良いかもしれません。 Ubuntu 20.04 LTSのリリースでは、GNOME Shell 3.36とともにさまざまな領域でのパフォーマンスの改善が行われています。この記事では、Canonicalが貢献した改善点を紹介しましょう。 Ubuntuユーザーの多くは、LTSリリースのみを利用しており、18.04からアップグレードすることになるでしょう。その場合、19.04やとくに19.10で行われたパフォーマンスの改善によって大きく変わっていることに気づ
はじめに 仕事でGitHubプロジェクト(カンバン)を利用しており、Terminalで閲覧したかったため、作成してみました。 Organizationに紐づいているGitHubプロジェクトにはまだ未対応ですが、今後対応する予定です。 リポジトリはこちら。 どんなツール? 例としてmicrosoft/vscodeのGitHub Projectを本ツールでターミナル上に表示してみます。 コマンドは下記のような形で以下を指定します。 repoオプション(必須): リポジトリOWNER/リポジトリNAME searchオプション: プロジェクト名(デフォルトで1番目が選択される) 動いている様子は、こちらです。 機能 出来ること プロジェクトの閲覧 issue内容の確認(CtrN/CtrPでスクロール) 画面のリフレッシュ(R) プロジェクトをブラウザで開く(P) issueをブラウザで開く(p)
ノートPCにPythonの機械学習環境をコンテナで構築します。 今回は、主にテキスト系機械学習用の環境として、fastTextとPython3が使えるコンテナを構築します。 イメージ 実行(学習と検証)は機械学習用コンテナにシェルでログインし、fastTextとPython3の実行を行う。 ソースコードと学習用ファイルはPC上のフォルダをマウントする。 エディタはVisual Studio Codeを使う。 Edit 作業 https://qiita.com/penpenta/items/3b7a0f1e27bbab56a95f Windows 10 Pro Memory : 8GB Docker Desktop for Windows ベースになるコンテナイメージを起動 まずベースになるコンテナイメージを起動します。 ここでの実行コマンドはビルドしたコンテナイメージを実行するコマンドと同
初めに 前回投稿の続きで、Nuxt.js + Django REST frameworkで動くアプリケーションをnginxに乗せていきます。 構成イメージ 下記4つのコンテナがあります。 前回投稿からnginxコンテナを加えています。 ・初回ページ表示 ①nginx経由でnuxtコンテナにアクセス ②nuxtコンテナでSSRする。この際APIを叩きdjangoからDBの情報を取得する。 ③レンダリングしたページをユーザに返す ・ページ中でAPIを叩いた場合 nginx経由でdjangoコンテナにアクセス、結果をユーザに返す。 環境 Window10 Pro Docker desktop v2.1.0.5 Python 3.6.9 django 2.2.7 djangorestframework 3.10.3 Nuxt.js v2.11.0 nginx 1.13.12 ディレクトリ構造 .
何番煎じかわかりませんが備忘録兼ねて… 前回の記事でAmazon ConnectのCCPをカスタマイズしてWebページを作成しました。 Amazon Connect Streamsの仕様により、httpsでホスティングしなければいけないので、 パブリックアクセスを制限したS3にWebページを配置、CloudFrontを経由することでHTTPSによるアクセスを必須とします。 また、ついでにLambdaでBASIC認証を設定します。 ※2020/5/13 追記 紹介している方法ではlambdaのバージョンを発行して、トリガーにcloudfrontを設定する、などやっていますが、 現在はlambdaの「アクション」から「lambda@edgeへのデプロイ」でcloudfrontのトリガー設定などをいっぺんにできます。 実装する順としてはs3→cloudfront→lambdaとすると、コンソール
Wixでちょっと凝ったページを作るときのjavascriptメモ Wixでは結構簡単にショッピングページを作ることができるんだけど、ビミョーに融通が聞かない。いつものパン屋さんから、コロナの影響で日付ごとにデリバリーの地域が異なるんだけど、配達対象外の地域を弾くインターフェースを作れないか、相談があって、javascriptでいろんなソースを見ながら書いてみたので、ここにまとめておく。初心者なので、このコードのここがダメっていうのもあれば是非。イギリスのポストコード判定はこちらのサイトを丸パクリした。 用件 イギリスのポストコードSW7 2AZとか、W3 9AEとかからエリアコード(SW7, W3)を抽出して、配達できるかどうか表示して、配達できるならオンラインショップのページを表示する機能を作ってみた。 // For full API documentation, including c
1行まとめ Dockerのモードは、docker infoコマンドのSecurity Options:にrootless、usernsが含まれているかどうかで確認できる。 概要 通常のDocker、RootlessモードのDocker、userns-remapモードのDocker・・・と、いろいろなDocker環境を触っていると、「今触っているDockerはどのモードだったかな?」となりますよね。 そんな時はdocker infoコマンドの出力を見ることで、モードを確認することができます。(より正確には、CLIであるdockerコマンドが接続しているDockerデーモンのモード) Rootlessモード DockerがRootlessモードで動作している場合、docker infoコマンドのSecurity Options:にrootlessが含まれています。 $ docker info
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く