金曜日, 12月 19, 2025
No menu items!
ホーム ブログ ページ 1915

FP&A面接でのUSP質問を徹底解説!

0

FP&A面接のUSP質問攻略法

USP(ユニーク・セールス・プロポジション)とは?

USPとは、企業や製品が他とどのように異なるか、競争上の優位性を示す要素です。この質問に適切に答えることは、FP&A(財務計画と分析)面接で非常に重要です。なぜなら、これは単に製品知識をテストしているのではなく、企業全体の収益の流れや顧客ニーズへの理解を測る試練だからです。

人事担当者が知りたいこと

USPについて答える際には、以下の3つのポイントを考慮に入れるべきです:

  1. 財務諸表を読み解く力:利益の源泉を見極め、どの製品やサービスが最も収益を上げているのかを理解できるか。
  2. 顧客セグメントの把握:顧客がなぜその企業を選ぶのかを説明できるか。
  3. 企業戦略と経済的価値の関連付け:会社の戦略がどのようにして利益を生むのかを知っているか。

USPの具体的な例

  • 弱いUSP:「美味しいピザを作っています」
  • 強いUSP:「新鮮で熱々のピザを30分以内にお届けします。遅れたら無料です!」

この違いは、具体性、測定可能性、顧客にとっての約束の重要性にあります。効果的なUSPには、以下の3つの要素が含まれません:

  1. 顧客の実際のニーズの特定
  2. 他社よりもどのように優れているかの示唆
  3. その証拠の提供

USPを見つけるためのステップバイステップガイド

USPを見つけることは直感ではなく、体系的なプロセスが必要です。以下の4つのステップを踏んで、USPを特定しましょう:

  1. 財務諸表の分析:収益の源泉を確認し、どの製品またはサービスが最も収益を上げているのかを探ります。

  2. ビジネスモデルのマッピング:会社がどのようにして利益を上げているかを明確にしましょう。たとえば、サブスクリプションモデルなら「便利さ」や「継続的な価値」がUSPになる場合があります。

  3. 顧客ジャーニーの研究:顧客が製品やサービスを利用する際の「ハッとする瞬間」を特定します。

  4. 競合他社とのベンチマーク:競合が対応できないニーズを探り出します。

実際の例

たとえば、Slackというソフトウェア会社のUSPは単なる「リアルタイムメッセージング」ではありません。88%の収益が有料プランから来ており、大規模な企業の43%がその収益を占めています。この数値が証明するのは、彼らが「メール依存の軽減と組織的なチャンネルの作成」という課題を解決し、大企業が喜んで支払う価値を提供しているということです。

実践的なアクションプラン

  1. 上記の方法でリサーチを行い、USPをまとめます。
  2. STAR法(状況、タスク、行動、結果)を使用して要約します。
  3. 2分以内に答えられるようにタイムを計り、練習します。

面接の際には、内側にいるかのような具体的な理解を示すことで、他の候補者との差別化が図れます。

参考リンク

このワークショップを通じて、FP&Aの専門家としてのキャリアを強化し、実践的なスキルを身につけましょう!

  • キーワード: USP (Unique Selling Proposition)

📚 All about FP&A をAmazonで探す
📚 From Accounting to FP&A をAmazonで探す
🧑‍🎓 Certified Global FP&A Professional | CGFPA® をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

「シーサーPOP UP STORE開催!限定グッズ登場」

「シーサーのおみやげやさん POP UP STORE」開催決定

2025年8月11日、池袋駅南改札外イベントスペースで「シーサーのおみやげやさん POP UP STORE」の開催が発表されました。このポップアップストアは、2025年8月26日(火)から9月8日(月)までの期間限定でオープンします。イベントでは、南国を感じるアイテムが多数販売される予定です。特に、かわいらしいシーサーがハイビスカス柄のシャツを羽織って登場します。

商品ラインナップ

公式サイトによると、以下のような商品が販売されます:

  • Tシャツ(ハイビスカス柄)
    • 価格: 4,950円(税込)
  • Tシャツ(アーっふ…)
    • 価格: 4,950円(税込)
    • Tシャツ(アーっふ…)
  • 大きめトートバッグ
    • 価格: 3,630円(税込)
    • 大きめトートバッグ
  • 薄手なフェイスタオル
    • 価格: 1,980円(税込)
    • 薄手なフェイスタオル
  • ホログラムクリアファイル
    • 価格: 385円(税込)
    • ホログラムクリアファイル
  • スマホ用ステッカー
    • 価格: 各330円(税込)
    • スマホ用ステッカー

さらに、マスコットのぬいぐるみや、ダイカットの文具など、多彩な商品が揃っています。

開催概要

  • イベント名: シーサーのおみやげやさん POP UP STORE
  • 開催期間: 8月26日(火)~9月8日(月)
  • 営業時間: 10:00~21:00(最終日は17:00閉場)
  • 開催場所: JR池袋駅 南改札外イベントスペース

一部の商品は、オリオンビール公式通販サイト、または他の店舗でも販売予定です。

詳細については、公式サイト公式Xをチェックしてください。南国の風を感じる魅力的なアイテムを手に入れるチャンスです。

🧠 編集部より:

「シーサーのおみやげやさん POP UP STORE」開催概要

開催日程:
2025年8月26日(火)〜9月8日(月)

開催場所:
池袋駅南改札外イベントスペース

営業時間:
10:00~21:00(最終日は17:00閉場)

