MacのFinderで「.git」や「.DS_Store」無しのZip圧縮

目的

MacのFinderで作業しているときに、zip圧縮を行う時があります。

標準の右クリックメニュー「(フォルダ名)を圧縮」は便利なのですが、中に含まれる管理用の.gitや.DS_Storeとかも圧縮され、相手がWindowsだったり開発者ではない場合に、ゴミが入っているように見えてしまいます。

対策

zipコマンドで、-xという除外オプションをつければ良いのですが、つい忘れてしまう上、手間なので、Automatorという自動化ツールで簡単なスクリプトを登録して、zipコマンドを叩く手間を減らします。 これにより、Finderの右クリックメニューから、.DS_Store、.git、.svn 、.idea 、__MACOSXといった管理ファイル無しで、Zip圧縮できるようになります。

続きを読む

"Could not load file or assembly 'Microsoft.VisualStudio.VisualC.Utilities'"というエラー(Unity)

UnityプロジェクトをVS2017で開こうとしたときの問題

エラー文言の抜粋

Description: Could not load file or assembly 'Microsoft.VisualStudio.VisualC.Utilities, Version=15.0.0.0,

C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\VisualStudio\15.0_cc4d9d72 \ActivityLog.xml にエラーがあると書かれていても、あんまりわからなかったのでメモ。

対処法

このエラーが出たときは、Visual Studio Installer([ツールと機能を取得]メニューから)から、「C++によるデスクトップ開発」にチェックを入れる。と良いようです。

f:id:aoki1210:20181219001806p:plain
VSの変更

参考

stackoverflow.com

「プロジェクトマネジメント」を知ると幸せになれるかも

こんにちは。青木です。

これは、NEXTSCAPE クラウドインテグレーション事業本部 Advent Calendar 2018 - Qiitaの12/10のエントリです。

一年ぶりのブログ更新です!

今年の登壇

今年は、下記のような登壇を行いました。

「実践ドメイン駆動設計」 から理解するDDD

www.slideshare.net

モデリングフォーラムで登壇したもので、CodeZineで連載してきた内容を1つのスライドにまとめてみました。

HoloLensアプリ設計パターン

www.slideshare.net

HoloLensの設計について紹介してみました。

あとは、Azure Event GridについてACE等でLTしました。

このような設計、開発、技術といったテーマでの発表が多かった私ですが、開発手法や技術要素を極めるだけでは、プロジェクトを成功させることは難しいと感じています。

続きを読む

12年かけてIT技術記事を100本書いたよ

会社でアドベントカレンダーを書くことになり、ネタを考えていたところ、Webで書いた記事が100本を超えていることに気づきました。

「あー、12年もかけて100本も書いたんだなー」ということでざっくり振り返ってみました。

印象に残っている記事

たくさん書きましたが5本ほどピックアップしてみました。

好きなことをアピールできた「アジャイルサムライ」

www.infoq.com

こういうレポート系は滅多に書かないのですが、自分のアジャイルへの熱い思いがひしひしとした入っていて、感慨深いものがあります。 日本ではアジャイルが流行らないのかなぁと残念に思った時期もあり、最近普通になってきたことが嬉しい限りです。

エンジニアとの新しい出会いがあったよ「Seasar.NET」

codezine.jp

記事自体書くのも大変でしたし、当時ブームだったDIについて書き、理解できて楽しかったという思い出があります。 記事を読んだ当時のリーダーの杉本さんに誘っていただき、Seasar.NETのコミッタになり、Seasar界隈のいろいろな人な出会いがあったのが懐かしいです。

続きを読む

Azure SQL DatabaseのbacpacでSQL Serverインポートエラー(CREATE MASTER KEY失敗 : SQL72045)

Azure SQL Databaseからエクスポートして生成したbacpacファイルを、ローカルのSQL Server(2012,2014,2016など)にSSMSでインポートする場合、以下のエラーがでることがあります。

パッケージをインポートできませんでした。

Error SQL72045: スクリプトの実行エラーです。実行されたスクリプト:

CREATE MASTER KEY;

内容

Azure SQL Database側で、マスターキーが設定されています。

回避策は以下のMSDNブログに書いている通りです。

Exported database from Azure SQL failed to be imported to Azure SQL or to local SQL Server – Azure SQL Database Support

原因

AuditやTDE(透過的暗号化)を使うときマスターキーが使用されます。Azure SQL Databaseではパスワードがないマスターキーの作成が可能ですが、ローカルのSQL Serverではマスターキーのパスワード設定が必要です。

回避策

選択肢1 (設定変更)

  • Azureでエクスポートする前に、エクスポート元の既存DBのマスターキーを変更する。

選択肢2(PowerShellパッチ)

  • PowerShellファイルをダウンロードして「RemoveMasterKey.ps1 -bacpacPath “C:¥BacPacs¥Test.bacpac"」というコマンドを実行→拡張子にpatchが付与されたファイルが追加されます。このファイルを使ってインポートする。
  • PowerShellの中では、以下の処理を実施している
    • スキーマやセキュリティ情報を含むmodel.xmlからマスターキーオブジェクト(<Element Type=“SqlMasterKey” />)と資格証明オブジェクト(SqlDatabaseCredential)を削除
    • model.xmlを変更していないかを示すチェックサムがあるので、計算して、Origin.xmlに記載

