2024年、最近読んだ本の中からピックアップ

2024年も残り2ヶ月を切り、日々があっという間に過ぎ去っていきますが、そんな中でもできるだけ本を読む時間を作るようにしています。
状況や環境によって自然と読む本も変わってくるものですが、最近はさまざまなジャンルの本に手が伸びている気がします。
今回は、最近読んだ本の中からテーマやジャンルが異なる5冊をピックアップしてみました。

2035年に生き残る企業、消える企業

以前ご紹介した『2025年を制覇する破壊的企業』や『シリコンバレーの一流投資家が教える 世界標準のテクノロジー教養』の著者である山本康正氏が、今度は2035年というさらに先の未来に向けた視点を提示しています。

今回の著書で特に印象的なのは、ビジネスパーソンが背負う宿命として、最先端のテクノロジーに常に触れ、学び、キャッチアップし続ける必要があると強調されている点です。
それはもはや選択肢ではなく、避けられない課題として描かれており、ある種の強いプレッシャーすら感じさせます。
テクノロジーの進化はあまりにも急速で、数年後に何が求められるかも簡単には予測できないため、最前線に身を置き続ける覚悟が必要とされるのです。
たとえば、著者は世界最大のテクノロジー展示会である『CES』を毎年訪れ、ラスベガスで最新の潮流を肌で感じる重要性を説いています。

山本氏の著書を追っていると、テクノロジー企業が未来に向けてどのような視点を持ち、どのように行動しているかが浮き彫りになります。
これらの本は、未来予想であると同時に、現代のビジネス史としての側面も併せ持っています。
しかしながら、そこに書かれている未来予測がすべて的中するわけではありません。
『2025年を制覇する破壊的企業』が書かれた2020年当時、生成AIが今ほど急速に普及するなど、誰が予想したでしょうか。
ビジネスは予測を超えて進化していくため、その流れの中で生き残るには、絶えず学び続ける姿勢が必要不可欠です。

だからこそ、今後も新たなテクノロジーの波に臆することなく、書籍だけではなく一次情報に積極的に触れ、キャッチアップし続ける姿勢が大切。
それが、2035年に向けた新しいビジネスを築き、競争に生き残るための条件だと再認識させられます。

「機嫌がいい」というのは最強のビジネススキル

『機嫌がいい』というのは、実は最強のビジネススキルである
そんなテーマで始まる本書の冒頭で、著者が「機嫌」について考えるきっかけとなったエピソードが語られています。

ロビン・ウィリアムズ主演の映画『パッチ・アダムス トゥルー・ストーリー』をたまたま観たことが、その出発点とのこと。

『パッチ・アダムス』は、実在の医師パッチ・アダムスが主人公で、患者との関わりに笑いやユーモアを取り入れることで、医療に温かさをもたらしたエピソードが描かれています。
著者もここから、「機嫌」を保つことが周りにどのような影響をもたらすかについて深く考えたようです。

私もまずは著者と同じ立ち位置からと思い、この映画を観てみてから本を読み進めたのですが、著者が「機嫌」の大切さに気づいた背景を知り、結果として良いスタートになったように感じます。

ビジネスの場面でも、機嫌がいいと仕事はスムーズに進みますし、イライラしていては集中できないものです。
自分の感情をしっかりマネジメントすることがビジネスにおいても重要です。そのためには、日々自分の中に湧き上がる感情を自覚し、書き出して整理する習慣が役に立ちます。

本書には、機嫌をマネジメントするための具体的な方法が数多く紹介されています。仕事でパフォーマンスが低下していると感じる方は、一度手に取ってみる価値がある一冊です。

経営中毒

「社長は孤独だ」とよくいわれます。しかしながら、もう20年以上も社長と呼ばれるようなことをやっていると、感覚がマヒしてくるのか、社員とは視点が変わってくるのは仕方ないし、何事も「そんなものだろう」と思う部分もありますが、改めてそんな視点の違いを思い出させてくれる本でもあります。

本書は、会社を起業してから次々に襲ってくるトラブルを追体験できる内容です。小説ではありませんが、経営の中で実際に起こりうるさまざまな出来事が次々に描かれています。

資金繰り、人の問題、組織のマネジメント、事業のマネジメント、出口戦略、そして社長の意思決定--。

生々しくリアルな内容にヒリヒリしながら読み進めましたが、読み終えたときには改めて経営に向き合いたいと思わせてくれる一冊でした。
スタートアップやベンチャー企業で働く皆さん、特に幹部層の方々には、ぜひ手に取ってもらい、まずは社長業について追体験していただいたうえで、職場で社長の味方となって支えていただけたらと思います。

第5章の出口戦略のところが、IPOやM&Aについて書かれており、書店で立ち読みした際にも一番気になった部分ではありました。

エンジニアのためのChatGPT活用入門

以前購入して、積ん読になっていた本でしたが、改めてページをめくってみたところ興味を引かれ、斜め読みしました。

内容は、ChatGPTにPHPフレームワークのLaravelの使い方を尋ねながらWebアプリケーションを構築していくというもので、ちょうどLaravelをいじり始めた自分にとって、さまざまな参考になる点がありました。

