iTextSharpの記事にページの追加と、文字列の幅の判定方法を追記した。
業務でまたiTextSharpを使うことになったので、更に追加で別の用件や、以前使わなかった部分があったので追記しました。
iTextSharpの記事にページの追加と、文字列の幅の判定方法を追記した。
業務でまたiTextSharpを使うことになったので、更に追加で別の用件や、以前使わなかった部分があったので追記しました。
値がnullかどうかで判別する場合はBsonNull.Valueを使う
var collection = db.GetCollection
("collection");
var query = Query.EQ("name", BsonNull.Value);
var docs = collection.Find(query);
部署内にslackを導入してみたもののなかなか活用されない日々…。
聞いてみるとTwitterみたいに返信ができなくて、話題が流れてしまうと返信とかを書き込みにくいとのことで、 返信ができないか探してみた。
結論から言うと下記のChrome拡張を入れたら解決。
これでslack上に返信・引用ボタンが表示され、過去の投稿に対しても引用付きで返信できるようになった。
ちなみにソースはGitHub上で公開されている。
Chromeの拡張入れて情報抜かれたりしてたら怖い…と思う場合は上記のソースを使って 自社用にカスタマイズすればいいと思う。
次はもう少しチャット以外にも他システムと連携できるところを売りにしていきたいですねぇ…。
C#のsplitで分割しようとしたら、char型の1文字しか指定できなかった。
…と思ったらやっぱりやれば出来たという話。
こんな感じ。
var s = "12@@34@@55@@66";
var split = s.Split(new string { "@@" }, StringSplitOptions.None);
Console.WriteLine(split);
stringの配列で指定すると、その配列内のどれかに一致すれば分割してくれます。
2つ目の引数のオプションは、分割結果から空文字を省くかどうかを指定します。
var s = "12@@34@@55@@66@@";
var split = s.Split(new string { "@@" }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(split);
上記コードだと、Noneの場合最後に空文字がついてしまいますが、StringSplitOptions.RemoveEmptyEntriesを入れることで空文字を省いてくれます。
家庭を支える技術アドベントカレンダーを見ているとslackがかなり流行っているようなので自分でも導入してみました。
※一緒にチャットしてくれる人がいませんが…(泣)
記事を読んでいると「○○の更新をslackに流してる」とかいう表現が多かったので、まずはそれに倣って今年自分が見ているアドベントカレンダーの更新通知をslackで通知されるようにしてみました。
feedlyに登録しとけばいいとか言わない。
やり方は、登録したいチャンネルで下記のように打てばOK(例は家庭を支える技術2015アドベントカレンダー)
AdventarはURLの後ろに.rssをつければrssが取得できます。
QiitaはURLの後ろに/feedとつけると取得できます。アドベントカレンダーでもユーザーでもタグごとでもほとんど/feedで取得出来て便利です。
また、チャンネル内で登録されているfeedの一覧を見たい場合は
/feed list
とすればいいようです。
毎年恒例のGoogleAppsScriptのアドベントカレンダーに参加しています。
毎年参加したいなーと思いつつもネタが無かったのですが、いろいろと眺めてた時に見たスライドでハードルを下げられた(と思って)ので参加してみることにしました。
自分は8日と15日の分で投稿予定です。
内容はアドベントカレンダー内で(笑)
本当は1記事の予定だったけど前の人の記事に乗っかってもう1記事書いてみました。
役に立てば幸いです。
前回のGoogleAppsユーザー会のトークテーマがGASだったらしいですね…。
行きたかったなぁ…。
東京遠い(´・ω・`)
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
おおまかな使い方は既にQiitaに投稿されています。
JavaScriptの場合の使い方は下記ページにありますが、自分でも試してて躓いた点のメモ。 ※あくまで自分がハマったところなので、それ以外は上記のQiitaのページや下記のQuickStartにかなり丁寧に解説されているので基本的にはそちらを読んでください。
JavaScript Quickstart | Apps Script | Google Developers
https://developers.google.com/apps-script/guides/rest/quickstart/js
QuickStart内の記述されていますが、開発用のものならば例えば「http://localhost:8000」のように記述すればいいです。 承認済みのリダイレクト URIは空(blank)で大丈夫です。
QuickStartではサンプルコードだけ載せてあっさり終わってますが gapi.auth.authorize を使用するためには、ページのhtmlに下記のライブラリを読みこませる必要があります。 ASP.NETの場合はcshtmlに記述すれば良いです。
<script type="text/javascript" src="https://apis.google.com/js/client.js">
parametersを設定し、配列で記述します。
var request = { 'function': 'getSheetNames', 'parameters': ['sheetId', 'hogehoge'], };
多分これくらいじゃないでしょうか?
正直なところ、C#等のサンプルもありますが、個人的にはC#の場合はそもそも.NET用のAPIライブラリがあるのでそれを使えばいい気がしていました。 しかしSites APIなど、.NET用のライブラリがなかったりすることもあるのでその際の代替手段となりえます。
また、javascriptからはこれまでもdoPostやdoGetを使って同じようなことが出来ましたが、このやり方だと認証がかなりやりやすい(ScriptExplorerで認証してなくてもjavascriptの実行時に認証を聞いてくれる)ことや、同一プロジェクト内に複数functionを定義して管理しやすくするなどの多くの利点があります。