<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>SIerの社長ブログ</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/" />
    <link rel="self" type="application/atom+xml" href="https://www.cmpd.jp/blog/atom.xml" />
    <id>tag:www.cmpd.jp,2014-11-20:/blog//4</id>
    <updated>2026-03-03T03:50:00Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 5.2.10</generator>

<entry>
    <title>POSレジの釣銭機連携</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2026/03/pos.html" />
    <id>tag:www.cmpd.jp,2026:/blog//4.406</id>

    <published>2026-03-03T03:43:10Z</published>
    <updated>2026-03-03T03:50:00Z</updated>

    <summary>東京ビックサイトで開催されているリテールテックJAPAN 2026(3/3～3/...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>東京ビックサイトで開催されているリテールテックJAPAN 2026(3/3～3/6)に出展中です。<br />今回は自社社開発のPOSレジ「コアレジ」を展示しています。</p>
<p><img alt="exp2.jpg" src="https://www.cmpd.jp/blog/exp2.jpg" width="800" height="600" class="mt-image-none" /></p>
<p>コアレジはStera Terminalで動作するPOSレジです。今回は釣銭機（グローリー社 N300シリーズ）と連携して動作するセミセルフレジのデモも用意しました。</p>
<p>この釣銭機連携は、チェーン店を想定して設計しました。特徴は「本部で現金を統括できるPOSレジ」です。もちろん単独店舗でも使えます。</p>
<p>一般的な釣銭機連携の機能は通常の会計のみPOSと釣銭機が連携し、それ以外の「つり銭の補充」や「現金の回収」等は釣銭機本体の操作で行うことが多いのですが、便利な反面、POSが関与しない現金の操作が発生してしまうと運用は店舗次第になってしまい、本部は現金の管理が難しくなります。</p>
<p>ですので、今回の設計では釣銭機本体の操作は禁止設定を入れて、「つり銭の補充」や「現金の回収」はPOS主導で動作するようにしました。投入金額や回収金額はPOSを通じてサーバーで管理され、本部が管理画面で掌握できます。</p>
<p>釣銭機連携は「付け足し機能」ではなく、現金運用の中心に刺さる機能です。<br />だからこそ、機能を増やすより先に、運用と設計の前提を合わせるのが近道だと思うのです。</p>
<p><img alt="exp1.jpg" src="https://www.cmpd.jp/blog/exp1.jpg" width="800" height="585" class="mt-image-none" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>コアレジ AIチャットボット</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2025/12/aichatbot.html" />
    <id>tag:www.cmpd.jp,2025:/blog//4.405</id>

    <published>2025-12-29T10:13:47Z</published>
    <updated>2026-01-10T10:45:17Z</updated>

    <summary>営業時間外でもお問い合わせに対応できるように、自社POSプロダクト「コアレジ」の...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>営業時間外でもお問い合わせに対応できるように、自社POSプロダクト「コアレジ」のAIチャットボットを作成しました。コアレジはヘルプページが充実しているため、そこに掲載されている情報をナレッジとして活用しています。</p>
<p>大規模言語モデル（LLM）は OpenAI API を利用しています。</p>
<p><strong>【仕組み（RAG）】</strong></p>
<p><img alt="aichatbot.png" src="https://www.cmpd.jp/blog/aichatbot.png" width="800" height="370" class="mt-image-none" /></p>
<p>このAIチャットボットは、生成AIの RAG（Retrieval-Augmented Generation） という仕組みで動いています。簡単に説明すると、次の流れです。</p>
<p>1) ナレッジの準備（クロール → テキスト抽出 → embedding化）<br />あらかじめコアレジのWebサイトをクロールし、リンクをたどって関連ページを収集します。<br />収集したページからテキスト部分を抽出し、文章を embedding（数千次元のベクトル表現） に変換します。<br />テキストとベクトルはデータベースに格納しておきます。</p>
<p>2) 質問の検索（質問文をembedding化 → 類似検索）<br />利用者が質問を入力すると、同じようにその質問文をembeddingに変換します。<br />そのベクトルと近いベクトルをデータベースから検索し、質問に関連性の高いナレッジ（該当ページの本文）を抽出します。</p>
<p>3) 回答生成（質問＋根拠をLLMへ）<br />質問文と、関連性の高いナレッジをまとめてLLMに渡し、回答を生成します。<br />また、回答の根拠として 参考URL（出典） も表示できるようにしています。<strong> </strong></p>
<p><strong>【誤情報対策（チューニング）】</strong></p>
<p>生成AIは誤情報を出すことがあるため、精度改善に手間をかけています。まず約50件の代表的な質問を用意し、できる限り多くのケースで適切な回答になるようにテストと調整を繰り返しました。特に誤案内が問題になりやすい領域は、安全側に倒しています。具体的な例としては次のとおりです。</p>
<p>・契約・価格に関する内容は、推測で案内せず、公式情報を参照する形（定型の案内）にする<br />・カスタマイズで実現できる可能性がある要望は、「標準機能として"できる"」と断定せず、カスタマイズのご相談（個別見積）が必要であることを自然に案内する<br />・端末連携など誤解が起きやすい質問も、前提を置いて断定しないようにガードする</p>
<p>このAIチャットボットは社内での評価が完了次第、公開予定です。</p>]]>
        
    </content>