月刊の技術雑誌『Software Design』の最新号(2024年11月号)でも、第1特集が「はじめてのAI駆動開発」というものでしたが、最近では、生成AIをシステム開発に生かすというテーマが、ますます注目を集めていると感じます。

生成AIが出力するコードについては、「必ずしも動作するとは限らない」「思わぬエラーが含まれることがある」といった意見もありますが、一方で、生成AIを便利に使いこなしているという話もよく耳にします。実際に開発に利用できるかどうかを見極めるには、やはり実際に使って試行錯誤を重ねることが重要なのでしょう。

生成AIを開発に活用する際に考慮すべき点としては、まず第一に、開発中のコードや設計情報をチャットに送信することで、AIの学習に利用されてしまい情報漏洩のリスクがあるということです。
第二に、生成AIが返してくるプログラムのコードは、何らかの既存プログラムを学習して生成されているため、その返答をそのまま利用すると図らずも著作権を侵害してしまう可能性をはらんでいるということ。

生成AIのビジネス向けプランを利用することや、セキュリティの設定等を適切に行うことによって、そういったリスクを軽減することも可能です。これらをしっかりと理解しつつ、生成AIを便利に活用する道を模索していくのも良いかもしれません。

なお、ChatGPTにシステム開発での利用について感想を求めたところ、次のような返答がありました

システム開発にChatGPTを活用することで、開発プロセスを加速し、開発者が創造的な作業により集中できるようになるのは大きな利点です。適切に利用することで、AIをパートナーのように扱い、よりスマートな開発が実現するでしょう。

なんてことはない回答ですが、こうしたまともな文章が一発で返ってくるというのも、数年前では考えられないことですよね。

英語のハノン 初級

最後に、英語学習のために活用している本を一冊ピックアップしてみました。最近買った本ではないのですが、ここ一年ほどお世話になっている教材です。

この本の冒頭に説明されているのですが、「ハノン」とはもともとピアノの教本の名前で、根気よく辛抱強く練習を積み重ねるための教材として知られています。この「英語のハノン」も、ひたすらトレーニングを重ねて英語力を鍛えることを目的とした練習本です。

見た目も飾り気がなく、正直退屈に感じることもありますが、挫折しそうになりながらも一周取り組んでみると、少しずつ英語が身についているのを実感できました。

その後も最初から繰り返し復習を続けており、今ではリスニング力の向上にも非常に役立っていると感じています。また、スピーキング面でも、少しずつ口が動くようになってきた気がします。

取り組むには音声が欠かせません。スマートフォンに音源をダウンロードして学習することもできますが、TOEIC対策で「abceed」というアプリを使っている方なら、そちらの利用もおすすめです。
日々の進捗も記録され、効率的に学習を進められるため、断然アプリでの取り組みを推奨します。


今回は以上となります。
さて、2024年も残りわずか、EC業界の皆さん、年末商戦に向けて頑張ってまいりましょう!

テレワーク中の照明環境を見直そう

一日中PC作業をしていると、「目が疲れる…」と感じることがあるかと思います。特にテレワークが増え、自宅での作業環境を整える際の、照明環境の重要性や対策を考えてみました。

自分に合った照明環境で快適テレワーク

私は社会人になってからいくつかの職場で働いてきましたが、オフィスの照明が明るすぎて頭痛が起きることがよくありました。今、GREENWICHでテレワークをしている良い点の一つは、自分に合った照明の明るさを自由に調整できることです。

日中は部屋の電気を少し暗めにし、外の光を取り入れて明るさを調整しています。また、モニターライトを使ってモニターやデスクの明るさを調整しているため、光の強さが目の負担に大きく影響することを実感しています。

ちなみに私が使用しているデスクライトはBenQの「ScreenBarモニターライト」です。
モニタ-上に設置して場所を取らないのと周りの明るさで自動で調整できたり便利です。
モニターライト:https://www.benq.com/ja-jp/lighting/monitor-light/screenbar.html

そもそも基準ってあるの?自宅での作業環境整備

令和3年3月に改定された「テレワークの適切な導入及び実施の推進のためのガイドライン」によれば、室内の明るさは300ルクス(照度の単位)以上が望ましいとされています。

参照:厚生労働省「テレワークの適切な導入及び実施の推進のためのガイドライン」
※そもそも照度計測できない?と思ったらスマホのアプリで簡易的には測れるようです。


【疑問】日本は公共電気が明るすぎる?

ちょっと話は変わりますが、家の照明を調整するとオフィスと電車がすごく明るく感じます。(個人差があるので私の場合)一般的なオフィスの照明は約500ルクスの明るさの単位に設定されており、この明るさは書類の読み書きやPC作業には適しています。しかし、長時間この明るさにさらされると、目に負担がかかり、交感神経が刺激されてリラックスしづらくなることがあります。交感神経が優位な状態が続くと、仕事に集中できる反面、疲労感が蓄積しやすくなります。

① オフィスの照明
自然光に比べて蛍光灯やLEDの青白い光は特に刺激が強く、目の疲労を助長します。そのため、夕方になると目が痛くなったり、肩こりや頭痛の原因にもなります。
参照:一般的なオフィスの照度基準について

