日曜日, 7月 6, 2025
No menu items!
ホーム ブログ ページ 1836

早慶卒、就活失敗から5年。未経験でマーケティング挑戦記!


🔸 ざっくり内容:

はじめに

こんにちは、かねとらです。私は早慶大学を卒業し、経営企画からベンチャーマーケティングを経て広告代理店で働いています。新卒当初は就活に失敗し、仕方なく内定を受けた企業で働き始めました。このブログでは、私の新卒生活とマーケティングの世界へ転職するまでの経緯をお話しします。この内容が、同じような悩みを抱えるあなたの力になれば幸いです。

新卒から転職を決意するまで

大学に入学した私は、特にやりたいこともなく「適当に就活すればいいや」と考えていました。自己分析もせず、面接に挑んだ結果、内定をもらったのは企業文化が古いメーカーでした。入社後、経営企画部に配属されて「期待されている」と勘違いしましたが、すぐに昭和的な文化の厳しさに直面しました。

特に「お局様」の存在や、社内の堅苦しい環境がストレスとなり、自己肯定感が下がっていきました。そうした中で、忘年会の準備での社長の一言が私の転職を決意させるきっかけとなりました。「仕事もできていないのに忘年会なんてできるか」という言葉から、どんな努力も社長の気分次第で台無しになると思い知りました。

転職活動の始まり

転職することを決めた私は、自分の求める環境を分析し、次の二点を重視しました:

  1. 自分の働きが会社の実績につながること
  2. 社会人的な人間関係の構築を避けたい

そこで、ベンチャーのマーケティング職を目指すことにしました。マーケティングは、商品やサービスを売る仕組みを作る仕事で、自分の意思で影響を与えることができると思ったからです。最初は「かっこいい」と思ったのがその理由でしたが、実際に実行に移そうとしたところ、転職活動はうまくいかず、1年間の長期戦となってしまいました。

次回はこの転職活動の詳細や、私の後悔、マーケターを目指す方へのアドバイスをお話しします。引き続きよろしくお願いします!

🧠 編集部の見解:

感想と社会的影響

この記事を読んで、私も新卒当時の結構な戸惑いを思い出しました。筆者が直面したような「昭和の化石」的な企業文化、閉鎖的な人間関係は、多くの新卒社員が共感できる部分かもしれません。特に、コミュニケーションのストレスや、思っていた職場環境とは異なる現実に直面すると、自分自身のキャリアについて深く考えざるを得ませんよね。

転職を決意するまでの過程もリアルで、特に忘年会のエピソードは印象的でした。努力が一瞬で否定されることで、自己肯定感が揺らいでしまうのはよくあることです。この体験が、どんなに頑張っても自分の努力が報われないこともあるという厳しい現実を教えてくれました。

ちょっとした背景や豆知識

日本の労働文化には「勤勉さ」と「長時間労働」が根付いていますが、最近では「働き方改革」が進められています。企業の価値観の変化とともに、ワークライフバランスやフレキシブルな働き方が重要視されるようになりました。この流れの中で、筆者のように自分に合った職場を求める声が高まっています。

マーケティングは特に需要が高まっている職種の一つで、デジタル化が進む昨今、情報を使った新しい価値を創造する力が求められています。特に、企業の課題を解決するためのリーダーシップや創造性が重視される傾向にあります。このような変化が、筆者が新たなキャリアのステップを踏むきっかけになることを願っています。

次回の記事でも、どのような成長を遂げたのかが非常に楽しみです。転職活動の葛藤や失敗が、今後の成功にどうつながるのか、共感しながら見守りたいと思います。その道のりは決して平坦ではありませんが、自分の価値観を見つめ直す意味でも、非常に貴重な経験となるはずです。

  • この内容を要約すると、以下のようになります:


    新卒の苦悩とキャリアチェンジ:マーケティングへの道

    著者は、早慶大学を卒業後、メーカー経営企画部に配属されたものの、活気のない職場文化や厳しい人間関係に直面し、自己肯定感を失った。絶望的な状況で、忘年会の中止という出来事がきっかけで転職を決意。自分のやりたいことを見つける過程で、マーケティングに興味を持ち、ベンチャー企業を目指すことにした。しかし、転職活動は思うように進まず、1年間の試行錯誤が続く。


    この内容からのキーワードは「転職活動」が適切です。

マーケティング をAmazonで探す

転職活動 をAmazonで探す

キャリアチェンジ をAmazonで探す


📎 元記事を読む


Views: 0

生成AIに挑む音楽の未来とは?アーティストの心情を探る。


🔸 ざっくり内容:

Suno AIと音楽制作の未来

背景情報
音楽制作においてAIの活用が進む中、特に「Suno AI」を利用するアーティストたちの間で、AI生成音楽の魅力と課題が議論されています。本記事では、ドラマーのFさんとの対話を通じて、AI音楽に対する期待と不安が共有されています。