特記事項:
一部商品は以下の場所でも取り扱い予定です:

  • オリオンビール公式通販サイト
  • オリオンオフィシャルストア那覇
  • オリオンオフィシャルストアモトブ
  • ちいかわマーケット(オンラインストア)

商品ラインナップ

1. Tシャツ(ハイビスカス)

  • 価格: 4,950円(税込)
  • デザイン: 南国感溢れるハイビスカス柄
    Tシャツ(ハイビスカス)

2. Tシャツ(アーっふ…)

  • 価格: 4,950円(税込)
    Tシャツ(アーっふ…)

3. 大きめトートバッグ

  • 価格: 3,630円(税込)
    大きめトートバッグ

4. 手触りの良い薄手なフェイスタオル

  • 価格: 1,980円(税込)
    タオル

5. ホログラムクリアファイル

  • 価格: 385円(税込)
    クリアファイル

6. スマホに貼れるサイズのステッカー

  • 価格: 各330円(税込)
    ステッカー

豆知識

シーサーは、沖縄の伝説に由来し、家の守りや幸福をもたらす神獣として親しまれています。特に「アーっふ」と「アーぅん」はシーサーの特徴的な表情を表しており、可愛らしいデザインが人気です。

公式リンク

この機会に、シーサーの可愛さをぜひ手に入れてみてはいかがでしょうか!

  • キーワード:POP UP STORE

ちいかわ×オリオンビール シーサーのおみやげやさん Tシャツ(ハイビスカス)をAmazonで探す

ちいかわ×オリオンビール シーサーのおみやげやさん 大きめトートバッグをAmazonで探す

ちいかわ×オリオンビール シーサーのおみやげやさん 手触りの良い薄手なフェイスタオルをAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

Avoid Nesting when you’re Testing


Kent C. Dodds 氏による Avoid Nesting when you’re Testing という記事を翻訳させていただきました。

以下、本文。


これからご紹介するのは、React コンポーネントのテストに適用される一般的なテスト原則です。例に React を使用していますが、この概念正しく理解するのに役立つことを願っています。

テストしたい React コンポーネントはこちらです:

login.js

import * as React from "react";

function Login({ onSubmit }) {
  const [error, setError] = React.useState("");

  function handleSubmit(event) {
    event.preventDefault();
    const {
      usernameInput: { value: username },
      passwordInput: { value: password },
    } = event.target.elements;

    if (!username) {
      setError("username is required");
    } else if (!password) {
      setError("password is required");
    } else {
      setError("");
      onSubmit({ username, password });
    }
  }

  return (
    div>
      form onSubmit={handleSubmit}>
        div>
          label htmlFor="usernameInput">Usernamelabel>
          input id="usernameInput" />
        div>
        div>
          label htmlFor="passwordInput">Passwordlabel>
          input id="passwordInput" type="password" />
        div>
        button type="submit">Submitbutton>
      form>
      {error ? div role="alert">{error}div> : null}
    div>
  );
}

export default Login;

そして以下のようにレンダリングされます:

訳注: 元記事では実際に動作するコンポーネントですが、ここでは画像で表示しています

長年の経験で、以下のようなテストスイートをよく見かけます。

__tests__/login.js

import { render } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import * as React from "react";

import Login from "../login";

describe("Login", () => {
  let utils,
    handleSubmit,
    user,
    changeUsernameInput,
    changePasswordInput,
    clickSubmit;

  beforeEach(() => {
    handleSubmit = jest.fn();
    user = { username: "michelle", password: "smith" };
    utils = render(Login onSubmit={handleSubmit} />);
    changeUsernameInput = (value) =>
      userEvent.type(utils.getByLabelText(/username/i), value);
    changePasswordInput = (value) =>
      userEvent.type(utils.getByLabelText(/password/i), value);
    clickSubmit = () => userEvent.click(utils.getByText(/submit/i));
  });

  describe("ユーザー名とパスワードが提供されている場合", () => {
    beforeEach(() => {
      changeUsernameInput(user.username);
      changePasswordInput(user.password);
    });

    describe("送信ボタンがクリックされたとき", () => {
      beforeEach(() => {
        clickSubmit();
      });

      it("ユーザー名とパスワードで onSubmit が呼び出される", () => {
        expect(handleSubmit).toHaveBeenCalledTimes(1);
        expect(handleSubmit).toHaveBeenCalledWith(user);
      });
    });
  });

  describe("パスワードが提供されていない場合", () => {
    beforeEach(() => {
      changeUsernameInput(user.username);
    });

    describe("送信ボタンがクリックされたとき", () => {
      let errorMessage;
      beforeEach(() => {
        clickSubmit();
        errorMessage = utils.getByRole("alert");
      });

      it("エラーメッセージが表示される", () => {
        expect(errorMessage).toHaveTextContent(/password is required/i);
      });
    });
  });

  describe("ユーザー名が提供されていない場合", () => {
    beforeEach(() => {
      changePasswordInput(user.password);
    });

    describe("送信ボタンがクリックされたとき", () => {
      let errorMessage;
      beforeEach(() => {
        clickSubmit();
        errorMessage = utils.getByRole("alert");
      });

      it("エラーメッセージが表示される", () => {
        expect(errorMessage).toHaveTextContent(/username is required/i);
      });
    });
  });
});

これにより、このコンポーネントが設計通りに動作し、今後も動作し続けるという 100% の確信が得られるはずです。そして実際に動作しています。しかし、このテストについて私が気に入らない点は以下の通りです:

過度な抽象化

changeUsernameInputclickSubmit のようなユーティリティは便利ですが、テストが単純な場合はコードを複製した方が簡潔になることもあります。この小さなテストセットでは関数の抽象化はあまりメリットがなく、開発者がファイル内でこれらの関数が定義されている場所を探すコストがかかります。

ネスト

上記のテストは Jest API を使って記述されていますが、主要な JavaScript のフレームワークには同様の API が存在します。具体的には、テストをグループ化する describe、共通のセットアップやアクションを実行する beforeEach、そして実際のアサーションを実行する it などです。

私はこのようなネストを大変嫌っています。これまでこのように記述された何千ものテストを保守してきました。この 3 つの単純なテストだけでも大変な作業なのに、何千行ものテストになり、さらにネストが深くなると状況はさらに悪化します。

なぜこれほど複雑なのでしょうか? 例えば、次の部分を見てみましょう:

it("ユーザー名とパスワードで onSubmit が呼び出される", () => {
  expect(handleSubmit).toHaveBeenCalledTimes(1);
  expect(handleSubmit).toHaveBeenCalledWith(user);
});

handleSubmit はどこから来て、その値は何ですか? user はどこから来て、その値は何ですか? もちろん、どこで定義されているかは自分で調べられます:

  describe("Login", () => {
    let utils,
>     handleSubmit,
>     user,
      changeUsernameInput,
      changePasswordInput,
      clickSubmit;
    
  });

しかし、それがどこで代入されているかを把握する必要もあるのです:

  beforeEach(() => {
>   handleSubmit = jest.fn();
>   user = { username: "michelle", password: "smith" };
    
  });

そしてその変数が、さらにネストされた beforeEach の中で別の値に代入されていないか確認する必要があります。コードをたどって変数とその値の変化を時系列で追跡しなければいけない。私がネストされたテストを強く推奨しない最大の理由がこれです。このような些細なことを頭に抱え込む量が増えれば増えるほど、目の前の重要なタスクを達成するための余裕が少なくなってしまいます。

変数の再代入は「アンチパターン」であり避けるべきだという意見があります。それには同意しますが、すでに複雑なリンティングルールにさらにルールを追加するのは良い解決策とは言えません。変数の再代入をまったく気にすることなく、この共通設定を共有できる方法があったらどうでしょうか?

インライン化しましょう!

このシンプルなコンポーネントの場合、抽象化をできる限り排除するのが最善の解決策だと思います。こちらをご覧ください:

__tests__/login.js

import { render } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import * as React from "react";

import Login from "../login";

test("送信ボタンがクリックされるとユーザー名とパスワードで onSubmit が呼び出される", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText, getByText } = render(
    Login onSubmit={handleSubmit} />
  );
  const user = { username: "michelle", password: "smith" };

  userEvent.type(getByLabelText(/username/i), user.username);
  userEvent.type(getByLabelText(/password/i), user.password);
  userEvent.click(getByText(/submit/i));

  expect(handleSubmit).toHaveBeenCalledTimes(1);
  expect(handleSubmit).toHaveBeenCalledWith(user);
});

test("ユーザー名が提供されていない状態で送信ボタンがクリックされるとエラーメッセージが表示される", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText, getByText, getByRole } = render(
    Login onSubmit={handleSubmit} />
  );

  userEvent.type(getByLabelText(/password/i), "anything");
  userEvent.click(getByText(/submit/i));

  const errorMessage = getByRole("alert");
  expect(errorMessage).toHaveTextContent(/username is required/i);
  expect(handleSubmit).not.toHaveBeenCalled();
});

test("パスワードが提供されていない状態で送信ボタンがクリックされるとエラーメッセージが表示される", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText, getByText, getByRole } = render(
    Login onSubmit={handleSubmit} />
  );

  userEvent.type(getByLabelText(/username/i), "anything");
  userEvent.click(getByText(/submit/i));

  const errorMessage = getByRole("alert");
  expect(errorMessage).toHaveTextContent(/password is required/i);
  expect(handleSubmit).not.toHaveBeenCalled();
});

少し重複していることに気づくでしょう(これは後ほど説明します)。しかし、これらのテストの明確さを見てください。一部のテストユーティリティとログインコンポーネント自体を除いて、テスト全体が自己完結的です。これにより、スクロールすることなく各テスト内で起こっていることを把握しやすくなりました。このコンポーネントにさらにテストを増やす場合、そのメリットはさらに大きくなるでしょう。

また、全体を describe ブロックでネストしていないことにも注意してください。これは本当に必要ないからです。ファイル内のすべては明らかに login コンポーネントのテストなので、1 レベルであってもネストするのは無意味です。

AHA(Avoid Hasty Abstractions: 早まった抽象化を避ける)を適用する

AHA principle では、次のように述べられています。

誤った抽象化よりも重複を優先し、変更しやすさを第一に考えるべき

このシンプルなログインコンポーネントなら、テストはこのままでも十分でしょう。しかし、もう少し複雑になってコードの重複が問題になり始め、それを減らしたいと考えているとしましょう。その場合は beforeEach を使うべきでしょうか? beforeEach はそのためのものですよね?

確かにそれも可能です。しかし、その場合はミュータブルな変数への代入についてまた考えなければならなくなり、それは避けたいですね。テスト間でコードを共有するには他の方法はないでしょうか? あぁ!(AHA!) 関数を使えばいいのか!