② 電車内の照明
電車内の照明も非常に明るく、照度は500~700ルクスに設定されていることが多いです。特に夜間の移動時、外の暗さとのコントラストが強く、まぶしさを感じやすくなります。この明るい照明は交感神経を活性化させ、眠りにくくなることもあります。
参照:https://www2.panasonic.biz/jp/lighting/plam/manual/plan/office/

夜遅く帰って寝付けないという方は気にしてみるといいかもしれません。


交感神経と副交感神経のバランスを整える

交感神経が優位となり、夜には副交感神経が優位になることでリラックスモードに入ります。しかし、照明が強すぎる環境に長時間いると、交感神経が過度に刺激され、夜になってもリラックスできない状態が続いてしまいます。その結果、目の疲れだけでなく、体全体に疲労が蓄積しやすくなります。

テレワークでは作業空間を自分に合った環境に調整できるのが大きなメリットです。プライベートな時間には、副交感神経を意識して照明を少し暗くしたり、暖色系の照明を使って落ち着いた空間を作ることが大切です。照明の調整で、心身のバランスにも気を付けていきたいですね。

EC運営に欠かせないLINE公式アカウントの特徴について

元々、実店舗にてLINE友だちの募集をしているPOPはよく見かけておりましたが、近年ECサイトにてお買い物をする際もLINE友だちの追加を促すバナーなどを多く見かけるようになりました。

私自身、EC運営者のLINE運用をサポートしたこともあり、まだLINE公式アカウントを開設したことがない方や普段何気なく、LINE公式アカウントの友だち追加されている方向けに、LINE公式アカウントを運用することのメリットや特徴についてご案内させていただきます。

LINE公式アカウントとは

はじめにLINE公式アカウントとは、「LINE」上に企業や店舗がアカウントを作成し、友だち追加してくれたユーザーに対して情報を発信するサービスになります。

LINEと聞くと、一般的に家族や友人と連絡を取る際に利用するアプリを想像しますが、ビジネス用に利用する機会が多いアカウントだと思っていただければと思います。

私も多くのLINE公式アカウントを友だち追加しておりますが、企業からオトクなSALEの情報を受け取ったり、配送業者からは商品のお届け予定日を確認できるため、日常になくてはならないものとなっております。

LINEの利用者数

私のようにLINE公式アカウントを日常的に確認されている方もいらっしゃるかと思いますが、そもそも日本国内でLINEの利用者数はどれくらいいらっしゃるのでしょうか。

以下の画像で示すようにおおよそ人口の7割以上の方がLINEを利用しております。スマホがかなり普及しているためこれだけの利用者がいても不思議ではないですね。

各種SNSやWebサービスとの比較

また、各種SNSサービスなどと比較しても、LINEを利用している割合が高いです。
冒頭でご案内したようにご家族や友人と連絡を取る際のコミュニケーションツールとしても
利用されている方が多いからでしょうか。

LINEとメルマガの開封率

前述の利用率に加え、LINEの開封率はメルマガよりもかなり高い数値が確認できております。
スマホのプッシュ通知で届くこともあり、メールよりも気づきやすいことが起因しているのかもしれないですね。

開封率が高いということは、企業や店舗が伝えたいメッセージがより見られやすいということなので、
昔ながらにメールのみを配信している方は、ぜひLINE公式アカウントを運用していただきたいです!

LINE公式アカウントの料金プラン

ここで料金をみていくと、なんとLINE公式アカウントは無料で開設・運用できることがわかります。
もちろんたくさんメッセージを送りたい方は有料プランへアップデートする必要がありますが、無料で始められるのは安心しますね。

また、LINE公式アカウントは無料でも有料でも各プランで使える機能に差分がないことも特徴の1つです。メッセージ通数に差があるだけですので、送信対象(LINE友だち)が増えてきた際にはプランの有料化をご検討ください。

LINE公式アカウントの開設方法

最後に、LINE公式アカウントの開設方法のご案内になります。

まず、以下のURLへアクセスし、「LINE公式アカウントをはじめる」をクリックいたします。

https://www.lycbiz.com/jp/service/line-official-account/

その後、アカウント開設方法に関するページに遷移しますので、再度「LINE公式アカウントをはじめる」を押下し、メールアドレスまたはお手持ちのLINEアカウントで、LINEビジネスIDの登録を行っていただくと、アカウント開設完了となります。

まとめ

以上がLINE公式アカウントの特徴になります。

もっとご案内したいことがたくさんありましたが、ひとまずメールのみでPRされている店舗はぜひLINE公式アカウントの開設と運用をご検討ください。

また、今回はご案内できておりませんが、LINE公式アカウントを利用することで販促強化や顧客満足度の向上に繋がることがあります。運用する上でのコツや抑えていただきたいポイントもあります。
その他、メッセージを送る以外にも多種多様な機能がございますので、またどこかの投稿でご案内させていただければと思います。

パソコンを超簡単に説明する

仕事で誰もが使っているパソコン。プライベートでもパソコンを買ったことがある人が、多いと思います。いつも使っているパソコンだけど、いざ買うとなったら、どうやって選ぶか迷う人も多いのではないでしょうか?安くてスペックがいいのが欲しいというのは、皆さん同じだとは思いますが、スペックといっても、「スペックがいい」「スペックが悪い」とは、どこにも書いてないわけです。では何を見ればいいのでしょうか・・・?

