かずきち。の日記

サーバサイドエンジニアのつぶやき

最新ITニュース 2022/11/21版発行


gmailドメインを「gmai」と誤記、10カ月気付かず2000件超の情報漏えいか 埼玉大が「ドッペルゲンガードメイン」の毒牙に
www.itmedia.co.jp

フランスが学校でのMicrosoft Office 365の使用を禁止
gigazine.net

「ねこは液体」説を証明する写真集、12月に相次いで発売【やじうまWatch
internet.watch.impress.co.jp

C#の可能性を切り開いていく専門会社「Cysharp」 | Cygames Magazine(サイマガ)
magazine.cygames.co.jp

ソフトウェア開発サイクルの改善を行う際に認識すべきボトルネックの種類 - stefafafan の fa は3つです
blog.stenyan.jp

はてなブックマークの赤いしおりボタン、いつの間にか押してる問題
anond.hatelabo.jp

AIを駆使して開発者のコード作成を支援していたスタートアップ「Kite」が閉鎖しこれまでのコード全てをオープンソース化してGitHubに公開
gigazine.net

リーマン・ショック級のメモリ不況の到来 ~その陰にIntelの不調アリ
eetimes.itmedia.co.jp

Twitter での 2年 · eed3si9n
eed3si9n.com

時計とか靴とかの数量限定販売について簿記を勉強したら理由がよく分かった話
togetter.com

iPhoneが水没したら米袋に突っ込め』って非公式の対処法、あまりに言われ過ぎたのかとうとう公式にやめろって書かれるように
togetter.com

AWS の障害分離境界について学べるホワイトペーパー AWS Fault Isolation Boundaries を読んでみた | DevelopersIO
dev.classmethod.jp

第2回 Python脆弱性 ~ReDOS~ | gihyo.jp
gihyo.jp

1台何役も使えて3万円台!? ビデオ監視もVPN構築も“秒で”できるWi-Fi 6ルーター Ubiquiti「UniFi Dream Router」【イニシャルB】
internet.watch.impress.co.jp

setTimeout を完璧に理解する
nmi.jp

Twitterトランプ大統領のアカウントが復活した途端にAppleのフィル・シラーがTwitterアカウント閉鎖、イーロン・マスクAppleGoogleの戦いの始まりか
gigazine.net

マーク・ザッカーバーグイーロン・マスクなどのテック億万長者の危険な生き残り思想を論じるダグラス・ラシュコフの新刊 - YAMDAS現更新履歴
yamdas.hatenablog.com

データ活用の関係者に課題感のヒアリングをする時の型を紹介する - yasuhisa's blog
www.yasuhisay.info

GeForce RTX 4090でコネクタが溶ける問題、完全挿入するようNVIDIAがアドバイス
pc.watch.impress.co.jp

Twitterサ終で個人サイトに戻ろうとしてるアラサーへ。かつてお世話になったなどのタグはもう使えません
togetter.com

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

最新ITニュース 2022/11/20版発行


JS汎用クラスとかを作って貯めていきたい
zenn.dev

個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
speakerdeck.com

天国への階段から落ちる、落ちる、落ちる……「落下」による救済の方法【VRChatワールド探訪】
www.moguravr.com

イーロン・マスクが永久凍結されたトランプ前大統領のTwitterアカウントを復活させる
gigazine.net

tsconfig.json 設定項目備忘録
zenn.dev

これからの厳しい時代を生き残るため知っておくべきウェブ開発・機械学習・セキュリティ・クラウドなど役立つ専門知識と技術をサクッと動画で学べるUdemy注目講座5選
gigazine.net

画像生成AI「NovelAI」「Waifu Diffusion」でイラストを描くのに役立つDanbooruのタグ一覧まとめ
gigazine.net

アンカー、「Amazonブラックフライデー」で170製品以上を最大50%オフ
www.itmedia.co.jp

アーキテクチャオタクが Twitter の内情について妄想を垂れ流す
togetter.com

