My RSS Reader

Description about Blog Author


月刊VS Code通信(2024/11月号)

暑がりの筆者からしてもそろそろ半袖で外出するのは厳しい季節になってきました。今年も気づけば残すところ2か月となりました。 今月も新しいバージョンがリリースされたので、リリースノートを眺めなていきたいと思います。 目次 目次 Visual Studio Code ニューリリース 主なリリース GitHub Copilot レビュー おわりに Visual Studio Code ニューリリース Visual Studio Codeのバージョン1.95がリリースされました。 主なリリース 変更点 変更内容 Copilot Edits 複数ファイルにわたる大きなファイル変更が迅速にできるように セカンダリーサイドバーでチャット セカンダリーサイドバーでチャット表示がデフォルトに GitHub Copilot レビュー GitHub Copilotによるコードレビューが可能に 複数のGitHubアカウント 複数のGitHubアカウントに同時ログインが正式リリースに その他詳しいリリース内容については Visual Studio Code October 2024 にアクセスしてください。 ここからは筆者として気になった機能を少しだけ深掘りしています。 GitHub Copilot レビュー どんな感じでレビューしてくれるのか気になったので使ってみようと思ったのですが、リリースノートをよく読んでみるとウェイトリストに登録する必要があるみたいです。 ウェイトリストに登録して招待された頃に使ってみようと思います。気になる方はこちらのリンクからエントリーできるみたいですので、登録してみてはいかがでしょうか。 Sign in to GitHub · GitHub おわりに 今月はGitHub Copilot祭りな感じでしたが、複数ファイルの編集やレビューなどよりVS Codeを自在に操作していくための機能が増えていますね。 GitHub Copilotが開発ツールとしてより欠かせないものになっていきそうですね。 [source]

Pleasanterの編集画面で入力項目のレイアウトを変更する方法

Pleasanterで入力項目が増えてきたりすると、編集画面のレイアウトを変更したくなることがあります。レイアウトを変えることで意味ある単位にまとめたり、見やすくすることでミスや入力漏れを減らすことにも繋げられます。 フォームのサイズ変更 Pleasanterでは、ワイドとノーマルの2つのフォームサイズが用意されています。内容項目や説明項目に関しては、マークダウンが追加で選択できます。 ノーマル(赤枠)は、横幅が狭くなります。かつ、隣接する同じノーマル項目と複数並べることができます。 ワイド(緑枠)は、横幅が広くなります。1行に1つの項目が表示されます。 マークダウン(青枠)は、横幅と高さが広くなります。内容や説明項目のみ選択できます。 変更方法は、管理 > テーブルの管理 > エディタから変更できます。変更したい項目を選択して詳細設定をクリックします。 スタイルから適用したい項目を選択することで反映できます。 並び順 入力項目の並び順を変更することもできます。管理 > テーブルの管理 > エディタから変更できます。変更したい項目を選択して上または下をを選択して並び替えられます。 複数項目を並び替えたい時には、項目選択のショートカットキーを使いこなすことで、効率よく並び替えられます。 たとえば、Macの場合であればCommandキーを押しながら複数の項目を選択することで、複数の項目をまとめて移動できたり、任意の項目をクリックした状態で範囲選択すると連続する項目をまとめて選択できます。 区切り線 Pleasanterでは、見出しと呼ばれる区切り線を挿入できます。見出しは、管理 > テーブルの管理 > エディタから変更できます。変更したい項目を選択して詳細設定をクリックします。 見出しの表示名は、詳細設定から変更できます。 タブ Pleasanterではタブ機能を使用することで、入力項目を分けることができます。タブは、管理 > テーブルの管理 > エディタから変更できます。追加したタブをタブの設定から新規作成をクリックして追加します。 追加したタブの入力項目を変更するには、エディターの設定のリストダウンから追加したタブを選択して切り替えます。 あとは入力項目を有効化する通常の手順で設定を行います。 おわりに 標準機能の中でも自由にレイアウトを変更できるので、使いやすい画面を作ることができます。ぜひ、自分の使いやすい画面を作ってみてください。 [source]