私は、以前(といってもかなり前ですが)家電量販店で働いていました。その際、パソコン、カメラを担当していたのですが、その時に、教えてもらったパソコンの説明の仕方が、かなりわかりやすいので、ご紹介したいと思います。

パソコンの性能とは

パソコンは、様々なパーツから成り立っており、スペックといっても、いろいろな面でみることができます。その中でも、最も基本的ないわゆる「パソコンの性能」と言われる部分についての説明になります。以下の3つについての説明になります。

CPU

CPU・・・中央演算処理装置。データの制御や計算を行う

メモリ

メモリ・・・データを一時的に記録するパーツ

HDD

HDD(SSD)・・・データを記録するためのストレージ

わかるような、わからないような・・・という方もいるのではないでしょうか?私が、これらの説明をしていた時は、このような伝え方をご紹介します。

机で勉強する人を思い浮かべて

まず、机で勉強している人を思い浮かべます。

パソコンのパーツそれぞれは、以下の通り例えます。

CPU・・・頭の良さ

メモリ・・・机の広さ

HDD(SSD)・・・引き出しの大きさ

どういうことかといいますと・・・・

頭(CPU)がよければ、勉強は早いですよね。

机(メモリ)が広ければ、たくさんの教科書、ノートや参考書を同時に広げられます。

引き出し(HDD)が大きければ、たくさんの教科書やノートをしまっておけます。

スペックの違いでどうなるのか?

それぞれのスペックによって同パソコンの動きに影響するのかを例えます。

頭がよく、引き出しが大きいが、机が狭い場合

頭がよくて勉強は早く、引き出しにたくさんの教科書や参考書が入っているのですが、机が狭く、教科書とノートを広げたらいっぱいになってしまいます。なので、参考書を開きたい場合は、一度、教科書を引き出しにしまって、参考書を出して、机の上に広げないといけません。

逆に机が広ければ、教科書も参考書もノートも開きながら勉強できるわけなので、進むスピードも速くなるわけです。

頭がよく、机が大きいが、引き出しが小さい場合

この場合、机の上には、参考書やノートを並べられて勉強しやすいですが、引き出しが小さく辞書や単語帳が入らないというような感じです。もっと入れたいものがあるのに、すぐいっぱいになってしまうと困りますよね。

最後に

わかりにくいのは、CPUやHDDは、まだわかりやすいですが、メモリがわかりにくいですよね。パソコンを買いに来るお客様でもよく「たくさん画像を保存したから、動きが遅くなってしまった」などとおっしゃる方がいらっしゃいましたが、机での勉強を例に出して、それは、メモリ不足であることをお伝えしていました。

これはごくごく基本的な話ですが、なんとなく仕組みを理解しているとパソコンを選ぶときや、トラブルの際に役に立つのではないでしょうか?

そんなこと「知ってるよ!」と言う方も多かったと思いますが、「そうだったのか!」と思っていただけた方がいたら幸いです。

今さらの今さらですがコンテナを調べてみました

ドッカー、コンテナよく聞きますね。それこそ10年前から。

弊社でもDocker利用はありますが、活用が進んでいるとは言えません。

今さらながらコンテナとは何かを、自分で理解するために調べてみました。またコンテナといえば必ず上がってくるDocker、Kubernetes、そしてそれらの違いについても調べてみました。

コンテナとは

コンテナ(container)とは、アプリケーションの実行に必要な環境をパッケージする仮想化技術のことです。

コンテナというとみなさんも、船に積まれている鉄の箱や、大きなトラックで輸送している鉄の箱を目にしたことがあると思います。

仮想化技術のコンテナも船のコンテナと同様で、アプリケーションはミドルウェアなどをまとめ、軽量でスケール可能な形式でパッケージ化、ようは箱に入れるイメージです。このコンテナを利用することで実行環境に依存せず同じように動作させることができようになります。

仮想マシンとコンテナの違い

ページのみをこちらに置かせていただきまして、詳しくは下記ページを参照してください。

https://www.idcf.jp/words/container.html

メリット

1. 軽量で高速

これは実際にDockerを触ってみても感じます。

2. 移行・運用が楽

環境に依存しないため、本番環境とまったく同じ開発環境の構築が可能です。実際に楽です。

デメリット

1. コンテナに関する専門知識(学習コスト)が必要

運用はできたとしてもコンテナの作成からとなると学習にかける時間が必要になってきます。

2. ホストOSへの依存

ホストと同じOSファミリーである必要があります。
Windowsホスト上でLinuxコンテナを実行する場合など、異なるOSファミリーのコンテナを実行することはできません。

コンテナを扱うには

コンテナを扱うためには「Docker」「Kubernetes」などが代表的です。

Dockerとは

Docker は、アプリケーションをすばやく構築、テスト、デプロイできるソフトウェアプラットフォームです。Docker は、コンテナと呼ばれる標準化されたユニットにソフトウェアをパッケージ化します。コンテナには、ライブラリ、システムツール、コード、ランタイムなど、ソフトウェアの実行に必要なすべてのものが含まれています。Docker を使用すると、どのような環境にもアプリケーションをすばやくデプロイおよびスケールでき、コードを実行することができます。