新山祐介 (Yusuke Shinyama) on Twitter: "Tesla/Twitterの某CEOは従業員に一斉配信するメールの内容をひとりひとり微妙に変えている (スペース・句読点の入れ方とか、タイプミスなど)。これが「透かし」として機能するため、どの従業員が社内メールをリークしたかを判定… https://t.co/dqRGc4ZX5d"

twitter.com

How to shuffle songs? - Spotify Engineering
engineering.atspotify.com

Nikki Siapno on Twitter: "Git Workflow https://t.co/NVp8h5nh84"
twitter.com

Twitterとは、何だったのか。 - 犬だって言いたいことがあるのだ。
inujin.hatenablog.com

CDB@初書籍発売中! on Twitter: "イーロンマスクの賛否以前に、そもそも旧運営がツイッターの経営に息詰まって買い手を探し、一度は手を挙げたイーロンマスクが「内情がひどすぎるからやめる」と腰を引いたら「約束通り買わないと訴えるぞ!」とまで迫った経緯が忘れられて、楽園が悪魔に侵略された的な話になってるのはいかがなものか"
twitter.com

saebou on Twitter: "意味がわからないですが、私はこの件について自分が訴えられる可能性は限りなく低いと思っています(1回の曖昧な論評で訴訟するのはかなり困難なのは経験上理解していますし、町長声明を読んでもそういう話ではないので)。それでも町長の名誉を傷… https://t.co/d368QfAtDt"
twitter.com

TwitterのマスクCEO、トランプ前大統領のアカウントの凍結解除 1.5億人参加の投票結果を受け
www.itmedia.co.jp

『Joel on Software』を読んだ - 30歳からのプログラミング
numb86-tech.hatenablog.com

1/ GitHub 元CTO「マイクロサービスにしたことがアーキテクチャ上の最大のミスだった」(※少しマニアックな内容ですが、個人的には面白いと感じたので載せます→)
togetter.com

購入直後のヌルサク感が復活!? Windowsの純正無料メンテツール「PC Manager」を試してみると…(文春オンライン) - Yahoo!ニュース
news.yahoo.co.jp

The Security Design of the AWS Nitro System - The Security Design of the AWS Nitro System
docs.aws.amazon.com

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

最新ITニュース 2022/11/19版発行


Twitterがサービス終了したらTwitter連携ログインしてるサービスが使えなくなる可能性があるので対策しておきましょう
togetter.com

ウェブフロントエンジニアから見る Flutter Webの 現在地点 / Flutter web as of now
speakerdeck.com

最大4%還元のメルカードに申し込んでみた でも……私の還元率、低すぎ?
www.itmedia.co.jp

IntelApple Siliconをネイティブサポートし、Windows 11 on ARMの仮想マシン作成が可能になった「VMware Fusion v13」シリーズが正式にリリース。Playerの個人利用は引き続き無償に。
applech2.com

Bash シェルスクリプトデバッグや入力補完ができる Visual Studio Code 拡張機能(WSL2,mac,Linux対応) - Qiita
qiita.com

Improving Workers TypeScript support: accuracy, ergonomics and interoperability
blog.cloudflare.com

Win32 Disk Imager Renewal (Google Drive 相性問題解決、単一バイナリ、デジタル署名版) - by dnobori - Qiita
qiita.com

初音ミクアイマスウマ娘の「モーション」を担う会社ができるまで (1/5)
ascii.jp

AWS Fargate adds support for monitoring the storage utilization
aws.amazon.com

GitHub - react95-io/React95: 🕹 Windows 95 style UI component library for React
github.com

Googleが1万人以上の人員削減を進めるために社内の業績評価システムを厳しくしている可能性
gigazine.net

安心してリザーブインスタンスを購入するために
heartbeats.jp

Introduction - Writing NES Emulator in Rust
bugzmanov.github.io

TwitterSpaceXやTeslaと同じようにはエンジニアリングできないのでは - きしだのHatena
nowokay.hatenablog.com

