20210911のMacに関する記事は3件です。

Windows使いの開発者がM1 Macに乗り換えた時にブチギレないための各種設定及び操作方法

対象 M1がすごいという噂に踊らされMacbook、iMacまたはMac miniを購入してしまい、何らかの事情でWindowsをさわれなくなりMacOSと心中しなければならなくなった方 環境 Apple Silicon搭載 MacBook Air(よくいうM1 Mac) JISキーボード まず覚える大きな違い ウィンドウのナビゲーション関係のボタンの位置(閉じる、最大化など)は全て逆。これは意外と慣れる。 ショートカットWindowsの時のものと一般的なものはほぼ共通。ただしCtrlではなくCommand(⌘)と組み合わせる 仮想デスクトップ ウインドウを最大化した場合は現在のデスクトップとは別の画面(仮想デスクトップ)が新たに作られそこに最大化される。 3本指で左右にスワイプ または Control+←or→ で画面を行き来できる。 ノートのあんな狭い領域で作業してるやつ頭おかしいと思ったけどこれに慣れると便利。 マルチモニタ環境の場合はモニタの領域ごとに仮想デスクトップが独立して作成されるため、モニタ1の仮想デスクトップにモニタ2からは移動することはできない。 Mission Control Windowsのタスクビュー(win+Tab) のように各ウインドウを一覧できる機能。 3本指で上にスワイプ またはControl+↑。 上記の仮想デスクトップと、それぞれのデスクトップ内のウインドウがモニタごとに一覧表示できる。 上のゾーン右側の「+」をクリックすることで、本来は最大化したアプリをウインドウモードにするとき消滅してしまうなんちゃって仮想デスクトップとは別にちゃんとした仮想デスクトップを作成することができる。 ツールバーは画面上 Windowsではウインドウ上部にあったツールバーは、Macではウインドウモードでもモニタの上に表示される。逆にいうと現在アクティブなウインドウのツールバーが上部に表示される。デスクトップではFinderのツールバー。意外とわからない。 マルチモニタの挙動 Windowsではあるウインドウをモニタを超えて表示できていたが、Macではウインドウは一つのモニタ内に収める必要がある。ウインドウのど真ん中にベゼルが来るようなモニタの領域を超える配置はできない。(できるが隣のモニタに残りの領域が表示されることはない) モニタ間を移動する場合、一度今のモニタの端まで持っていき、気合を入れて隣のモニタに移動しなければならない。 変換、入力関係 日本語入力はスペースバー右の「かな」 英字入力は左の「英数」。勝手に変換されるのは初めこそ変な感じだが慣れると逆にWindowsではもどかしくなるくらい便利。半角キーとは違いトグルしないため、Googleに「pyてょn」や「じゃゔぁscりpt」なんて言わなくて済む。というかかな入力でもある程度知名度の高い単語は打ち切れば単語登録なしで勝手に直してくれる。Pythonって感じで勝手に大文字にもしてくれるので正しい表記厨もボコボコにできる。 画面の撮影、収録 SS撮影はShift+⌘を押しながら 3でアクティブなモニタの全画面のスクリーンショット 4で領域を指定してスクリーンショット 5で範囲指定などを行い動画収録 (終了時は何故かShiftではなくControl+⌘+Esc) optionキー 右クリックメニューやツールバーのメニューを開いている時、プロパティなどをみているときにoptionを押すことで表示内容が(一部)変わる。さらにその状態でShiftを押すとさらに変わるものもある。Shift単体で変わるものもある。 例えばフォルダを右クリックしてコンテキストメニューを開いた時、optionキーを押すとフォルダのコピーがパスのコピーになるなど。 設定 Finderの設定 エクスプローラ的役割のFinder。Windowsのようなパスの編集ができないため、初期設定では「よくわかんないけど適当なフォルダ開いて移動したいところのパス辿っていくか!」ができなくてイライラする。かといってあらゆる操作をターミナルからやるのはアホらしい。隠しファイルの表示も設定項目がない。許せん。 ルートの表示 デスクトップのどこかの領域をクリックしてFinderのツールバーを上部に出し、「Finder→環境設定」と進む。または適当なフォルダをFinderで開き⌘+,でも設定が開く。 ここのサイドバーの設定で「ユーザー名's MacbbokAir」のような名前にチェックを入れる。(画像は「air」というユーザー) ここがWindowsでいうコンピュータ的な場所になる。 隠しファイル、フォルダの表示 Finderを開き、⌘+.で隠しファイルの表示・非表示が切り替わる。 入力関係 Macの¥記号とバックスラッシュは壁が蜂の巣になるので真っ先に変更するべし。 どんなアプリでもいいのでツールバーの一番左のりんごマークをクリック→システム環境設定→キーボードで設定を開いておく。 円記号(¥)とバックスラッシュ(\)の設定 調べてみると日本語入力時に¥を\にするだけで開発では依然¥が入力されてイライラする記事ばかりで一番のキレポイント。 キーボードの入力ソースを開き、「日本語-ローマ字入力」を選び、まずは英字にチェックを入れる。 その後下へスクロールし、”¥”キーで入力する文字のところをバックスラッシュに変更する。 (脱線)勝手に変換されるのがどうしても慣れない場合はライブ変換のチェックを外すことで無効化できる。 設定終了後、おそらく「日本語-ローマ字入力」のところに「ABC」が残っているはずなのでそれを下の「-」で削除する。 いくら日本語入力で設定を変更してもABCの方が残っているとそちらではずっと¥が入力されてしまい、日本語の時だけ\が打てても意味ねえだろとMacをバキバキにしてしまう事になる。絶対に消すこと。 ABCが消えた場合でも先ほどローマ字入力の設定で英数にチェックを入れていたので問題なく使える。Mac最大の汚点。カス。 ファンクションキーをそのまま使う 悪いな俺はF5押したらデバッグしたり更新してえんだ。 ここの一番下にチェック。 Rosseta2の導入 2021/9/11現在、開発に使うほとんどの製品がM1に対応済み。(ハイパーバイザな仮想環境はUTMを使う) 過去バージョン等でネイティブ非対応な環境を作る際にはRosseta2を使用する。 よく紹介される「ターミナル自体を常にRosseta2で実行」はM1の気持ち的にちょっと気が引けるので、都度ターミナル内でARMかx86エミュレーションかを切り替えたい。 softwareupdate --install-rosetta Aを入力してインストール。 下記のコマンドで切り替えを行う。 arch -x86_64 /bin/zsh #x86_64状態で操作ができる。 uname -m #x86_64 exit #Rosseta2終了 uname -m #ARM64 インストールされていないとエラーが出るのでやり直し。 以上。 終わりに Windowsから仕方なく移行した場合に、自分が困った部分で調べるのにちょっと苦労したものを紹介してみました。 他にも使い心地をよくする設定やツールなどがありますが、それは他の記事に譲ります。 Macを使わなければならない何かしらの理由を持った方の助けになれば幸いです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[M1 Mac] zshで用意してたzshrcなどがなにも読み込まれなくなった

