dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

「みんなのデータ構造」学習メモ:2.3 ArrayQueue

引き続き、「みんなのデータ構造」という本を読む。 みんなのデータ構造(紙書籍+電子書籍) – 技術書出版と販売のラムダノート amazon みんなのデータ構造作者:Pat MorinラムダノートAmazon 前回 「みんなのデータ構造」学習メモ:2.1 ArrayStack 今回は「P…

「みんなのデータ構造」学習メモ:2.1 ArrayStack

「みんなのデータ構造」という本を読み始めたので、その読書メモを。 今回は 2.1 節の「ArrayStack」というデータ構造について。 前置き:「みんなのデータ構造」という書籍について https://sites.google.com/view/open-data-structures-ja/home より引用。…

2019年のふりかえりと2020年の抱負

初ふりかえりです。 主なできごと 現職のサイボウズに入社したのが2018年12月なので、ほぼほぼサイボウズでの最初の1年という感じだった。 2月 認定スクラムマスター(CSM) を取得した 4月 kintone認定アソシエイト を取得した 4月 第二子が誕生した 6月 We…

Chrome拡張をChromium版Microsoft Edgeに対応する

メモ。 Microsoftのこちらのブログを読んで。 In most cases, existing extensions built for Chromium will work without any modifications in the new Microsoft Edge というのを見て、半信半疑で試してみた。 実際やってみると、必要な作業としてはMicro…

Salesforce: Customer 360とは何だったのか、そしてDeveloper 360

Salesforce Platform Advent Calendar 2019 11日目の記事です。 遅れに遅れてすみません。OB枠*1からの参加です。 はじめに どなたかCustomer360について教えてください— Shingo Yamazaki (@zaki___yama) 2019年11月27日 界隈を離れて1年経ちますが、なんだ…

kintoneのAPIスキーマ情報からREST APIドキュメントを自動生成する

この記事は kintone Advent Calendar 2019 6日目の記事です。 kintone のアドベントカレンダーは初参加です、よろしくお願いします。 はじめに kintone にはさまざまなAPIがありますが、その中でもちょっと特殊なのがAPIのスキーマ情報を取得するためのAPIで…

Dreamforce'19 Developer Keynoteまとめ

ブログ 動画 ブログ記事を読みながら動画をとばしとばし観た感じです。 Lightning Base Componentsがオープンソース化 動画09:30あたり。 先日のLWCのオープンソース化に続き、Lightning Base Componentsという基本コンポーネント群もオープンソース化したそ…

@octokit/restのアーキテクチャについて調べた