要約
Fさんは、Suno AIを使って自分のスタイルでドラムを叩く楽しみを見出していますが、AI生成音楽の特異性についても考えを持っています。彼は、AIが生成する楽曲はクオリティが高いにもかかわらず、実在のアーティストとの関係性が欠如していることに懸念を示しています。具体的には、AIが作る音楽に感動した際、その背景を掘り下げることが難しく、会話がAIの優れた技術で終わってしまうことがあるという点です。

さらに、FさんはAIの利用について、自分の創造性を高めるための補助的なツールと捉えています。彼は、AI生成の作品をDJのように選別し、自分のスタイルにアレンジすることが理想だと考えています。また、音楽制作において、人間の表現力や感情が重要であることを強調し、歌詞は自身の言葉で表現したいという固い思いも持っています。

重要な視点

  1. AIとアーティストの関係: AI生成音楽において、実在のアーティストとのつながりが薄まっています。リスナーがアーティストやその背景に興味を持ちにくくなる懸念があります。

  2. 新しい制作手法の受け入れ: AIはあくまでアーティストの一部として位置づけられ、自らの感性を尊重しつつ新しい技術を取り入れる姿勢が求められています。

  3. 表現の大切さ: FさんはAI生成音楽に魅力を感じつつも、人間の言葉や表現の力、感情の宿った作品を大切にしたいという強い意志を持っています。

結論
Suno AIなどの生成音楽は、アーティストに新しい可能性を提供していますが、一方で人間らしい感情や関係性が薄れることへの懸念も大きいです。アーティストとして、自身の表現を保ちながらAIの力を活用することが、今後の音楽制作において重要なテーマとなるでしょう。

🧠 編集部の見解:
この記事では、AIによる音楽制作の進化とその影響について、筆者のFさんの意見を通じて探求しています。特に、AIが生成した楽曲に対する感動と、その背後にある作者の不在に対しての葛藤が印象的です。音楽を愛する私たちにとって、アーティストの背景やストーリーは重要であり、AIによる無名の楽曲が新たな文化を生み出す可能性について考えさせられます。

### 感想
AIの音楽生成技術は、確かに楽曲のクオリティを向上させ、多くの楽しみを提供していますが、やはり「誰が作ったのか」という問いに対する答えが希薄になることには寂しさを感じます。音楽はただの音ではなく、アーティストの感情や背景が詰まった創造物だからです。Fさんのように、AIと共存しつつ、独自の音楽の「深さ」を追求する姿勢が新しい時代の選択肢かもしれません。

### 関連事例
音楽だけでなく、アートや文学でもAIの影響が顕著です。例えば、AIが描いた絵がオークションで高額で取引されることもあります。このような事例が増える中で、私たちは「創造性」や「著作権」に関する新しい基準を模索する必要があります。

### 社会的影響
AI音楽生成は、音楽業界の構造にも影響を及ぼすでしょう。従来の作曲家や演奏者がAIにとって代わられる可能性もありますが、それでも人間の感情や体験がこもった音楽が求められる限り、アーティストの存在は重要です。音楽が「商品」としてではなく、感情的なつながりの媒体として受け継がれていくことが期待されます。

### 豆知識
実は、AIが生成する音楽の大部分は、既存の楽曲を分析し学習することで作られています。この「学習」が進む中で、AIは既存のスタイルを模倣するだけでなく、新しいスタイルやジャンルを生み出す可能性も秘めています。ただし、真の独創性は人間の感情や経験から生まれるものであるという点は忘れてはいけません。

このように、AIと人間が協力し合うことで、音楽の未来はより豊かで多様なものになると信じています。

  • この内容から適切なキーワードを一つ選定するなら、「AI音楽生成」が良いでしょう。このキーワードは、本文中のAI技術(Suno AI)を使用しての音楽創作やその影響について中心的に議論されていることを反映しています。

Suno AI をAmazonで探す

祇是 未在(タダコレ ミザイ)

2025年6月8日 13:02

Fさんもドラマーでありながら、Suno AIを使用していて、自分が叩きたい曲が出来たら、moisesでドラムトラックをOFFにして自分で叩いて楽しんでいる。Fさんのドラムに心酔している僕も良いのが出来たら、これFさんのドラムバージョンを

リズムマシン をAmazonで探す

シンセサイザー をAmazonで探す


📎 元記事を読む


Views: 0

ヒカキンのポケポケパック開封!! #バズれ #ポケカ #人気になりたい #ポケモン #上手いと思ったら高評価 #バトル #pokemon #チャンネル登録お願いします #ヒカキン #おれポケ

0




DIYキット をAmazonで探す
エコ商品 をAmazonで探す
ガーデニングツール をAmazonで探す


Views: 0

リトルミイ刺繍の大容量トート登場!サブバッグにも最適♪