import { render } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import * as React from "react";

import Login from "../login";





function setup() {
  const handleSubmit = jest.fn();
  const utils = render(Login onSubmit={handleSubmit} />);
  const user = { username: "michelle", password: "smith" };
  const changeUsernameInput = (value) =>
    userEvent.type(utils.getByLabelText(/username/i), value);
  const changePasswordInput = (value) =>
    userEvent.type(utils.getByLabelText(/password/i), value);
  const clickSubmit = () => userEvent.click(utils.getByText(/submit/i));
  return {
    ...utils,
    handleSubmit,
    user,
    changeUsernameInput,
    changePasswordInput,
    clickSubmit,
  };
}

function setupSuccessCase() {
  const utils = setup();
  utils.changeUsernameInput(utils.user.username);
  utils.changePasswordInput(utils.user.password);
  utils.clickSubmit();
  return utils;
}

function setupWithNoPassword() {
  const utils = setup();
  utils.changeUsernameInput(utils.user.username);
  utils.clickSubmit();
  const errorMessage = utils.getByRole("alert");
  return { ...utils, errorMessage };
}

function setupWithNoUsername() {
  const utils = setup();
  utils.changePasswordInput(utils.user.password);
  utils.clickSubmit();
  const errorMessage = utils.getByRole("alert");
  return { ...utils, errorMessage };
}

test("ユーザー名とパスワードで onSubmit が呼び出される", () => {
  const { handleSubmit, user } = setupSuccessCase();
  expect(handleSubmit).toHaveBeenCalledTimes(1);
  expect(handleSubmit).toHaveBeenCalledWith(user);
});

test("ユーザー名が提供されていない状態で送信ボタンがクリックされると、エラーメッセージが表示される", () => {
  const { handleSubmit, errorMessage } = setupWithNoUsername();
  expect(errorMessage).toHaveTextContent(/username is required/i);
  expect(handleSubmit).not.toHaveBeenCalled();
});

test("パスワードが提供されていない場合はエラーメッセージが表示される", () => {
  const { handleSubmit, errorMessage } = setupWithNoPassword();
  expect(errorMessage).toHaveTextContent(/password is required/i);
  expect(handleSubmit).not.toHaveBeenCalled();
});

これで、これらのシンプルな setup 関数を使ったテストをたくさん作成できるようになりました。また、これらを組み合わせることで、先ほどのネストされた beforeEach と同様の動作を実現できることにも注目してください。ただし、ミュータブルな変数を意識的に管理する必要はなくなります。

AHA テストのメリットについて詳しくは、AHA Testing をご覧ください。

テストのグループ化については?

describe 関数は関連するテストをグループ化するためのもので、特にテストファイルが大きくなった場合に、異なるテストを視覚的に区別するのに適しています。しかし、テストファイルが大きくなるのは好ましくありません。そこで私は describe ブロックではなく、ファイル単位でグループ化しています。つまり、同じ「ユニット」のコードに対して論理的に異なるテストがグループ化されている場合は、それらを完全に別のファイルに分割します。また、テスト間で本当にコードを共有する必要がある場合は、__tests__/helpers/login.js ファイルを作成して共有コードを格納します。

この方法には以下の利点があります: テストの論理的なグループ化、テスト固有のセットアップの完全な分離、そして特定のコード部分に取り組む際の認知負荷の軽減です。また、テストフレームワークがテストを並列実行できる場合は、テストの実行速度も速くなる可能性があります。

クリーンアップは?

この記事は、beforeEach/afterEach などのユーティリティを批判するものではありません。テストにおけるミュータブルな変数の使用や、抽象化について注意を促すことが目的です。

クリーンアップに関しては、テスト対象がグローバル環境に変更を加え、その後クリーンアップが必要になる状況に陥ることがあります。そのようなコードをテスト内にインラインで記述しようとすると、テストが失敗したときにクリーンアップが実行されず、他のテストも失敗する可能性があります。最終的には、デバッグが困難になるような大量のエラー出力につながる可能性があります。

たとえば React Testing Library はコンポーネントを document に挿入しますが、各テストの後にクリーンアップしないと、テスト同士が干渉し合う可能性があります。

import { render } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import * as React from "react";

import Login from "../login";

test("example 1", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
  userEvent.type(getByLabelText(/username/i), "kentcdodds");
  userEvent.type(getByLabelText(/password/i), "ilovetwix");
  
});

test("example 2", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
  
  
  
  userEvent.type(getByLabelText(/username/i), "kentcdodds");
  
});

これを修正するのは非常に簡単で、@testing-library/react からインポートした cleanup メソッドを各テストの後に実行する必要があります。

> import { cleanup, render } from "@testing-library/react";
  import userEvent from "@testing-library/user-event";
  import * as React from "react";

  import Login from "../login";

  test("example 1", () => {
    const handleSubmit = jest.fn();
    const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
    userEvent.type(getByLabelText(/username/i), "kentcdodds");
    userEvent.type(getByLabelText(/password/i), "ilovetwix");
    
>   cleanup();
  });

  test("example 2", () => {
    const handleSubmit = jest.fn();
    const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
    userEvent.type(getByLabelText(/username/i), "kentcdodds");
    
>   cleanup();
  });