プログラマーといえばスーパーハッカーかコーディング職人みたいな2極化した個人のイメージがまだ根強そうだということを今回のツイッターの騒動から感じた - in between days
mohritaroh.hateblo.jp

Node.js 18.x runtime now available in AWS Lambda | Amazon Web Services
aws.amazon.com

Twitter loses payroll department, other financial employees as part of mass resignation under Elon Musk
www.businessinsider.com

気候変動の対策としての大規模な植林は森林の成長につながらないという研究結果
gigazine.net

TwitterやMetaが大量解雇を進める一方でTikTokは社員倍増計画を始動、広告シェアの拡大へ向けて突き進む
gigazine.net

TwitterのAIが流れ星の動画を「いかがわしい」と判定。天文家のアカウントが凍結される | Gadget Gate
gadget.phileweb.com

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

最新ITニュース 2022/11/18版発行


Retty の Terraform CI/CD 解体新書 - Retty Tech Blog
engineer.retty.me

ユーザーが迷わない、直感的に操作できるUIの作り方 | UX TIMES
uxdaystokyo.com

日本を破滅させかねない経団連の「WEB3」戦略 国が手を出した業界から崩壊が進む構造とはこのこと | JBpress (ジェイビープレス)
jbpress.ismedia.jp

Amazon SageMakerを利用したエンタープライズのためのMLOps基盤ロードマップ | Amazon Web Services
aws.amazon.com

Software Design の特集に寄稿しました - LIVESENSE ENGINEER BLOG
made.livesense.co.jp

Intel、96%の精度/ミリ秒単位でディープフェイク動画を検出できる技術
pc.watch.impress.co.jp

ARM64 版 Windows 11 で動作する dd + gzip 自作ツール (物理ディスクのイメージ化 + リストア、Linux の dd + gzip 互換) の提供 - Qiita
qiita.com

Twitterが数百人退職のため本社を一時閉鎖へ
gigazine.net

メガネのJINSVR(PICO4)専用メガネを発売
www.gizmodo.jp

【やじうまPC WatchGeForce RTX 4090でコネクタが溶ける問題をGamers Nexusが再現。差し込みの甘さが原因か
pc.watch.impress.co.jp

プロダクトスペシャリストに転向して半年が経ちました - commmune Engineer Blog
tech.commmune.jp

Twitterアカウント開設から90日間は「Twitter Blue」への加入が不可能になる
gigazine.net

1万円切る「スマートバンド」、Apple WatchやPixel Watchに勝る用途とは
xtech.nikkei.com

イーロン・マスクTwitter再生の最優先案件にしている上位5件は「Blueの認証済みマーク」「Blue for Business」「DMの暗号化」「ツイートに関するヒント」「長文投稿」
gigazine.net

Go Style
google.github.io

ツイッター従業員が集団脱出、マスク氏が求める「極端な激務」拒否
www.cnn.co.jp

Hundreds of employees say no to being part of Elon Musk’s ‘extremely hardcore’ Twitter
www.theverge.com

Twitterの「ハードコア」を選択せずに辞めた従業員のツイート多数
www.itmedia.co.jp

インボイス制度、中小事業者の税負担和らげる激変緩和措置を検討
www.itmedia.co.jp

ヤマハのゲーミングミキサー「ZG01」開発担当直伝! 使いこなし術
av.watch.impress.co.jp

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

こんなに簡単だったの?GoogleAppsScriptのたった2つのファイルでpdf作成Gmailのサイドバーを作成していく!

Gmailのサイドバーにはサイドバーアプリがある

Gmailはみなさんがお使いのメーラーです。
しかし、拡張機能というものがあり、「…」ボタンを押すとアプリの追加ができます。
ここにはDropboxEvernoteといった追加機能があると思います。
チェーンのマークが今回自作したアプリになります。
今回はこのGmail拡張機能の作り方について紹介します。

今回はこのGmailの追加拡張機能を自作で作っていくことを目標とします。
このコードがしていることはGmailで受信したメールをpdfとして、一発でGoogleドライブに保存するという代物です。