</entry>

<entry>
    <title>ハッピーランチタイム</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2024/12/happylunch.html" />
    <id>tag:www.cmpd.jp,2024:/blog//4.404</id>

    <published>2024-12-20T07:38:52Z</published>
    <updated>2024-12-20T11:42:04Z</updated>

    <summary>もう半年ほど前になるのですが、ランチタイムを10分増やして70分にしました。 そ...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>もう半年ほど前になるのですが、ランチタイムを10分増やして70分にしました。</p>
<p>その分帰りが遅くなるという状況を避けるために、追加する10分間は仕事時間扱いにしました。一応、仕事したければ仕事しても良いルールです。（緊急時以外でこの時間に仕事する人はいないです。念のため）</p>
<p>なお、当社で働くSESのメンバーも同じルールです。</p>
<p>増えた時間の過ごし方はいろいろ。昼寝する人、ゲームする人、動画を見る人もいます。</p>
<p>この制度のランチタイムのスタートは11:50です。たかが10分ですけど、この10分で徒歩圏の人気飲食店に空席が残っていることがポイントです。このあたりはもともとランチ天国。安くておいしいお店が多いのです。それに70分あれば少し足を延ばすことができて選択肢が広がります。</p>
<p><img alt="lunch.png" src="https://www.cmpd.jp/blog/lunch.png" width="800" height="400" class="mt-image-none" /></p>
<p>（飯テロ写真ですね。すいません）</p>
<p>写真はオフィス徒歩圏の飲食店の料理。どれも美味しいです。最近のお気に入りは右下のランチで頂ける「本日のビザ」です。</p>]]>
        
    </content>
</entry>

<entry>
    <title>stera terminal(ステラターミナル)用のPOSレジアプリ「コアレジ」</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2024/12/coreregi.html" />
    <id>tag:www.cmpd.jp,2024:/blog//4.403</id>

    <published>2024-12-13T09:41:06Z</published>
    <updated>2024-12-13T09:52:41Z</updated>

    <summary>さて、ブログをさぼって、はや１年。（すいません。変な出だしで・・）久しぶりのブロ...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>さて、ブログをさぼって、はや１年。（すいません。変な出だしで・・）久しぶりのブログですので、近況をお伝えしようと思います。</p>
<p>もちろん会社の事業は順調です。黒字かつ実質無借金経営を継続しています。昨年はオフィスを引っ越したことが大ニュースだったのですが、今年のニュースは新プロダクトです。</p>
<p>新たにリリースしたのは、stera terminal(ステラターミナル)用のPOSレジ「<a href="https://coreregi.com/" title="コアレジ" target="_blank">コアレジ</a>」。※stera terminalは三井住友カード株式会社の登録商標で、Panasonic製の決済端末です。</p>
<p>コアレジは、もちろん全て自社開発・自社運営。<a href="https://www.cardfeel.com/" title="ポイントシステムCardfeel">ポイントシステムCardfeel</a>と共通の基盤で動作します。</p>
<p><img alt="coreregi.jpg" src="https://www.cmpd.jp/blog/coreregi.jpg" width="800" height="441" class="mt-image-none" /></p>
<p>コアレジは、ポイントシステムCardfeelと同様に小規模向けに見せていますが、エンタープライズ(大規模)を前提に設計。クラウド基盤はAWSを利用してフロントのAPIサーバー2台、一括処理のサーバー2台、データベースは3つのデータセンターを使ったモデルで、耐障害性に優れる構成を採用しています。</p>
<p>この手のプロダクトは、他社だと「高額な資金を投下してマーケットの独占を狙い、独占に失敗したら利益が出ないので撤退」というスタートアップならではの荒い運用が多いようなのですが、当社は大手企業からカスタマイズを受託しSIビジネスとしても成立させることで全体で利益を確保するモデル。</p>
<p>なので、撤退は視野に入れません。プロダクト本体の機能改善も短期勝負ではなく、時間をかけて丁寧に積み上げていきます。</p>
<p>ちなみにポイントシステムCardfeelは初回リリースから11周年を迎えました。超長期継続を前提に丁寧に運用しています。</p>]]>
        
    </content>
</entry>

<entry>
    <title>オフィスを移転しました</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2023/08/newoffice.html" />
    <id>tag:www.cmpd.jp,2023:/blog//4.401</id>

    <published>2023-08-14T09:55:00Z</published>
    <updated>2023-08-14T10:30:30Z</updated>

    <summary>長年に居着いたお気に入りのオフィスが手狭になったので、神田須田町から岩本町にオフ...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>長年に居着いたお気に入りのオフィスが手狭になったので、神田須田町から岩本町にオフィスを移転しました。最寄り駅は移転前と同じで、都営新宿線の岩本町駅からすぐ。JRだと神田駅と秋葉原駅のちょうど中間くらい。神田駅周辺は安価なランチが選びたい放題のランチ天国です。</p>
