📰 Topics

『䜐々朚さん。蚘録っお䜕の圹に立぀んですか』のプチ曞評や、iPad Proでトラックパッドを操䜜できない問題の察凊方法などオススメです。
たた、WSL2 + JetBrainsツヌルでRustの本栌開発する環境を敎えたした。

Table of Contents

曞いたこず

今週はありたせん。

勉匷したこず

【Rust】The book 3章~

3. Common Programming Concepts

倉数や関数は他蚀語ず違うクセもあり、なかなか楜しかったです。
コメントや制埡構文は倧䜓同じ。

読んだこず/聎いたこず

䜐々朚さん。蚘録っお䜕の圹に立぀んですか

意識しお行動するために蚘録が必芁ずいう話です。
私も倧方同じ意芋で、䞀郚新しい発芋もあり楜しめたした😄

個人的に印象に残ったセクションの感想を玹介したす。

蚘録するこずで蚘憶の粟床が高くなる

蚘録するこずにより情報ぞのindexが匵られるむメヌゞです。
私もSlack(times)に感じたこずや情報をリアルタむムに発信しおいたすね👍

蚘録するこずは切り替えを意識するこず

これは完党同意です
よく『PCの操䜜内容ずかを解析しお自動で蚘録したい』みたいな盞談されたすが、私からするず『意識的な蚘録によっお集䞭力を䞊げるこずが䞀番の旚味なのに..䜕を蚀っおいるのだ。。』ずい぀も思っおしたいたす😅

無意識な行動は自由じゃない

この考え方は目にうろこでした..無意識行動の方が自由だず思っおいたので。
『ある行動をするために、やる気が出るのを埅たなければいけないから自由じゃない』..なるほどです。

セミナヌで話すこずを思い぀くのはセミナヌ䞭であるべき

これは䞇人に圓おはたる内容ではない気がしたす..。
蚓緎されたできる人だからこそ蚀える至高の領域..。

90%の時間は「絶察にやるこず」の繰り返し

時間にしお1日あたり910時間分もあるから忘れるに決たっおいる。
「絶察にやるこず」だから忘れないず思っおいるならそれは幻想である。

「絶察にやるこず」を忘れない意味

以䞋の郚分が完党に同意です
障害を起こさない人は衚面䞊倧したこずをやっおなさそうに芋えるけど、実は凄いこずをしおる..に䌌おるず思いたした。

タスクシュヌトナヌザヌの蚀っおいるこずが傍目で芋おいおわかりにくいのは、䜕も問題が起こっおいないずいうただそれだけなので、時間を埗したような感じずか、すごいこずを成し遂げたような感じがたったく芋えおこないからです。でも幎間の節玄時間は銬鹿にならない。

『蚘録は時間の無駄なのでやめたした』みたいな話を(過去の自分含め)よく聞きたすがもったいない
倧抵それはやり方の問題な気がしたす。
私も自身が開発しおいるツヌルTogowlを䜿うようになっおから、ようやくメリットを実感しはじめたした。

蚘録するはずのこずがあらかじめ曞いおある

タスクリストではなくお、これからやるであろうこずのサゞェストずいう考え方。
自分のGTDベヌスの考え方なので同意できない郚分はあり぀぀、面癜い考え方だず思いたした。

面倒くさいこずに意味がある

最埌のセクションです。
蚀葉だけを芋るず仕事のできない人に芋えたすが、本質を぀くラストにふさわしい蚀葉だず思いたした。

なぜそう思うのか..!?
本曞を最埌たで読めば分かるず思いたすので是非👍

朝起きおバッタヌボックスに立぀たで完璧にルヌティン化するこずを䜕故みんなやらないのか

私も毎朝、自宅および䌚瀟で䜜業を始めるたえのルヌチンがありたす。
プロスポヌツ遞手がやっおいるこずをなぜ我々がやらないのかずいうお話。

ルヌチンは粟神安定効果が高く、気が乗らないずきでも䜜業を始めさせる力があるず信じおいたす。

Announcing TypeScript 4.0 RC | TypeScript

以前にも觊れたTypeScript4.0に぀いお、RC版が出たした。

珟時点で䜿いたい機胜は以䞋です。

  • Variadic Tuple Types
  • Labeled Tuple Elements
  • Class Property Inference from Constructors
  • /** @deprecated */ Support

最初、Labeled Tuple Elementsを䜿うならObjectを䜿えばいいのでは..?ず思っおいたした。
しかしTupleの䜿い方を孊ぶうちに以䞋の甚途で必芁なこずが分かりたした。

  • Tupleの持぀順序性が、関数匕数や郚分配列を衚珟するのに必須である
  • 名前を付けるこずで分割代入が䞍芁
  • 名前を付けるこずで可読性が䞊がる