ファイル構成

appscript.json
コード.gs
の2つのファイルだけで拡張機能が作れます。

appscript.json

{
  "oauthScopes": [
    "https://www.googleapis.com/auth/gmail.addons.execute",
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/gmail.modify",
    "https://mail.google.com/",
    "https://www.googleapis.com/auth/drive",
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/userinfo.email"
  ],
  "gmail": {
    "name": "メール保存アドオン",
    "logoUrl": "https://img.icons8.com/ios/38/link--v1.png",
    "contextualTriggers": [
      {
        "unconditional": {},
        "onTriggerFunction": "buildAddOn"
      }
    ],
    "openLinkUrlPrefixes": [
      "https://mail.google.com/"
    ],
    "primaryColor": "#f5f5f5",
    "secondaryColor": "#4285F4",
    "version": "TRUSTED_TESTER_V1"
  },
  "runtimeVersion": "V8",
  "exceptionLogging": "NONE",
  "dependencies": {
    "enabledAdvancedServices": [
      {
        "userSymbol": "Drive",
        "version": "v2",
        "serviceId": "drive"
      }
    ]
  },
  "timeZone": "Asia/Tokyo"
}

コード.gs

 * マニフェスト 'onTriggerFunction' フィールドで指定されたアドオン起動トリガー
 * 
 * @param {Object} イベントオブジェクト
 * @return {Card} カードオブジェクト
 */
function buildAddOn(e){
    var accessToken = e.messageMetadata.accessToken;
    GmailApp.setCurrentMessageAccessToken(accessToken);

    var messageId = e.messageMetadata.messageId;
    var message = GmailApp.getMessageById(messageId);
    var subject = message.getSubject();                 // 件名
    var from = message.getFrom();                       // 送信元
    var attachments = message.getAttachments();         // 添付ファイル

    // UI を作る
    var buttonSet = CardService.newButtonSet();
    var exportButton = CardService.newTextButton()
        .setText('Drive Export')
        .setOnClickAction(CardService.newAction()
            .setFunctionName('driveExport')
            .setParameters({'messageId': messageId}));

    var card = CardService.newCardBuilder()
        .setHeader(CardService.newCardHeader()
            .setTitle(subject))
        .addSection(CardService.newCardSection()
            .addWidget(CardService.newKeyValue()
                .setTopLabel('送信元')
                .setContent(from))
            .addWidget(CardService.newKeyValue()
                .setTopLabel('添付ファイル数')
                .setContent(attachments.length + ' 個'))
                            .addWidget(CardService.newKeyValue()
                .setTopLabel('本拡張機能使い方')
                            .setContent('本拡張機能は受信したメールをpdf化し、<br>ご自身のGoogleドライブに保存します'))
                            .addWidget(exportButton))
        .build();

    return card;
}

/**
 * 指定されたメッセージ識別子に対応するメール本文と添付ファイルを Google ドライブに格納する
 * 
 * @param {Object} イベントオブジェクト
 */
function driveExport(e){
    var messageId = e.parameters['messageId'];
    var message = GmailApp.getMessageById(messageId);

    var driveFolder = 'Gmail Export';
    var folders = DriveApp.getFoldersByName(driveFolder);
    var folder = folders.hasNext() ? folders.next() : DriveApp.createFolder(driveFolder);

    html = 'あああ';
    html += 'From: ' + message.getFrom() + '<br />';
    html += 'To: ' + message.getTo() + '<br />';
    html += 'Date: ' + message.getDate() + '<br />';
    html += 'Subject: ' + message.getSubject() + '<br />';
    html += '<hr />';
    html += message.getBody().replace(/<img[^>]*>/g, '');
    html += '<hr />';

    var attachments = [];
    var atts = message.getAttachments();
    for ( var i = 0; i < atts.length; i++ ) attachments.push(atts[i]);

    if ( attachments.length > 0 ) {
        var footer = '<ul><a href="https://mori-building.cybozu.com/k/#/portal">業務関連リンク</a>';
        for ( var i = 0; i < attachments.length; i++ ) {
            var file = folder.createFile(attachments[i]);
            footer += '<li><a href="' + file.getUrl() + '">' + file.getName() + '</a></li>';
        }
        html += footer + '</ul>';
    }

    var tempFile = DriveApp.createFile('temp.html', html, 'text/html');
    folder.createFile(tempFile.getAs('application/pdf')).setName(message.getSubject() + '.pdf');
//  tempFile.setTrashed(true);
    deleteFile(tempFile.getId());
}