<p>せっかくなので新オフィスを紹介します。</p>
<p>【受付】</p>
<p>壁紙、会社ロゴ、照明で飾りました。照明のせいで少しレトロな感じになっているところが気に入っています。写真には写っていませんが、近くに高さ2m以上の大きなレトロ調ミラーを立てかけてあります。</p>
<p></p>
<p><img alt="受付.jpg" src="https://www.cmpd.jp/blog/%E5%8F%97%E4%BB%98.jpg" width="800" height="533" class="mt-image-none" /></p>
<p></p>
<p>【執務スペース】</p>
<p>数カ所に壁紙を張りました。デスクは創業時から使っている木製のデスクを追加購入。広さが確保できて快適になりました。</p>
<p></p>
<p>【会議室】</p>
<p>木目調のスチールパーティションで会議室を作りました。Web会議が多いのでエンジニアのデスクと同様、40インチ超のモニタを置いています。</p>
<p><img alt="会議室.jpg" src="https://www.cmpd.jp/blog/%E4%BC%9A%E8%AD%B0%E5%AE%A4.jpg" width="800" height="533" class="mt-image-none" /></p>
<p>【ネットワーク】</p>
<p>インターネット接続は10Gbpsの光回線「光クロス」を引きました。プロバイダーは固定IPが使えるぷららビジネス。接続方式はもちろんIPoEでOCNバーチャルコネクト 固定IP1です。</p>
<p>ルーター機器は3台。2重ルーターが2台なので冗長な気もしますが、50台超の端末を扱うので良好な選択かと思います。</p>
<p>インターネット接続に使うルーターはYAMAHA RTX1300。10ギガビット対応のコンボポートを2ポート備え、将来インターネット接続を複数回線に増やして冗長化できる優れたルーターです。定価は税別で20万円弱。今回のインターネット接続（OCNバーチャルコネクトで固定IP1）を高速に使うためには、これ一択でした。</p>
<p><img alt="ルーター.jpg" src="https://www.cmpd.jp/blog/%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC.jpg" width="800" height="600" class="mt-image-none" /></p>
<p>（青い機器がヤマハのルーターです）</p>
<p>今回、このルーターが必要と分かったその日に近くのショップで購入し持ち帰ってすぐ接続を確認しました。いつもはネットで買い物をしますが、秋葉原から近いこの立地はやっぱりソフトウェア業にメリットありですね。RTX1300の内側にはBUFFALOのWi-Fi6E対応のフラグシップモデル(購入時)のWi-Fiルーター WXR-11000XE12を2機配置。片方は社内LAN用。片方はテスト機器用です。デスクの島に置くスイッチングハブは2.5Gまたは1Gのタイプ、LANケーブルはCAT.7を選択しました。CAT.6でもいいはずなのですが、機器によってはCAT.7のときだけ2.5Gの接続ができたという記事を複数見かけたのでCAT.7を奢りました。</p>
<p>そして、OA床下のLANケーブルは私1人で敷設しました。これはその時の写真。</p>
<p><img alt="配線.jpg" src="https://www.cmpd.jp/blog/%E9%85%8D%E7%B7%9A.jpg" width="800" height="600" class="mt-image-none" /></p>
<p>つい「OA床のLANケーブルの敷設なんて簡単、あっと言う間」と言ってしまった手前、年甲斐もなく少々意地を張りました（笑）。ずっと屈んで作業するのでお尻のあたりが軽い筋肉痛になりましたが作業時間は2.5時間ほど。この作業のコツはタイルカーペットをはがし切らずに3割ほど残すこと。タイルカーペットはべったり糊が付いているので、完全にはがすと戻すときの位置合わせに苦労しますが、少し残せば簡単なのです。</p>
<p>さて、オフィスの移転はこれで4回目になります。移転するたび経営の節目を超えているような気がします。気を引き締めて今まで以上に良い会社にしていこうと思います。</p>
<p></p>]]>
        
    </content>
</entry>

<entry>
    <title>WAFの導入によるセキュリティ強化</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2023/01/waf.html" />
    <id>tag:www.cmpd.jp,2023:/blog//4.398</id>

    <published>2023-01-12T09:56:52Z</published>
    <updated>2023-01-13T03:21:16Z</updated>

    <summary>セキュリティ強化の一環で、AWSのクラウドで運用している自社サービス（Cardf...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>セキュリティ強化の一環で、AWSのクラウドで運用している自社サービス（Cardfeel）と自社ホームページのサイトにWAFを導入しました。WAFはウェブアプリケーションファイアウォールの略で、Webサーバーに対する攻撃をWebサーバーの前面で防御する仕組みです。</p>