ざっくり内容:
人気の刺繍バッグシリーズから、新しいデザインが登場しました。バッグメーカー「ティ・ツウ・オー」が手がける大容量トートバッグには、ムーミンやスナフキンに加えて、リトルミイとちょっぴり不機嫌なアングリームーミンの刺繍が加わります。

### 大容量トートバッグの特徴
このトートバッグは、約横40cm×高さ30.5cm×マチ18cmの実用的なサイズで、収納力は約15L。エコバッグよりも丈夫で軽量なため、旅行や買い物に最適です。持ち手は肩掛けにも手持ちにも対応した長さで、スタイリッシュなデザインが特徴。

### 新柄の詳細
新たに追加されたデザインには、真っ赤なトートバッグにリトルミイ、深いグリーンのバッグに不機嫌なアングリームーミンとソフスが刺繍されています。軽撥水加工も施されており、急な小雨でも安心して使用できます。

このシリーズは色やサイズのバリエーションが豊富で、ムーミンファンにはたまらないアイテムです。オンラインストアでお気に入りのバッグを見つけてみてください。

編集部の見解:

新しいムーミン刺繍バッグの魅力

最近、刺繍バッグシリーズから新しいデザインが登場しましたね!特に「ティ・ツウ・オー」の大容量トートバッグは、ムーミンファンにはたまらないアイテムだと思います。リトルミイやアングリームーミンが刺繍されたバッグは、見ただけでほっこりした気持ちになります。

バッグのサイズも大きく、約15リットルの容量があるので、買い物や旅行に大活躍しそう。本当にエコバッグと呼ぶのがもったいないくらい、デザインも機能も充実しています。特にニョロニョロの刻印があるスナップボタンや、持ち手のロープデザインが、おしゃれでユニークポイントですね。

ムーミンキャラクターの魅力

ムーミンの世界観は、ただ可愛いだけじゃなくて、深いメッセージが通っています。リトルミイのあのやんちゃな姿は、自分をしっかり持った女性像の象徴ともいえるでしょう。アングリームーミンは、不機嫌そうながらも愛らしく、日常生活のちょっとしたストレスも和らげてくれそうです。

社会的影響と豆知識

環境意識が高まる今、バッグはエコな選択肢として重要です。買い物バッグとして利用することで、プラスチック削減にも寄与できるので、自分だけでなく社会貢献にもなります。

また、ムーミンはただのキャラクターではなく、スウェーデンの作家トーベ・ヤンソンが生み出した作品。彼女の考え方や哲学が、キャラクターたちに色濃く反映されています。彼女が描く世界は、実は大人が読んでも心に響く内容ばかり。つまり、このバッグを持つことは、ファッションだけでなく、深い文化にも触れることができるのです。

新柄の登場をきっかけに、またムーミンの世界に浸ってみたいですね。バッグを通じて、より多くの人がムーミンの魅力に触れてくれることを願っています!

  • キーワード: 刺繍バッグ


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

Views: 0

ABC409個人的備忘録[A-E](Fもある) #C++ – Qiita



ABC409個人的備忘録[A-E](Fもある) #C++ - Qiita

=に泣かされた男の備忘録です

コンテスト概要

AtCoder Beginner Contest 409

開催日:2025年6月7日 21:00-22:40

考察

前から順に見て行って高橋君、青木君がともにoを選んでいる場所があればYes、そうでなければNo。

文字の長さは提示されているので若干手間が省ける。

提出

A.cpp

#include 
using namespace std;

int main(){
    int n;
    string s,t;
    cin >> n >> s >> t;

    string ans  = "No";//Noで初期化
    for(int i=0;in;i++){
        //i番目がともにoなら答えはYes
        if(s[i] == 'o' && t[i] == 'o') ans  = "Yes";
    }

    cout  ans  endl;
}

考察

B問題なので正直何とでもなる。
とりあえず配列を受け取り「0以上は0個以上か?」「1以上は1個以上か?」を順に見ていき成り立たなかったらその前の数が答え。$O(N^2)$だがNは100以下なので余裕。これが簡単で、安全な方法。

自分はimos法で実装。数字はN個しかないので「N+1以上はN+1個以上か?」の答えはもちろんNoになる。なので100の配列を用意して0~Niをimos法で足していく。その後順に「i以上はi個以上か?」を確かめればOK。

なお制約の$10^9$を見落としRE。制約はちゃんと読もうね。

提出

B.cpp

#include 
using namespace std;
using ll = long long;

int main(){
    int n;

    cin >> n;

    vectorint>num (101,0);//答えは100以下なので100まで確認すればOK
    for(int i=0;in;i++){
        int x;
        cin >> x;

        //0~Xまでに1を足していく
        num[0]++;
        if(x+1  101)num[x+1]--;//100を超えてるなら調節不要
    }
    
    int ans  = 0;
    for(int i=1;i101;i++){
        num[i] += num[i-1];
        if(num[i] >= i) ans  = i;//iがi個以上あるなら答えの可能性あり。
    }

    cout  ans  endl;    
}

考察