/**
 * 指定したファイルを Google ドライブから完全削除する
 * 
 * @param {String} ファイル ID
 */
function deleteFile(fileId){
    var token = ScriptApp.getOAuthToken();
    var response = UrlFetchApp.fetch(Utilities.formatString('https://www.googleapis.com/drive/v3/files/%s', fileId), {
        method: 'delete',
        headers: {
            'Authorization': 'Bearer ' + token
        },
        muteHttpExceptions: true
    });
}

ここまでコードをかけたら完成です。
あとはディプロイしていきます。

エディタ右上にディプロイボタンがあるかと思います。
これでコードを実際のGmailに配置します。

新しいディプロイ→ディプロイをテストを選択します。
Application(s):Gmailをインストールします。
これで自身のGmailにコードを流し込み、改造することができます。

エディタ右上にディプロイボタンがあるかと思います。
これでコードを実際のGmailに配置します。

新しいディプロイ→ディプロイをテストを選択します。
Application(s):Gmailをインストールします。
これで自身のGmailにコードを流し込み、改造することができます。

最新ITニュース 2022/11/17版発行


エプソン、オフィス向けレーザープリンタから撤退。2026年までにインクジェット方式に一本化
pc.watch.impress.co.jp

「インフラ開発エンジニアが活躍できる領域は無限」。インフラエンジニアやソフトウェアエンジニアにとって次のキャリアとなりえる - さくマガ
sakumaga.sakura.ad.jp

ecspresso+ecschedule+lambrollでCI/CDを作った話 - トラストバンクテックブログ
tech.trustbank.co.jp

iPhone 14の衛星通信を米国で体験--「日本にもぜひ導入してほしい」と思った理由
japan.cnet.com

職員室の会話が学習端末に録音され漏れる、ショックで登校できない生徒も - ライブドアニュース
news.livedoor.com

機械学習エンジニアリングで『みてね』事業に貢献!~新卒MIXIエンジニア成長の軌跡、その後〜
techfeed.io

量子計算機暗号にも弱点はある NTT、弱みを補いつつ冗長性も確保する暗号技術を開発中
www.itmedia.co.jp

Microsoft Teams、仕事仲間とソリティアマインスイーパーをプレイ可能に
pc.watch.impress.co.jp

E2554 - 電子書籍アクセシビリティに関する日本産業規格 | カレントアウェアネス・ポータル
current.ndl.go.jp

ToDoアプリ作成を通したReactの状態管理ライブラリ基礎学習~第二部 Redux-Toolkit編~ - RAKUS Developers Blog | ラクス エンジニアブログ
tech-blog.rakus.co.jp

iFixitがSurface Pro 9の修理しやすさを賞賛。MSも修理パーツを一般提供予定 | テクノエッジ TechnoEdge
www.techno-edge.net

テスラ車1000台以上がリコール、中国での暴走死傷事故が原因か
gigazine.net

COCOA機能停止版が配信。約2年半の歴史に幕
pc.watch.impress.co.jp

さよなら「COCOA」 最終版3.0.0で機能停止後に削除を
www.watch.impress.co.jp

開発以外へのスクラム導入ガイド - 「よりぬきスクラム」でチームの勝ちパターンを素早く見つけよう - Agile Journey
agilejourney.uzabase.com

アメリカのPM界の成熟度が10だとすると日本は2」 PM Club主催者、佐々木真氏が “PMスキルの定義付けと言語化”に挑戦する理由
logmi.jp