原因 env |grep ZDOTDIR ZDOTDIR=/var/folders/md/3c1mvffj38l1hbxcnr1xtnyw0000gq/T/.tmpAeFhHU これがよく分からないところに設定されている。。。 なぜ? 解決策 /etc/zshenv $ZDOTDIR/.zshenv /etc/zprofile $ZDOTDIR/.zprofile $ZDOTDIR/.zshrc /etc/zlogin $ZDOTDIR/.zlogin の順に読まれるとのことなので /etc/zshenvに以下を追加。 export ZDOTDIR=$HOME
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでMicrosoft Power Platform CLIを使用して Dynamics 365で用意したソリューションからプラン情報を追加したソリューションコンポーネントを作成する

はじめに 当記事は、Microsoft AppSourceに Dynamics 365用のアプリを公開する際に必要となるDynamics 365ソリューションコンポーネントをMicrosoft Power Platform CLIを使用して作成することを目的としています。 ただ、Dynamics 365自体にソリューションのエクスポートするだけなら組織のサイトを開いて 設定(右にある歯車のアイコン) -> 詳細設定 -> 設定プルダウンメニュー ->ソリューション で、ソリューション一覧画面を表示して、「パッケージの種類 = アンマネージド」を選択し、同画面のエクスポートでエクスポートの種類に「マネージド」を選択してエクスポートすれば、立派なマネージドソリューションコンポーネント(以降はソリューションと記す)が出来上がります。 しかしながら、上記方法でエクスポートしたソリューションの場合、ソリューションにライセンス情報を追加することが出来ない(多分ね)訳です。 前置きが長くなりましたが、当記事では、Microsoft Power Platform CLIを使用してライセンス情報を付加したソリューションを作成するための方法を紹介します。 ソリューションについて ソリューションにはアンマネージドとマネージドの2種類が存在します。 アンマネージドソリューション・・・組織にインポートした後にソリューションをカスタマイズできない(開発用) マネージドソリューション・・・組織にインポートした後にその組織でソリューションをカスタマイズできる(リリース用) 公式ドキュメントソリューションの概念にそれぞれのソリューションについて説明されています。(日本語ドキュメントの文中では、"マネージド" "管理"と翻訳されていますのでご注意を) また、マネージドソリューションは、カスタマイズ出来ないので、当然、マネージドソリューションをcloneしてプラン情報の追加はできません。 事前準備 Microsoft Power Platform CLI環境を用意する Microsoftの公式ドキュメント「Microsoft Power Platform CLI とは」を読んでみると、環境構築ための選択肢が用意されていますがMacだと、VSCodeにPower Platform VS Code 機能拡張をインストールするしかない様です(2021/09/11現在) と、言う訳で、Microsoft Power Platform CLI とはにVSCode + Power Platform VS Code 機能拡張環境で進める事とします。 尚、環境構築方法は「Microsoft Power Platform CLI とは」に掲載されていますので、そちらを参照して下さい。 作業ディレクトリの準備 作業をするためのディレクトリを準備して下さい。 当記事では /Users/kobunhada/dynamics/ を作業ディレクトリとして説明していきます。 プラン情報をソリューションに追加ための準備 付録: ソリューションにライセンス情報を追加するのライセンス ファイルを作成するを参照して、以下のファイル(csvファイル)を用意しておきましょう プラン定義ファイル: Microsoftパートナーセンターで作成したオファープランの詳細を定義する プラン マッピング ファイル: それらのプランをソリューションのコンポーネントにマッピングする 例として以下の名前のCSVファイルを定義したとします。 ISV_Plan_Definition_CSV.csv はプラン定義ファイル ISV_Plan_Mapping_CSV.csv はプランマッピングファイル この2ファイルを/Users/kobunhada/dynamicsに配置しておきます。 Microsoft Power Platform CLIを使う 以降の作業は、VSCode上で実行します。念の為、VSCodeでターミナルを表示する方法を紹介します。 VSCodeの"Terminal"メニューから"New Terminal"を選択して下さい。VSCodeの下部にターミナルが表示されると思います。以下の作業は、このターミナルで実施して下さい。 ソリューションを追加する環境の認証プロファイルの作成 大雑把に言うとMicrosoft ログインです。 Dynamics365のkobunhada組織にログインする場合 pac auth create --name myprofile --url https://kobunhada.crm7.dynamics.com/ --nameオプションは12文字以内の任意の名前で良いと思います。 Microsoftログイン画面が表示されるので、それ経由でログインします。 公式ドキュメント通りに --kindオプションや--username,--passwardオプションを指定すると、色々とエラーが出てきます。 どうしてもコマンドのみで行きたい場合は、以下を参考に色々と試してみて下さい。 pacコマンドの使用方法 使用法: pac auth create [--name] [--kind] [--url] [--username] [--password] [--applicationId] [--clientSecret] [--tenant] [--cloud] --name この認証プロファイルに指定する名前 (最大12文字) (エイリアス: -n) --kind 作成する認証プロファイルの種類です。既定値は Dataverse です (エイリアス: -k) --url 接続先のリソース URL (エイリアス: -u) --username 任意: 認証に使用するユーザー名。指定しない場合は AAD ダイアログを表示します (エイリアス: -un) --password 任意: 認証に使用するパスワード (エイリアス: -p) --applicationId オプション: 認証に使用するアプリケーション ID (エイリアス: -id) --clientSecret オプション: 認証に使用するクライアント シークレット (エイリアス: -cs) --tenant アプリケーション ID とシークレットを使用している場合のテナント ID です。 (エイリアス: -t) --cloud オプション: 認証に使用するクラウド インスタンス (エイリアス: -ci) 値: Public, Tip1, Tip2, UsGov, UsGovHigh, UsGovDod ソリューションプロジェクトをclone Dynamics365のkobunhada組織のアンマネージドソリューションKOBUN_HADAをclone pac solution clone --name KOBUN_HADA --outputDirectory /Users/kobunhada/dynamics マネージドソリューションはclone出来ないので注意して下さい ソリューションプロジェクトにプラン情報をソリューションに追加する pac solution add-license -pd /Users/kobunhada/dynamics/ISV_Plan_Definition_CSV.csv -pm /Users/kobunhada/dynamics/ISV_Plan_Mapping_CSV.csv プロジェクトルートへ移動する cd /Users/kobunhada/dynamics/KOBUN_HADA ソリューションをBuildする アンマネージドソリューションをBuildする msbuild /t:build /restore マネージドソリューションをBuildする msbuild "KOBUN_HADA.cdsproj" /t:build /p:configuration=Release /restore Buildしたソリューションファイルの出力先 プロジェクトroot/bin/Debug アンマネージドファイル プロジェクトroot/bin/Release マネージドファイル 以上です。 おわりに 今の会社に入ってから Dynamics 365 の存在を初めて知った(Salesforceは名前だけは知っていたけどCRMやSFA、とはご縁のない人生を歩んで来ました)のですが、CRM業界では、Salesforceに遅れを取っている様です。 但し、つい最近、SalesforceがSlackを買収したことから、MicrosoftはDynamics 365に本腰を入れてシェアを奪いに行くつもりなのかなぁ、と。 これから Salesforce + Slack vs Dynamics + Teams の熾烈なバトルが展開されるのでしょうか・・・しらんけど。 個人的には Slackが改悪されないことを祈るばかりです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む