<p>今回のWAF設定はロードバランサ（負荷分散）に対して行いました。インターネットからのアクセスを複数のサーバーに負荷分散する前の入り口部分で防御を行うことになります。</p>
<p>WAFの役割は、脆弱性に対する攻撃からシステムを防御することです。代表的なSQLインジェクションや、クロスサイトスクリプティングの攻撃に対してはWebサイトのプログラミングを適切に行うことが基本なのですが、このWAFを使うことでサイトの入り口でブロックすることができるようになり、プログラムのセキュリティ対策に抜け漏れがあるケースに対してもセキュリティを強化できます。またWAFの効力は上記にとどまらず、アプリケーション層の DDoS 攻撃や不正なボットからのアクセスも含まれます。</p>
<p></p>
<p>【導入手順】<br />WAFは異常なアクセスを検出しブロックする仕組みです。例えばPOSTアクセスで一定以上のデータサイズがあると攻撃とみなしてブロックするルールがありますが、実際に大きなデータをPOSTする仕様の場合は、実際に使うサイズのPOSTはブロックしないようにルールを調整する必要があります。</p>
<p>具体的には次の手順になります。<br />①本番同様の試験環境を用意しWAFの設定を行います。設定はサイトの特性に応じて適用ルールを調整します。サーバー間の連携など相手が安全なことを分かっている場合は、アクセス元のIPアドレス単位でブロックしないルールを適用することができます。<br />②本番相当のアクセスを行い動作テストを行います。十分テストすべきは攻撃のブロックではなく本来の操作です。本来の操作がブロックされる場合はルールを見直します。外部連携を伴う業務システムがある場合は少なくとも全ての連携をテストします。<br />③テスト済みの動作を本番環境に適用します。<br />④一般に公開しているサイトなら少なくても1日に数件は攻撃（脆弱性のサーチ）に該当するアクセスがあると思います。AWSの管理画面から攻撃がブロックされていることを確認します。また、当然ながらサイトが本来の正常な動作を行っているかをウォッチします。問題がある場合はルールを調整します。</p>
<p></p>
<p>【コスト】<br />アクセスコントロールの登録に対して月額5ドル、1ルールあたり月額1ドル、100万リクエストに対して0.6ドルといったところです。設定の数やアクセス規模に対して料金が変わるのですが、サーバー全体の費用に比べてとても安価です。</p>
<p>参考：サーバーに対するリクエストのグラフ</p>
<p><img alt="waf1.png" src="https://www.cmpd.jp/blog/waf1.png" width="600" height="302" class="mt-image-none" /></p>
<p>グラフの一番低いところに少し現れるのがブロックしたアクセスです。</p>
<p>AWSの管理画面では、ブロックしたアクセスの詳細も確認できます。目立つのは脆弱性のあるサイトをサーチするアクセスです。例えば次はWordPressを狙った脆弱性のサーチ。よく見かけます。これに限らずWordPressを狙った攻撃は非常に多いです。</p>
<p><img alt="waf2.png" src="https://www.cmpd.jp/blog/waf2.png" width="600" height="358" class="mt-image-none" /></p>
<p></p>
<p>次はPHPのフレームワークLaravelの環境設定ファイルを狙ったアクセスです。このアクセスも多いです。この脆弱性をサーチするWebツールが存在しているのでしょう。環境設定はDBの接続情報が記述されることもあり、絶対に公開しないファイルです。しかしながら何かのきっかけで外部からアクセス可能になると攻撃されてしまいます。WAFがあればこのようにWebサーバーの手前でブロックしてくれます。</p>
<p><img alt="waf3.png" src="https://www.cmpd.jp/blog/waf3.png" width="600" height="383" class="mt-image-none" /></p>
<p>このAWS WAFは価格が安価であり導入も比較的短期間で行えます。新規に構築するサイトはもちろんのこと、既存のサイトに対しても適用をお勧めします。</p>
<p>コンポーネントデザインでは新規サイトはもちろん、既存のAWSのサイトへのWAF導入を実施致します。どうぞお気軽にご相談下さい。</p>]]>
        
    </content>
</entry>

<entry>
    <title>広島出張</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2022/08/post-84.html" />
    <id>tag:www.cmpd.jp,2022:/blog//4.394</id>

    <published>2022-08-24T12:58:09Z</published>
    <updated>2022-08-24T13:24:32Z</updated>

    <summary>ポイントシステム Cardfeel のお客様訪問で広島に出張しました。泊りがけの...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>ポイントシステム Cardfeel のお客様訪問で広島に出張しました。泊りがけの出張は久しぶりです。</p>