ただし、afterEach を使わずにこの方法を採用すると、テストが失敗したときにクリーンアップは実行されません。次のようになります:

  test("example 1", () => {
    const handleSubmit = jest.fn();
    const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
    userEvent.type(getByLabelText(/username/i), "kentcdodds");
>   
>   
>   userEvent.type(getByLabelText(/passssword/i), "ilovetwix");
    
    cleanup();
  });

このため、”example 1″ の cleanup 関数は実行されず、”example 2″ も正常に実行されません。そのため、1 つのテストが失敗したのではなく、すべてのテストが失敗したと表示され、デバッグがはるかに困難になります。

そのため、代わりに afterEach を使用してください。これにより、テストが失敗した場合でもクリーンアップを実行できます。

import { cleanup, render } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import * as React from "react";

import Login from "../login";

afterEach(() => cleanup());

test("example 1", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
  userEvent.type(getByLabelText(/username/i), "kentcdodds");
  userEvent.type(getByLabelText(/password/i), "ilovetwix");
  
});

test("example 2", () => {
  const handleSubmit = jest.fn();
  const { getByLabelText } = render(Login onSubmit={handleSubmit} />);
  userEvent.type(getByLabelText(/username/i), "kentcdodds");
  
});

さらに、before* が有効なユースケースも確かにありますが、通常は after* で必要なクリーンアップと組み合わせて使用されます。例えば、サーバーの起動と停止などです:

let server;
beforeAll(async () => {
  server = await startServer();
});
afterAll(() => server.close());

これを実現するための確実な方法は他にありません。私がこれらのフックを使った別のユースケースとして思いつくのは console.error 呼び出しのテストです。

beforeAll(() => {
  jest.spyOn(console, "error").mockImplementation(() => {});
});

afterEach(() => {
  console.error.mockClear();
});

afterAll(() => {
  console.error.mockRestore();
});

こうしたフックのユースケースは確かに存在します。ただ、コード再利用のメカニズムとしてはお勧めしません。そのためには関数を使います。

おわりに

以下のツイートで私が何を意味していたのかがこれで明確になれば幸いです:

https://x.com/kentcdodds/status/1154468901121482753

これまで様々なフレームワークやスタイルで何万ものテストを書いてきましたが、経験上、変数の変更を減らすことでテストのメンテナンスが大幅に簡素化されました。頑張ってください!

追伸: サンプルコードを試してみたい方は codesandbox をご覧ください



Source link

Views: 0

「身体で感じる音無重低音技術」

📌 ニュース:
筑波大学の研究で、音を出さずに身体で感じる「EMSサイレント・重低音専用スピーカー」が開発されました。この技術は筋電気刺激(EMS)を利用し、腹部の筋肉を収縮させることで「ドンッ」と来る重低音を再現します。従来のスピーカーは騒音や防音コストが懸念されますが、EMSなら家でも静かに迫力のある体験が可能です。研究結果によれば、使い続けることで「慣れ」があり、没入感やリズムの感じやすさが向上するとのこと。将来的には、より多様な音域にも対応する予定です。この技術は音楽やVR体験を新しい形で楽しむ手助けになるかもしれません。

  • 筑波大学で開発された新技術「EMSサイレント・重低音専用スピーカー」についてのポイントを以下にまとめました。

    1. 音を出さずに楽しむ重低音の実現 🎶

      • 筋電気刺激(EMS)を活用し、身体の筋肉を収縮させることで、周囲に音を漏らさずに重低音の感覚を再現します。✋✨
    2. 新たな音楽体験の可能性 🚀

      • 従来のスピーカーとは異なり、音を「聴くだけでなく」「感じる」体験を提案。特に、集合住宅や夜間の使用に最適です。🏠🌙
    3. 未来には「身体がスピーカー」に 🔮

      • 今後は中音や高音も刺激できるように進化する予定で、多様な音楽体験を提供する可能性があります。🎤🎸

    この技術の進化により、音楽の楽しみ方が大きく変わるかもしれません!


※以下、出典元
▶ 元記事を読む

Views: 0

  1. JAL改革、稲盛が幹部意識改変!
  2. ANA復活戦略、地獄からの脱却
  3. MRJは何が原因で失敗したのか?
  4. 経営破綻から再起!格安航空の男
  5. 航空業界再建の舞台裏総まとめ

この動画は、日本の航空業界の変遷と各企業の経営戦略に焦点を当てた内容を特集しています。以下に重要なトピックをまとめて紹介します。

1. JALの稲盛改革

日本航空(JAL)は、経営破綻の危機から脱却するための改革を進めました。稲盛和夫氏が再建に携わり、社員の意識改革を強く求める姿勢が印象的です。稲盛氏が言った「商売人としての感覚を持たなければ業績は回復しない」という言葉には、組織全体の意識改革が必要だというメッセージが込められています。

背景: JALは2010年に破たんし、負債が2兆3000億円以上に達しました。その後、稲盛氏の指導のもと、リストラや業務改善が行われ、業績を急速に回復させることに成功しました。過去最高の営業黒字に転換したのも稲盛氏の取り組みのおかげです。

2. ANAの復活戦略

全日空(ANA)は、コロナ禍での厳しい経営環境を乗り越えるために、1円でも稼ぐことを目指す新たな戦略を打ち出しました。機内食の冷凍食品化など新しいビジネスモデルを試み、それがヒットしました。

背景: コロナウイルスの影響でANAは2021年に約5000億円の赤字となり、多くの社員が困難な状況を経験しましたが、復活の道を模索し、現在ではフライト数の回復が見込まれています。

