kei0425tan’s blog

技術的なことを主に

プログラミング

mapでasync/awaitを利用する

久しぶりに、JavaScriptのasync/awaitの話です。(node v7.9.0で記載しています。)webをスクレイピングする時など、リストを元に非同期処理を行いたいことがあるかと思います。その際に、mapで呼び出す関数をasync指定で定義しても、かえってくるのはPromis…

find & xargs

linuxのコマンドラインで作業していると、ある特定のファイル全てをなんとかしたいことってよくありますね。 findが便利なんですが、ついつい使い方を忘れてしまいます。 なので、メモ findについて 主要オプション たくさんオプションありますが、必要なの…

cloud9のblankテンプレート

自宅のPCがちょっとプアなのと、どこでもコーディングをするために、普段からcloud9を利用しています。 以下のテンプレートがあり、そこから適したものを選択して利用できるため、環境設定が非常に楽なのも魅力です。 HTML5 Node.js PHP,Apache & MySQL Pyth…

mochaでasync/awaitが使えるようになってました!

node v7.0からasync/awaitが実装されていましたが、起動オプションに--harmony-async-awaitの指定が必要でした。しかし、v7.6からJavaScriptエンジンのV8がバージョン5.5に上がったため、起動オプションの指定が不要になりました。その前に、nodeでの非同期…

.Net DataGridViewのセルのチェックボックスの制御

DataGridView便利でよくつかいますよね?日本人は表が好きなので、なんでもグリッドにすることが多いかと思います。そこで、グリッドのセルにチェックボックスも、ウィザードで簡単に追加できるかと思います。 データの設定も、grid.DataSource = で一発で設…

paizaをswiftでやったら泣きそうになった話 D062:ひな祭り

といわけで、swiftをやってみたのですが、やばいですね。とりあえず練習なので、paizaのD062:ひな祭りをやってみました。paiza.jp環境構築は面倒なので、いつものようにこちらを使います。 Web-based online coding environment | paiza.IOどうせググれば何…

claudia.jsでslack custom commandsを作る

kei0425tan.hatenablog.comというわけで、まずはslackを使いこなせないと始まりません。手始めに、custom commandsを使ってみます。こちらが公式ページ(英語です) api.slack.comその前に、ここまでできてる前提で話しますね。 kei0425tan.hatenablog.com s…

AWSで何をするのか

いろいろやりたいことがたくさんあるのですが、こんなことをやりたいなと思っています。 slackと連携していろんなbotを作成する。 気になるホームページの更新のお知らせ。 アプリケーション(スマホやwebアプリなど)のバックボーン slackと連携していろん…

claudia.js使ってAWS lambdaはじめました

いろいろ調べてみたら、claudia.jsを利用すると簡単にAWS lambdaを利用できるようです。とはいうものの、ほんとにはじめの一歩になるのでかなり苦労しました。例によって、実行環境はcloud9を利用します。 cloud9でのワークスペースの作成 テンプレートにpyt…

AWSはじめました

AWSずっと気になっていたんですが、なぜかメジャーに負けてはいけないような気がしてなかなか使っていませんでした。でも、1年間無料で利用できるんですね。 なので、お試しで使い始めてみました。アカウント登録に必要なもの。 クレジットカード → JCBでも…

POH7「サンタ服」ゲットチャレンジ!

POH8の問題を全部解いてしまったので、昔のにも挑戦してみます。paiza.jp 問題 (適当に省略しています。)幅 X cm、奥行き Y cm、高さ Z cm の直方体の形をしたケーキがあります。 このケーキに「側面と平行な方向」および「前面と平行な方向」に何回か包丁…

POH7「プログラミングで彼女をつくる」「めがね」ゲットチャレンジ!

POH8の問題を全部解いてしまったので、昔のにも挑戦してみます。paiza.jp 問題 (適当に省略しています。)あなたはクライアントから画像分析の仕事を受けました。N × N ピクセルの白黒画像と M × M ピクセルの白黒画像が与えられます。 白黒画像の各画素は …

POH7「プログラミングで彼女をつくる」「水着」ゲットチャレンジ!

POH8の問題を全部解いてしまったので、昔のにも挑戦してみます。paiza.jp 問題 階乗とは数学の演算の一つで、N の階乗をN! と書きます。N が自然数であるとき、階乗は次のように計算できます。 N! = N * (N - 1) * ... * 2 * 1 N が与えられたとき、N! のす…

PostgreSQLのtemplate0,template1,postgresとかバックアップとか

仕事でPostgreSQLを利用しているのですが、いろいろと理解できていなかったところがあったので、その中でもtemplate0,template1,postgresについて template0とtemplate1の違いについて template1 createdb実行時に-Tで指定しない場合はデフォルトで雛形とし…

POH8「恋するハッカソン〜君色に染まるアイドル」 「ゆかた」ゲットチャレンジ!