Figmaを使いこなせ! デザイナー必須のおすすめプラグイン15選 - ICS MEDIA
ics.media

エンジニアリングマネージャのしごとを読んだ - HsbtDiary(2022-11-17)
www.hsbt.org

会社ブログの記事を"ペアブロギング"してみた - BOOK☆WALKER Tech Blog
developers.bookwalker.jp

門脇 敦司 on Twitter: "1/ GitHub 元CTO「マイクロサービスにしたことがアーキテクチャ上の最大のミスだった」 (※少しマニアックな内容ですが、個人的には面白いと感じたので載せます→) https://t.co/SCZfc2J8vI"

twitter.com

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

最新ITニュース 2022/11/16版発行


Metaの大規模ソースコード管理システム「Sapling」がオープンソース
gigazine.net

株式会社はてなに入社 - kmuto’s blog
kmuto.hatenablog.com

勾配ブースティングで「幅を持たせた予測」を行う
zenn.dev

【Bun】BunとNode.jsの違いのメモ - UGA Boxxx
uga-box.hatenablog.com

イナバ on Twitter: "元アマゾン社員が「Amazonが新規事業開発で使っているアイデア出しフォーマット」を公開していました。 プレスリリース形式に情報をまとめるとのことです。 出典:forbes「アマゾンのすごい『逆算資料』。新サービス説明資料は『… https://t.co/7s64aUMe9P"

twitter.com

SIerから自社サービス企業への転職で感じた「ここまで言っていいんだ」  領域が違うからこそ必要だった“慣れ” 
logmi.jp

「恐喝に応じるのも犯罪」ランサムウェアの身代金支払いの禁止を豪政府が検討中【やじうまWatch
internet.watch.impress.co.jp

米国でレベル2対応車の販売シェアは46.5%--1位トヨタ、2位ホンダ、5位スバルと強い日本勢
japan.cnet.com

Twitterに疲れた人が集まる匿名SNS「Tters」があるらしい「初期のTwitterみたい」「平和で癒される」
togetter.com

みずもれ on Twitter: "Pixiv、シンプルにR-18で検索したらヤバいと聞いて検索してみたら 普通に本物の死体写真の盛り合わせとか、明らか児ポのデータ販売のサンプル画像(料金表つき)とかが出てきて驚いている なんだこのスラムは ダークウェブでやれ 尚投… https://t.co/Ldf1ydHJMY"
twitter.com

Microsoft Store版「Windows Subsystem for Linux」がv1.0.0に到達、プレビューを卒業/OSのリリースサイクルにかかわらず、より積極的な機能追加・改善を進める
forest.watch.impress.co.jp

黒百合姫 | 漫画家<物語の中の人9巻発売中> on Twitter: "「19歳でこんなに目がキラキラなんて、甲状腺の病気かもしれませんね、検査してみましょう」 検査後 「何の異常もありませんでした。ただ可愛いだけでしたね」 #ドクターに言われた衝撃的な言葉 https://t.co/pSCByam86N"
twitter.com

アイキャッチデザインで参考になるWebメディア37選 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
liginc.co.jp

インボイスで漫画家の2割が廃業も? 危機感抱くエンタメ業界 声優・アニメ・演劇団体と共同記者会見
www.itmedia.co.jp

Twitter解雇」のイタズラ実行者がイーロン・マスクとスリーショット、マスク氏「解雇は最大のミス」
gigazine.net

EV戦略見直しのトヨタ、もう出遅れを挽回できないのか テスラ・中国メーカーが快走、欧米メーカーはトヨタ凌駕する投資 | JBpress (ジェイビープレス)
jbpress.ismedia.jp

いないはずの時間帯にまさかのお客が!? イオンリテールが「AIカメラ」を導入して気付かされたこと
www.itmedia.co.jp

採用時に見ているのは技術と、経歴よりもコミュニケーション能力 LINE・メルペイ・一休の入社前後の評価のポイント
logmi.jp