<p>広島は高校生のときの修学旅行以来。出張ついでに観光地2箇所に寄り道しました。</p>
<p>1箇所目はずっと行ってみたかった厳島神社。一部修繕中だったのですが、歴史を感じる素晴らしいところでした。</p>
<p><img alt="itsukushima.jpg" src="https://www.cmpd.jp/blog/itsukushima.jpg" width="600" height="450" class="mt-image-none" /></p>
<p>時間の都合で満潮のタイミングを逃したので、いつか必ず満潮を狙って再来しようと思います。</p>
<p></p>
<p>2カ所目は呉市の御手洗（みたらい）。瀬戸内海の美しい自然と古い町並みが一度に味わえます。</p>
<p><img alt="mitarai2.jpg" src="https://www.cmpd.jp/blog/mitarai2.jpg" width="600" height="450" class="mt-image-none" /></p>
<p><img alt="mitarai1.jpg" src="https://www.cmpd.jp/blog/mitarai1.jpg" width="600" height="450" class="mt-image-none" /></p>
<p></p>
<p>やっぱり瀬戸内海はいつ来てもいいですね。</p>
<p>今一番力を入れているプロダクトCardfeelは全国対応なので、チャンスがあればまた出張ついでに地方を回ってみたいと思います。</p>]]>
        
    </content>
</entry>

<entry>
    <title>ポイントシステムCardfeelのリニューアル</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2022/05/cardfeel.html" />
    <id>tag:www.cmpd.jp,2022:/blog//4.393</id>

    <published>2022-05-30T00:33:09Z</published>
    <updated>2022-05-31T23:57:32Z</updated>

    <summary>5月17日にポイントシステムCardfeelのリニューアル版をリリースしました。...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>5月17日に<a href="https://www.cardfeel.com/" title="ポイントシステムCardfeel" target="_blank">ポイントシステムCardfeel</a>のリニューアル版をリリースしました。</p>
<p><img alt="cardfeelv2.png" src="https://www.cmpd.jp/blog/cardfeelv2.png" width="600" height="386" class="mt-image-none" /></p>
<p>※画像は<a href="https://www.cardfeel.com/ep/" title="Cardfeelエンタープライズプラン" target="_blank">Cardfeelエンタープライズプラン</a>のWebサイトです</p>
<p>私たちは「プロダクト（ソフトウェア製品）の開発・運営」と「受託システム開発・運用」の両方の事業を並行して行っているのですが、プロダクトと受託システムの両方とも1つ1つ「渾身の作」を目指して本気で開発しています。このCardfeelも「渾身の作」です。</p>
<p>Cardfeelは受託システム開発を含めて私たちにとって最大級のシステムです。たとえばデータベースのテーブルは適切に設計した状態（つまり無駄にテーブルを増やしていない設計）で72テーブル。項目数は合計で1,000を超えます。開発は3年超、旧バージョンからの移行やリリース準備を含めると丸4年の期間を掛けました。</p>
<p>私たちはCardfeelのリニューアルにあたり、過去数年にわたるCardfeelの前バージョンの開発・運営や、大手ポイント事業者様から受託したポイントシステムのエンジン部分の開発、多数の企業様から受託したアプリ開発などで学んだことを踏まえ、ポイントシステムのあるべき姿を追求し一から設計・実装しました。</p>
<p>Cardfeelがどのように「渾身の作」なのか、どこを頑張っているのかをいくつかご紹介します。</p>
<p>①厳格なポイント操作</p>
<p>ポイントシステムの扱うポイントはお金に近しい概念ですので、金融機関と同様の厳格な設計・実装を行いました。金融系のシステムでは当然ではありますが、『すべてのポイント操作は成功か失敗の何れかであり中間はない』（アトミック性と言います）という設計に基づいています。また、同時並行でポイント付与の一括処理や店舗アプリ、管理画面からのポイント操作が行われても、安全に残高を更新し確実に履歴を残す設計としています。</p>
<p>②複数のポイント種類に対応</p>
<p>大手のポイント事業者は複数のポイントを並行して運用していることをご存知でしょうか。例えばお買い物に対して通常ポイントが付与されるほかに、何かのイベントで期限付きのボーナスポイントが付与されたりします。また、ボーナスポイントは利用できる店舗が限定されることもあるかと思います。これはポイントを戦略的なマーケティングツールとして活用するためです。もらったポイントが特定の店で使えるなら、その店への送客効果があるのです。</p>
<p>Cardfeelは、同時並行で複数のポイント種類を運用できるようにしました。ポイントの有効期限は「獲得のX年後の年末まで有効」や「ポイント操作毎に自動延長」など複数のタイプを用意。ポイント種類毎の利用可能店舗は店舗をグルーピングしたうえでグループ毎に設定できます。企業のマーケ戦略の一環として、運用開始後にポイントの種類を増やし、その企業ならではのポイント施策を実行できるようにしています。</p>
<p>③過去の計上データを投入可能</p>
<p>前月までの過去日時を指定したポイント操作を可能としました。指定された過去日時から現在までに別のポイント操作が行われているとき、そのポイント操作は一度巻き戻して再計算する仕組みです。例えば過去データの追加投入で会員ランクに変動がある場合、投入後の正しいランクでポイントを再計算します。システム間連携を行う場合、障害対策を考慮する必要があるのですが、障害復旧が数日遅れてポイント操作が数日遅れた場合でも正しいポイント付与を行えます。</p>
<p>購買金額や獲得ポイント数により会員ランクが決定し、会員ランクによりポイント付与レートが異なるシステムの場合、障害対策を考慮するためにランク決定は判定期間が完了してからとするシステムが多いのですが、これでは顧客の気持ちが離れてしまいます。やはりランクアップは速やかに行って顧客の心を獲得すべきです。Cardfeelは前述の過去データ投入を可能にすることにより、理想的な運用ができるようにしました。</p>
<p>④大量のプッシュ通知に対応</p>
<p>Cardfeelには条件指定により（もちろん全員宛も可能です）ニュースやクーポンを発行でき、また発行時にプッシュ通知を送信できます。プッシュ通知は短時間に大量の送信が可能なように、送信ロジックを自作しています。（正確にはApple社、Google社のサーバーを経由します）</p>
<p>短時間に大量のプッシュ通知を送信し利用者がそれに反応してアプリを操作すると、会員アプリは表示すべき情報を取得するために、サーバーを呼び出します。Cardfeelでは、処理が遅延しアプリのレスポンスが悪化しないようにサーバー側の仕組みを最適化して、より負荷を低く保つようにサーバー処理を実装しています。これによりCardfeelは大量のアプリ会員に対して、より低いランニングコストでの運用を実現しています。（低コストについては当社比ではありますが、自信がある部分です）</p>
<p>以上、Cardfeelが「渾身の作」と言える理由をいくつか紹介しましたが、他にも沢山の特徴を備えています。それはまた別のブログ等で紹介致します。</p>]]>
        
    </content>