Syncthingでファイル同期

最近なんとなくorg-modeでタスク管理をしています。1台のマシンからタスク管理をしている内は普通に快適なんですが、複数のマシンでタスク管理をしだすと、ファイル同期が課題になります。Samba?WebDAV?sshfs?Google DriveやOneDrive、NextCloudなんかが選択肢に上がってきますが、Linuxでマウントするのも面倒なので、今回はSyncthingで同期してみたいと思います。 Syncthing github.com OSSのファイル同期ツールです。Linux、MacOS、Windows、Androidも対応しています。 コマンドから設定が可能ですが、WebUIを備えていてブラウザからも設定ができます。フォルダごとに誰に共有するか、共有するときにパスワードが必要か、 など細かく設定できます。 使ってみる 何はともあれ使ってみましょう。 今回はMac miniとMac miniの中で起動したUbuntu 24.04の環境でファイルを同期してみます。 まずはMacから brew install syncthing インストールはこれだけです。Syncthingを起動するにはターミナルエミュレータでsyncthingコマンドを実行するか、brewのサービスとして起動します。今回はバックグラウンドで起動したいのでbrewで実行します。 brew services start syncthing Syncthingが起動できたら、WebUIにアクセスして設定画面が見られるか確認してみてください。 http://127.0.0.1:8384/ 初回起動時は使用状況のレポートについて聞かれます。 プラットフォーム、フォルダーのサイズ、アプリケーションのバージョンなどが集計されこちらで公開されるそうです。公開されて困る方は「いいえ」を選択しましょう。 「ユーザー名とパスワードを設定」の設定は必要に応じて設定してください。 次の設定でこのマシンにセットされているIDが必要になるので、右上のメニューから「IDを表示」を選らんで、IDをコピーしておいてください。 Ubuntuで お次にUbuntuにインストールします。 sudo apt install syncthing 特権ユーザーで誰が共有できるかなどをコントロールする場合はこちら sudo systemctl enable syncthing@.service sudo systemctl start syncthing@.service systemctl enable --nowを使って有効化と同時にサービスを開始してもいいです。 特定のユーザーだけが起動できればいい場合はこちら systemctl –user enable syncthing.service systemctl –user start syncthing.service 私は後者で起動を設定します。 起動に成功すると~/Syncディレクトリが作成されているはずです。こちらがデフォルトの共有ディレクトリになります。 どのような値がセットされているかは以下のコマンドで確認できます。 syncthing cli config folders default path get このディレクトリを変更する場合はこちら syncthing cli config folders default path set /path/to/sync/folder

Read more...

Pleasanterの一覧画面で検索されない項目がある時に確認したい設定

Pleasanterの一覧画面で検索されない項目がありました。数値項目だったのでノイズが増えそうなので、仕様的に除外されていても違和感がなかったので深追いせずに流していました。 とはいえ、検索したい情報ではあるので、数値項目から説明項目に変えて検索でHitするようにしていました。 とあるタイミングでPleasanterの開発者と話す機会があり、質問してみたところ設定でOn/Offできることがわかりました。 テーブルの管理:エディタ:項目の詳細設定:フルテキストの種類 | Pleasanter 話を聞いたあとでドキュメントを確認してみると、ちゃんと書いてありました。言葉的にフルテキストで馴染みがなかったので、まさか検索に関わる設定だとは思っていませんでした。 検索対象にする方法 早速、検索対象にする方法を試してみました。以前書いたブログの中で図書管理を作っていたのですが、これがまさに数値項目でISBN番号を管理していたことで、検索できずに困っていました。 まずは検索対象にするために項目の設定を変更します。管理 > テーブルの管理 > エディタから検索対象にしたい項目を選択します。今回は、ISBNを選択しました。 詳細設定画面の下にあるフルテキストの種類から値を選択します。これで数値項目に設定されている値が検索対対象になります。 1つ注意したい点はこの設定を有効にしただけでは、検索に使用しているインデックスが更新されないため、検索対象になりません。そのため、管理 > テーブルの管理 > 検索から検索インデックスの再構築を行います。 改めて検索してみると意図した項目が検索されるようになりました。 [source]