良いREST APIクライアントの設計というものに関心があり、GitHub社の公式REST APIクライアントである @octokit/rest のコードを読んでみたメモです。 (ドキュメントは https://octokit.github.io/rest.js/) 知りたかったこと 漠然と、こういう疑問に対してな…

Salesforce: LWCのローカル開発機能(ベータ)を試す

先日、LWCのローカル開発機能のベータ版がリリースされました。 ブログ記事を読みつつ、手元で動かしてみたメモです。 LWC ローカル開発機能の特徴(ねらい) ブログ記事では、以下の3点に言及しています。 可能な限り本番環境に近い環境で、コンポーネントを…

複数のモジュール形式(CommonJS, ES Modules, UMD)をサポートしたnpmパッケージの作り方 in TypeScript

はじめに npmパッケージを開発するとき、パッケージ利用者の実行環境に合わせて適切なモジュール形式のファイルをパッケージに含め、提供する必要があります。 具体的には、たとえば以下のようなバリエーションが考えられます。 Node.js環境であれば CommonJ…

TypeScript: 配列の値をString Literal Typesとして使う

メモ。 こんな感じで、ある配列として定義されている値に対し、「その値のいずれか」を意図した String Literal Types を作りたい。 const size = ['small', 'medium', 'large']; type Size = 'small' | 'medium' | 'large'; でも、配列と型定義とで値を二度…

TypeScript: ReactNode型とReactElement型とReactChild型

メモ。 ReactNode ReactElement ReactChild の関係性、何回か調べている気がするので整理しておく。 @types/react の型定義 https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts を参照した。 図で、ReactNodeArray → A…

npm installしたパッケージをVSCodeでデバッグする

npmでインストールしたパッケージが期待通りに動かず内部の動作を確認したい、となったときの話。 これまでは該当のスクリプトに console.log() とか直接書いてデバッグしてたんですが、あまりにも効率が悪いのでもうちょっと良いやり方を見つけたい。 VSCod…

Google I/O'19の「Speed at Scale: Web Performance Tips and Tricks from the Trenches」を観たメモ

途中飛ばしてしまった箇所もありますが、一通り観たのでメモを。 長いので最初にまとめ 動画の最後のスライドにキーワードがまとまってます。 速くする(Get fast)ための13個のTips 速さを維持する(Stay Fast)ためのTipsとしてPerformance BudgetsおよびLight…

Lightning Web Componentsの一部がオープンソース化された

現在開催中の TrailheaDX'19 で発表があったようですね。 The 3️⃣ Biggest Product Announcements From #TDX19:⚪ @Trailhead published the new Responsible Creation of AI module⚪ Lightning Web Components is now open sourced⚪ And...click here to dis…

TypeScript: ReactのContextに型をつける(useContextと16.3以前のLegacy Contextも含む)

TypeScript + Reactでコンポーネントを書くとき、Context を使っているコンポーネントに対してどう型を書くのが正解か迷ったので、調べたことをメモしておきます。 調べるきっかけとなったコンポーネントは React 16.3 以前の Legacy Context を使った書き方…

Amazonの商品ページの情報をkintoneに登録するChrome拡張

を作りました。 https://chrome.google.com/webstore/detail/amazon-to-kintone/leipfhjipgnfbdjkbinlmlmfdhgcakki からインストールできます。 アイコン未登録だったりコードがぐちゃぐちゃだったりしますが、とりあえず自分が使うための要件は満たせたので…

TypeScriptでJestを使うときの設定(ts-jest, @types/jestなど)

メモ。 TypeScript を使ったプロジェクトに Jest を導入する時に必要なパッケージや設定、とくに ts-jest と @types/jest が必ず必要なのかどうかがよくわかってなかったので調べた。 先にまとめ TypeScript -> JavaScript のコンパイルを TypeScript 自身で…

認定スクラムマスター研修(CSM)で学んだこと

だいぶ前ですが、2/13-15 に認定スクラムマスター研修を受けて、無事認定スクラムマスターになりました。 こないだ社内でも報告会をやったんですが、ここにも学んだこととか思ったことをメモしておきます。 研修の内容についての詳細はあまり書かれてません…

VSCodeVimでxやsでコピー(ヤンク)しないようにする

メモ。 素の Vim ではこちらの記事を参考に x や s で1文字削除したときにクリップボードにコピーされないようにしていて、 VSCodeVim でも同様の設定をしたい。 方法 settings.json (コマンドパレットの Preferences: Open Settings (JSON)) を開き、以下を…

ESLintとPrettierを併用するときの設定(eslint-plugin-prettier, eslint-config-prettier)

今さらだけどメモ。 ESLint を使っているプロジェクトに Prettier を導入するときの設定方法。 結論としては、公式のこのページに全部まとまってた。 なお、 prettier-eslint というのもあるようだが調べていない。 先にまとめ eslint-plugin-prettier: ESLi…

「よくわかるWeb Components」を読んだ

Web Components を学ぶべく、昨年の 技術書典5 で販売されていた 1000ch さんの本を買って読んでみました。 2時間程度で読み切れるので、Web Components 全く知らない状態から概要を理解するのにはとても良い本だと思います。 自分は Web Components がどう…

「モブプログラミング体験会 with Chris Lucian」に行ってきた

今日はこちらのイベントに参加してきました。 きっかけはこちらのツイートが TL に流れてきたのがたまたま目に留まって。 やるよー!!Chrisの話を聞ける貴重な機会です。#モブプログラミング#モブプロhttps://t.co/KXeUS7MrrB— TAKAKING22 (@TAKAKING22) 20…

読書記録アプリを作ってkintoneの基本的な使い方を学ぶ

kintoneの使い方を勉強するのにちょうどいい題材はないかと考えたところ 自分が読んだ/読みたい本を管理するアプリが欲しいなと思っていたので、それを作りながら基本操作を学ぶことにした。 アプリのイメージ 読みたいと思った本や web 上のちょっと長い記…

「Google API Expertが解説するClosure Libraryプログラミングガイド」を読んだ

業務で Closure Library を使うので読んだ。 正確には、最後まで写経しながら読み進めようと思ったけど第5章あたりで挫折して、第6章以降はさっと目を通す程度になってしまった。 Google API Expertが解説する Closure Libraryプログラミングガイド作者:伊藤…

Google Closure CompilerとかGoogle Closure LibraryなどのClosure Tools概要まとめ

Google Closure ○○ シリーズが多くてわからん、となったのでメモ。 主に Closure Compiler と Closure Library を中心に。 総称として Closure Tools と呼ぶらしいです。ここにまとまってます。 またソースコードはすべて GitHub で公開されている模様。 htt…

WEB+DB PRESS Vol.106の「速習 Spring Boot」を読んだ

Spring Framework に入門2日め、という位置づけ。 前回 の最後にもあった通り、最近の WEB+DB PRESS でちょうど Spring Boot 特集があったようなので読んだ。 WEB+DB PRESS Vol.106作者:成田 元輝,杉浦 颯太,小和瀬 塁,山中 大輔,末田 正樹,藤野 真聡,竹馬 …

[VSCode]htmlファイル編集中のみタグ移動ショートカットキーを有効にする(主にVSCodeVimユーザ向け)

メモ。 Vim には対応する括弧にカーソルを移動する % キーがあるが、 matchit.vim というプラグインを使うと、html の場合に < から > までではなく 対応するタグ ( <body> ~ </body> ) にジャンプできる。 VSCode にも Vim エクステンション を入れて使っているが、これ…

Spring Frameworkに入門した

諸事情で Spring Framework を学ぼうと思い始めてみた。1日目。 これまでのプログラミング経験が Python, Django: 2年ぐらい Salesforce: トータルで5年ぐらい JavaScript, React, Redux: 直近1年半ほど みたいな感じだったので、Java については基本的な構…

[Salesforce]Winter'19: Apex Replay Debuggerの使い方

昨日の Meetup の内容をブログにもまとめておきます。本当はこっちを事前に公開したかった。 なお Meetup で話したときの LT 資料はこちら。 Apex Replay Debugger とは Winter'19 リリースノート:Apex Replay Debugger を使用してすべての組織を無料でデバ…