My RSS Reader

Description about Blog Author


Pleasanterでスクリプトからリンクした項目に値を設定して「? xxxx」が表示される場合の対処法

ローコード・ノーコード開発ツール「Pleasanter(プリザンター)」は、業務アプリケーションをスピーディに構築できる便利なプラットフォームです。特に、データ同士を関連付ける「リンク機能」は、複雑な業務プロセスの中でデータの整合性を保つうえで非常に重宝します。 しかし、実際に使い始めてみると、画面操作ではうまくいっていたのに、スクリプトやインポート時にうまく動かないという事象に直面することがあります。この記事では、Pleasanterを使い始めた方がつまずきがちなリンク機能の落とし穴と、その解決方法を紹介します。 起きていること リンク機能をインポート処理で活用する場合、リンクしたい値(たとえば、メールアドレスのドメイン)を事前に設定しておけば、Pleasanterが自動的にリンク先とマッピングしてくれます。 しかし、スクリプト(サーバースクリプトも含む)を使って抽出した値をそのままリンク項目に設定し、インポートしてみると、「? xxxx」のように表示され、うまくマッピングされないことがあります。 なぜ起きてるのか まず、初歩的な原因として考えられるのは、そもそもマスタとして該当の値を登録していな いか、値の前後に空白文字か画面に表示されない特殊文字などが含まれていて、完全一致しないケースです。 それでも解決しない場合、問題の切り分けとして手動操作とスクリプト実行を試してみます。操作した結果、画面上から手作業で入力して登録されたが、スクリプトを使った処理では上手くいかない場合が今回のお話です。 この現象が起きる理由は、普段はブラックボックスになっており、あまり意識ないところかと思いますが、画面上では「ラベル名」や「表示名」が表示されています。見た目はテキストで紐づけられているように見えますが、Webアプリケーションのリストダウンを使用した際の標準的な仕組みです。 リストダウンで選択した値はデータ上では「ID」で管理されており、内部的には与えられた数字(サイトID)を使って関連付けを行っています。そのため、スクリプトで文字列として抽出した値を直接設定しても、Pleasanter側でIDとして認識されず、マッピングができなくなってしまうのです。 対処法 この問題を解決するには、先ほど触れたようにIDを指定するだけで解決します。IDを指定するだけと言ったものの、そこまで簡単な話でもなく、スクリプトで検索して取得してから設定する必要があります。 具体的な方法として、Pleasanterにはitems.Getという便利な関数が用意されており、指定した条件に合致するレコードを取得できます。以下はその一例です。 const results = items.Get( domainTableSiteId, JSON.stringify({ View: { ColumnFilterHash: { Title: mailDomain, }, }, }) ); // 結果から最初のアイテムを取得する let targetData = null; for (const result of results) { targetData = result; break; } if (targetData) { model.ClassA = targetData.ResultId; } このコードでは、抽出したドメイン名(mailDomain)を条件にリンク先のテーブル(domainTableSiteId)から該当するレコードを取得し、そのID(ResultId(または、IssueId))をリンク項目(ClassA)に設定しています。 [source]

Ansible Core 2.17以降とRHEL8 (及びRHEL8クローン)でPlaybookが実行できない話と解決方法