選択肢3(手動パッチ)

  • 選択肢2がうまくいかない場合のため、手動によるBacpacの編集を解説しています。
    • 手動でZIP(bacpac)を解凍し、model.xmlとOrigin.xmlを編集し、再度ZIP圧縮します。
    • 詳細の説明はこちら→ Editing a .bacpac file – Azure SQL Database Support 。ここにはOrigin.xmlに保存するハッシュを計算するps1もあり。
    • トラブルシューティングのための説明となります。DBファイルサイズが大きい場合などに発生しうるのかもしれません。
    • なお、model.xmlなどのファイル名の大文字小文字は重要です。
    • 設定そのものとDataフォルダの中身(BCP用データ)に関係はないため、Dataフォルダを軽いものだけにしてテストをすると良いと思います。Windows標準のZIPではだめでしたが、別のZIP圧縮ツールではうまく行ったということもありました。

選択肢2が楽で良いのですが、まれに選択肢3を使わなければ行けない場合がありました。

参考

1日で基本が身に付く! JavaScript超入門


たった1日で基本が身に付く!  JavaScript 超入門

たった1日で基本が身に付く! JavaScript 超入門

「たった1日で基本が身に付く! JavaScript超入門」を読みました。

 このエントリーは、WINGSプロジェクトのレビュアーに応募し献本してもらいましたので、その書評となります。

 

この本の良いところは、効率よくJavaScriptの基本を学べるところではないかと思います。

JavaScriptは、歴史も長く、関連するオープンソースも多数あり、情報量が非常に多い言語です。

書籍のメイン部分については、素のJavaScriptを使って、環境構築方法や構文を学べます。

そして、HTMLの操作や、イベントといったつまずきがちな部分を1章ずつ取って、わかりやすく説明しています。

さらに、WebAPIやJSONについて説明しつつ、実際にWebプログラミングを書いてみて動的なサイトを作ってみることができます。

最後には、W3Schoolsやjsdo.itといったサンプルサイトや、JQueryの概要について紹介しています。

JavaScriptに興味ある人が最初に手に取る一冊として最適ではないかと思いました。

 

 

「たった1日で基本が身に付く! HTML&CSS 超入門」を読みました

たった1日で基本が身に付く!  HTML&CSS 超入門

たった1日で基本が身に付く! HTML&CSS 超入門

「たった1日で基本が身に付く! HTML&CSS 超入門」を読みました。著者の方は、スクールの講師としてWebを教えるなどされていることもあり、大変読みやすい一冊でした。

この書籍の良さは、HTML/Web技術の変遷を踏まえつつ、抑えるべきポイントをシンプルに説明していることだと思います。

このエントリーは、WINGSプロジェクトのレビュアーに応募し献本してもらいましたので、その書評となります。

HTML関連(前半)

HTML4.01、XHTML1.0、HTML5が存在する中で、違いを理解しつつ要点を学ぶことができます。

  • サンプルは、主に最新のHTML5が主体で解説されています。ただ、HTML4のときは△△のように書いていたが、HTML5で○○のように書くという補足もあります。そのため、実際のWebサイトのHTMLを読んだときの理解も捗ります。
  • HTML構文の説明だけではなく、Web制作の流れや、ディレクションする上で必要な用語の解説も含まれています。また、divタグの使い所やid/classの使い分けなどの実践的なノウハウも書かれています。
  • さらにHTMLのフォームについても紹介しています。

CSS関連(後半)

HTML同様にCSSについても、わかっているようでわかっていない違いをうまく整理されています。

  • まず、子セレクタと子孫セレクタといったセレクタの種類と違いに関する説明を始めに行っています。
  • そして、デザイン崩れの調査時に理解するべきスタイルの継承について解説しています。親要素に指定したプロパティ値が子要素へと引き継がれる仕組みや、テキスト、リスト、テーブル関連以外の要素に対しても継承するinheritキーワードの解説をしています。
  • そして、スタイルの競合についても紹介しており、作成者スタイルシート>ユーザー(閲覧者)スタイルシート>ブラウザデフォルトの優先度を!importantにて上げる方法や、セレクタの詳細度、詳細度が同じ場合の場所による優先度(後勝ち)について紹介しています。
  • さらに、CSSとして重要な、ボックスモデルのcontent、height、width、padding、border、marginについて紹介し、色指定、テキスト、フォントについても紹介しています。
  • 実際に段組みレイアウト設定を用いて、固定レイアウト(px)と可変レイアウト(%)の違い、ブロックレベル要素(改行されて表示され親要素と同じ幅をもつh1-h6,p,table.ul,ol,dl,div)とインライン要素(横並びに配置でき、高さや上下マージンが指定できないa,em,img,span)などについて紹介しています。
  • またフロートレイアウトについても図を用いてわかりやすく解説しています。

最後に

  • 初心者向けとしてははもちろんですが、すでにHTMLやCSSの概要を把握しつつも、いま一つ理解が足りなかったり、人に教えることができないといったレベルアップを考えている方にもおすすめしたい一冊です。
  • HTMLやCSSを学びたいときに、分厚いリファレンス本を買ってもポイントが分からず使いこなせないことがあります。また初心者向けの本は簡単過ぎて得るものが無いことがあります。この本のバランスはとても良いため、知っている知識を体系的に理解するために最適な内容だと思いました。

よろしければ一度、読んでみてはいかがでしょうか。