イベントレポート '24/10月開催 とことんDevOps勉強会「DevOpsに関連するツールとその概要を淡々と読み上げる会」

今回のとことんDevOps勉強会は「DevOpsに関連するツールとその概要を淡々と読み上げる会」と題して、日本仮想化技術の田中が、DevOpsツールについて紹介しました。 DevOpsと聞くとたくさんのツールが挙げられます。興味があってもどこから手をつけていいのか、どんなツールがあるのか悩みやすいところです。 今回の勉強会では、1歩引いた視点でDevOpsツールについて俯瞰してみることをテーマに開催しました。知っているツールや始めて知ったツールはどれくらいあったでしょうか。 勉強会に参加できなかった方にもぜひ見て頂きたいと思い、Youtubeでアーカイブ配信をしています。是非ご覧ください。当日参加できなかった方も、これを機会にとことんDevOps勉強会に興味を持っていただければと思います。また、当日いただいたQ&Aに関してもこちらのブログでまとめていますので、ぜひご覧ください。 セミナー動画 発表資料 Q&A まとめ 紹介したツールはすべて連携しやすいものか OSSをオンプレで運用するコストメリットはあるか? DevOpsツールの使い始め方について おわりに セミナー動画 youtu.be 発表資料 speakerdeck.com Q&A まとめ 紹介したツールはすべて連携しやすいものか 質問 いろいろなツールがありますが、どのツールも連携させやすいものなのでしょうか? 回答 はい、どのツールもほとんどがAPIやOpenID Connect(OIDC)、Webhookなどの仕組みが提供されているものがほとんどです。 システム間の連携はしやすいと考えています。 ツール間の連携などについては後日ブログネタとして公開する予定ですので、公開までお待ちください。 OSSをオンプレで運用するコストメリットはあるか? 質問 できるだけコストを抑えていくとすると、OSSをオンプレで、ということになるでしょうか。その際にお勧めの主要なツールはありますか? 回答 無料で使えるOSSツールだけの費用を見るとコストダウンになるように見えますが、見えないコストをどう考えるかによってコストを抑えら得るかどうかは難しいとことです。 OSSでSaaSサービスと同等レベルの要求レベルを満たそうとすると相応のコストが発生すると思いますので、要求レベルを落として最悪ログの連携が一時的に遅れても許容できるなどの許容が必要かもしれません。 DevOpsツールの使い始め方について 質問 数が多くて、どこから手をつけていいか分からないのですが、どのあたりから始めるのがお勧めですか? 回答 GitHub Actionsなどを使ってCIでテストやアプリコードのビルド、Dockerコンテナをレジストリに登録するなどを実際に作って自動化してみるとよいです。 そこから、発展的にCDなどを追加してデプロイの自動化を進めてみてください。 おわりに DevOpsのツールを俯瞰してみる機会はあまりないので、非常にいい機会になったのではないでしょうか。のめり込んでしまうと現在位置がわからなくなってしまいやすいので、たまに俯瞰してみてはいかがでしょうか。 [source]

Pleasanterで他テーブルへ日付項目をサーバスクリプトから転記すると1日前の日付が転記される時の対処方法