同じような環境を作ったり消したりしたい場合、仮想マシンや物理マシンに環境を展開する場合はAnsibleを使っています。 10年くらいでようやく、その習慣が染みつきました*1。 環境構築自体は好きなほうなので、台数が何台になっても環境のセットアップは苦ではありませんでした。 しかしある時気が付くんですよ。手動でセットアップし続けるのは時間の無駄をしているなって。 私は仕事柄、何かの環境を作っては破壊し、また作り直しと言うことをよくやります。 その都度手動でセットアップしては効率が良くないですし、いい加減Ansibleを使い始めようと重い腰を上げてはや10年。 歳もとるわけです。 AnsibleがAnsibleとAnsible Coreに別れて以降、私は主にAnsible Coreを使って必要なモジュールだけを追加して利用していました。 新しいAnsible Coreがリリースされればそれに追従して、なるべく古いバージョンを維持するような使い方はしたくないので避けてきました。 それができたのは、これまでのAnsibleが古いバージョンのPythonが導入した環境でもAnsibleが動いたためです。 これまでなんらはまるとは無かったのですが、つい最近、レガシーOSに割と新しめのAnsible Coreを使ったらいろいろはまったので、情報共有がてらブログにまとめようと思いました。 そのレガシーOSというのがRHEL8やAlmaLinux 8といった、システムPythonが3.6な環境です。その他のOSでも古いバージョンを使う場合、同じような問題に当たる可能性があります。 たとえばAnsible Playbookで次のような処理、具体的に言うとdnfコマンドで特定のパッケージをインストールするにはPython3のdnfモジュールの導入が必要です。 tasks: - name: Ensure dependencies are installed ansible.builtin.dnf: name: - wget - tar - firewalld - python3-firewall - glibc-langpack-en - glibc-locale-source state: latest RHEL 8.10などをターゲットマシンにする場合かつ、dnfコマンドを使ってソフトウェアのインストールを実行するロジックが必要な場合、python3-dnfパッケージがインストールされているのが最低要件です。 sudo dnf install python3-dnf インストールが終わったので早速チェックモードでPlaybookを流すと、エラーが発生しました。 % ansible-playbook -i hosts.ini install_yugabytedb.yml -C PLAY [Install YugabyteDB on Linux] *************************************************************************************************************************************************** TASK [Gathering Facts] *************************************************************************************************************************************************************** ok: [192.168.56.12] TASK [Ensure dependencies are installed] ********************************************************************************************************************************************* fatal: [192.

Read more...

月刊VS Code通信(2025/6月号)

今月も Visual Studio Code の新バージョンがリリースされたので、リリースノートを見ていきましょう。 目次 目次 新バージョンのリリース情報 主なリリース内容 今月のピックアップ 新バージョンのリリース情報 Visual Studio Code のバージョン 1.101 がリリースされました。 主なリリース内容 変更点 変更内容 チャットツールセット機能の追加 関連ツールをグループ化できる「ツールセット」が定義可能に。エージェントモードで簡単に切り替え可能。 プロンプトへの MCP 対応 MCP サーバーで定義したプロンプトをチャットで / コマンドとして利用可能に。 チャット UX の改善 ユーザーと AI のメッセージを区別しやすく表示。リクエストの取り消しや添付の操作性も向上。 編集の効率化とキーバインドの統一 編集処理の最適化により大規模ファイルでの動作が改善。キー操作も整理・統一。 インプリシットコンテキストの改善 現在のファイルをチャット文脈に簡単追加・削除可能に。ファイル名とカーソル位置のヒントも提供。 タスク設定エラーの修正支援 タスク設定エラー時に GitHub Copilot による自動修正が可能に。 カスタムチャットモードの追加(プレビュー) 独自のチャットモードを作成可能に。ツールや指示のカスタマイズに対応。 要素をチャットに送信(実験的) Live Preview 拡張から Web 要素を選択し、チャットに送信可能に。 非公開拡張機能の警告表示 Marketplace から削除された拡張に警告アイコンを表示。問題の早期発見が可能に。 設定検索の AI サジェスト(プレビュー) 意味ベースの AI 検索で、自然言語から関連設定を提案可能に。 Copilot コーディングエージェント統合 PR や Issue を Copilot に割り当て可能。進捗やステータスも VS Code から確認可能。

Read more...

月刊DevOpsニュース6月号

6月に入り全国的にも一気に梅雨入りしましたね。過ごしにくい日が続きそうですが、適度に水分補給やエアコン使用して体調にはお気をつけください。 さて、今月も月が変わりましたので、恒例の月刊DevOpsニュースをお届けします。 データベース プログラミング 生成AI リリース その他 データベース 高速化したインメモリDB「Redis 8.0」正式リリース。AGPLv3対応によりオープンソースに復帰 www.publickey1.jp 高速化したインメモリDB「Redis 8.0」正式リリース。AGPLv3対応によりオープンソースに復帰 www.publickey1.jp プログラミング Google、自律型コーディングエージェント「Jules」をベータ公開 www.publickey1.jp Google、WebUIの自動生成ツール「Stitch」をベータ公開。自然言語で指示するとHTML/CSSを生成 www.publickey1.jp 生成AI [速報]「GitHub Copilot Coding Agent」パブリックプレビュー。AIにIssueをアサインすると、解決に向け自律的にプログラミング www.publickey1.jp OpenAI、AIコードエディタの「Windsurf」の買収で合意との報道 www.publickey1.jp OpenAI、日本におけるデータレジデンシーの開始を発表。プロンプトやアップロードされたデータを日本国内のデータセンターに保存 www.publickey1.jp AWS、AIエージェントがGitHubのコードを読んで開発やレビューを行う「Amazon Q Developer in GitHub」プレビュー公開 www.publickey1.jp OpenAI、AIコードエディタの「Windsurf」の買収で合意との報道 www.publickey1.jp リリース Linux 6.15リリース、BPFに新しいキュー型スピンロックを実装 gihyo.jp その他 [速報]マイクロソフト、Windows Subsystem for Linux(WSL)のコードをオープンソースとしてGitHubに公開 www.publickey1.jp [source]

イベントレポート '25/5月開催 とことんDevOps勉強会「いまさら聞けない Git 超入門」

今回のとことんDevOps勉強会は「いまさら聞けない Git 超入門 〜Gitって結局なに?から始める第一歩〜」と題して、日本仮想化技術の宮原がGit初心者や基礎から学び直したい方を対象とした超入門セッションを発表しました。 Gitは、ソフトウェア開発の現場をはじめ、ドキュメント管理やチーム開発など、さまざまなシーンで活用されているバージョン管理システムです。しかし、「聞いたことはあるけど、実はよく分かっていない」という方も少なくありません。 今回のセッションでは、「Gitとは何か?」「なぜ使うのか?」といった基本的なポイントから、clone、commit、pushといった主要コマンドの使い方までを、図解と実演を交えてやさしく解説しました。今後全3回にわたって、GitLabの使い方やCI/CDの基礎までを扱っていくシリーズの第1弾です。 セミナー動画 発表資料 よくある質問(FAQ) GitとGitHub(またはGitLab)は何が違うの? commitしたらファイルは保存されたってこと? コミットメッセージって適当でも大丈夫? 間違えてファイルを消してしまった!元に戻せる? .gitignoreって何?なんで必要なの? セミナー動画 youtu.be 発表資料 speakerdeck.com よくある質問(FAQ) GitとGitHub(またはGitLab)は何が違うの? 回答 Gitは「バージョン管理システム」そのもので、ファイルの変更履歴をローカルで記録・管理するツールです。 一方、GitHubやGitLabはそのGitの履歴をインターネット上で共有・運用できるリモートサービスです。 簡単に言えば: Git:道具(ローカル) GitHub/GitLab:道具を活かすプラットフォーム(クラウド) という関係です。 commitしたらファイルは保存されたってこと? 回答 はい、git commitをするとローカル(自分のパソコン上)に履歴として保存されます。 ただし、他のメンバーと共有されるわけではありません。チームと共有するには、GitHubやGitLabなどのリモートリポジトリにgit pushで送信する必要があります。 コミットメッセージって適当でも大丈夫? 回答 形式的にはどんなメッセージでも動作しますが、後から見返したときに意味が分かるように書くのがベストです。例は、わかりやすく日本語で表現しています。 例: NG:「修正」や「ちょっと直した」 OK:「バグ修正:画像が表示されない問題を解消」 履歴が読みやすくなり、チーム全体の生産性も向上します。 間違えてファイルを消してしまった!元に戻せる? 回答 Gitは変更履歴を記録しているので、コミット済みの内容であれば復元が可能です。 例:git checkout <ファイル名>で直前の状態に戻すなど。 ただし、addやcommitをしていない「未保存状態」の削除は復元できないため、こまめなコミットが安全対策になります。 .gitignoreって何?なんで必要なの? 回答 .gitignoreは、Gitで「追跡対象から外したいファイル」を指定するための設定ファイルです。 例えば: 一時ファイル(例:*.log) 個人の設定ファイル(例:*.env) コンパイル後のビルド成果物(例:dist/) これにより、チームに不要なファイルを誤って共有するリスクを防げます。GitHubやGitLabでも.gitignoreが設定されていないと、大量の無関係ファイルがアップされてしまうことも。 [source]

『とことんDevOps』がフリーランスHubに掲載されました

当社の技術ブログ『とことんDevOps』が、レバレジーズ株式会社が運営する情報メディア「フリーランスHub」に掲載されました。 フリーランスHubは、エンジニア・クリエイターに特化した全国のフリーランス案件をまとめて掲載している転職・求人メディアです。2021年のサービス開始以来、案件情報に加えて技術やキャリアに関する読みものも多数展開しており、エンジニア向けの情報発信プラットフォームとして注目されています。 掲載記事では、『とことんDevOps』がDevOpsやCI/CD、IaCなどの分野に関する実践的な技術情報を継続して発信している点や、Docker・GitHub Actionsの活用例、勉強会レポートなど幅広い内容を扱っている点をご紹介いただきました。 今後も現場に根ざした技術情報を発信し続けてまいります。まだご覧になったことのない方は、ぜひこの機会にチェックしてみてください。 ■掲載記事 https://freelance-hub.jp/column/detail/657/ ■フリーランスHub トップページ https://freelance-hub.jp/ ■フリーランスHub 案件一覧ページ https://freelance-hub.jp/project/ [source]

月刊VS Code通信(2025/5月号)

今月も Visual Studio Code の新バージョンがリリースされたので、リリースノートを見ていきましょう。 目次 目次 新バージョンのリリース情報 主なリリース内容 今月のピックアップ エージェントモードの自動修正提案で手戻りゼロへ さらに使いこなすポイント Prompt ファイルを活用して作業を標準化 さらに使いこなすポイント おわりに 新バージョンのリリース情報 Visual Studio Code のバージョン 1.100 がリリースされました。 主なリリース内容 変更点 変更内容 Instructions ファイル機能の強化 コードルールを Markdown で設定し、自動適用や端末間の同期、内容説明の追加が可能に。 Prompt ファイル機能の強化 チャットリクエストを Markdown で作成し、実行モードやツールの指定、即時実行に対応。 エージェントモードの編集速度向上 OpenAI と Anthropic の新しい編集手法に対応し、大規模ファイルでも高速な編集が可能に。 チャットの標準モデルを GPT-4.1 に変更 チャットの標準モデルが順次 GPT-4.1 に切り替わり、モデルスイッチャーで変更も可能に。 #githubRepo ツールによる GitHub 検索 エディタで開いていないリポジトリのコードも、#githubRepo ツールで直接検索可能に。 #extensions ツールによる拡張機能検索 チャットからマーケットプレイスの拡張機能を検索し、結果から直接インストール可能に。 エージェントモードで自動修正提案 編集で生じたエラーを自動検出し、修正提案まで実行可能に。設定で無効化も可能。 インラインチャット V2 の導入(プレビュー) より高度な編集ロジックを採用し、文脈理解と編集精度が向上。軽量な UX への切り替えも可能に。 フローティングウィンドウの新モード追加 フローティングウィンドウにコンパクト表示と「常に手前に表示」モードが追加され、操作性が向上。 その他の詳細なリリース内容については April 2025 (version 1.

Read more...

作業タスクをSQLiteで管理する

今回も小ネタです。 日々の作業タスクの管理って難しいですよね。 インターネットでタスク管理をするためのツールを探せば色々なサービスが提供されていて便利そうだなと思って最初のうちは使うわけですが、気がついたらそれを使うのが億劫になったり使っていたのを忘れてしまったりめんどくさくなったりで、気がついたら使うのをやめてしまう。 結局、その繰り返しになったりします。 ではもう少し簡単なものをということで探しては試すのですが、直感的でないと習慣に根付かず、あっという間に使わなくなってしまったりと大体、いつもそんな感じです。 運用方針 結局のところ、難しすぎたり面倒すぎると気がついたときには使わなくなっているくらい普段の私はものぐさなので、とにかく最低限の機能だけを使ってタスクの管理をする方針にします。 SQLはこの業界に入っていればどこかしらで使うので、慣れておくと便利というメリットはいくらかあると思います。 ざっくりとした使い方 まずはSQLiteのインストールです。OSによって色々な方法があるので、何らかの方法でインストールしてください。 macOSでHomebrewを使っている場合は次でインストールできます。 ちなみに現在、sqliteでもsqlite3でもバージョン3のSQLiteがインストールされます。 % brew install sqlite 次に、わかりやすい名前でデータベースファイルを作成します。 % sqlite3 todo.sqlite3 タスクを管理するためのテーブルをわかりやすい名前で作成します。.mode lineはテーブルの表示の仕方を設定するオプションのうちの一つです。.headers onと.mode listが他のSQLサーバーにおける出力に似ています。 sqlite> CREATE TABLE todo(id integer, date text, summary text, priority integer); sqlite> .headers on sqlite> .mode list タスクを追加します。 インストール済みのSQLite 3は日本語も問題なく使えるようなので、サマリーは日本語で書いておきます。 タスクの終了可否みたいな列もあるとよりそれっぽいですが、列が増えれば増えると私は面倒くさがるような気がするので、終わったら消すくらいの感じで使おうと思います(UPDATEで終了みたいな文字を冒頭に追加して、その日の定時にDELETEする方針でもいいかもしれませんね)。 sqlite> INSERT INTO todo VALUES(1, 20250512, “次の定例に向けた調査”, 1); sqlite> INSERT INTO todo VALUES(2, 20250512, “定例に向けた資料作成”, 1); sqlite> INSERT INTO todo VALUES(3, 20250512, “blogネタ考える”, 2); 表示してみましょう。いい感じです。

Read more...

Docker Desktopの便利なKubernetesオプション

小ネタかつ今更な話題で恐縮です。 Docker Desktopには随分前のリリースから、Kubernetesクラスターを簡単にデプロイする設定が提供されていました。 しかし私はその機能をあえてお勧めせずに、「Docker Desktopをインストールしつつ、kindやminikube CLIを使ってクラスターを構築した方が便利ですよ」と言っていました。 その理由は、かつてのDocker DesktopのKubernetesオプションは特定のバージョンのKubernetesしか構築できなかったためです。クラスターのオン、オフが可能ですが、特にこれといったオプションのカスタマイズができず、特定のバージョンのクラスターしか利用できませんでした。 初めてKubernetesを触る場合はそれでもいいのかもしれませんが、テスト環境としてKubernetesを使うようになると、バージョンごとのテストをしたいシーンとかもあるので、バージョン固定だと辛いのですよね。一方kindやminikubeを使えば、バージョンや構成のカスタマイズも可能ですから。 現在ダウンロードできるDocker DesktopのKubernetesオプションは、二つの方法でKubernetesクラスターをデプロイします。 一つはkubeadmを使う方法。これは特定のバージョンのKubernetesのみデプロイできます。旧来のKubernetesオプションはkubeadmを使っていたのでしょうか。 もう一つはkindを使う方法。こちらはデプロイするKubernetsバージョンを選択できます。 手元のDocker Desktop 4.41.0では「1.21.14-1.33.0」のバージョンのKubernetesのデプロイをサポートしていました。バージョンの他、ノード数も指定してデプロイできます。マルチノードの簡易検証もできそうです。 バージョンとノードの数だけでよければこの機能を使えば、必要なバージョンのKubernetsクラスターをラップトップ上に構築できます。 % kubectl get node NAME STATUS ROLES AGE VERSION desktop-control-plane Ready control-plane 15m v1.33.0 ちなみにこの機能を使ってデプロイする場合、kubeadmやkind CLIをラップトップに入れる必要はありません。 ただ、もう少し細かい構成変更が必要なシーンではkindやminikubeを直接使ってクラスターを構築した方が便利なのかもしれません。 [source]

月刊DevOpsニュース5月号

5月のGWも終わり、4月から環境が変わった人も少しは準備やリフレッシュができた頃ではないでしょうか。 これから季節の変わり目にもなりますので、体調管理も気を引き締めていかないといけませんね。 さて、今月も月が変わりましたので、恒例の月刊DevOpsニュースをお届けします。 クラウド プログラミング 生成AI OS 仮想化/コンテナ セキュリティ その他 クラウド AWS東京リージョンで約1時間続いた障害、原因は主電源と二次電源が遮断されたことが原因。AWSが明らかに www.publickey1.jp [速報]Google Cloudが複数のAIエージェントを連携させる「Agent2Agentプロトコル」を発表。50社以上がサポートを表明 www.publickey1.jp [速報]Google Cloudが「Agent Development Kit」をオープンソースで公開へ。100行以下のコードでMCPやガードレールを備えたエージェントを開発可能 www.publickey1.jp AWS、すべてのリージョンとアベイラビリティゾーンの地理情報を明示へ www.publickey1.jp プログラミング Cloudflare Workers、フルスタックアプリの構築とホスティングが可能に。新たにNext.jsやAngularなどに対応、MySQLへの接続も www.publickey1.jp GitHub、Issueを分割し親子関係を設定できる「Sub-Issues」が正式機能に www.publickey1.jp 「GitHub Copilotコードレビュー」正式リリース。コードのバグや性能劣化要因など基本的なレビューをCopilotが代行、人間のコードレビューを効率化 www.publickey1.jp 生成AI Meta⁠⁠、Llama 4を発表 gihyo.jp OS Ubuntu 25.04の変更点 gihyo.jp 仮想化/コンテナ Docker Model Runner登場、Dockerコンテナと同じように任意の大規模言語モデルをDocker Hubから選んで簡単に導入、実行可能に www.publickey1.jp セキュリティ Cloudflare、シークレットを安全に管理できる「Cloudflare Secrets Store」ベータ公開 www.publickey1.jp その他 CVE Foundationが発足。脆弱性に固有の番号を付与するCVEプログラムの長期的な安定性、独立性を確保 www.publickey1.jp Googleドキュメント⁠⁠、コードブロックの言語サポートを拡大 gihyo.jp [source]

1 of 4 Next Page