https://aws.amazon.com/jp/docker/

Dockerといえばコンテナのイメージです。逆でもコンテナを扱うのであればDockerと認識される方も多いでしょう。

Dockerには上記にも上げましたがコンテナ型仮想化を使い、アプリケーションを開発・配置・実行するためのツールになります。

Kubernetesとは

Kubernetes (K8s)は、デプロイやスケーリングを自動化したり、コンテナ化されたアプリケーションを管理したりするための、オープンソースのシステムです。

https://kubernetes.io/ja/

読み方は「クバネティス」もしくは「クーベネティス」で「K8s」と表記されることもあります。もともとはGoogleが設計したもので、現在はCloud Native Computing Foundationがメンテナンスを行っています。

コンテナの運用管理をするためのツールで「コンテナオーケストレーションシステム」になります。

こちらもDockerより後に誕生していますが、利用されている方も多いと思われます。

DockerとKubernetesの違いは?

それぞれの説明にも書きましたが、Dockerはコンテナ型仮想化を使い、アプリケーションを開発・配置・実行するためのツールKubernetesはコンテナの運用管理をするツール、になります。

Dockerは1つのノード(サーバ)内で実行されるのに対し、Kubernetesはクラスター、いわゆる複数のノードにまたがったコンテナを管理できるものになります。

とは書いたものの、なかなかイメージしづらいかもしれませんが、Dockerで作成した複数のコンテナを1台の実況環境であるかのように管理できるものになります。

こちらにも記載がありました。

https://cloud-ace.jp/column/detail229/

したがいまして用途が別のものになります。どちらが良い悪いではなく、併用して使うことができます。

コンテナオーケストレーションシステムには何がある?

コンテナの運用管理をするためのツールが「コンテナオーケストレーションシステム」とありました。コンテナオーケストレーションシステムについても調べてみました。

https://xtech.nikkei.com/atcl/nxt/keyword/18/00002/080500086/

さらに調べると「ECS」「EKS」がでてきました。ECSは弊社でも利用しています。

ECSとEKSの違いはこちらにありました。

ECSとEKSの大きな違いは、ECSはAWSオリジナルのソフトウェアをベースに構築されている一方で、EKSはKubernetesをベースに構築されている、Kubernetesはオープンソースで世界中の開発者が開発を進めているという関係上、非常に機能が豊富で、アップデートも3か月に1回のペースで実施されています。

https://www.stylez.co.jp/aws_columns/cloud-native_development_on_aws_and_serverless/container_service_ecs_in_aws/

まとめ

コンテナといってもDockerのみを使っているというイメージがありました。コンテナ仮想化技術も改めて知ることができました。

またECSを利用しており、コンテナオーケストレーションサービスも使っているということが、今更ながら理解できました。

KubernetesやEKSといった他のコンテナオーケストレーションサービスも今後は使って、より良いコンテナ運用を目指したいと思います。

アンガーマネジメントで目指せストレスフリー!

みなさんは「アンガーマネジメント」という言葉を聞いたことはありますか?

「アンガーマネジメント」とは、
怒りのコントロールをすることで、怒りに伴うストレスを減らすことができる手法のことです。

社内研修などでアンガーマネジメントを扱う会社も増えており、近年注目されているメゾットです。

そこで今回は、下記の参考書籍を参考にアンガーマネジメントを習得することで、
できる限りストレスを感じない、ハッピーな毎日を目指すための考え方を学んでいきたいと思います!

1.まず怒りを感じたら

怒りを感じたらまずやることは、下記の通り7つだそうです。

「今」「この場」の怒りを収める7つの対症療法
1.「6秒ルール」で理性が働くのを待つ
2.「グラウンディング」で関係ないことを考える
3.自分の動作を実況して冷静になる
4.客観的に怒りを「10段階」で評価する
5.「タイムアウト」で立て直しの時間を作る
6.「自分との会話」で頭の中を切り替える
7.真っ白の紙を思い浮かべて「思考停止」する

「アンガーマネジメント超入門「怒り」が消える心のトレーニング」より

まずは、「考えない」「頭の中からその出来事をなくす」ことが重要なのだと思いました。
他のことに自分の関心を向けることで怒りを抑えるということですね。
7つの対症療法の中では、個人的には、『1.「6秒ルール」で理性が働くのを待つ』と
『7.真っ白の紙を思い浮かべて「思考停止」する』がすぐに実行しやすそうだなと感じました。
もし怒りを感じてしまったら、心の中で6秒数えて真っ白の紙をただ思い浮かべたいと思います。

あとは、『4.客観的に怒りを「10段階」で評価する』のように、怒りの程度を自分で評価し、
怒りのレベルが低ければ、自分の中で「そんなに怒ることでもなさそうだな」と
自分で冷静さを取り戻せるのではないかと思いました。

2.日頃から意識すること

怒らない自分を作る9つの習慣
1.ストレス解消の方法を変える
2.笑顔や穏やかな表情を心がける
3.関わる社会を選んで自分に良い制限を課す
4.語彙力を身につけて感情を正確に表現する
5.アンガーログを身に付けてイライラの傾向を知る
6.べきログで自分のコアビリーフを確認する
7.ハッピーログで幸せを自覚する
8.3コラムテクニックで怒りの境界線を広げる
9.「事実」と「思い込み」を切り分けて、余計な怒りをつけ加えない