</entry>

<entry>
    <title>コロナ禍のシステム開発のお打ち合わせ</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2021/12/meeting.html" />
    <id>tag:www.cmpd.jp,2021:/blog//4.390</id>

    <published>2021-12-01T09:34:59Z</published>
    <updated>2022-05-31T12:32:55Z</updated>

    <summary> システム開発では、特に提案・見積もりや要件定義などで開発するシステムの内容を決...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p><img alt="top_merit01.png" src="https://www.cmpd.jp/blog/top_merit01.png" width="300" height="198" class="mt-image-none" /></p>
<p>システム開発では、特に提案・見積もりや要件定義などで開発するシステムの内容を決める際に繰り返し打合せを行います。</p>
<p>最近の打ち合わせはオンラインミーティング主体になっているのですが、コロナ感染症が下火になっている今だけは、受注前や要件定義段階のお打ち合わせはお客様にご希望頂ければ、対面を優先するようにしています。</p>
<p>受注前や要件定義段階の打ち合わせは、現状の業務やシステム化の目的、どのようなシステムを想定しているかなどをじっくりヒアリングしたり、それを受けて検討した提案内容を説明したりします。この打合せは複雑な内容が含まれることも多く、そうでなくても常に100%伝わるものではないので、非言語のニュアンスも含めてコミュニケーションの質を大事にしたいのです。</p>
<p>たとえば、私が技術的なことを説明するとき、ほぼ理解できたが少しだけ不明瞭なところがあるときは、お客様は少しだけ不明瞭だということを、表情や声のトーンで表現して頂けることが多いと思うのです。私はそれを受けて、説明し直したりその後の説明内容を調整したりすることができるわけです。</p>
<p>コロナ感染症については、次の波が来てしまったらやはり対面は難しくなってしまうので、オンラインでも打ち合わせ回数を増やすとか、打合せ資料を丁寧に作るとかの手法で頑張るしかないわけですが、やはり波が十分低い状態で収まることを願いたいと思います。そして波が低い間はお客様のご希望次第で対面を優先したいです。</p>
<p>ところで、オンラインの打ち合わせは往復の時間を節約できるので、気軽に声をかけて頂くことができるメリットもあるのかとは思います。特に自社製品の初回の概要説明は、作りこんだ資料もあるので、気軽に声をかけて頂いてオンラインで説明させて頂く方法がよさそうです。ある程度、お客様に適合することが分かってきたら、次は（お客様が希望頂ければ）対面で打ち合わせする手順になると思います。</p>
<p>対面とオンライン、うまく使い分けてコロナ禍であってもビジネスをより良いものにしたいです。</p>]]>
        
    </content>
</entry>

<entry>
    <title>最近のマイブーム</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2021/11/omelet.html" />
    <id>tag:www.cmpd.jp,2021:/blog//4.389</id>

    <published>2021-11-20T10:24:04Z</published>
    <updated>2021-11-20T10:42:11Z</updated>

    <summary>最近は朝のスキマ時間を趣味に割り当てています。趣味といっても少しやって飽きると次...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>最近は朝のスキマ時間を趣味に割り当てています。趣味といっても少しやって飽きると次の趣味に移る感じなのでユルめです。</p>
