投稿

12月, 2017の投稿を表示しています

OneDrive for Business で quota を 5TB に増やす方法

E3 持っていない場合は、OneDrive for Business Plan2 という年額100ポンド程度のライセンスを購買するのが良し。既存ユーザーにこのライセンスをアサインした後、以下のようなややこしい処理を実施しないと、そのユーザーへの Quotaは変わらない模様。 https://answers.microsoft.com/en-us/msoffice/forum/msoffice_onedrivefb-mso_winother/how-to-increase-onedrive-for-business-storage/5d3463b7-dcf0-4e63-9437-1074f12d2fe6 これを実施した後も、Office365 | Admin | OneDrive | Storage では 1024GB となっているが、Windows側の Task bar の OneDrive を右クリックし、Manage Storage で飛ぶ Web page では、quota が 5120.00 GBに増えているのが見える。

Ruby / Rail のお勉強 1

K講師による Ruby / Rail 講座第一回 - 1 + 1 の + を再定義して、マイナスにしたり、掛け算にしたりできちゃう。えっ、って感じ。JSの ProtoTypeとも違うなあ。 - 新プロジェクトの作成は簡単、テンプレートが充実しているみたい。MVC の VC だけを作るとか、Mを含めて、しかも DBのSchemaの定義までオプション指定できるみたい。 - MVC の M と、DB Schema が疎な結合されているらしい。疎と言っても、何も書かないと DB Schema の properties / fields がそのまま M ですでに認識されているので、何が疎なのか理解できていない。同じ名前で、M側で異なるブツで上書きできるということなのかな。 - .NET だと、MVC の M に Entity Framework を定義して、必要に応じて、 C側で View Model を別に立てて properties を mapping する、というのが定石かと思うが、Rails では、M が 多分 View Model に相当し、DB Schemaが Entity Framework の定義に相当するのかなあ。 - C と V も、暗黙的に接続されている。Cに @abc と変数を定義し、View側で @abc と使える。この引き渡しは、explicit に書く必要ない。 - @は変数宣言、@@はクラス宣言。 - convention に則って書いていくと、驚くほどコード行数が少なさそう。 - router は、ラウターと発音せねばならない。

Web Deploy の SSL Certificate 更新

IISのSSL Certificateの期限切れ、その更新は割と簡単。 Web Deployを使用している場合、こちらのCertificateは上のとは独自の設定を持っているので、こちらも新Certificateを指定する必要がある。こちらも簡単、やりかた: https://technet.microsoft.com/en-us/library/cc770458(v=ws.10).aspx

SPA を IIS から流す際の ASP 側のルーティング

Single Page Application (SPA) にて、トップ以外のページで F5 (page reload/reflesh) を押すと、サーバーから Page Not Found が返ってくる。通常、SPA をレンダーする Web server は、基本的に、GETリクエストに対して、ごく短い 唯一のページ返すだけがお役目。\cart とか \list 等が GET で飛んできても、左様なページ(MVCだとcontroller) は存在しないので、404 エラーとなる。 そこでさっそく調べると、以下を web.config に追加せよ、とある(Web serverは IIS を想定)。     <rewrite>       <rules>         <rule name="Rewrite Text Requests" stopProcessing="true">           <match url=".*"/>           <conditions>             <add input="{HTTP_METHOD}" pattern="^GET$"/>             <add input="{HTTP_ACCEPT}" pattern="^text/html"/>             <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>           </conditions>           <action type="R...

Redux

Redux の仕様を説明をするほど勉強した訳ではあらず、これを触ってみたい思いに駆られた不純な動機あたりからぼちぼち。 まず、React コミュニティでは、かなりあちこちで Redux という単語を見せつけられる。React Router あたりを勉強していると、Routerという単語よりもむしろ多く見るかもしれない。これをそのまま素通りするは武士の一分が立たぬ。 次に、Jest による Unit Test を書き始めたところ、対象のモジュールに singleton なモジュール絡むと(それを import して何かしらすると)、Testが走る前にJest の validate に引っかかり、Unit Test自体がエラーとなることに唖然とする。 例えばだが、"Loading..." などを modal に表示する spinner モジュール等は、どこかに置いてglobal に公開し、どのモジュールからでも使わせて良いではないか。複数の Ajax request が あちこちから、ほぼ同時に post される際にも、一か所で処理できれば、無駄な render() 実行が少なくなるだろう。なので、これを singleton として実装してきた。ところが、実動作は全くOKなのだが、Unit Test でsingleton は色々と問題が出る。となると、factory 作って、、、となるかもしれないが、Reduxというのが救世主なのでは無いかとぼんやり感じていたので、勉強してみた。見事に解決してくれたので、その備忘録。 --- ReduxをC#的に乱暴に表すと、イベント群を取り扱う小さな class であり、その目的は、あちこちのクラスに分散しているであろう events の起動やリスナーを一か所で集中管理する(これはC#で普通に実施している方も多いと思う)のだが、各クラスのインスタンスの state も同時に集中管理する、というのがみそだと思う。実際に、Redux を C#に取り込むというサイトもある。 http://massivepixel.co/blog/post/redux-csharp-part1 Redux aware なモジュールは container と呼ぶそうだが、それは、a) 自己の state の変化を Re...

Jest manual mock

Jest の続き、 mockについて。Jest の documentation は悪くはないけど React のそれに比すると、ちいと本質の説明が抜けていたりする。 今回テストの対象は、小さなアプリで、Web API / React の組み合わせを TypeScript で書いたもの。Azure AD への oAuth2 と、Axios を使った API (Rest) call が存在し、これらを mock してみよう、というお題。が、壁が厚すぎるので、まずは簡単な、エラー表示だけをつかさどる Error というモジュールを Mock してみる。 error.tsx (actual): --- import * as React from "react"; interface Props {     errors: string } interface State { } export default class Error extends React.Component<Props, State> {     constructor(props: Props) {         super(props);     }     public render() {         return <h3>{this.props.errors}</h3>;     } } ./__mock__/error.tsx (mock 版) mock版は、actual版 の同フォルダに __mock__ フォルダを作成しその直下に置かねばならない + error.tsx (actual) + __mock__        + error.tsx (mock) --- import * as React from "react"; interface Props {     errors...