「アンガーマネジメント超入門「怒り」が消える心のトレーニング」より

『2.笑顔や穏やかな表情を心がける』のように、私自身も笑顔でいると
自然と楽しい気持ちになってきたり、反対に悲しい顔や怒った顔をしてしまうと
自然とそういった気持ちになってきてしまうことがあります。
そのため、いつも口角を上げてにこやかで穏やかな表情を意識することで、
自然とハッピーな気持ちになれるのではないかと思いました。

また、「~べき」「~べきでない」という自分の凝り固まった考えとは違う考え方や
やり方に出会ったとき、「許せない→怒り」になってしまうこともあると思います。

自分とは異なる考え方ややり方に遭遇したとしても、自分の考えが、必ずしも誰にとっても
どの場面においても正解とは限らないという考え方を持ち、「そういう考え方もあるんだ」
「○○だからしょうがなかったのかな?」と柔軟な心でまず受け止めることが
大切なのかなと思いました。

さいごに

まず怒りを感じてしまったら、そのことを考えないようにすること、
そもそも、怒りを感じないように表情を意識することと柔軟な考え方を持つことで
ハッピーな毎日を目指していけたらいいなと思います。
学ぶだけでなく、意識的に実践→習得することが大切だと思うので、
日頃から意識していきたいと思います!

「絶対に怒ってはいけない」ということでなく、
怒らなくてもいいことは怒らない方が自分にとっても相手にとっても良いと思います。
もし、どうしても伝えたいことがあるとしたら、感情的に怒るのではなく
自分の意見と相手の意見のすり合わせをお互いに冷静で穏やかな気持ちで進めていけたら、
お互いの考えを受け止め合うことができ、解決したいこともうまく解決していけるのでは
ないかと思いました。

人の気持ちは伝染していくので、周りにハッピーな人がいれば、ハッピーになりますし、
反対に周りにイライラしている人やイライラ、怒りの感情をあらわにしている人がいると
そういった負の感情も伝染してしまいかねないので、アンガーマネジメントは
自分だけの問題ではないということを意識したいと思います。

なるべく負の感情を持たず、ハッピーに生きたいですね!

書籍の方には他にも「ムダに怒らない人になる心の持ち方」や
「上手な怒り方7つのルール」なども載っているので、もし良ければ見てみてください。

PokeAPIでポケモンGET!

自転車にまたがるとマッハ自転車のBGMが頭の中で流れ出します。岡村です。

今回は

  • PokeAPI
  • GoogleAppsScript
  • CloudFunctions
  • スプレッドシート

の4つを使ってポケモンGET機能を作ってみたいと思います。

やりたいこと

GoogleAppsScript上で関数を実行すると
スプレッドシートにポケモンのデータを含む新しい行が挿入されること。

それではやってみましょう!

PokeAPI

PokeAPIとはポケモンに関するデータを取得することができる
オープンソースのAPIです。

https://pokeapi.co/

今回取得したいデータは

  • 図鑑ナンバー
  • 名前
  • 画像URL
  • 解説

です。
アクセスするエンドポイントは

https://pokeapi.co/api/v2/pokemon-species/{id or name}/

です。
https://pokeapi.co/api/v2/pokemon/{id or name}/の方が
いろいろな種類のデータが取れるのですが、
日本語解説がpokemon-speciesの方にしかなかったので。

スプレッドシート

GETしたポケモンを格納するための
pokemonsシートを作っておきます。

列の定義は以下です。

  • A列:図鑑ナンバー
  • B列:名前
  • C列:画像URL
  • D列:解説

CloudFunctions

PokeAPIにポケモンデータ取得のリクエストを行います。
GoogleAppsScriptから行ったところ、
IPアドレスがブロックされたのか、
1回目以降データが取れなくなってしまいました。

People not complying with the fair use policy will have their IP address permanently banned.

公式ドキュメントFair Use Policyより引用

ですので前回同様PokeAPIへのリクエスト部分のみ、
CloudFunctionsを使って実装します。

ソースコードは以下のようにしました。

const fetch = require('node-fetch');
const functions = require('@google-cloud/functions-framework');

const END_POINT_POKEMON = 'https://pokeapi.co/api/v2/pokemon-species/';

/**
 * PokeAPIにポケモン取得をリクエストします。
 * 
 * 取得できた場合は、jsonオブジェクトを返します。ステータスは200です。
 * エラーが発生した場合は、空のjsonオブジェクトを返します。ステータスは500です。
 *
 * @param {Object} request クライアントからのリクエストに関する機能を提供するオブジェクト。
 * @param {Object} response クラアントへのレスポンスに関する機能を提供する提供するオブジェクト。
 */
functions.http('getPokemon', async (request, response) => {

  let returnJson = new Object();

  try {
    const url = END_POINT_POKEMON + request.body['id'];
    console.log('url:' + url);

    let responseObject = new Object(); 

    try {
      responseObject = await fetch(url); 
      returnJson = await responseObject.json();
      response.status(200);

    } catch(error) {
      throw new Error('PokeAPIへのリクエスト中にエラーが発生しました。error.message:' + error.message);
    }

  } catch(error) {
      console.error('エラーが発生しました。error:');
      console.error(error.stack);

      response.status(500);
  }

  console.log('returnJson:');
  console.log(returnJson);

  response.send(returnJson);

  return;
});