機䌚を芋぀けたら積極的に利甚しおいきたいですね😄

コロナ犍で重芁性を増す“瀟内広報”の心埗

瀟内ぞの情報䌝達をどうすべきか..ずいうAtlassianの蚘事です。

コロナのずきは瀟内でも真停性の怪しい情報が沢山飛び亀いたした。誰も悪意はないのに。
TOPからの情報䌝達が遅れるず、情報が欲しくなる真理が䜜りだした特異点なのかもしれたせん。

npm v7 Series - Beta Release! And: SemVer-Major Changes in npm v7

npmのv7に぀いお、npxが非掚奚になりnpm execになるそうです。
npxはもずもず違和感あったので個人的には歓迎☺

Introducing Workspaces to Bitbucket Cloud

Bitbucket CloudのWorkspacesに぀いお玹介されおいたす。

Everyone who has access to your repos in your workspace is now considered a “member” of the Workspace.

アカりントはBitbucket Cloud党䜓で共通だけど、Workspaceずいう抂念が別途ある..ず。
Workspaceに属するリポゞトリぞ招かれた人はWorkspaceの䞀員ずみなされるようです。

これはSlackやMiroのモデルに近い印象を受けたした。

We will be slowly rolling out new changes in several phases to build towards this new Workspace model.

もずもずはTeamずいう抂念だったけど、埐々にWorkspaceの抂念ぞず移行しおいくようです。
しばらくはBreaking changesがないか..しっかり芋匵った方がよさそうですね。

Working with code problems in IntelliJ IDEA

2020.2から導入されたProblems関連の機胜匷化に぀いお玹介されおいたす。

今埌さらに改善しおいく予定ずのこずで楜しみですね😁
問題を制すものは開発を制すずも蚀いたすし。

ep.57 Vue 3 Study 『よりよい Directive を求めお』

Custom directiveに぀いお知識がなかったので勉匷になりたした。

なるほど.. DOMに察しおよく行う凊理には䟿利ですねえ..。
今たでrefでしか実装しなかったので遞択肢が増えたした。

詊したこず

【Atlassian】Atlassian Cloud API

Atlassian Cloud補品のAPIを䜿う必芁が出おきたので詊しおみたした。
Bitbucketで以䞋3぀のオペレヌションを自動化するのが目的。

  • ナヌザの登録
  • グルヌプの䜜成
  • グルヌプぞのナヌザ远加

REST APIのペヌゞを調べるず、『v1はdeprecatedになったからv2を䜿え』ずのこず。

䞀方、今回やりたかったこずはただv2に察応しおいないようです。
deprecated文のすぐ䞋に蚘述がありたす。

Temporary support for limited 1.0 API resources

The 2.0 REST API will rely on the Atlassian Cloud Admin API for user and group management, but those API endpoints are not yet available. Until the Atlassian platform services are fully available in Bitbucket we will continue to support these 1.0 REST endpoints:

・/1.0/groups
・/1.0/group-privileges
・/1.0/invitations
・/1.0/users/{accountname}/invitations

それぞれ以䞋のAPIを䜿っおできたした。
ナヌザ登録ずいう抂念はなく、リポゞトリぞナヌザを远加する際に招埅するこずになりたす。

オペレヌション 関連API
リポゞトリぞナヌザを招埅 POST send an invite
グルヌプの䜜成 POST a new group
グルヌプぞのナヌザ远加 PUT new member into a group

別途認蚌を通過する必芁がありたす。今回はアプリパスワヌドを䜿いたした。

Basic認蚌でOK。

【Rust】cargo-edit

Cargoでもnpm installのようにCLIからcrateをプロゞェクトぞ远加できたす。
そう..cargo-editを䜿えば。

cargo install cargo-editでむンストヌルしたす。
少し時間がかかりたす。

むンストヌルが終われば以䞋のコマンドでcrateを远加できたす🎉

cargo add structopt

IntelliJ Rustを䜿っおいるずCargo.tomlの補完が効くため必須ではないず思っおいたす。

調べたこず

iPad ProのMagic Keyboardでトラックパッドが効かなくなる


トラックパッドのポむンタが画面に珟れず、操䜜しおも反応がない状態です。
週に1回くらい発生したす。。

䞊蚘サむトに曞かれおいる方法でなおりたした。

  1. USB-C をMagic Keybaordから倖す
  2. iPad ProをMagic Keyboardから倖す
  3. もう䞀床぀ける
  4. Track Padをいじっおいるず画面の隅からポむンタが登堎する

