LWC Local Developmentを試してみた

概要 SalesforceのLightning Web Component(LWC)をローカルサーバーで動かせる機能がBeta版でリリースされていたので、どんなものかを触って確かめてみました。 準備 Local Dev Server用のCLIをインストール 最終的にはSalesforce CLIのパッケージに含まれるようですが、現在はBeta版なので含まれていないので、個別にインストールする必要があります。 組織の認証 Devhub組織と認証して、Scratch組織を作成しておきます。どうやら接続先はSandboxではなくScratch組織である必要があるみたいです。この辺は結構前に書いた記事ですが、下記をご参照ください。 Salesforce DXの基礎の基礎https://qiita.com/yhayashi30/items/80dd868f2e15aac67072 ローカルサーバーを起動 下記のコマンドを実行することでnode.jsがローカルサーバーを起動してくれます。 また、VSCodeのコマンドパレットで下記を実行して操作することもできます。 起動して開くSFDX: Open Local

Continue reading

ABC165 C問題(2020.5.2)

概要 本記事は、AtCoderのABC165に参加した際に回答することができなかったの問題を解説を読んで理解した内容を記載します。C問題で回答できなかったのは久しぶりだったので、しっかりと復習したいと思います。 問題 C – Many Requirementshttps://atcoder.jp/contests/abc165/tasks/abc165_c 解説 pdf https://img.atcoder.jp/abc165/editorial.pdf 動画(Youtube) 理解 まず計算量を考える部分ですが、数の組み合わせですが等しい数も選択することができるので、玉を並べてそれらに仕切りを置くようなイメージで算出します。具体的にはN個の仕切りとM-1個の玉からN個を選択するときの組み合わせが総数となります。なので、N+M-1 Choose N となり、今回の最大数は19 Choose 9なので92378通りで全探索でも問題ない処理量と考えられます。次に全探索のdfs関数についてですが、全探索を考えるときのポイントは以下の2つです。 一回のステップでどんな処理をすることで次につなげられるか 終了条件をどうするか

Continue reading

SalesforceにおけるOAuth2.0/OpenID Connect

概要 本記事では、業界標準であるOAuth2.0とOpenID Connectの概要を紹介した後に、Salesforceではそれらをどのように実装することができるのかを簡単に記載していきたいと思います。 本記事のベースとなるOAuth2.0やOpenID Connectの技術的な事項はこちらの本で学習しました。クライアント、認可サーバー、保護対象リソースのそれぞれについてサンプルのソースコードでどのように動作するかが詳細に記載されており理解するのに非常に役に立ちました。おすすめです。 認証・認可とは それぞれ詳細を説明すると非常に長くなるのですが、あえて一言で言うと下記で表せます。 認証 通信の相手が誰(何)であるかを確認すること 認可 とある特定の条件に対して、リソースアクセスの権限を与えること Salesforceにおける認証・認可とは Salesforceで実現可能な認証・認可の仕組みは下記が上げられます。 # 名称 概要 機能名 1 フォーム認証 Webブラウザでユーザ名とパスワードを入力する最も基本的な認証方式

Continue reading

ABC163 D問題(2020.04.19)

概要 コンテストの日から少し時間が空いてしまいましたが、2週間前?くらいに参加したABC163(2020/4/19)で相変わらずD問題がクリアすることができなかったので、復習のために解説を確認しながら、概念を理解してACするプログラムを実装しました。 問題 https://atcoder.jp/contests/abc163/tasks/abc163_d 解説 PDF https://img.atcoder.jp/abc163/editorial.pdf 動画(Youtube) 理解 まずM個の数である10^100の部分は非常に大きい数であるため、選択する数が変わると合計の値は他の数の組み合わせとは重複しないので、各選択した数の組み合わせによる合計値を求めれば算出可能となります。本問題でキーとなる部分は、M個からK個選ぶ場合の最大値は大きい方からK個選ぶ場合であり、最小値は小さい方からK個選ぶ場合となり、これらの最大値と最小値の間の値は全てを組み合わせで生成できるという点となります。したがって、作成できる数の総和は最大値-最小値で算出できます。次に、2つの連続するrからlまでの数の合計は、(l+r)*(r-l+1)/2で求めることができます。というポイントを抑えて実装すると下記のようになりました。 実装

Continue reading

Pythonista3でGithubにPushする方法

Pythonista3とは Pythonista3とは、iPadやiPhoneでPythonのプログラムを書いたり、実行したりすることができるiOSのアプリです。https://apps.apple.com/jp/app/pythonista-3/id1085978097 概要 本記事では、Pythonista3で書いたプログラムをアプリから直接Githubの自分のリポジトリにPushする方法を記載します。iOSのアプリケーションでは基本的にShellスクリプトを実行することができないのですが、Pythonistaのユーザが作成したstashというスクリプトを実行することでShellが擬似的に使用できるにしてGithubへのアクセスをCUIベースで行います。 手順 stashのインストール Pythonistaのアプリケーションで左にスワイプするとコマンドが表示されるので、そこで下記のコマンドを実行してstashをインストールします。 Pythonistaを再起動 インストールが完了したら、Pythonistaを一度タスクリストから削除して、再度アプリの立ち上げを行うことで再起動します。 stashをPythonのバージョン2.7で起動 アプリ内のフォルダ直下(This iPad,This iPhone)にlaunc_stash.pyというプログラムが作成されているので、そのファイルを開いて右上のRun(再生ボタンみたいなやつ)を長押しすると「Run with Python 2.7」が表示されるのでそちらを押下します。すると、unix風のコンソールに切り替わると思うのでそこでコマンドを実行可能となります。ちなみに、Pythonバージョン2.7で起動している理由は、この後で実行するGitコマンドがバージョン3.6で起動すると動作しなかったからとなります。 公開鍵を作成 Githubとの接続に必要となる公開鍵をstash上で作成します。rsaはデフォルトでは1024bitとなりますが、セキュリティを考えて2048bitを指定しています。 作成した公開鍵をGithubへ登録します。GithubのSetting->SSH keysから下記のコマンドで表示される文字列(ssh-rsa

Continue reading