朗報や! 「Vivaldi」は表示言語を関西弁にできるらしいで/「Facebook」なんかも関西弁にできるで。試してみ【やじうまの杜】
forest.watch.impress.co.jp

Macマルウェア混入、「原因の約5割はMackeeper」との報告
gori.me

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

最新ITニュース 2022/11/15版発行


決済を伴う取引に関するサービス共通利用規約改定の事前のお知らせとお願い
www.pixiv.net

アメリカ製を装ったロシアのソフトウェアが8000個以上のアプリに組み込まれて米軍にも使われていたことが明らかに
gigazine.net

Docs の独自コマンドはサーバなしで動く。 - freee Developers Hub
developers.freee.co.jp

国産半導体が売れるジャンルってあるのだろうか?
anond.hatelabo.jp

ONNXモデルのチューニングテクニック (基礎編) | AI tech studio
cyberagent.ai

Yuta Okamoto on Twitter: "「論理的思考能力と集中力が求められるプログラミングは女性に不向き!」とか言って喜んでる人たち、かつて「コンピュータ」の主な担い手が女性だったということすら知らなさそう。 https://t.co/MJYFElfnVl"

twitter.com

【悲報】イーロンマスクさん社員に激おこ「Android向けTwitterがくそ重いのは事実だけど、君は今まで何をしてきたの?」
togetter.com

Ryou Ezoe(江添 亮) on Twitter: "イーロン「Twitterアプリは1000以上のRPCしてるからクソ遅い」 エリック「Androidチームで6年働いているがそんなことはねえよ」 イーロン「じゃあ何で遅いんだ」 エリック「機能を追加しすぎた技術的負債だな。20ぐらい… https://t.co/jjIL5CsA7Z"
twitter.com

猩々 博士🧪学術系Vtuber on Twitter: "AIで、自作アニメが作れる時代になった! 新しい時代はすぐそこ! フルは帰ってからアップロードする!! #stablediffusion #anythingv3 #AIイラスト #初音ミク https://t.co/s7m7lDEBjY"
twitter.com

Jason Warnerとマイクロサービス - 西尾泰和のScrapbox
scrapbox.io

AWS、全世界から利用できるNTPサーバーを公開
codezine.jp

オンライン会議用の背景画像を生成するやつを作った - hitode909の日記
blog.sushi.money

新型「プリウス」はオールEVの未来に活路を見いだせるのか? | 米経済紙も注目
courrier.jp

Windows版「OneNote」アプリに文字起こし機能 ~複数話者を識別、ペン入力と同期再生も/まずは「Office Insider」で。段階的に提供範囲を拡大
forest.watch.impress.co.jp

イーロン・マスクの「Twitterアプリが遅い」発言が間違っていると指摘したTwitter従業員が解雇される
gigazine.net

三井住友カード、5%還元対象からファミリーマートを除外 12月16日から
www.itmedia.co.jp

SQL】これ以上の値上げは勘弁してください 。CASE式で正しく値上げする - Qiita
qiita.com

画像生成AI「Midjourney」をアニメ風二次元イラストに特化させたモデル「niji・journey(にじジャーニー)」がクローズドベータテスターを一般募集中
gigazine.net

メールアドレスを持たないアカウントも freee 人事労務を利用できるようになりました - freee Developers Hub
developers.freee.co.jp

アマゾンが過去最大規模のレイオフ計画、デバイスや小売りなど対象
www.bloomberg.co.jp

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp

【GoogleAppsScript】GoogleスプレッドシートでPHONETIC関数を実装していく【時短】

名簿にふりがなを入れておいて

今、日本は紙とデジタルの間にいます。
デジタル庁が日本のデジタル化を押し進めていますが、そもそも日本人は何が自動化できるのかが理解できていません。

今回は漢字をひらがなにするPHONETIC関数をGoogle上で実装していきます。

PHONETIC 関数とは?

