いてづきブログ

情シスでやってみたことの備忘録

サービスアカウントを用いたGoogle APIへのアクセス方法

qiita.com Qiitaに投稿しました。 認証とかいろいろ面倒くさくて大変。 Developer Consoleの見た目がいろいろ変わってて、目的の画面にたどり着けなかったりして、疲れたorz GASなら簡単にできるのになー(笑)

Windowsのログインパスワードを忘れた際の対処

必要なもの ・Windows(7,8,10)のインストールディスク、または”システム修復ディスク” これがない場合はPC初期化しかないと思います。 手順 Windowsのインストールを行う。 ※WIndows10でうまくインストーラが立ち上がってこない場合は、Windowsキー→電源→s…

機械学習で遊ぶ~素材準備編~

機械学習を行うためには大量の学習用データが必要ということで、デレステのMVから顔画像を切り出した。 元動画の準備 MacならiPhone・iPadを接続して、QuickTimePlayerの新規ムービー収録でソースにiPhone・iPadを選べば簡単に録画できる。 Windowsでは多分…

機械学習で遊ぶ~マイグレーション編~

セミナーでtensorFlowの解説をしてもらってようやく機械学習の流れみたいなものがわかったので再開。 ひとまずネット上に公開されてる様々なコードを実行して動きを確かめてみようとしてつまづいたのでメモ。 以前はbashで実行するための準備だったが、Windo…

オブジェクトの配列の各要素に同じ処理をする方法

C#

C#で配列やコレクションのすべての要素に処理を行うでググると色々出てくるけど大抵の場合intとかstringみたいな基本型のものだったりする。 こんな感じ。 IEnumerable<int> intAry = new List<int>() { 1, 2, 3, 4, 5 }; // 各要素を2倍にする intAry = intAry.Select</int></int>…

Ext JS Reactorを試す

ReactでExtJSのコンポーネントを扱える。 Sencha Roadshow 2016でやってたやつだと思う。 とりあえずサンプルを動かすところまでやったので備忘録に残しておく。 環境はWindows10 64bit. node.jsをインストール https://nodejs.org/ja/ これをインストールす…

機械学習で遊ぶ~環境準備編~

Windows10で機械学習で遊んで見るための準備編 いろいろあれこれ試したあとに書いてるので抜け漏れがあるかもしれない。 経緯 前々からPythonや機械学習に興味があったが、これらを利用してアニメでの顔認識をやっている記事が幾つかあったので勉強がてら試…

Windows10でupdate後に自動で再起動されるのを無効にする

Windows10になってから、デフォルトだとWindows update後にアクティブ時間外に自動で再起動されるようになってしまいました。 勝手に再起動されると正直かなり迷惑なので無効化します。 ・ローカルグループポリシーエディターを開きます。 Cortanaに聞いてグ…

ExtJSのAjax.requestでファイルを扱う方法