ややこしく見えるが単純な問題。
要するに選んだ三点がすべて$L/3$離れている組み合わせはいくつか?ということ。
なのでそれぞれの頂点番号には興味がなく円周のどの場所に点がいくつあるかだけわかればいい。
また$L \leq 3 \times 10^5 $なので全部の頂点を管理できる。

というわけでとりあえず$N_1$を距離0としてここから時計回りに進んだ距離だけを見ていく。それぞれの距離はLで割った余りがそのまま対応する。

そして距離0から距離iからそれぞれi+$L/3$,i+$2L/3$離れた場所にある点から1つずつ選べばいい。もちろん$L/3$は整数である必要があるのでLが三の倍数でなければ当然答えは0。

で、個数だがそれはシンプルにそれぞれを掛け算すればいい。

提出

C.cpp

#include 
using namespace std;
using ll = long long;

int main(){
    int n,l;
    cin >> n >> l;

    //Lが3の倍数でなければ論外
    if(l%3 != 0){
        cout  "0"  endl;
        return 0;
    }

    int now  = 0;
    vectorll>len (l,0);//N1を0とした時の時計回りの距離を管理
    len[0]++;
    for(int i=1;in;i++){
        int x;
        cin >> x;

        now += x;
        now %= l;//行き過ぎてもLで割れば、余りが距離になる

        len[now]++;
    }

    ll ans  = 0;
    ll m = l/3;
    for(int i=0;im;i++){//調べる範囲はL/3で十分
        ans += len[i]*len[i+m]*len[i+2*m];//3か所それぞれの数を掛け算
    }

    cout  ans  endl;
}

考察

まず、操作が何回でもできると思い大幅なタイムロス。

もちろん文字列はそれなりの長さがあるので全パターン試す余裕はない。なので効率よくシフトさせる場所を知りたい。
ここで、そもそもシフトさせるとどんな変化があるのかをしっかり考察する。
例えば[AB****]となっている文字列をシフトさせると[B****A]となる。要するにシフトさせる場所の「次の文字」がそこにくることになる。
ということは次の文字がアルファベット順で手前の文字でない限りシフトさせるメリットはなさそう。
また、更新ポイントが2か所ある場合、後ろの更新より前の更新のほうがより早くなる。だから、前から順に見ていき次の文字が小さいところを更新の先頭にすればいい。

さて次に更新ポイントの文字をどこに差し込むか?
[DABCXYZ]という文字列の場合、更新ポイントは先頭のDである。このDを[ABCXYZ]のどこに入れるかだが、辞書順を更新できるのは「入れたいアルファベットよりも後のアルファベットの前」だけである。
例えば[DABX]は[ADBX],[ABDX],[ABXD]の3パターンの更新ができるが、もとより早いのは[ABDX]である。要するに「入れたいアルファベットよりも後のアルファベットの前」で一番早い場所に入れればいい。

最後、操作を必ず1回するという点だが、部分文字列を1にすることで変化させないという選択肢もとれるのでもともと最良の場合でも問題ない。

これを実装すればよいのだが$\leq$ と $
最悪でしかない。

提出

A.cpp

#include 
using namespace std;

int main(){
    int n;
    cin >> n;

    for(int i=0;in;i++){
        int len;
        string s;
        cin >> len >> s;

        vectorvectorint>>pos(26,vectorint>(0));
        //文字を早く見つけたいのでそれぞれの文字の出現位置を管理

        for(int j=0;jlen;j++) pos[s[j] - 'a'].push_back(j);
        for(int j=0;j26;j++) pos[j].push_back(len);

        for(int j=0;jlen-1;j++){
            if(s[j]  s[j+1]) continue;//右がデカくないならスキップ
            int k =  s[j] - 'a';

            int p = len;
            for(int l=k+1;l26;l++){
                int x = *lower_bound(pos[l].begin(),pos[l].end(),j);
                p = min(p,x);
                //後のアルファベットが最初に出る場所を確認
                //ないなら一番後ろに行ってもらう
            }

            s.insert(s.begin()+p,s[j]);//場所pに文字を差し込む
            s.erase(s.begin()+j);//元あった文字を削除
            break;
        }

        cout  s  endl;
    }
    
}

考察

Dが上手くいかなかったので先にE問題

陽電子と電子がややこしいのでひっくるめて粒子と呼ぶ
できる限りコストの大きいところに粒子を通したくない。いろいろな方法を試すが、どうあがいても一定数通さざるえないことが判明する。

ある辺が頂点U,Vをつないでいるとする。この時$X_i$の合計は0なので、U側の残粒子の数と、V側の残る粒子の数は同じになる。ということはこの辺は残った粒子をU→Vにせよ、U←Vにせよ通さないといけない。

ということはあまり工夫の仕様がなく、愚直に陽電子と電子を運び消すしかない。

というわけで頂点1(正直どこでもかわらない)を根とする木を作り葉のほうから順に上へと上げるしかない。