<p>今のマイブームは朝食のオムレツづくり。</p>
<p>ホテルの朝食等でコックさんがフライパンをトントンと叩くとオムレツがクルっと回る職人芸がカッコイイなと。</p>
<p>YouTubeでコツを紹介する動画を見ながら練習しました。</p>
<p><img alt="omelet.jpg" src="https://www.cmpd.jp/blog/omelet.jpg" width="600" height="450" class="mt-image-none" /></p>
<p>作ったときは上出来と思ったのですが、写真にするとアラに気が付きますね。。一応中身のトロっとした具合は好みどおり（笑）</p>
<p>朝食はトーストと牛乳程度で十分と思うタイプだったのですが、最近はオムレツにほうれん草やソーセージを炒めたのを中に入れて具沢山にするのが気に入っています。</p>
<p>ちなみに、オムレツの前のマイブームはぬか漬け。気に入っていた具材はきゅうり、茄子、オクラ、ゆで卵、アボカド。これは美味しかったのですが、数日サボるとぬか床がダメになるのがどうにも厳しくやめてしまいました。また気が向いたら始めようかとも思うのですが、ぬか漬けは美味しくなるまでに一苦労なのですよね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>3年かけたプロダクト</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2021/07/3years.html" />
    <id>tag:www.cmpd.jp,2021:/blog//4.388</id>

    <published>2021-07-25T10:11:06Z</published>
    <updated>2021-07-25T10:24:28Z</updated>

    <summary>3年かけたプロダクト、ほぼ実装が完了し、まもなく完成へ向けた最終段階へ入ります。...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>3年かけたプロダクト、ほぼ実装が完了し、まもなく完成へ向けた最終段階へ入ります。リリースはこの秋冬の予定。長かったです。</p>
<p>開発中に削った機能もいくつかあるのですが、満足できる内容に仕上がってきています。</p>
<p>3年ほど前のブログに掲載したDBのダイアグラムは、設計を進めた結果、倍くらいの規模になりました。(前回と同様にテーブル名を隠しています)</p>
<p></p>
<p><img alt="er.png" src="https://www.cmpd.jp/blog/er.png" width="600" height="346" class="mt-image-none" /></p>
<p></p>
<p>リリース後はPMF（プロダクト・マーケット・フィット）を目指した改善を続けます。</p>]]>
        
    </content>
</entry>

<entry>
    <title>コロナ禍のシステム開発</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2020/07/acrylic.html" />
    <id>tag:www.cmpd.jp,2020:/blog//4.386</id>

    <published>2020-07-09T08:16:52Z</published>
    <updated>2020-07-09T09:25:34Z</updated>

    <summary>コロナ禍、一時的に一部の売り上げが下がったものの、現在は受注状況も開発実行も問題...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>コロナ禍、一時的に一部の売り上げが下がったものの、現在は受注状況も開発実行も問題はなく、無事に事業を運営できています。ただ、3月末に導入したテレワークは現在も継続中でオフィスはガランとしています。</p>
<p>技術の会社だから当然なのですが、テレワーク移行のテクニカル面は容易でした。ソース管理はもともとクラウド上に設置したGitを利用していたので何もすることがなく、社内のファイルサーバーは、適切にセキュリティ設定を行ったクラウドストレージに移行。社員間で共有・更新するタイプのファイルはGoogleスプレッドシートを使っています。</p>
<p>逆に危惧したのはコミュニケーション面。いまのところは社員の協力で良好な状態を保っています。選択したテレワークのコミュニケーション方法はWeb会議とメールのみ。コミュニケーションが偏らないように、メールは本文に宛先を書いてプロジェクトチーム全員宛に送るルール。</p>
<p>少々変わっていると思うのですが、社内連絡の電話は原則禁止にしました。Web会議を使って情報の共有を図っています。</p>
<p>さて、このタイミングで求人をやります。数ヵ月後に展開する新しいプロダクトには、新たな力が必要なのです。社会全体の景気を考えると時期尚早なのでしょうが、雇用は微力ながらも当社ができる社会貢献。コロナ禍で求人数は減少し、求職者数は増加しているので、普段は出会えない方と出会えるのではないかと、実は少し期待しています。</p>
<p>面接はオンラインを基本にしますが、最終面接は直接お会いしようと思います。できることはやっておこうと会議室の会議テーブルに飛沫感染対策用の透明アクリルパーティションを設置しました。サイズは少し大きめの横600mm、縦700mm。写真のとおり2枚並べました。TV番組で知ったのですが、飛沫感染対策のアクリルパーティションは、高さが大事なのだそうです。</p>
<p><img alt="acrylic.jpg" src="https://www.cmpd.jp/blog/acrylic.jpg" width="600" height="450" class="mt-image-none" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>リモートワーク</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2020/04/remotework.html" />
    <id>tag:www.cmpd.jp,2020:/blog//4.385</id>

    <published>2020-04-28T07:48:21Z</published>
    <updated>2020-04-28T07:51:13Z</updated>

    <summary>リモートワークを導入してから1ヵ月が経ちました。エンジニアは私を除きフルリモート...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>リモートワークを導入してから1ヵ月が経ちました。エンジニアは私を除きフルリモート体制。目立った業務上の問題はなく、仕事はいつも通り進んでいます。</p>
<p>今はリモートワークも社会貢献の一つですよね。リモートが難しい業務で通勤されている方に感謝しつつ、その分自分たちは少々の困難は上手に乗り越えてリモートを優先しようと思います。</p>
<p>そして不景気に負けないよう、キャッシュフローの余裕を維持しつつ、気を引き締めて事業に臨みます。</p>]]>
        
    </content>