こちらもランクB相当だそうです。さらさらっと書いたらできちゃったので、ついでに紹介します。

POH8「恋するハッカソン〜君色に染まるアイドル」 「制服」ゲットチャレンジ!

ランクB相当だそうです。最初適当にさらさらっと書いたら、なかなかうまく動作しなかったため、ちょっと真面目に書いてみました。 わざわざクラスまで作成するのもどうかなーと思いつつ、pythonだとハッシュが面倒なのでクラス化しています。

paiza D007:N倍の文字列

初めて1位を取れました!paiza.jpまあ、Dランクなので以下に速く問題を理解して(全部読む必要はない)キーを打つのか勝負なんですけどね。 あとは、タイトルでどんな問題なのか想像して、それに適した言語を選ぶのがポイントです。

codingame ASCII Art

久しぶりに、codingameをやってみました。codingame.com 超意訳で問題説明してみます。 アスキーアートを作ろう 入力 Line 1: the width L of a letter represented in ASCII art. All letters are the same width. 1行目はアスキーアートの幅です。全部の文…

paiza B032:デジタル計算機

ヒントにならないように感想のみで。 まずは基本情報 paiza B032:デジタル計算機 受験者数: 291人 正解率: 70.48% 平均回答時間: 53分25秒 平均スコア: 58.45点いいスコアをとりたかったので、受験者数が少なめ。 面倒な問題はやなので、平均回答時間短…

JavaScriptで末尾再帰で素数

今度は、JavaScriptで末尾再帰を利用して素数を取得してみました。paiza.ioでは処理時間が2秒が上限のため、700000まで取得できました。 スタックオーバーフローはおきませんでした。 末尾再帰とは 関数の末尾が自分自身の呼び出しのみになっている再帰のこ…

Pythonで末尾再帰最適化

今までソースはpaiza.ioでコーディング&実行して、それをGist経由で貼り付けしてたのですが、実は、paiza.ioで直接張り付けられることに気が付きました。全然楽ですね。で、それだけだとさみしいので、Pythonで末尾再帰最適化ができるデコレーションがある…

Pythonで素数

Scalaとの比較でPythonで書いてみました。末尾再帰最適化がないので、スタックオーバーフローになるんだろうなーって思ってたのに、1000000いれてもちゃんと答えがでちゃいました。 恐るべしPython gista7777696f6fe0aa8e1ec065e55e1507e

paizaの結果

最近ちょっとはまってたpaizaの受験結果を適当に紹介。 paizaとは 結果 とりあえず、ランクDから解いてみました。D040:連休の天気 Python2 paiza.jp その後、勧められたのがこちらC010:安息の地を求めて JavaScript paiza.jpまだまだ簡単調子にのって、次に…

Scalaで素数

新しい言語を学びたくて、Scalaをやってみました。Scalaの選考理由としては以下の理由からです。 関数型 パターンパマッチング 末尾再帰最適化 そこそこメジャー というわけで、指定した数以下の素数を求める関数です。 Scalaで素数とてもエレガントに書けた…

Excel VSTO アドインでイベントが発生しなくなる件

Excel の VSTO アドインを作成中に、イベント(セルチェンジなど)が発生しなくなる現象が発生したため、その原因と対処について VSTOとは? Visual Studio Tools for Officeの略。Excelのアドインを作成することができる。大きな違いは以下。 従来のCOM参照…

オンラインコーディング環境について

2016/6課会資料 オンラインコーディング環境について 現在オンラインでのコーディング環境が発達し、ローカルに環境を用意しなくても容易に快活ができるようになってきています。 スキルチェックサイト 自分の実力がどれくらいあるのかチェックに利用できま…

Xamarinについて

2016/5課会資料 Xamarinについて Xamarin(ざまりん)とは .NETを利用してiOSやAndroidアプリが作成できるツールやフレームワークなどの総称および開発会社名。 もともとWindows以外のプラットフォーム上で.NETを動作させるMonoプロジェクトから始まり、それ…

PHP7リリース!

2016/2課会資料 PHP7リリース! 2015/12/3にPHP5以来11年ぶりにPHP7がリリースされました。なぜ、PHP6じゃないの? → PHP6は内部文字コードをUTF16で保持しようとしたが、処理が複雑かつメリットがほとんどないため開発中止(unicode化以外のPHP6に入れる予…

LTSV(Labeled Tab-Separated Values)について

2016/1課会資料 LTSV(Labeled Tab-Separated Values)について LTSVとは日本で開発されたテキストフォーマットの仕様。TSVフォーマットにラベルを付けただけ。例:従来のApacheログ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP…

Microsoft Fakes Frameworkについて

2015/12課会資料 Microsoft Fakes Frameworkについて Visual Studio 2012から単体テスト用にMicrosoft Fakes Framework(以下MS Fakes)が追加されました。 MS Fakesとは簡単にいうと、.Net Frameworkのバイナリレベルのスタブ作成フレームワークになります。…