これはDFSを使えば瞬殺。

コードの正当性を証明するのが難しいね。

提出

E.cpp

#include 
using namespace std;
using ll = long long;
vectorvectorpairint,ll>>>path;
vectorll>now;
vectorbool>gone;

ll DFS(int n){
    gone[n] = true;//すでに見たならマーク

    ll ans = 0;
    for(auto [x,c]:path[n]){
        if(gone[x]) continue;//行ったことある場所はスキップ

        ans += DFS(x) + abs(now[x])*c;
        //これまでの合計に粒子を動かすコストを足す
        now[n] += now[x];//粒子を合成(同じなら足し、違うなら消滅)
    }

    return ans;
}

int main(){
    int n;
    cin >> n;

    path.resize(n,vectorpairint,ll>>(0));
    now.resize(n);
    for(int i=0;in;i++) cin >> now[i];//粒子をメモ
    for(int i=0;in-1;i++){//コスト込みでそれぞれの辺の情報を記録
        int x,y;
        ll c;
        cin >> x >> y >> c;
        x--,y--;

        path[x].push_back({y,c});
        path[y].push_back({x,c});
    }

    gone.resize(n,false);

    cout  DFS(0)  endl;//DFSにあとはお任せ
    
}

考察

完全な時間切れですが、思ったことをやったらACしやがったので書き記す。

頂点数は高々3000しかなくそのペアも$10^7$以下。なので距離に関してはもう全通り試すのが正義。
距離に関しては45度回すやつを使えばなんてことはない。

まず初期メンバーに対して距離を出し、priority_queueに突っ込む。このときpriority_queueは距離が小さい順に並ぶように改造しておく。

連結に関してはUnionFindが勝手にやってくれる。頂点数は増えていくのが厄介に見えるがどうせ頂点数は高々3000なのであらかじめ3000で作っておく。

クエリ1の時
新しい座標を管理しつつ、すべてと頂点との距離を割り出し、priority_queue突っ込む。

クエリ2の時
あらかじめUnionFindで連結個数を管理しておく。すべて連結ならー1を出力。
priority_queueから長さの短い順に取り出す。頂点同士が連結ならスキップ。連結でないなら長さをメモし、連結させる。
後は同じ長さのものを取り出しつづけジャンジャン連結。
最後に長さを出力。

クリエ3の時
UnionFindに聞くだけ

これを実装すればいいだけ。大変なんだけどね。40分程度でAC。
全部D問題のせいだ。

提出

F.cpp

#include 
using namespace std;
using ll = long long;
templatetypename T> using p_que = priority_queueT,vectorT>,greaterT>>;

//45度回す構造体
struct Mdis{
    ll u,v;

    Mdis(ll x,ll y){
        //45度回すのは足し算と引き算で事足りる
        u = x+y;
        v = x-y;
    }

    ll dist(Mdis const &m){
        //距離を求める関数
        //差の絶対値が大きいほうが距離
        //詳しくは貼った記事を見て
        return max(abs(u - m.u),abs(v - m.v));
    }
};

//長さとその頂点を管理する構造体
struct Len{
    ll len;
    int x,y;

    Len(ll l,int xx,int yy):len(l),x(xx),y(yy){};
};

//普通のUnionFind
struct UnionFind{
    vectorint>par;
    int cnc;
    //連結した回数を管理
    //これが頂点数と同じなら全部連結。    

    UnionFind(int n):par(n){
        for(int i=0;in;i++) par[i] = i;
        cnc = 1;//最初は1
    }

    int root(int n){//親番号を返すやつ
        if(par[n] == n) return n;
        return par[n] = root(par[n]);
    }

    void unite(int n,int m){//くっつけるやつ
        int rn = root(n),rm = root(m);
        if(rn == rm) return;

        par[rn] = rm;
        cnc++;
    }

    bool same(int n,int m){//連結か確認するやつ
        int rn = root(n),rm = root(m);

        if(rn == rm) return true;
        return false;
    }
};

//構造体同士の大小を比べるやつ1
bool operator(const Len &n,const Len &m){
    if(n.len == m.len){
        if(n.x == m.x) return n.y  m.y;
        return n.x  m.x;
    }
    return n.len  m.len;
}

//構造体同士の大小を比べるやつ2
bool operator>(const Len &n,const Len &m){
    if(n.len == m.len){
        if(n.x == m.x) return n.y > m.y;
        return n.x > m.x;
    }
    return n.len > m.len;
}