3. MRJプロジェクトの失敗

三菱重工が手がけた国産旅客機「MRJ」は、開発の遅れや形式承認取得の難しさから、多くの期待を裏切り、プロジェクトは中止に追い込まれました。

背景: MRJは日本の航空機産業の期待を寄せられましたが、形式証明の取得が大幅に遅れ、技術的な課題も多く、結果として撤退を余儀なくされました。

4. 格安航空の先駆者と経営破綻

格安航空の先駆けであるスカイマークの西久保社長は、かつての成功から経営危機に直面し、経営破綻を経験しました。彼は再び航空業界に挑戦し、新しいビジネスモデルを見つける決意を持っています。

背景: スカイマークは独自の低運賃モデルで成功を収めていましたが、競争の激化により経営が厳しくなり、最終的には経営破綻を迎えました。


このように、動画は日本の航空業界における成功と失敗の事例を交えて、各企業がどのように変革を試み、困難を乗り越えようとしているのかを考察しています。これらの事例は、経営改革や新規ビジネスモデルの重要性を改めて認識させる内容となっています。

🧠 編集部より:

JAL稲盛改革とANAの新戦略、MRJの失敗、格安航空の試み【航空業界イッキ見】

こんにちは!この動画では、航空業界のさまざまな側面に焦点を当てており、それぞれの企業が直面している課題や改革についての洞察を提供しています。以下に、各テーマについての補足説明と興味深い豆知識をお届けします。


1. JAL稲森改革「幹部社員の意識変える」

現在の日本航空(JAL)は、稲盛和夫氏による経営改革を受けた後、劇的な業績回復を遂げました。稲森氏は、幹部社員と一般社員の意識を統一するために「JALヒロソフィー」を掲げ、顧客サービスと安全性を最優先に考える文化を整えました。この取り組みにより、JALはわずか3年で営業赤字から過去最高の黒字を達成しました。

背景豆知識: 稲森氏は京セラの創業者であり、自身も経営難に苦しんだ経験があります。この成功は、彼の哲学や経営手法が実証された一例です。

詳細なフルバージョンはこちら


2. コロナ禍で地獄を見たANAの新戦略

全日本空輸(ANA)は、コロナウイルスによる経済的打撃を受け、5000億円以上の赤字を計上。社員の雇用を守るために新たな戦略を模索し、機内食の販売など、社外からの収益源を開拓しています。また、出稼ぎやパートナーシップを通じて、事業の再生に向けて動いています。

背景豆知識: ANAは、航空業界が厳しい時期にもフードビジネスに転身し、従業員の雇用を守るための斬新なアプローチを行っています。

詳細なフルバージョンはこちら


3. 国産旅客機「MRJ」の失敗

三菱の国産旅客機MRJは、開発が長引き、最終的に計画の中止となりました。主な原因は、型式証明の取得における困難であり、これが事業の失敗を引き起こしました。一時は300機以上の受注を見込むも、リーダーシップや技術面での課題が目立ちました。

背景豆知識: MRJは日本が久々に挑戦した国産旅客機であり、世界市場での難しさを実感させるプロジェクトでもありました。

詳細なフルバージョンはこちら


4. “格安航空を作った男”の復活

スカイマークの創業者・西久保社長は、格安航空を定義し直すための取り組みを行っていますが、過去の経営破綻からの復活を目指しています。新しいビジネスモデルを通じて、ANAやJALとの竞争を展開し、市場の流れに敏感に反応しています。

背景豆知識: 西久保さんは飛行機の操縦士でもあり、自ら機這しを飛ばすことで顧客のニーズを直に感じ取ろうとしています。

詳細なフルバージョンはこちら


各テーマについてさらなる詳細は、上記のリンクからフルバージョンをご覧ください。航空業界は絶えず進化し続ける分野であり、私たちの生活に密接に関わっています。これからも変化を見逃さず、最新情報をお届けします!

  • キーワードの選定

    航空業界

    このキーワードは、JALやANAの改革や新戦略、MRJの失敗、スカイマークの経営破綻など、航空業界に関する様々な事例や改革の背景を網羅しているため、特に関連性が深いと考えられます。

JAL をAmazonで探す

ANA をAmazonで探す

MRJ をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

中野愛理、初写真集「無限点」リリース!卒業前の想いとは?

2025年8月11日、アイドルグループSKE48の中野愛理さんが都内で1st写真集『可愛いと言って欲しい』の発売記念イベントに登場しました。中野さんは、初めて写真集を手にした瞬間の感動を語り、「無限点」の出来栄えだと自信を見せました。

写真集の内容と撮影地

今回の写真集は、インドネシアのバリ島で撮影されました。クタビーチ近くのリゾートホテルやプール付きのヴィラ、おしゃれなカフェなど、バリならではのインスタ映えスポットが満載です。衣装も多様で、可愛いものから少しセクシーなものまで揃い、中野さんの多彩な魅力が詰まっています。

中野愛理 1st写真集『可愛いと言って欲しい』の発売記念イベントに登場した中野愛理さん

在籍期間の振り返り

中野さんは、SKE48として活動する中で様々な経験をしてきたことを振り返り、「恵まれた環境で、いい思い出しかない」と話しました。8月末に卒業することが発表されており、新たな挑戦に向けた意気込みも示しています。「いろんなことに挑戦できたらいいなと思っています」と、今後の活動に期待を寄せています。