GoogleAppsScript

ソースコードは以下のようにしました。(DDD学習中🔥)

main関数からPokemonServiceクラスgetNewPokemon関数を呼び出します。



function main() {

  try {
    new PokemonService().getNewPokemon();
    
  } catch(error) {
    const errorMessage = 'エラーが発生しました。error:' + error.stack;
    console.error(errorMessage);
  }
}

getNewPokemon関数からPokeApiClientServiceクラスのrequestToPokeApi関数を呼び出します。

/** ポケモン機能のサービスクラスです。*/ 
class PokemonService {
  
  /** コンストラクタ。*/ 
  constructor() {
  
    /** 全国図鑑ナンバー最小値。*/ 
    this.minId = 1; 

    /** 全国図鑑ナンバー最大値。*/ 
    this.maxId = 1025; 
  }

  /** 
   * 新しいポケモンをGETし、スプレッドシートに追加します。 
   */ 
  getNewPokemon() {

    const id = Math.floor(Math.random() * (this.maxId + 1 - this.minId)) + this.minId;
    console.log('GETするポケモンの図鑑ナンバー:' + id);

    const response = new PokeApiClientService().requestToPokeApi(id);
    const pokemon = new Pokemon(response);
    new PokemonRepository().insertPokemon(pokemon);
  }
}
/** PokeApiのAPIクライアントサービスクラスです。*/ 
class PokeApiClientService {

  /** 
   * CloudFunctions経由でPokeApiへポケモン取得のリクエストを行います。 
   * @param id 取得するポケモンの図鑑ナンバー。
   * @return レスポンス。
   */ 
  requestToPokeApi(id) {

    // ご自身のCloudFunctionsのトリガーとなるURLを入力してください!
    const endPointGetPokemon = 'example.com';

    try {
      const headers = {
        "Authorization": `Bearer ${ScriptApp.getIdentityToken()}`
      }

      const params = {
        "id": id
      }

      const options = {
        "method": "POST",
        "headers": headers,
        "contentType": "application/json",
        "payload": JSON.stringify(params),
      }
    
      return UrlFetchApp.fetch(endPointGetPokemon, options);

    } catch (error) {
      throw error;
    }
  }
}

endPointGetPokemonにはご自身のCloudFunctionsのトリガーとなるURLを入力してください!
getNewPokemon関数にはCloudFunctionsがPokeApiを叩いたレスポンスが返ってきます。

レスポンスをPokemonクラスのコンストラクタに渡します。

/** ポケモンのEntityクラスです。*/ 
class Pokemon {

  /** 
   * コンストラクタ。
   * @param PokeApiからのレスポンス。
   */ 
  constructor(responseFromPokeApi) {

    const responseObject = JSON.parse(responseFromPokeApi.getContentText());

    const id = responseObject['id'];
    const name = responseObject.names.find(name => name.language.name === "ja-Hrkt").name;

    // 日本語解説がない場合は英語解説
    let text = '';
    try {
      text = responseObject.flavor_text_entries.find(entry => {
        return entry.language.name === "ja-Hrkt";
      }).flavor_text;

    } catch {
      // undefined
      text = responseObject.flavor_text_entries.find(entry => {
        return entry.language.name === "en";
      }).flavor_text;
    }

    /** 全国図鑑ナンバー。 */ 
    this.id = id;

    /** ポケモン名。 */ 
    this.name = name;

    /** 画像URL。 */ 
    this.imgUrl = 'https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/'+ this.id +'.png';

    /** 解説。 */ 
    this.text = text;
  }
}

図鑑ナンバー、名前、画像URL、解説をフィールドに持つエンティティとします。
スカーレット・バイオレットのポケモンたちは
まだ日本語解説が実装されてなかったので
日本語解説がなかった場合は英語解説をレスポンスから取り出します。

PokemonインスタンスをgetNewPokemon関数へ返し、
PokemonRepositoryクラスinsertPokemon関数へ渡します。

/** ポケモンのRepositoryクラスです。*/ 
class PokemonRepository {

  /** コンストラクタ。*/ 
  constructor() {

    this.scriptProperties = PropertiesService.getScriptProperties();
    const activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();

    // pokemonsシートを取得する
    this.pokemonsSheet = activeSpreadSheet.getSheetByName('pokemons');
  }

  /** 
   * ポケモンを挿入します。
   * @param pokemon ポケモン。
   */
  insertPokemon(pokemon) {
    const pokemonValues = Object.values(pokemon);
    this.pokemonsSheet.appendRow(pokemonValues);
  }
}

ポケモンデータをスプレッドシートの最終行へ挿入します。

では、ソースが書けましたら
実行!

実行結果

スプレッドシートにポケモンが追加されてますね!

あとがき

ポケモンはGETできましたでしょうか?
私はこの機能をdiscordのbotに組み込んで
みんなでポケモン図鑑を完成させるゲームにしました。
友人が今日の積み上げこと「きょうつみ」を投稿したら1ポイント。
5ポイントが溜まったらポケモンGET!
図鑑完成度を100%にしよう!★