int main(){
    int n,q;
    cin >> n >> q;

    vectorMdis>pos;
    for(int i=0;in;i++){
        ll x,y;
        cin >> x >> y;

        pos.emplace_back(x,y);//45度回して管理
    }

    p_queLen>que;
    for(int i=0;in;i++){//全ペアの距離を出しqueに入れる
        for(int j=1;jn;j++){
            Len l(0,i,j);
            
            l.len = pos[i].dist(pos[j]);
            que.push(l);
        }
    }

    UnionFind tree(3000);//多めに3000作っておく
    int m = n;
    for(int i=0;iq;i++){
        int c;
        cin >> c;

        if(c == 1){
            ll x,y;
            cin >> x >> y;

            pos.emplace_back(x,y);//新人を追加
            for(int j=0;jm;j++){//新人との距離をすべて出す
                Len l(0,j,m);
                l.len = pos[j].dist(pos[m]);
                
                que.push(l);
            }
            m++;
        }
        if(c == 2){
            if(tree.cnc == m){//全連結なら-1
                cout  "-1"  endl;
            }else{
                ll now = (1LL60);
                while(!que.empty()){
                    if(que.top().len > now) break;//定めた長さより大きいならおしまい
                    auto[len,x,y] = que.top();
                    que.pop();

                    if(tree.same(x,y)) continue;//もう連結ならスキップ
                    now = len;//長さを定める
                    tree.unite(x,y);//くっつける
                }

                cout  now  endl;
            }
        }

        if(c == 3){
            int x,y;
            cin >> x >> y;
            x--,y--;

            //同じか聞く
            if(tree.same(x,y)) cout  "Yes"  endl;
            else cout  "No"  endl;
        }
    }
}

結果

AB(1)CD(4)E 5完 123:35

順位 2697位

パフォーマンス 1068

レート 1274(-21)

感想

そうですね。明らかにスピードが足りませんね。
そうですね。明らかにケアレスミスが多いですね。

精進すれど遅いなら意味がない。どうしたら早くなるんだろう?





Source link

Views: 0

Apple Vision Pro のネイティブアプリを Claude Code で100%自動生成してみた


Apple Vision Proの開発において、ネイティブアプリの開発は従来通りXcodeとSwiftUIを使用する必要があります。しかし、AI技術の進歩により、コード生成の支援が大幅に向上しています。

今回は、Claude Code(Anthropic社のAIコーディングアシスタント)を使用して、Apple Vision Proのネイティブアプリをどこまで自動生成できるか試してみました。

目標

  • visionOSネイティブアプリを100%自動生成
  • 空間コンピューティングの特徴を活かしたUIを作成
  • 実際にApple Vision Proで動作するアプリを完成させる

作成するアプリ

今回は、3D空間上に3Dモデル(USDZ)を配置・操作できるシンプルなアプリを作成することにしました。

https://youtu.be/QXWPySI8J44

下記の手順で進めました。

  • Claude Desktop で仕様書を作成し CLAUDE.md に出力
  • Claude Code に「CLAUDE.mdの通りに実装して」と投げ込み、コードを生成
  • ビルド、エラー解消、操作性の調整

ここまでかかった時間はコード生成までが約15分、操作性の調整までが約1時間ほど。
1,2時間あると、このくらいのアプリであれば動く状態になります。

生成したコードはこちらにpushしています。

https://github.com/kaorun55/Model-Viewer

Claude Desktop で仕様書を作成し CLAUDE.md に出力

Claude Codeには「メモリ管理」という機能があり、プロジェクト用のチーム共有指示などを記述できます。

詳細は下記を参照になりますが、プロジェクトメモリというプロジェクト用のチーム共有指示を目的として、プロジェクトアーキテクチャ、コーディング標準、一般的なワークフローを記載するCLAUDE.mdが定義されています。

https://docs.anthropic.com/ja/docs/claude-code/memory

CLAUDE.mdに生成する仕様を記載することで、Claude Codeが一気に実装するようになります。これ自身の生成もClaude Codeでやるのでも良いですが、使い慣れていることやプロンプトが履歴として残ることから Claude Desktop で生成しています。

まず、Claude Desktop に対して以下のようなプロンプトを投げました。

Apple Vision Pro用の簡易3DモデルビューアーをClaude Codeに作ってもらいたいです。
まずは仕様の壁打ちをお願いします。
壁打ちが終わって仕様が固まったら CLAUDE.md を生成してください。

概要です
* ターゲット: モデルを手軽に扱いたいホビーユーザー
* 仕様:アプリへモデルの追加、削除、一覧表示、縮小表示(Volume)、実寸・サイズ変更表示(Immersive)
* 開発環境:Xcode + Swift

これを元に仕様の確認が入り、取捨選択をしながら、CLAUDE.mdにまとめてもらいました。
実際に生成されたCLAUDE.mdはこちらです。

https://github.com/kaorun55/Model-Viewer/blob/main/CLAUDE.md

Claude Codeで実装

VS Codeでプロジェクトフォルダを作成し、そこにCLAUDE.mdをコピー。
ターミナルでClaude Code を実行して「CLAUDE.mdの通りに実装して」と投げ込み、コードを生成します。

おおよそ生成されるまでの時間は15分ほどです。

ビルド、エラー解消、操作性の調整

