さわらブログ

さわら(@xhiroga)の技術ブログ

unzip コマンドで warning: stripped absolute path spec from / と表示されたら zipファイルの中身を unzip -l で確認する

結論から言うと、Dropboxが自動生成したZipファイルはルートディレクトリのパスが含まれるらしい。

stackoverflow.com

unzip -l で中身を確認しよう。( zip -sf でもいいが、 unzip だとファイルサイズも確認できて嬉しい)

f:id:hiroga_cc:20201124060846p:plain
unzip -l

詳細

具体的には以下のエラーが出た。

$ unzip resources/worldometers.zip
Archive:  resources/worldometers.zip
warning:  stripped absolute path spec from /
mapname:  conversion of  failed
replace worldometers.zip? [y]es, [n]o, [A]ll, [N]one, [r]ename: 

$ unzip -l resources/worldometers.zip
Archive:  resources/worldometers.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  09-17-2019 10:27   /
   119574  09-17-2019 10:26   worldometers.zip
---------                     -------
   119574                     2 files

mapname: conversion of failed については、Zipファイルの中に同名のZipファイルが含まれていることで解答に失敗しているエラー。 -d オプションで解凍先を指定すればOK。

チーム開発で JetBrains/Youtrack を利用する際の私的注意ポイント

justInCase で開発にJetBrainsの製品を利用しています。

チームで利用する際に気を付けたいポイントをまとめました。なお、私も勉強中なので誤っている点があるかもしれません。ご指摘いだければ幸いです。

[JetBrains] OrganizationとTeamの違いを理解する

会社に相当する Organization と、プロジェクトやチーム相当する Teamの二つの概念があります。

Organiztion には クレジットカードを登録できるが、チームにはクレジットカードを登録できない、といった違いがあります。

(なお、直接支払いに利用されるクレジットカードはサブスクリプションごとに管理されている)

注意したいのは、Organizationのメンバーがライセンスを購入する際、新しいEメールアドレス(おそらくOrganizationのAdministratorではないアドレス?)で購入を行うと新たにチームが作成されることです。 たくさんTeamができて混乱するので、早めに社内購入フローを作りましょう。

sales.jetbrains.com

ちなみにトリビアですが、TeamのAdministratorをOrganizationのAdministratorに指定するとTeamのAdministratorから消えます。

[JetBrains] Startup割引の利用を検討する(Youtrackの場合は年払いのみ)

設立5年以内のスタートアップはStartup割引が利用できます。

IntelliJ Ulitimate のみならず Youtrackも対象です。ただし、Youtrackの場合は年払いのみが対象とのこと(セールスの方に確認)

www.jetbrains.com

[Youtrack] 課金対象になるユーザーの範囲を理解する

YoutrackにはユーザーのStatusを変更できる機能があります。

f:id:hiroga_cc:20201119122704p:plain
Youtrack ユーザーステータス

banされていないユーザーが課金対象なので、月払いかつその月に利用されていないユーザーがいる場合は積極的に banした方が良さそうです。

www.jetbrains.com

なお、ban以外のステータス(inactiveなど)が課金対象かは未検証です。

[Youtrack] 年払いの仕様を理解する。

簡単に言うと、年払い対象に指定した人数のみが年払い対象であり、それ以外は月払いになるようです。

以下の『年間「"True-Up"(調整)」払い』を参照。

www.jetbrains.com

Mac mini 2011 の HDD交換

Mac miniのHDDを交換しました。

f:id:hiroga_cc:20201115132738j:plain
Mac mini with HDD

組み込みのHDDはTOSHIBAの500GBのモデルですが、いま入っているのはWestern Digitalの4TBのモデルです。

Mac miniの処分のため元の500GBのHDDに戻すことにしました。その作業レポです。

手順

基本的にiFixed の手順を参考にしました。

www.ifixit.com

ただし、取り付けてあるWestern Digitalの4TB HDDはデフォルトのHDDより厚みがあるため、基盤を取り外してからHDDの換装をします。

購入したもの

レンチやドライバー、ケースから基盤を取り出すための部品が一揃いになったツールキットです。

レポ

f:id:hiroga_cc:20201115133046j:plain
底の蓋をひねって外しました。

f:id:hiroga_cc:20201115133243j:plain
WiFiアンテナプレートを外します。

f:id:hiroga_cc:20201115133324j:plain
ファンを外しました。

f:id:hiroga_cc:20201115133420j:plain
何かをガードするプラスチックの部品。これは外さなくても良かったかも。

f:id:hiroga_cc:20201115133504j:plain
HDDと基盤を接続するケーブルを外します。

f:id:hiroga_cc:20201115133810j:plain
コの字型の部品を穴に差し込み、ケースから引っ張り出します。

f:id:hiroga_cc:20201115133900j:plain
基盤の取り出し完了。

f:id:hiroga_cc:20201115133926j:plain
デフォルトのHDDに換装

f:id:hiroga_cc:20201115134000j:plain
換装完了。

チーム開発でコミットを公私混同しないための Git/GitHub 設定3選

最近PCを新しくしたので、チーム開発でGitを使う場合にやっておきたい設定をまとめました。

前提

GitHubはプライベートとチーム開発で同じアカウントを利用します。

一人で2つ以上のアカウントを持つことは利用規約違反だし、これから紹介する設定を利用すれば困ることは少ないはずです。

qiita.com

設定

[Git] コミット時のメールアドレスをチームのメールアドレスにする