binary: trueのオプションを設定すれば、response.responseBytesに格納されてくるのであとはblobを好きに扱える。 Ext.Ajax.request({ scope: this, url: 'url', binary: true, method: 'GET' }).then(function (response) { var blob = new Blob([response.…

Dropboxの容量が突如足りなくなった場合の対処

Dropboxを使っていたら突如、容量がいっぱいになる旨の通知が。 しかし、フォルダの中身を確認してみるもせいぜい3GB程度しか使用しておらず、全然余裕はあるはず。 調べてみたところ、キャッシュが容量を圧迫していた模様。 www.dropbox.com 通常は3日でキ…

iTextSharpの記事に追記した

qiita.com iTextSharpの記事にページの追加と、文字列の幅の判定方法を追記した。 業務でまたiTextSharpを使うことになったので、更に追加で別の用件や、以前使わなかった部分があったので追記しました。

IMongoQueryでnullかどうかを判別する

値がnullかどうかで判別する場合はBsonNull.Valueを使う var collection = db.GetCollection("collection"); var query = Query.EQ("name", BsonNull.Value); var docs = collection.Find(query);

slackに返信・引用ボタンを追加する

部署内にslackを導入してみたもののなかなか活用されない日々…。 聞いてみるとTwitterみたいに返信ができなくて、話題が流れてしまうと返信とかを書き込みにくいとのことで、 返信ができないか探してみた。 結論から言うと下記のChrome拡張を入れたら解決。 …

splitの区切りに文字列を使う

C#

C#のsplitで分割しようとしたら、char型の1文字しか指定できなかった。 …と思ったらやっぱりやれば出来たという話。 こんな感じ。 var s = "12@@34@@55@@66";var split = s.Split(new string { "@@" }, StringSplitOptions.None);Console.WriteLine(split); …

slackをRSSリーダーのように使う

家庭を支える技術アドベントカレンダーを見ているとslackがかなり流行っているようなので自分でも導入してみました。 ※一緒にチャットしてくれる人がいませんが…(泣) slack.com 記事を読んでいると「○○の更新をslackに流してる」とかいう表現が多かったの…

GASアドベントカレンダーに参加しています

毎年恒例のGoogleAppsScriptのアドベントカレンダーに参加しています。 qiita.com 毎年参加したいなーと思いつつもネタが無かったのですが、いろいろと眺めてた時に見たスライドでハードルを下げられた(と思って)ので参加してみることにしました。 話すハ…

Execution APIで躓いた点のメモ

Google Apps Scriptを外から叩けるExecution APIが公開されました。 Apps Script Execution API を使用して Google Apps Script をより活用する http://googleappsupdates-ja.blogspot.jp/2015/09/apps-script-execution-api-google-apps.html おおまかな使…

GoogleAppsScriptでユーザーの所属するグループを取得する方法

ハマったのでメモ。 <a href="http://qiita.com/mistolteen/items/b923469b617d7038d7b8" data-mce-href="http://qiita.com/mistolteen/items/b923469b617d7038d7b8">GoogleAppsScript - ユーザーの所属するグループ一覧の取得方法 - Qiita</a>qiita.com こんな感じでコードアシストに出てこないとできないと勘違いしがちですが、optionalArgsで結構いろいろ指定できたりします。 ただしAPIドキュメントを探…

iTextSharpで既存のpdfに追記する

iTextSharpを使用してpdfの作成を行ったのでメモ。 既存の印刷システムの更改だったため、テンプレートに記述する方法をメインに調べました。 詳しくはQiitaに投稿しました。 <a href="http://qiita.com/mistolteen/items/c94ad35a9740748440fc" data-mce-href="http://qiita.com/mistolteen/items/c94ad35a9740748440fc">C# - iTextSharpでPDF出力 - Qiita</a>qiita.com

GoogleAPIの認証方法をClientからOAuth2に切り替える

社内で使用していたSpreadsheetServiceの認証が通らなくなって対応したのでQiitaに投稿しました。 <a href="http://qiita.com/mistolteen/items/ddd3b65b583b7b9b76bb" data-mce-href="http://qiita.com/mistolteen/items/ddd3b65b583b7b9b76bb">google - SpreadsheetServiceの認証方法をClientからOAuth2に切り替える - Qiita</a>qiita.com Clientログインはサポートを終了したので下記のようなエラー…

「このユーザーアカウントはリモートログインを許可されていないため、接続は拒否されました。」の対応

接続する側をA、リモート接続される側をBとする。 両方ともドメインに参加しているPCです。 Aの側からBへリモートデスクトップで接続しようとしたら表題のエラー 「このユーザーアカウントはリモートログインを許可されていないため、接続は拒否されました。…

パイザオンラインハッカソン4

エンジニアでも恋がしたい〜転職初日にぶつかった女の子が同僚だった件〜|paizaオンラインハッカソン4 Lite マンガ版「エンジニアでも恋がしたい!」〜転職初日にぶつかった女の子が同僚だった件〜|paizaオンラインハッカソン4 Lite はてブに上がってたの…

GoogleAppsユーザー会MemberTalkに参加してきた

Google Apps Japan Users Group 東京で行われたGoogleAppsユーザー会MemberTalkに参加してきた。 この会はGoogleAppsを導入している様々な企業の人が集まって活用事例を紹介したり、Googleの人が新製品のプレゼンをしてくれたりするものである。 新製品説明 …

マイクロソフト ソフトウェア資産管理プログラム ライセンス調査

うちの会社にも来ました。 最初のうちは部長がのらりくらりと返事を先延ばしにしていたのですが、途中でMS側の担当が変わり、文体は慇懃ですが割とキツめの文体で調査を要求してくるようになりました。 結局調査をすることになったのですが、うちは部署単位…

GASからGoogleのAPIを叩くやり方

GASからCalendarResourceAPIを叩いてみたのでQiitaに投稿しました。 認証通ってデータ取れればあとはどうにかなると思っていたのですが、 XMLに不慣れなこともあって、認証と同じくらいXMLの勉強に時間を費やすことになってしまいました(涙 GoogleAppsScrip…

FileResultでzipファイルを返す

Qiitaに投稿しました。 c# - FileResultでzipファイルを返す - Qiita 複数のファイルをまとめてダウンロードする必要に迫られて調べたものをメモ的に記録しました。

Gmailのラベルの階層構造を作るスクリプト

GoogleAppsScriptで階層構造のラベルを作るやり方。 詳しくはQiitaに投稿したのでそちらを参照。 http://qiita.com/mistolteen/items/b5d6715504973a7d0258

C#でGmailからメールを送信する

もう何番煎じかもわからないけどメール送信のやり方。驚くほど簡単に出来た。 GMail認証のところで、第一引数にユーザー名(Ex:hoge@gmail.com)、第二引数にパスワードを入れる。(アドレスが@gmail.comの場合は@より前だけで可能) Fromのところにhoge@hog…

タブパネルでタブを閉じると他のタブも閉じてしまう場合

Ext.tab.Panelで追加するPanelに「closable:true」を設定すると、追加されたタブに閉じるボタンがつく。 当然、これをクリックすればタブが閉じるわけだけど、複数タブを開いている時に閉じようとすると他のタブも閉じてしまい、画面の表示が崩れる場合があ…

Excel2013がよく落ちる場合の対処方法

ググれば大体の設定はわかると思うけど自分用のメモとして。 Excelを開いて、 左上の「ファイル」を開く オプションを選択 詳細設定を選択 ページ真ん中あたりにある「ハードウェアグラフィックアクセラレータを無効にする」にチェックを入れる OKを押す 以…

IEでJSONPがSEC7112でエラーになった

GoogleAppsScriptにJSONPでアクセスした時にSEC7112エラーで取得できない場合の対処法。 GoogleAppsScript側はこちらを参考に。 http://qiita.com/items/d940ef8db0bd23c0f236 JavaScript側こんな感じ。jquery-jsonpを使用。これを使わないとエラーがキャッ…

GoogleAppsScriptでRest

隙間時間に書いた雑な文書なのでそのうちきれいに書く。 参考 http://qiita.com/items/d940ef8db0bd23c0f236 function doGet(e) { var jsonObject = new Array(5); for(var i = 0; i < 5; i++){ jsonObject[i] = {hoge: "fuga" + i}; } if(e.parameter.callb…

SpreadSheetでSUMPRODUCTの挙動がおかしい

=ARRAYFOMULAを使うとうまくいくらしい。 書き方はこんな感じで、SUMPRODUCT式をARRAYFOMULA式で囲めばいいだけみたい。 =ARRAYFOMULA(SUMPRODUCT((式1)*(式2))) この書き方で書いたスプレッドシートでもxlsxとしてダウンロードしたときは正常に書き換えられ…

vlookupとindex,match

vlookup関数はエクセルで特定のキーからその行の別の列の値を取得する関数だけど、検索対象列の右の列しか取得することができない。 例えば、下のような感じのエクセルがあるとする。 社員コード 名前 メール 1000 ほげたもげお hoge@moge.jp ここで、社員…

Formの入力をEnterでSubmitする

なんかタイトルが楽天みたいになってしまったwEnterキーを受け取るには、specialkeyイベントに対してハンドラを設定し、押されたキーがEnterである場合に処理を走らせます。 こんな感じ。listeners: { specialkey: function(field, e){ if (e.getKey() == e…

PowerShellでcsvを読み込む

もう使い古されたネタかもしれないけど自分用備忘録。以下の様なmembers.csvを定義する。 1行めがヘッダになっていて、この名前を使って値を取得したり、条件を設定することができる(らしい) group,name,address group1,hoge,hoge@foo.com group1.moge,mog…

リソースカレンダーの追加ができないとき

GoogleAppsでリソースカレンダーの追加ができなかったので備忘録に書いておきます。 とはいえ、GoogleAppsの無償版の新規申し込みが終了してしまったのであまり見られることは無さそうですが…。 詳しくは こちらhttp://productforums.google.com/forum/#!top…

処理時間を計測する

C#

var sw = new Stopwatch(); sw.Start(); // 処理 sw.Stop();long millisec = sw.ElapsedMilliseconds; Console.WriteLine(millisec);

Sencha Touchでborderを表示する

border: "1 0 0 0", style: { 'border-style': 'solid' }, なぜかborderに値をセットするだけでは表示されなかったので。

Bitnami Redmineを導入してみる

Redmineを導入してみようと思って色々と試してます。 とりあえずローカルで試そうと思ってRedmine Cloud Hosting, Installers and Virtual Machines.を使って、自分のPCにインストールしています。 OSはWindows7 Professional 64bitです。 インストールにつ…

sencha touchのmodelに表示用のフィールドを追加する

サーバーから取得されるのが,'firstname'、'lastname'だけで、表示用にfullnameを使用する場合のサンプル。 fieldにconvertを定義して、表示させる文字列を返す。 第一引数が、変換前にこのフィールドに入っていた値(value)。 第二引数が、このレコード自体…

Sencha Touchでlocal storageを扱う方法

login Formのアカウント名を記憶する方法として、local storageに保存する方法を使ってみた。 local storageに保存するデータのモデルを定義する。 proxyのtypeに'localstorage'を指定する。 Ext.define('LogonCache', { extend: 'Ext.data.Model', config: …

プロジェクトの種類がこのインストールでサポートされていません

C#

新しいPCにしたら前のプロジェクトを読み込めなくなったのでメモ。行った対策は2つ Visual Studio SP1をインストール 公式のダウンロード センターから Microsoft Visual Studio 2010 Service Pack 1 (インストーラー) をダウンロード ASP.NET MVCをインスト…

Ext.Ajax.requestで同期通信する

Ext JS 4 の Ext.Ajax.request で同期通信する - 飲む、寝る。 async:false これで同期通信になる模様。 APIDocにも書いてなかったみたいなのでメモ。

フィールドの初期化

C#

C#でクラスをnewしたときにフィールドを初期化する書き方。public class hoge{ public int foo {set; get;} public string bar {set; get;} };var moge = new hoge(){ foo = 1, bar = 'piyo' };こんな感じ。 へぇ〜って思いました。

javascriptで画像を更新する

JavaScriptでWebページの特定の画像をリロード - JavaScript入門Extjsのimageでも同じやり方で最新の画像を取得できました。こんな感じ var img = Ext.fly('imageView'); img.set ({src : img.dom.src + '?' + 1});

Extjsのファイルアップロード

{ xtype: 'form', width: 400, height: 350, layout: 'vbox', items: [{ // トークン xtype: 'hidden', name: '__RequestVerificationToken' }, { xtype: 'filefield', name: 'file', width: 400, hideLabel: true, buttonText: "アップロード", msgTarget: …

ASP.NET MVCでAWSから画像取得

タイトル通り。 ControllerでAWS上の画像ファイルを取得して返すやり方。検索すると結構海外でも同じようなところでハマっている模様。 フォーラムは基本英語ばっかりで読むのが辛いお・・・(´・ω・`) アクセスキーは予めconfigに書いておく AWS上のキーを引…

Extjsでピラミッドチャートを作ってみた

ExtjsのStacked bar chartを使って強引にピラミッドチャートを表示。 データの片方は数値がマイナスになってないといけないという残念仕様…。そこはスクリプト側で一括で-1かけるとかして対処。 値を取るときはMath.absで取得することにして対処。元々こうい…

GoogleAppsのパスワードを更新

C#

まずはGoogle Data API SDKをインストーするする必要がある。[C#] Google Data API SDKのインストール プロジェクトに以下のdllの参照を追加する。 場所はデフォルトなら「C:\Program Files\Google\Google Data API SDK\Redist」 Google.GData.Apps Google.G…