生成されたコードは一発で動かないことが多い(自分のプロンプトの入れ方に改善の余地があるのかも)こと、「.xcodeproj」のようなプロジェクトファイルが生成される時とされない時があることなど、出力には生成AIならではのムラがあります。

Xcodeを開きビルドエラーを解消します。
エラーが出たら、エラー出力をコピーして、そのままClaude Codeに貼り付けます。エラー出力にはファイルパス、エラー行数が入っているので、そのまま修正が始まります。

5回から10回ほどやり取りをするとビルドエラーは解消されます。

次に実機またはシミュレーターへデプロイします。すると実行時エラーが出ることがありますが、これも同様にエラーコードをコピーしてそのままClaude Codeへ貼り付けます。

これらのやり取りを経て動作するようになったら、細かい操作性の調整をします。まだまだ3次元の処理を生成するのは難しいようで、動作やコードを見ながらClaude Codeへ修正依頼し改善していきます。

生成されたコードについて

生成されたコードはどうするシンプルな状態になっています。コードを読んで学ぶたの教材にもなると思います。
一方で、ジェスチャー処理の実装に時間がかかり難しいと感じた。ただし、これは学習量の問題と、自分の指示の出し方の双方に課題と考えています。

Claude Codeを使用したApple Vision Proアプリ開発は、基本的な構造やプロトタイプの作成においては非常に有効でした。

特に下記の項目において力を発揮すると感じています。

  • プロトタイピングの高速化: アイデアを素早く形にできる
  • 学習効率の向上: visionOS開発のベストプラクティスを学べる

ただし、実運用に向けたアプリでは、AIが生成したコードをベースに人間によるレビュー、修正、最適化が不可欠です。

まだまだ課題は多くありますが、コード生成系のAIが盛り上がったのがこの半年、1年と考えると今後の進化速度はより一層早くなりますし、今の課題の大半は解決するのではないかと思います。



Source link

Views: 0

「子供のためにヒナ追加!驚きの鳥の習性」

📌 ニュース:

子供たちのエサとして「追加のヒナ」を産む鳥がいる!

スペインの研究で、ヤツガシラという鳥が自らの子供を食べさせる行動が発見されました。

これまで虫や爬虫類に見られた兄弟食いが、親が子を育てる種で確認されたのは初めてです。

ヤツガシラは渡り鳥で、冬に日本にも渡来します。この鳥は「プラス1」卵を産み、これは保険だけでなく、兄弟食いに利用される可能性があります。

研究で、エサを多く与えられた親は多くの卵を産み、兄弟食いが増加しました。年長のヒナが小さなヒナを食べる様子が観察されています。これは計画的な行動と考えられ、他に同様の例が存在するかもしれません。

詳しくは『The American Naturalist』をご覧ください。

  • この記事のポイントを3つまとめました!😊

    1. ヤツガシラのユニークな行動 🐦
      ヤツガシラという鳥は、自分の子供を餌として使い、兄弟同士の共食いを行うことが初めて確認されました。この行動は他の動物では見られますが、親が子育てをする種では珍しいのです。

    2. 追加の卵の役割 🍳
      ヤツガシラは、通常の卵よりも「プラス1」の卵を産むことで、兄弟食いを計画的に行います。これにより、餌が豊富な時期には余分な栄養を活用し、子供たちの生存率を上げる戦略があるのです。

    3. 研究の重要性と発見 📚
      スペインの研究によって、ヤツガシラの共食いが計画的なものであることが明らかになりました。この発見は、親が子の世話をする種でも、共食いを利用する可能性があることを示唆しています。

    このように、ヤツガシラの行動はとても興味深く、自然界の複雑さを感じさせてくれますね!🌍✨


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

Views: 0

『BEAST OF REINCARNATION』発表!2026年発売予定、少女の華麗なアクション映像公開。


🔸 ざっくり内容:

最新のゲーム映像が公開され、神秘的な世界を舞台にした少女が華麗なアクションを展開しています。このゲームは、Steam、PS5、Xbox向けにリリースされる予定で、特にXboxゲームパスにも対応することが期待されています。

背景情報

ゲームの舞台は幻想的な設定で、プレイヤーは主人公の少女として多彩なアクションを駆使し、さまざまな敵やチャレンジに立ち向かうことが求められます。この作品は、その美しいグラフィックと独特なキャラクターで注目を集めています。アクションのスタイルやストーリー展開についての詳細はまだ明らかではありませんが、今後の情報解禁に注目が集まるでしょう。

重要な視点

  • プラットフォーム展開: Steam、PS5、Xboxの複数のプラットフォームで利用可能。
  • Xboxゲームパス対応: 多くのプレイヤーにアクセスしやすい環境を提供。
  • 華麗なアクション: 主人公の魅力がゲームの大きな魅力となることでしょう。

この新作ゲームがどのような体験を提供するのか、今後の情報にも期待が高まります。

