Visual Studio Code でインデントの変換や切り替えのショートカット Visual Studio Code (以下 VSCode) でファイルを開いたらタブ・インデントだったので、スペース・インデントに変換したい。 でも、メニューから(マウス操作)でなくショートカットで変換・変更できないか。 「VSCode タブ スペース 変換」でググっても、「設定からインデント設定を変更する」とか、「\tをスペースへ文字列置換する」とかしか出てこなかったので、自分のググラビリティのため。 TL; DR (今北産業) デフォルトでショートカットが割り当てられていないので、以下の手順で現在のドキュメントのインデントを変換できます。 F1 を押す indent と入力し indentationToSpaces もしくは indentationToTabs を選択 Enter 私は 「F1 レース
概要 AWS:IAMについて学んだことをまとめる 学習は Amazon Web Services 業務システム設計・移行ガイド をベース IAM (Identity and Access Management) とは 「どのサービス(リソース)に対する」 「どのような操作を」 「誰に」 許可するか・許可しないかを定義出来る IAM を用いてユーザに権限を付与するまでの流れ AWSサービスやAWSリソースに対する操作権限を「IAMポリシー」として定義する IAMポリシーを「IAMユーザー」や「IAMグループ」にアタッチする IAMポリシー AWSサービスやAWSリソースに対する操作権限をJSON形式で定義したものがIAMポリシー 定義項目 項目 内容
AWS Cognitoを設定したのですが、時間がたつと忘れてしまいそうだったので、備忘録として残しておきます。 皆さんのお役に立てられればうれしいです。 今回、備忘録に残すのは、タイトルにある通り、AWS Cognitoで管理するユーザIDとして、外部のソーシャルIDであるGoogleアカウントや、Yahoo・LINEアカウントを利用できるように設定する手順です。 なかなか初めて触るWebサイトで、ユーザID・パスワードを新規に入力してアカウントを作ってもらうのはユーザにとって負担ですし、ユーザもたくさんのサイトのユーザID・パスワードを覚えておくのはたいへんです。 さて、YahooとLINEアカウントを利用できるようにする、としていますが、正しくは、OpenID Connect(略してOIDC)のアカウントを利用できるようにする、といったほうが正しいかもしれません。AWS Cognito
TL;DR GraphQLはクライアント側とサーバー側の双方の複雑化を解決するために利用されてる フロントエンドにとってGraphQLはHTTP上で動く信頼できる唯一のリソースとして振る舞う フロントエンドの状態管理のベストプラクティスとしてのApollo Client クライアントファーストなAPI, GraphQLはWeb APIのベストプラクティスになり得る クラシックアプリケーションを改修することなくGraphQLとモダンフロントエンドで今どきのアプリを作れる はじめに GraphQLは非常に良く出来たソフトウェア(の仕様)ですが、複数の側面を持つことからすぐに理解することが難しくまだ日本ではあまり受け入れられていない印象があります。GraphQLを端的に何と言われると "全てのフロントエンドのためのAPI BFF" なのですが、それだけで理解出来る人はなかなか居ないように思います
はじめに Authlete(オースリート)社主催の勉強会『いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい』(2020 年 1 月 31 日(済), 2020 年 2 月 21 日(中止))の内容がてんこ盛り過ぎるため、予習・復習用の情報を書き出そうと思います。 追記 2020 年 1 月 31 日の勉強会の資料と動画(字幕付き)を公開しました! OAuth / OIDC 勉強会参加者は、OAuth 2.0(オーオース)と OpenID Connect(オープンアイディー・コネクト)の基本を知っていることが前提となります。 OAuth 2.0 は「アクセストークンを発行する仕組み」です。その中心となる仕様は RFC 6749 です。詳細については『一番分かりやすい OAuth の説明』と『OAuth 2.0 全フローの図解と動画』をご参照ください。 Op
同じTypeScriptという言語を利用する場合においても、トランスパイラによってTypeScript自体の機能制限がかかったり、思わぬトラブルを招く場合があります。それぞれのトランスパイラの特徴を踏まえた上で、それにより生じる問題も見ていきましょう。 1-1. tsc TypeScriptの開発元であるMicrosoft純正のTypeScriptトランスパイラです。TypeScriptを利用する際に typescript パッケージをインストールする必要がありますが、それに同梱されています。 公式ツールなだけあって最も早く最新バージョンのTypeScriptに対応したり、言語すべての機能を利用することができる一方で、バンドラではないためminifyやchunkの設定はできません。また、Path Aliasesの未解決や旧ESへの互換性が不完全であることが欠点として挙げられます。 tsco
のんびりしていたらこんなメンションをもらっていたので、ちょっとまとめてみようと思います。 そろそろ @tk0miya さんがアップしてくる頃。GFMはspecかっちりしてるんでしたっけ(markdown全く詳しくない — Aki Ariga (@chezou) February 1, 2020 かっちりしている? この記事を読んでいる皆さんは Markdown の歴史に精通していると思うので、古い部分はざっくり割愛してしまいますが、オリジナルの Markdown は かっちりしていない ことで有名なマークアップ言語です。 必要最低限のマークアップ要素は規定されていて HTML への変換ツールも完成していた Markdown ですが、マークアップ言語の言語仕様としては貧弱で、インデントのルールやインライン要素をネストしたときの挙動、空行の有無による解釈の違い、などなど、細かい部分のルールにつ
この記事は npm へ公開可能なパッケージを TypeScript で作成しながら、JS/TS 開発で良く使われるツールを紹介する記事です。 typescript-npm-starter という名前の Hello, world! パッケージを公開するという体で話を進めます。
この記事はcloudpack あら便利カレンダー 2019 の2日目です。 誕生秘話 はこちらです。 私は今年からの参戦になります。 この記事では、あら便利な拡張機能の紹介をしたいと思います。 Gitのコミット履歴が複雑になってしまった場合に、コミットグラフが絡み合ってしまい履歴が追いづらい状態になってしまうことありますよね? そこまで酷くはないけれど、ぱっと見で履歴がちゃんと終えるかというと微妙かも...という時はまあ普通にあります そこで、最近、Visual Studio CodeのGit Graph というあら便利な拡張機能を見つけまして、これがなかなか綺麗にgitgraphを出してくれるので紹介したいと思います 使い方 インストール あるいは、GUIからインストール 起動 インストールが完了すると、VCSのパネルにボタンが追加されるので、これを押すだけです。 ボタン押下で新たなタブ
本記事は、jacocoの導入関連の記事や公式ドキュメントを読んでも、導入がうまくいかなかった人に向け解決策の1つの可能性を示すものである。 みんながうまくいくかは知らない。 なぜなら筆者自身Mavenとかよくわかってないからだ。 前提 javaのバージョン java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00) Maven home: /usr/local/apache-maven-3.3.9
はじめに O/R マッピングとは O/R マッピングとは、一言で言えば、オブジェクト指向プログラミング言語においてリレーショナルデータベースのレコードを通常のオブジェクトとして操作する方法である。より詳細な定義を述べるより、実際のコードを見たほうがわかりやすいだろう。以下に、低レベルの JDBC API の利用例と、高レベルの O/R マッピングフレームワークの代表格である JPA の利用例を挙げる。 public List<Issue> findByProjectId(long projectId) { String query = "select id, title, description from issue where project_id = ?"; try (PreparedStatement ps = connection.prepareStatement(query))
2019年の今年は「令和元年」であるわけだが、年初はまだ「平成31年」だったので、ギリギリまだ平成ともいえる。ところで、ITの世界にもいろいろな都市伝説や根拠は薄いけれどもかっちり守られているしきたり/習慣があり、少なくとも今の世界では通用しないため本当は改善したほうがいいのだが業界的にずるずるといってしまっていることが色々と存在する。年末の今、平成を思い返したときに元IT企業に勤めていた人間として「この習慣は平成のうちに終わらせておかねばならなかっただろうに!」と悔やまれることを7つ挙げてみた。 ※ちなみに、諸君のまわりでこれらをすべてやめられている人がいたならば本当に神である、というのが残念ながら今の現状だ。 【7位】 2要素認証でない「2段階認証」 これは令和元年にセブンペイサービスの停止でだいぶ話題になったので、認識されている諸君も多いかもしれない。話題になったのは大手企業のサービ
AWS Lambda関数をJava8で記述し、AWS上 Lambda Functionとしてアップロードし、それをJavaクライアントから呼び出す例をステップ・バイ・ステップで紹介します。 想定読者 Javaが書けて、はじめてAWS Lambdaをつかう人 いままではnode.jsでLambda関数を作っていたが、わけあってJavaでつくってみようとおもう人(=私のような) 記事構成 TL;DR 前編・後編で書きます 【前編】 JavaでLambda関数(クラウド側)と、クライアント(ローカル側)をお手軽に作る←本稿 【後編】 Lambda関数(クラウド側)の同期型、非同期型の呼び出しタイプ(Invocation Type)と、Javaクライアント側の同期、非同期呼び出し、API Gatewayでの公開 AWS Lambda(ラムダ)とは 自前でサーバーを作ったり、管理したりする必要が無く
package sample.junit5; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.DisplayName; class JUnit5Test { @Test void fail() { Assertions.assertEquals(10, 8); } static class StaticClass { @Test void fail() { Assertions.assertEquals(10, 8); } } static class StaticTest { @Test void fail() { Assertions.assertEquals(10, 8); } } class InnerTest { @Te
Mikatus Advent Calendar 2019 25日目の記事です。 開発責任者の土田です。 当社が2016年に参加したアドベント・カレンダー25日目の「Scala選定の理由と移行の方針」という記事へのアンサーを書こうと思います。事前にその記事を読んでいただいた方が、この記事の内容を楽しめるかなと思います。ただ、私の記事はあくまでポエムなので、そんなに期待しないでください。 プラットフォーム移行の観点でよりきちんとした内容は「Scala採用を決めて3年半たった、CTOの振り返り。アーキテクチャ刷新を成し遂げるために必要なこと」がとても参考になると思いますので、そちらをオススメします。 発端は(食べられる方の)カリーうどん → 最近は秋葉原でスープカリー 当時は当社のオフィスが白金高輪だったので、近くにあるカリーうどんを食べてました。その後は岩本町、浅草橋と移転したので食べてるカリ
はじめに この記事はギルドワークス Advent Calendar 2019の21日目の記事になります。 現在、約3年以上開発を続けているReactのProjectに関わっているので、ここ半年で取り組んだカイゼンの内容についてここにまとめたいと思います。 改善前(半年前)のProjectの状況 以下が半年前のProjectの状況です。 現在と構成が変わっていない部分はあります。 Rails + Webpacker + Reactの構成 React.js v16.4.x Redux v4.0.0 ただし状態管理はreduxのstoreを使っていたり、Componentのstateを使っていたり統一感がない状態 非同期処理のmiddlewareには redux-saga を使用 UI補助ライブラリとしてmaterial-uiとbootstrapを併用 Component単位で依存しているUI補
この記事は、ZOZOテクノロジーズ #1 Advent Calendar 2019 24日目の記事です。 昨日は @sonots さんの「書き込みがあるワークロードにおける ZOZOTOWN マルチクラウド構想とその検討停止について」の記事でした。 はじめに こんにちは、ZOZOテクノロジーズ CTO室の池田(@ikenyal)です。本記事では今年の4月に新設されたCTO室がどのような業務及び組織作りをしてきたのか、現状の課題とこれからどうしていくのかを紹介します。 CTO室設立の経緯 2019年4月にZOZOテクノロジーズにCTO室が新設されました。その新組織立ち上げのタイミングに私自身も転職し、ZOZOテクノロジーズにジョインしました。 まずは、なぜCTO室をこのタイミングで立ち上げたのか、会社の歴史に触れながら説明します。 20年以上前の1998年、現在のZOZOグループの源流である
レガシーなJavaで書かれたシステムのコードを見ていると、以下のようにInputStreamでファイルを開いて、OutputStreamでコピー先のファイルに書き込むみたいなものがあったりします。 try(InputStream input = new FileInputStream(srcFile); OutputStream output = new FileOutputStream(dstFile)) { byte[] buffer = new byte[BUFFER_SIZE]; int size = -1; while ((size = input.read(buffer)) > 0) { output.write(buffer, 0, size); } } 他にはどういう方法があるのでしょうか。ファイルコピーの歴史が詰まっている、commons-ioの実装の変遷をふりかえり、そ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く