このイベントは、ファンとの交流の場としても注目され、中野さんの成長を確認できる貴重な機会となっています。写真集の詳細はAmazonでも購入可能です。

🧠 編集部より:
中野愛理さんが初めての写真集『可愛いと言って欲しい』を発売したことは、彼女にとって特別な意味を持つ出来事です。写真集のロケ地にはバリ島を選び、多様なロケーションで撮影されたことも印象的です。クタビーチ近くのリゾートホテルや、流行のカフェ、ショッピングモールでの撮影が行われ、ビジュアルの幅広さを感じられる内容となっています。 中野さんは、アイドル活動を経てファンの方々に新たな一面を見せることができたと、満足感を表しています。また、「無限点」という表現が示すように、彼女自身が満足するほどの出来栄えに仕上がっていると語っています。このような自信は、彼女のこれまでの努力と経験に裏打ちされているのでしょう。 ### 豆知識 SKE48は、名古屋を拠点とするアイドルグループとして知られ、AKB48の姉妹グループのひとつ。彼女がグループの一員として活動していた期間は、数々のファンとの絆を深める貴重な時間でした。彼女の卒業発表も注目を集めており、それに伴い新たな挑戦への期待が高まっています。卒業後の活動は未定とのことですが、多様な可能性が広がっていることから、今後の動向に目が離せません。


  • キーワード: 写真集

1st写真集『可愛いと言って欲しい』をAmazonで探す バリのリゾートホテルをAmazonで探す ランジェリーをAmazonで探す

※以下、出典元 ▶ 元記事を読む

Views: 0

「明日発売!注目マンガ雑誌一覧」

  • 明日、8月12日(火)に発売されるマンガ雑誌についてのポイントを紹介します📚✨

    1. 多彩なラインナップ
      明日は多くのマンガ雑誌が発売されます!例えば、隔週誌「ヤングチャンピオン17号」や月刊誌「ゲッサン9月号」など、人気タイトルが揃っています📖。

    2. 出版社ごとの特色
      秋田書店や小学館、講談社など、さまざまな出版社からの雑誌がラインナップ。各作品の独自の魅力を楽しむことができます🎨!

    3. 最新情報をチェック
      コミックナタリーでは、新刊情報や売上ランキングなど、マンガ・アニメに関する最新ニュースが毎日更新されていますので、ぜひチェックしてみてください🔍!

    明日の発売を楽しみにしましょう!🥳

📌 ニュース:
明日8月12日(火)に発売されるマンガ雑誌のご紹介です。

– 隔週誌ヤングチャンピオン17号(秋田書店)
– 月刊ゲッサン9月号(小学館)
– 月刊コロコロコミック9月号(小学館)
– 別冊少年チャンピオン9月号(秋田書店)
– 月刊少年ガンガン9月号(スクウェア・エニックス)
– ベツコミ9月号(小学館)
– 別冊フレンド9月号(講談社)
– 別冊マーガレット9月号(集英社)
– まんがライフオリジナル9月号(竹書房)
– 花音9月号(芳文社)
– ディアプラス9月号(新書館)
– コミック乱ツインズ9月号(リイド社)
– 隔月誌ビッグコミックオリジナル増刊9月号(小学館)
– Nemuki+9月号(朝日新聞出版)
– 少年ジャンプGIGA 2025 SUMMER(集英社)
– ハルタVol.126(KADOKAWA)

ぜひごチェックください!

🧠 編集部の感想:
最新のマンガ雑誌リストを紹介する記事は、読者にとって非常に役立つ情報源です。明日発売される誌面の具体的なラインナップが示されており、幅広いジャンルからの新刊情報が揃っています。特に、各出版社の定番雑誌や新たな試みが垣間見ることができ、マンガファンには見逃せない内容です。毎日更新されるニュースや話題も魅力的で、コミックナタリーの充実したコンテンツが引き続き期待されます。


ヤングチャンピオン をAmazonで探す

ゲッサン をAmazonで探す

少年ジャンプGIGA をAmazonで探す


※以下、出典元
▶ 元記事を読む

Views: 0

「新スマホでうちメシ撮影を楽しむ」


🔸 ざっくり内容:

熊本の大雨と食事撮影の進展

最近、熊本では線状降水帯による大雨が発生し、多くの地域で被害が出ました。 affected individualsには心からのお見舞いを申し上げます。私の住んでいる地域では、幸いにも被害はありませんでしたが、夜中の雨音や雷、スマートフォンから鳴る警報音で不安な夜を過ごしました。梅雨明け後にこんな大雨が来るとは、思いもしなかったことです。今後も警戒が必要ですね。

さて、最近お試し中の新しいスマートフォンでの食事写真撮影についてですが、設定がほぼ決まりました。カメラはLeicaバイブラントを使用し、露出補正はなし。焦点距離はデジタル2倍ズームで23mm、または60mmレンズを使います。撮影した写真は、Xiaomiのギャラリーアプリで自動補正を行い、最後に透かしを加えて仕上げています。この設定により、コンパクトデジタルカメラよりも簡単に家庭での食事撮影ができるようになりました。

これからは、外食時のテーブルフォトやスナップの撮影技術も試していきたいと思います。新しいスマートフォンの活用法がまだまだ広がりそうです。