🧠 編集部の見解:
最近、神秘的な世界で少女が華麗なアクションを繰り広げるゲームの最新映像が公開されましたね!この手の作品は、ビジュアルだけじゃなく、ストーリーやキャラクターの深みも魅力の一つ。見た目が美しいだけでなく、プレイヤーが感情移入できるキャラクターがいることで、ゲーム体験がより豊かになります。

例えば、過去にも「Celeste」や「Hollow Knight」といったゲームがありました。これらは独自のアートスタイルと緻密な世界観を持っていて、多くのプレイヤーから愛されています。特に「Celeste」は、メンタルヘルスをテーマに扱っていることで話題になりました。

さて、今回のゲームの対象プラットフォームはSteam、PS5、Xboxとのことですが、Xboxゲームパス対応というのも大きなポイントです。最近、ゲームパスの人気が急上昇していて、手軽に多様なタイトルを楽しめるのが魅力的ですよね。ユーザーにとっては、金銭的負担が軽減される嬉しい選択肢。ゲームの広がりや多様性に貢献していると思います。

社会的な影響としては、ゲームが教育や感情の表現手段になりつつある点も見逃せません。最近では、ゲームを通じて人々とつながったり、共通の話題を持つことでコミュニケーションを円滑にする役割も果たしています。このような新しいゲームが、プレイヤーにどんな影響を与えるのか、楽しみですね!

ちなみに、ゲームの生産には、環境に配慮した素材や技術を使う動きもあるんですよ。持続可能な開発目標(SDGs)とか、最近よく耳にしますよね。そう考えると、ゲームを作る過程も進化を続けているんだなぁって実感します。次のプレイが待ち遠しいです!

  • キーワード: 神秘的な世界


最新ゲーム をAmazonで探す

WS000550-1.jpg

神秘的な世界で少女が華麗なアクションを繰り広げる最新映像が公開。対象プラットフォームはSteam、PS5、Xbox。Xboxゲームパスにも対応予定

PS5 をAmazonで探す

Xbox をAmazonで探す


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

Views: 0

トランプ政権、鉄鋼とアルミニウムの追加関税を2倍の50%に

0

アメリカのトランプ政権は4日、鉄鋼とアルミニウムの追加関税を25%から2倍の50%に引き上げました。トランプ政権が追加関税 …

Views: 0

『最愛』再会で3ショット!ファン大興奮「尊い」「続編希望」

🔸 ざっくり内容:

記事要約: 『最愛』メンバーが再会

俳優の松下洸平が自身のインスタグラムで、共演者の吉高由里子と高橋文哉との再会を報告しました。3人は2021年に放送されたTBSのドラマ『最愛』で共演しており、同作は「東京ドラマアウォード2022」で作品賞を受賞するなど、大きな反響を呼びました。

松下は「久しぶりに会えた!」とコメントし、三人の楽しそうな3ショットを公開。ファンからは「尊い」「また見られるなんて」といった歓喜の声が寄せられ、続編を望むコメントも多く見受けられました。

背景情報

  • ドラマ『最愛』: この作品は、2021年に放送され、多くの視聴者を魅了しました。作品賞を受賞したことから、その人気の高さがうかがえます。
  • 俳優陣: 松下洸平、吉高由里子、高橋文哉はそれぞれ多くのファンを持ち、再会のニュースは大いに注目されています。

再会を喜ぶファンの反応からも、彼らの活躍と当時のドラマへの愛着が伺えます。このような関係性が、今後の活動にどのようにつながるのか、期待が高まります。

🧠 編集部の見解:
最近の松下洸平さんのインスタグラムでの投稿が話題ですね!俳優の吉高由里子さん、高橋文哉さんとの再会を報告した3ショットがファンの心を掴んだようです。この写真を見ると、本当にドラマ「最愛」の温かい雰囲気が蘇ってきますよね。

### 感想
この再会は、ファンにとって待望のもので、特に「最愛」のトリオ再集結は絆を感じさせます。「素敵なお写真」「続編が見たい」という声が多く、彼らの役柄の影響力を感じました。作品の成功とともに、こうした再会がファンを幸せにしているのは素敵です。

### 背景
「最愛」は2021年に放送され、東京ドラマアウォードで作品賞を受賞しました。このドラマの人気は、キャストの演技力に加え、ストーリーの深さが大きな要因でした。再会の喜びは、ドラマのファンだけでなく、作品の成功を感じさせるものでもあります。

### 豆知識
日本のドラマでは、キャスト同士の絆が劇中だけでなく、撮影後も続いているケースが多いんです。これが受け手の心に残る要因の一つになっていると思います。松下さんや吉高さん、高橋さんのように、役柄を超えた友情を築くことで、ファンとのコミュニケーションもより深くなるのでしょうね。

こんな素敵な話が聞けると、やっぱりエンタメっていいなと感じます!続編があったら嬉しいですね。

  • キーワード: 再会


松下洸平 をAmazonで探す
吉高由里子 をAmazonで探す
高橋文哉 をAmazonで探す


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

Views: 1