【JavaScript】placeholderにin句を指定できない

以䞋のような曞き方ができないずいう問題です。

SQL`select * from hoge where status not in ${"(1, 2)"}`
// SELECT * FROM company WHERE status NOT IN '(1, 2)'
//  -> 文字列ずしお扱われおしたう..

䞋蚘の蚘事はJavaに察するものですが、prepared statementに含たれる?の数が動的であるなら郜床statementを䜜るのが正攻法のようですね。

ベタですがこんな感じにしたした。

  db.all<Company>(
    `SELECT * FROM company WHERE status NOT IN (${statusIds.map(_ => '?').join(',')})`,
    ...statusIds,
  );
}

【npm】npmコマンドが動かなくなった

npm i -g npmに倱敗したあずにnpmコマンドを実行したら゚ラヌに..。
Windows環境でscoopを䜿っおおり、nodejs-ltsをむンストヌルしなおしおもダメでした。

$ npm
internal/modules/cjs/loader.js:968
  throw err;
  ^
Error: Cannot find module 'C:\Users\syoum\scoop\apps\nodejs-lts\current\bin\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

確認したずころbinディレクトリがpersist配䞋を指しおいたした。
nodejs-ltsをアンむンストヌルしおも消えないため倉わらないのですね。

$ cd C:\Users\syoum\scoop\apps\nodejs-lts\current
$ ll
---------- 1 somebody somegroup    54928 2020-07-22 23:58 CHANGELOG.md
---------- 1 somebody somegroup    81641 2020-07-22 23:58 LICENSE
---------- 1 somebody somegroup    27903 2020-07-22 23:58 README.md
l--------- 1 somebody somegroup        0 2020-08-15 17:13 bin -> C:\Users\syoum\scoop\persist\nodejs-lts\bin
l--------- 1 somebody somegroup        0 2020-08-15 17:13 cache -> C:\Users\syoum\scoop\persist\nodejs-lts\cache

persist配䞋のnodejs-lts\binを削陀したずころ無事動きたした。

敎備したこず

【Rust】WSL2でのRust開発環境構築

やはりWindowsだず䞍安なため、RustはWSLで開発するこずにしたした。
WSL2の環境敎備をしおおいおよかったです。

rustupのむンストヌルは公匏掚奚のコマンドを䜿いたす。
蚭定はdefaultを䜿うのでそのたたEnter。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

以䞋のツヌルチェむンがむンストヌルされたす。

  • cargo
  • clippy
  • rust-docs
  • rust-std
  • rustc
  • rustfmt

cargo-editも別途入れたした。
実はWindows環境でビルドできなかったんですよねコレ。。

cargo install cargo-edit

あずは党おがフツヌに動きたす。Windowsで遭遇したmsvs呚りの苊劎はなんだったんだずいう..😓

【JetBrains】WSL2でJetBrains Toolboxを䜿う

Windowsにも導入したJetBrains ToolboxをWSL2環境に入れたした。
そのため、Ansibleからumakeを䜿ったIDEAむンストヌルの蚘茉を削陀したした。

導入の理由は2぀です。

  • 補品ずバヌゞョン管理が楜 (ハマりポむントも少ない)
  • ToolboxのUIからIDEAの起動が簡単にできる

WSL環境のディストリビュヌションはDesktop環境を䜿っおいないため、ランチャヌ圢匏のGUIは思いのほか䟿利だったりしたす。

今週のリリヌス

Owlelia v0.15.0  v0.16.0

yyyyMMddHHmmssの远加

日時を20200815200214のような圢匏で出力するプロパティを远加したした。

DateTime.validate()の远加

日時をあらわす文字列が正圓かどうかを刀断できたす。
フォヌマットだけでなく2020-01-32のようなケヌスも匟けたす。

Togowl v2.12.0

プロゞェクトセレクタの衚瀺順をよく遞択される順に倉曎

タスク远加/線集ダむアログで衚瀺されるタスクプロゞェクトセレクタの衚瀺順を『遞択された回数が倚い順』に倉曎したした。

遞択回数は端末/ブラりザ毎に蚘録されるため、スマホずPCでは衚瀺順が異なりたす。
端末によっお遞択されるプロゞェクトに偏りが生じる可胜性があるため。

カレンダヌのズヌムレベルを现分化

カレンダヌのズヌムレベルを今たでより现分化したした。
キャプチャを撮る堎合に最適なサむズを遞びやすくなりたす。

その他

遂にRustでツヌルの開発をはじめたした。
来週はRustの倚いレポヌトになるず思いたす🥳