support.microsoft.com
引用:
https://support.microsoft.com/ja-jp/office/phonetic-%E9%96%A2%E6%95%B0-9a329dac-0c0f-42f8-9a55-639086988554

PHONETIC関数とはExcel2002,2003,2007,2010でサポートとされている関数です。
www.youtube.com

このようにエクセルは漢字をひらがななどに簡単に変換してくれます。

この機能をGoogle上で実装していきましょう
 * 指定された文字列の読みがなを返却します。
 * @param {string} word 日本語のの文字列
 * @param {string} kquery "h"はひらがな / "k"はカタカナの文字列
 * @return {string} 変換後の文字列を意味します
 * @customfunction 
 */
 function GetPhonetic(word,kquery="h") {

  //よみたんAPIに「かな」の読みがなを要求
  let url = "https://yomi-tan.jp/api/yomi.php?ic=UTF-8&oc=UTF-8&k=" + kquery + "&n=3&t=" + word

  //よみたんAPIの応答から1個目を取得
  let phonetic = UrlFetchApp.fetch(url).getContentText().split(",")[0]
  
  return phonetic;
}
10行ほどで完成です。

今回はこのスプレッドシートのA1セルに「安倍晋三」と入力していきます。
そしてA1セルに安倍晋三と入力します。

これで漢字から一発でひらがなに変換する関数ができました。
これでくっそつまらない業務が1秒で終了します。
しかも未来永劫どこでも使用できます。

最新ITニュース 2022/11/14版発行


フリー&オープンソースファイヤーウォールアプリ「Portmaster」がv1.0.0に/Windows/Linux対応
forest.watch.impress.co.jp

物理ボタン搭載の7型E Ink採用Androidタブレット
pc.watch.impress.co.jp

デザインシステムに準拠したコンポーネント駆動UI開発への取り組み
zenn.dev

『ヘブンバーンズレッド』における、演出の最大化手法 Unity Timelineを活用したバトルスキルシステム作成事例
logmi.jp

Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
gihyo.jp

Twitterの有料サブスク、登録後は名前が変更できない制限が発覚。コミケユーザーは阿鼻叫喚【やじうまWatch
internet.watch.impress.co.jp

AI搭載イーロン・マスク肖像画が侵入者を猛火で撃退する超危険なセキュリティシステムが誕生
gigazine.net

どうなる? イーロン・マスクという“ツイ廃”が導く混沌のTwitter
www.itmedia.co.jp

Twitterが抱える「モデレーション問題」をイーロン・マスクはどう舵取りするのか(集中連載「揺れるTwitterの動きを理解する」第3回) | テクノエッジ TechnoEdge
www.techno-edge.net

国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨
japan.zdnet.com

SSVC方法論とは? 脆弱性管理手法の新潮流をCISAが解説
www.itmedia.co.jp

PythonKindleの洋書1冊を1分で日本語PDFに変換するコードを書いた話 - Qiita
qiita.com

Chrome の console.log でハマらないために
nmi.jp

フロントエンドのテストコードを書くときに大切にしていること - Cybozu Inside Out | サイボウズエンジニアのブログ
blog.cybozu.io

「作家性」で読み解くビデオゲーム史:飯野賢治小島秀夫 作家性を体現した多くのクリエイターたち
jp.ign.com

開発のスケジュール遅延には抗うことはできないのか? “最大16倍”の誤差を小さくする見積もりの考え方
logmi.jp

生協で「コピーカード」を買ったら販売終了のお知らせをもらった。今の学生は存在すら知らない?コピーしたい時どうしてるの?
togetter.com

メモアプリの安全性と代表的なメモアプリ
eizone.info

錠前次郎 on Twitter: "今中国で話題になってるテスラの事故…まだ詳しい原因は分かってないっぽい… https://t.co/yBYIuVYRVf"

twitter.com

[本日の一品]絶対に買うしかない「一冊でも倒れないBOOK STAND」
k-tai.watch.impress.co.jp

合成背景に人が溶け込むよう照明を調節する技術 Googleが開発
www.itmedia.co.jp