ポケモンといえば最近?
推し声優がパモの声をやってるらしい!!
という不純な?理由で?
パモが好きかもしれない。かなり。

また何か作ったら共有します!

入社のご挨拶

はじめまして。中途入社の小松﨑と申します。

前職では学校法人や保険会社のバッグオフィスなど業務システムの改修を主に行っておりました。

かねてよりEC業界に興味を持っておりまして、グリニッジの提供するサービスであれば、
より多くのお客様に喜びを提供できると考え、この度入社する運びとなりました。

趣味はインドア中心で映画観賞、漫画鑑賞、たまに旅行に行きます。

映画は洋画を中心にさまざまなジャンルの作品を見ています。入社後、他のスタッフの方に勧められ
「シックスセンス」や「SE7EN」を見ました。
MCUをドラマを含めて網羅し続けていることが自慢です。

漫画は王道アクション系も好きですが、最近は「あかね囃」という落語の漫画を読んでいます。
いつか寄席にも行ってみたいです。

これまでに培ってきた経験を生かして、グリニッジのサービスをよりよいものにできるよう、
精進してまいります。
どうぞよろしくお願いいたします。

Thonnyのすすめ

こんにちは、窪田です。

プログラミングを始めてみようと思っている方にとって、障壁となるのはどのようなものでしょうか。

やってみたいけど難しそう、何から始めれば良いのかわからないなど、様々な要因があると思います。

なんとなくですが、心理的なハードルの高さとプログラムを書くまでの準備が難しいため、躊躇してしまっている人が多いような気がしています。

今回はプログラミングを始めてみようと思っている方に、おすすめの開発環境を紹介したいと思います。

紹介するのは Thonny というソフトです!

Thonnyとは何か

Thonnyとは、Pythonというプログラミング言語の初心者向けのIDE(開発環境)です。

Pythonは機械学習やデータ分析に強みを持つ汎用性の高いプログラミング言語で、コードの記述が短くシンプルなため初心者にも優しい言語だと思います。

ThonnyをPCにインストールするだけで、Pythonのプログラムを書くことと書いたコードを実行することができます。

公式サイト:https://thonny.org

Thonnyのインストール方法

Thonnyをインストールする方法について解説していきます。

公式サイト にアクセスし、画像赤枠のダウンロードリンクからPCのOSに合わせたインストーラーをダウンロードします。

ダウンロードしたインストーラーを起動すると、インストールモード選択画面が出てくるので「Install for me only (recommended)」をクリック

次の表示では「Next」をクリック

ライセンス同意画面に表示される文章を確認し、「I accept the agreement」にチェックを入れた後に「Next」をクリック

インストールするフォルダーを選択する画面で、インストールする場所を確認し、問題なければ「Next」をクリック

スタートメニューに表示される名前を確認し、問題なければ「Next」をクリック

デスクトップにショートカットアイコンを追加したい方は「Create desktop icon」にチェックを入れ、「Next」をクリック

今までの項目の確認画面が表示されるので、「Install」をクリック

以下の画像と同じように完了画面が表示されれば、Thonnyのインストールが完了です。

Thonnyの使い方

次はThonnyを起動し、実際にプログラムを書いてみましょう。

起動すると、以下の画像のような画面が表示されると思います。

画像赤枠の部分にPythonのコードを記述し、実行した結果が画像青枠の部分に表示されます。

今回はPythonを使って「Hello world!」と出力させたいので、print('Hello world!')と記述し、test.pyというファイル名で保存しました。

画像赤枠のボタンを押すと記述したPythonのコードが実行されます。

実行した結果として「Hello world!」が表示できました。

文字を出力するだけだと味気ないので、もう少し実用的な例として税込みの金額を求める処理を書いてみました。

金額として2024を入力すると、税込み金額の2226円が正しく出力できました。

まとめ

今回はプログラミング初心者でも簡単にPythonの開発ができるThonnyというソフトを紹介してみました。

Thonnyは簡単に使うことができるので、プログラミングを始めてみようと思っているけど躊躇している方はぜひ試してみてください。


ちなみにThonnyの発音がトニーなのか、ソニーなのか、わからないです。

個人的にはPython(パイソン)の開発環境なので、ソニーだと思っていますがどうなんでしょう。

慶應義塾大学大学院経営管理研究科(KBS)Executive MBA(EMBA)プログラム

今年からKBSのEMBAプログラムで学んでいるので活動を紹介します。
仕事をしながら大変な面もありますが、いくつになっても学校に行くというのは楽しいですね。

クラスのゴルフ部でラウンド

アントレプレナーシップ授業は活気があります。

LinkedInオフィスでLinkedIn活用について教えていただきました。

著名な海外教授によるグローバルな授業

スリランカでのビジネス可能性を現地で調査、1週間かけてスリランカ現地を周りました。

スリランカ現地メディアでも活動が取り上げられました。

学生所属企業一覧に当社グリニッジ株式会社も掲載されています。
https://www.kbs.keio.ac.jp/graduate/emba/dbook/2025/?pNo=1

EMBAプログラム詳細はこちら
https://www.kbs.keio.ac.jp/graduate/emba/index.html