</entry>

<entry>
    <title>週末の映画</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2019/07/cinama.html" />
    <id>tag:www.cmpd.jp,2019:/blog//4.383</id>

    <published>2019-07-21T04:16:28Z</published>
    <updated>2019-07-21T04:21:52Z</updated>

    <summary>昨年の秋、ボヘミアンラプソディーを観たのをきっかけに、週末に映画を観るのがマイブ...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>昨年の秋、ボヘミアンラプソディーを観たのをきっかけに、週末に映画を観るのがマイブームになっています。8ヶ月ほどで、この21本。</p>
<p>ボヘミアン・ラプソディ</p>
<p>アクアマン</p>
<p>グリーンブック</p>
<p>サムライマラソン</p>
<p>シンプル・フェイバー</p>
<p>パンブルビー</p>
<p>ビリーブ 未来への大逆転</p>
<p>美人が婚活してみたら</p>
<p>ハンターキラー 潜行せよ</p>
<p>キングダム</p>
<p>マックイーン モードの反逆児</p>
<p>愛がなんだ</p>
<p>バイス</p>
<p>記者たち 衝撃と畏怖の真実</p>
<p>ビルエバンス タイムリメンバード</p>
<p>コンフィデンスマンJP</p>
<p>空母いぶき</p>
<p>ゴジラ キングオブモンスターズ</p>
<p>メンインブラック インターナショナル</p>
<p>ザ・ファブル</p>
<p>さらば愛しきアウトロー</p>
<p>お気に入りは、マックイーン、グリーンブック、ボヘミアン・ラプソディー、愛がなんだ、ゴジラあたり。ボヘミアン・ラプソディーは圧巻のライブが良すぎて、2度映画館に足を運びました。</p>
<p>休日に仕事しても、夕方から映画館に行くと気分上々です。（休日出勤しているのは私だけ。社員はちゃんと休んでいます。。）</p>
<p><img alt="IMG_7511.jpg" src="https://www.cmpd.jp/blog/IMG_7511.jpg" width="600" height="450" class="mt-image-none" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>非スタートアップのベンチャー企業</title>
    <link rel="alternate" type="text/html" href="https://www.cmpd.jp/blog/2019/07/post-83.html" />
    <id>tag:www.cmpd.jp,2019:/blog//4.382</id>

    <published>2019-07-18T11:33:23Z</published>
    <updated>2019-07-18T12:26:57Z</updated>

    <summary>ベンチャー企業が新規事業に取り組む企業だとするなら、当社はベンチャー企業に該当し...</summary>
    <author>
        <name>ComponentDesign</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="https://www.cmpd.jp/blog/">
        <![CDATA[<p>ベンチャー企業が新規事業に取り組む企業だとするなら、当社はベンチャー企業に該当します。当社の事業モデルは自社プロダクトの開発・運営と、エンドユーザーから直接受注する受託システム開発です。</p>
<p>ベンチャー企業と似た言葉にスタートアップがあります。一般にスタートアップはベンチャーキャピタルから資金調達を行い、上場か売却を目標にします。この上場・売却はエグジットと呼ばれます。当然、これが最大の目標になります。</p>
<p>実際にスタートアップの企業を訪問すると、他の企業にはない独特の雰囲気を感じます。失敗を恐れず、絶対にエグジットするという意気込みが全社に浸透しているのだと思います。</p>
<p>当社は前述のとおりベンチャー企業には該当しますが、スタートアップには該当しません。エグジットは目標にしていません。代わりにゴーイングコンサーン（健全な経営を継続すること）を目標にしています。ベンチャーキャピタルから資金調達することはなく、資金調達は自己資金と金融機関からの借金です。</p>
<p>借金と言っても当社は実質無借金経営です。実質無借金とは、金融機関からの借り入れより現預金のほうが多いことを指します。一見無駄なようですが、急な資金需要で困らないようにX千万円の余裕資金を金利を払って確保しているのです。</p>
<p>ところで、スタートアップは数年程度の期限付きでエグジットを目標にします。これはベンチャーキャピタルの当然の要求事項です。</p>
<p>対して、当社も成長を目指していますが、その期限はありません。経営者（役員と私）は、成長速度より社員と顧客を大事にします。ゴーイングコンサーンで重要なのは安定した社員と顧客の存在だからです。私の時間は社員と顧客のために使います。これは求人活動に向けたポジショントーク。でも事実です。</p>
<p>ちなみに株主は大事にしません。株主は私だから（笑）</p>
<p>煌びやかさでは負けるけど、転職するなら非スタートアップのベンチャー企業は如何でしょうか。腰を据えてイノベーションに取り組めます。</p>
<p><img alt="office02.jpg" src="https://www.cmpd.jp/blog/office02.jpg" width="640" height="428" class="mt-image-none" /></p>]]>
        
    </content>
</entry>

</feed>