リンク先で説明されているように、リポジトリごとにユーザー情報を設定することで可能です。

linuxize.com

私はリポジトリ数が多くて面倒なのでシェルで一括設定しています。(macOSのfindで動くようになっています。Linux等の場合は自分で書き直してください)

/usr/bin/find ./*/.git/config | xargs -I {} git config -f {} user.email "$EMAIL"

[GitHub] チームのメールアドレスによるコミットを、GitHub上で自分のコミットとして表示する

Emails から Add email address を設定してください。

f:id:hiroga_cc:20201114120446p:plain
GitHub - Emails

[GitHub] Organizationのリポジトリの通知はチームのメールアドレスで受け取る

Notification の Custom routing を設定することで可能です。

f:id:hiroga_cc:20201114120549p:plain
GitHub - Notification - Custom routing

IntelliJでTool WindowのCommitウィンドウとGitウィンドウを統合する

統合方法

Commitウィンドウのどこかにある "Switch to commit dialog" というメニューを選択すると、Commitウィンドウがなくなります。

それまでCommitウィンドウにあった Local ChangesタブはGitウィンドウに移動し、GitウィンドウでLocal Changes, Log, Consoleのすべてを参照できるようになります。

f:id:hiroga_cc:20201114111417p:plain
Local Changesが統合されたGitウィンドウ

この方法で2つのウィンドウを接続すると、たとえ Command + 0 (macOS標準のCommitウィンドウを開くショートカット) も効かなくなります。

解除方法

分かりません。

関係するか分かりませんが、私の環境だと Gitプロジェクトにも VCSウィンドウが出てきません。代わりにGitウィンドウが出ています。

まとめ

なんなんだろう?

Amplify Console 豆知識(Amplify Console 実践入門 第1.2版のアップデート)

(2版→1.2版に修正)

2020年9月に「Amplify Console 実践入門」という本を出品しました。

techbookfest.org

それ以降に業務でAmplify Consoleを使っていて得た知識をまとめました。いくつかは第2版にも記載しています。
ほお〜と思っていただければ幸いです。

ブランチの接続を解除するとWebサイトは403エラーになる

Amplifyアプリからブランチの接続を解除すると、ホスティングされているコンテンツが削除されます。結果、Webサイトが403 Errorになります。

f:id:hiroga_cc:20201108101325p:plain
403 Error

とはいえ、ブランチ切断の確認画面だとそれって分からないんですよね。よく考えれば確かに予想できるんですが...

f:id:hiroga_cc:20201108101624p:plain
Disconnect Branch

こちらはIssueにまとめているので、よければUp Voteをお願いします! github.com

DockerHubへのログインはできない。

以下のIssueで言及されている通り、DockerHubのRate Limitに引っかかってビルドができないことがあります。

github.com

そして2020-11-08現在、ログイン手段はありません。カスタムイメージを利用されている方は、こちらもIssueのUpVoteを是非お願いします。

CFn, CDKでは DependsOn を設定しよう

ブランチが存在しない状態で AWS::Amplify::Domain が先に作成されようとした場合、 SubDomainSetting に指定されているドメインが未接続のため CloudFormation/CDK のデプロイが失敗します。 DependsOn属性で明示的に指定してあげましょう。

GitHubのWebhookとIncoming Webhookは別物

形式がちょっと違うので、Incoming Webhookを再発行してもGitHub側に登録することはできません。

リポジトリの再接続でOK。

まとめ

以上、Amplify Consoleの豆知識でした。Issueに関しては今後のアップデートに期待ですね!

その他の豆知識も気になる方は、本をご覧いただければ幸いです。

techbookfest.org

IntelliJ (macOS) で Cmd + Shift + A を押すとたまに現れる黄色いプロンプトの正体は manページインデックスの検索だった

IntelliJでたまに黄色いプロンプトが出て困ることありませんか?

f:id:hiroga_cc:20201107125256p:plain
黄色いプロンプト

黄色いプロンプトは何なのか。どうして出てしまい、出さないためにはどうすればいいのか。調べました。

黄色いプロンプトは manページのインデックス検索

このプロンプトですが、すべてのmanページから指定したキーワードを検索した結果です。
Search the Manual Page Index で検索すると言及しているブログが出てきます。 osxdaily.com

実はターミナルで文字列を選択したときのメニューにもあります。

f:id:hiroga_cc:20201107125025p:plain
ターミナルのmanページインデックスで検索

Linuxだと apropos コマンドが対応するようです。この apropos コマンドは私の macOS 環境では普通に使えました。
気になる方はターミナルで apropos ${適当なキーワード} で調べてみてください。

一部のエディタで文字列選択をしていると表示される。ショートカットをOFFにすればOK

IntelliJで文字列選択をしているときに Cmd + Shift + Aを押すと表示されます。
私が利用しているアプリで他に manページのインデックスの検索 をショートカットから起動できるのは、他に InkDrop と Postman でした。
逆に、同じエディタでも VSCode、DBeaverでは起動しませんでした。

対策は簡単で、ショートカットをOFFにすればOKです。

f:id:hiroga_cc:20201107130315p:plain
ターミナルのmanページインデックスで検索 のショートカット

こんなところにあったんですね。気が付かなかった...

まとめ

IntelliJでたまに現れる黄色いプロンプトは、文字列選択をしている際にmanページをインデックス検索した結果でした。
使わない場合はシステム環境設定からショートカットをOFFにしましょう。