🧠 編集部の見解:
この記事を読んで、近年の異常気象や自然災害の影響について考えさせられました。特に、線状降水帯による大雨は予測が難しく、その影響は広範囲に及ぶことが多いですよね。熊本でもたくさんの方が被害に遭われたということで、本当に胸が痛みます。こういった時、SNSやスマホの警報機能が役立つ一方で、それだけで安心はできないという現実もあります。

梅雨明け後に恐ろしい雨が降るとは、私たちの常識が通用しなくなってきているのかもしれません。気候変動の影響が色濃く反映されているように感じますよね。例えば、世界中で洪水や干ばつが増えているのは、科学的にも証明されています。

さて、カメラの話題に移りますが、新しいスマホでの撮影設定がずいぶんと進化したようですね!自宅での食事を撮影する「うちメシ撮り」が簡単になったのは嬉しいポイントです。私もスマホでの写真加工を楽しんでいるので、手軽にきれいな写真が撮れるのはとても魅力的です。

Leicaのカメラ機能や自動補正がどう活かされているのか、とても興味深いです。最近では、料理を撮る際のライティングやアングルも重要視されていて、これらも新たな楽しみ方になりますよね。

ついでに豆知識ですが、実は「うちメシ撮り」は、家庭での食事を記録するだけでなく、Instagramなどでの「#おうちごはん」投稿としても非常に人気があります。皆さん、自分の食事を楽しむスタイルを広める一環として、料理を見せ合っています。

これからの撮影のアイデアや、新しい発見が楽しみですね!あなたの撮影がどんな風に進化していくのか、またの更新を楽しみにしています。

  • キーワード: 線状降水帯

Xiaomi スマホ をAmazonで探す

Leicaバイブラントカメラ をAmazonで探す

デジタルズームレンズ をAmazonで探す


📎 元記事を読む


📰 スマホ・ガジェットの話題は インモビ にて掲載中

Views: 0

「面接官が教える!受かる企業研究法」

0

📌 概要

この記事では、面接官としての経験から受かる人の企業研究の特徴について解説されています。成功する候補者は、業界や企業の未来を踏まえた深い分析を行い、自身の経験と企業の課題をつなげる能力を持っています。具体的には、以下の3ステップが提案されています。

  1. 業界の未来を読む:技術・規制・社会の変化を分析し、5年後の予測を行う。
  2. 企業のポジションを見極める:競合との比較から強み・弱み・課題を明確にする。
  3. 将来性と自分をつなげる:企業の課題解決に向けて、自分のスキルや経験をどのように活かせるかを設計する。

この記事は、企業分析の重要性を強調し、面接での効果的なアプローチを示唆しています。最終的には、企業と自身の未来を重ね合わせる姿勢が成功の鍵であると結論づけています。

📖 詳細

この記事では、面接に合格するための企業研究の重要性と、その具体的な方法が解説されています。

📊 面接官の経験

面接官としての5年間の経験から、候補者の企業研究には決定的な違いがあると感じた瞬間について述べられています。特に、成功する候補者は次のような3つのステップで企業研究を行なっています。

✳️ ステップ1:業界の未来を読む

  1. 業界の変化の兆しを3つの角度から探す

    • 技術的な変化:AIや自動化の進展を確認
    • 規制・制度の変化:法改正や政策を把握
    • 社会情勢の変化:働き方改革やESGのトレンド
  2. 5年後の予測を立てる

    • 変化が続くとどうなるか、課題が解決されない場合の影響を考える。
  3. 企業が抱える可能性のある課題を予測する

    • 技術者だけでは解決できない問題や、組織としての不足点を想定。

✳️ ステップ2:企業のポジションを見極める

  • その企業が業界内でどのような位置にいるか分析します。
  • 競合と比較し、強みや弱みを明らかにすることが重要です。
  • 具体的な質問を通じて、企業の「現在地」を明らかにし、隠れた課題を見極めます。

✳️ ステップ3:将来性と自分をつなげる

  • 自分の経験や価値を企業の未来と結びつけて提案します。
  • 「企業の課題」を理解し、その解決策として自分がどのように貢献できるかを考え、誇らしげに語ることが大切です。

💡 まとめ

受かる候補者は「自分が何をもらえるか」でなく「何を与えられるか」を強調します。この記事は、忙しい人でも実行できる具体的なステップを提示し、企業研究の深さが合否に影響を与えることを強調しています。転職活動の成功を応援する言葉で締めくくられており、実践的な情報が豊富です。

🧭 読みどころ

この記事では、面接における成功の秘訣を3つのステップで解説しています。💡

1️⃣ 業界の未来を読む: 技術や社会の変化から予測を立て、企業が抱える課題を自ら考えること。

2️⃣ 企業のポジションを見極める: 競合分析を通じ、企業の強みと弱みを把握する。

3️⃣ 自分を企業と結びつける: 自身の経験を基に価値提案を行い、企業の成長に貢献できる点を強調する。

エピソードを通じて、受かる人は「未来」を見据え、企業の課題解決に意欲的であることが印象的です。🚀

💬 編集部メモ

この記事を取り上げた理由は、面接における企業研究の重要性を強調し、具体的なステップを提示している点です。特に印象に残ったのは、受かる候補者が「未来」を意識しているという部分です。自分のスキルと企業のニーズをどのように結びつけるか、深く考えることが求められています。これを参考に、自分自身のキャリアアップを目指しましょう✨

転職を考えている方は、ぜひインモビの転職紹介ページをチェックしてみてください。あなたの可能性を広げる一歩になるかもしれません!


※以下、投稿元
▶ 続きを読む

Views: 0