コミュニティチャンネルで話題になって日付まわりでなるほど。と思ったことを忘れないようにまとめておきます。 事象 親子テーブルなど複数のテーブルがあり、そのテーブル間でテータを転記するようなシーンで発生しました。今回はAテーブルとBテーブルにします。 それぞれのテーブルにはエディタで日付項目(日付A)が有効化されています。 Aテーブルで適当にデータを追加します。 次にBテーブルを用意します。 Aテーブルと同じように日付項目を追加しておきます。Bテーブルでは、データ作成時に日付は設定しないでください。 両方のテーブルで準備ができたのでAテーブルに戻り、サーバースクリプトを書きます。 try { context.Log(model.DateA); const data = { DateHash: { DateA: model.DateA, } }; items.Update({更新するBテーブルのレコード}, JSON.stringify(data)); } catch (e) { context.Log(e.stack); } {更新するBテーブルのレコード}は、Bテーブルで作成したレコードのIDと置き換えてください。 これで処理を実行してみます。 Aテーブル Aテーブルに2024/10/21と入力して保存します。 Bテーブルに移動して確認すると2024/10/20と表示されています。 あれ?と思いますよね。 解決方法 Pleasanterは画面上では、JST(日本時間の場合)で表示され、サーバースクリプトではUTCで処理が実行されます。 今回は、そこにitems.Update()を使って他テーブルにデータを更新する処理を追加しています。この処理はJSTで実行されます。引っかかりポイントは日付を自動変換してくれないため、ここで思い違いが発生して期待値とズレが生まれてしまいます。 ドキュメントには作成例として記載されているので、よくドキュメントを読んでいる方は気づいていたかもしれませんが、toLocaleString()を使って変換をする必要があります。 開発者向け機能:サーバスクリプト:items.Upsert | Pleasanter try { + const date = model.DataA; + const jstDate = date.toLocaleString(“ja-JP”,{ timeZone: “jst” }); + context.Log(date); + context.Log(jstDate); - context.Log(model.DateA); const data = { DateHash: { + DateA: jstDate, - DateA: model.

Read more...

Pleasanterでサイトパッケージをエクスポート/インポートしてみよう

サイトパッケージとは サイトに関するあれこれの情報をJSON形式に出力したものをサイトパッケージといいます。同じようなサイトを作る際に写経的に設定やスクリプトを転記せずとも手軽に同じものを作ることができます。 新規作成からカスタムアプリとしてサイトパッケージを登録することができ、テンプレートとしても使用することができます。 サイトパッケージ機能:サイトパッケージのインポート | Pleasanter サイトパッケージ機能:サイトパッケージのエクスポート | Pleasanter サイトパッケージのエクスポート 新規作成 > 記録テーブルから適当なテーブルを作成しておきます。スクリプトなどを簡単に書いて反映しておくとインポートしたときに確認しやすいかもしれません。 エクスポートしたサイトに移動してから管理 > 私とパッケージのエクスポートを開きます。 エクスポートする際の設定をします。 今回は必要最小限くらいの設定でざっくり作ってみます。 データを含める/含めない: サイトパッケージにデータを含めるかどうか選択できます。今回はデータを含めないを選択。 インデント機能を使う: エンジニアが知っているいい方をするとPretty printしている状態にするか1行圧縮されているかを選択できます。デフォルト設定のまま サイトのアクセス制御を含める: サイトのアクセス制御設定を含めるかどうか。今回はOFF レコードのアクセス制御を含める: レコードのアクセス制御設定を含めるかどうか。今回はOFF 項目のアクセス制御を含める: 項目のアクセス制御設定を含めるかどうか。今回はOFF 通知を含める: 通知設定を含めるかどうか。今回はOFF リマインダーを含める: リマインダー設定を含めるかどうか。今回はOFF ファイルの準備ができたらエクスポートを押してJSONファイルを取得します。 サイトパッケージのインポート 先ほど作ったサイトパッケージをインポートしてみます。 サイトを作成したい場所へ移動してから新規作成を押して作成画面を表示してます。 作成画面が開いたら1番右にあるカスタムアプリを選択し、インポートを押します。 ダイアログが表示されたら、先ほどエクスポートしたサイトパッケージを選択します。次にタイトルを入力してインポートを押します。 カスタムアプリの一覧に先ほど追加したものが表示されていれば成功です。 カスタムアプリから作成 追加したカスタムアプリからサイトを作成してみましょう。一覧に表示されているtestを選択すると、ダイアログが表示されます。通常のテーブルのように名前を変更できませんので、表示されている名前のままで作成を押します。 同じ名前で区別がつきませんが、後ろのほうに追加されているのが新しいものです。中身を見てみると、同じものが作られています。 おわりに エクスポートしたサイトパッケージをテンプレート化して、よく使うそうマットや設計なども事前に反映しておくと便利に使えそうです。 また、誰かに相談したい時もサイトパッケージをそのままエクスポートして相手に渡して同じ設定を共有することができるので、同じものを見ながら相談できたりもするので、うまく活用していきたい機能ですね。 [source]

Fluent Bitを使ったテスト環境におけるアプリのログ収集

最近とある案件でFluentdやFluent bitを触ることが多くなりました。 きっかけは案件ではありましたが、これを使えば検証や開発用サーバーや環境のログ収集が手軽にできるのではと思い、試してみることにしました。 今回使ったのはFluent bitの方です。 Fluentdの方がサポートされているプラグインの数は段違いなほど多いのですが、軽量な方が良かったのでFluent bitを入れてみました。 Fluent Bitのインストール 次を参考に、何らかの方法でインストールします。 https://docs.fluentbit.io/manual/installation/getting-started-with-fluent-bit 今回はサーバーはLinux、クライアントはmacOSを前提としています。 それぞれの環境にFluent Bitをインストールします。 クライアント側でforwardで特定のポートを解放して、送られてきたデータをファイルに書き込みます。 今回はクライアントのファイアウォールをオフにして作業しました。 アプリ側(Linux)の設定 Linux版のFluent Bitは次のパスのファイルをデフォルトで読み込みます。 /etc/fluent-bit/fluent-bit.conf デフォルトでいくつかの設定がされているので全てコメントにした上で、次の設定を書き込みます。 今回の例はApache Web Serverのログを収集して、out.fowardしたデータをクライアントでIn.fowardで取り込んで、クライアントの特定のディレクトリー上にファイルとして書き込むことを前提としています。 今回は単独のログだけを送り込むため指定していませんが、収集するログが増えてきたらTagの指定もした方が良いかもしれません。 IPアドレスはクライアントのIPアドレスを指定します。クライアントOSの多くはデフォルトでファイアウォールが設定されています。今回は利用時にファイアウォールをオフにしています。 [INPUT] Name tail Path /var/log/httpd/access_log [OUTPUT] Name forward Match * Host 192.168.1.5 Port 24224 tls off tls.verify off クライアント側(macOS) クライアントでは、次のような設定をしておきます。 [INPUT] Name forward Listen 0.0.0.0 Port 24224 Buffer_Chunk_Size 1M Buffer_Max_Size 6M [OUTPUT] Name file Match * Path /Users/ytooyama/temp/fluent 早速実行してみましょう。実行するときは-cオプションで設定ファイルを指定します。 % fluent-bit -c /Users/ytooyama/temp/fluent/fluent-bit.conf Fluent Bit v3.

Read more...

Pleasanterで一覧画面のソート方法をまとめてみました

Pleasanterでは同じようなことを色々なやり方で実現できる方法があるので、第1弾としてソート機能についてまとめてみました。 ソート方法 Pleasanterでソート機能を実現する方法はいくつかありますが、使う対象者やシステムとして統制を取りたい自動化したいなどの要件に応じて使い分ける必要があります。 方法 説明 適用範囲 対象者 1 画面操作 ヘッダー部分をクリック時に昇順・降順を選択可能 自分のみ 全員 2 ビュー ビューの設定でソート可能 アクセス権限で設定可能 管理者向け 3 スクリプト (不向き?) 実装により制御可能 開発者向け 4 サーバースクリプト view.Sortersを使う 実装により制御可能 開発者向け 1. 画面操作 Pleasanterでは一覧画面のヘッダー項目をそれぞれクリックすると昇順・降順の並び替えができます。設定不要で誰でもすぐに使えるため1番簡単なソート方法です。自分のみに設定が適用されるため、自由に使いやすいでが、チームで共有する場合などには向きません。 2. ビュー 管理 > テーブルの設定 > ビュー > 新規作成から設定できますが、他のユーザーにも影響してしまうので管理者向けの設定になります。チームや部署内で同じ設定を共有しやすくなります。 名称を入力しつつ、ソータタブを洗濯してソートしたい項目を選択して追加します。 追加できたら青色の追加ボタンを推して反映します。 ビューの一覧にも追加されていることを確認します。 画面下にある更新ボタンを押して設定を反映します。設定の範囲ができたら一覧画面に移動します。 一覧画面に移動できたら、画面の右上のリストダウンをクリックします。先ほど追加したデフォルトが選択肢に表示されたら選択します。 更新した直後に一覧表が更新されて、指定したソフト条件に合わせて一覧表が並び変わります。 もし、このビューを必ず画面が開いたときに適用してほしい場合には、既定の設定として登録することができます。 もう一度、テーブルの設定画面に戻り、一覧タブを選択して戻ります。画面の下にある既定のビューにデフォルトを選択して反映すると一覧表を開くたびに、このビューが自動で適用されます。 3. スクリプト スクリプトもできなくはないと思いますが、あまり現実的な実装にならないため、今回のケースでは不向きかと思います。 4. サーバースクリプト view.Sortersを使って設定します。 view.Sorters.CompletionTime = “desc”; CompletionTimeは、ソートしたい項目に応じて変更します。今回は降順を意味するdescを指定ています。他にも昇順であるascを指定することもできます。 開発者向け機能:サーバスクリプト:view.Sorters | Pleasanter おわりに ソート機能はそこまでパターンは多くないと思いますが、機能によっては色々なやり方があるのでどの方法を採用したらいいのか悩んでしまいますね。 筆者自身も日々触りながらここでもできるのか、あっちでもできるのかと日々新しいやり方を発見して学びになっていますが、しれば知るほどどのように使い分けていったらいいのか悩ましくなってきました。他にも色々と同じように悩ましくなるような機能はあると思うので、またブログにまとめられたらと思います。 どのように活用したらいいか悩んだ時はぜひご相談ください。 [source]

Pleasanterの分類項目で複数選択ONの時の既定値の設定方法

Pleasanterの分類項目を使う際に既定値で複数選択がON/OFFそれぞれのパターンで入力方法が異なるので備忘録も兼ねてまとめてみました。 分類項目とは 分類項目とはリストダウンで選択できる項目のことです。HTMLで言うと<select>タグの要素ことを指します。 テーブルの管理:項目:分類 | Pleasanter 複数選択とは Pleasanterの分類項目ではHTMLの<select>タグと同じように単一選択と複数選択がサポートされています。複数選択を有効化する方法は、管理 > テーブルの管理 > エディタ > 分類A〜Z > 詳細設定に移動してから、複数選択のチェックボックスをONにすると有効化できます。 ちなみにそれぞれのUIの見え方はこんな感じです。 複数選択OFFの場合 複数選択ONの場合 既定値の設定方法 りんごだけ入力してから複数選択をONにするとデフォルトの選択値が空になってしまいます。これは、既定値の入力ルールが複数選択をONにすることで変わってしまうことが原因です。 なので、複数選択の設定に応じて既定値を以下のように書き換えてあげる必要があるので注意が必要です。 複数選択 設定値 OFF りんご ON ["りんご"] おわりに 知ってると何てことないのですが、知らないと躓きがちなのと筆者自身も忘れてしまいそうなので、備忘録としてまとめてみました。 [source]

Previous Page 2 of 3 Next Page