読者です 読者をやめる 読者になる 読者になる

kei0425tan’s blog

技術的なことを主に

javascript の Async/Await を利用した場合のエラーハンドリングについて

普段趣味ではjavascriptでプログラムを書くことが多いのですが、callbackが面倒なので、ずっとPromiseを使っていました。thenって書けばインデントも増えないし、ブロックごとに新規に変数作ったりしていいじゃんって思っていたのですが、、、最近作っている…

IDCFクラウドに引っ越し

さくらクラウドがクーポン使って無料で利用できたのでしばらく利用していたのですが 無料期間が過ぎそうなので、お引越ししようかと思いました。そんなに大したことはやっていないため、最安値でサーバが構築できるところを探していましたら、IDCFクラウドが…

gitlab→DockerHub→arukas連携

github→DockerHub→arukas連携の記事がありました。qiita.comこれは、githubにコミットするだけで、自動的にarukasまでデリバリしてくれる非常にありがたいものなのですが このままでは、githubにpublicで登録しないとうまく動きません。これは、DockerHubの…

google spreadsheetの1セルの最大文字数

50000文字まで入るそうです。google driveの容量も使わないし、ちょっとしたデータを格納するのにいいかもしれませんね。例えば、ファイルをbase64で文字列変換して、spreadsheetのセルに突っ込むと セルの最大数が200万セルなので、base64の効率を137%とす…

nodejsで空きポートを探す

dockerを使ってて、コンテナを作るときに空いてるポートを検索する必要があって作成してみました。 gist53fa12e5c95bf476ea1aed82c38e75a2Promiseを使っているので、v6以上になります。

ポモドーロ・テクニック

2016/8課会資料 ポモドーロ・テクニックについて ポモドーロ・テクニックとは 短時間の集中作業を繰り返すことにより、常に集中力を保ちながら作業を行う方法。 もともとはトマト(ポモドーロ)型のキッチンタイマーを用いて行ったことが由来。基本的には、…

Bash on Ubuntu on Windowsについて その2

はじめに 以前、Bash on Ubuntu on Windowsについて記事にしました。kei0425tan.hatenablog.com 実はうちのPCで、Windows 10 Insider PreviewでBash on Ubuntu on Windowsを試していたのですが、インストール時にブルースクリーンになりPCがとても不安定にな…

なんで5回

2016/7課会資料 なんで5回 「なぜなぜ5回」や「なぜなぜ分析」とも呼ばれる手法。ある問題を解決するためなどに用いられることが多い。 ある問題についての要因を考え、その要因が発生する要因を考える。これを5回行うと真の要因にたどり着くというもの。(5…

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プロジェクトから始まり、それ…

Bash on Ubuntu on Windowsについて

続きをこちらに書いています。 kei0425tan.hatenablog.com 2016/4課会資料 Bash on Ubuntu on Windowsについて 2016年夏に公開されるWindows10のメジャーアップデートでUbuntu Bashがネイティブサポートされます。これは、Ubuntuディストリビューションに含…

中古PCのすすめ

2016/3課会資料 中古PCのすすめ メリット ・Windows10が2016/7末まで無料アップグレードのため、最新のOSを利用することが可能。多少手間はかかるが、32bit→64bitの変更も可能。 ・CPUの性能差が近年少なくなっている。そのため、最新のエントリークラスのCP…

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のバイナリレベルのスタブ作成フレームワークになります。…

Visual Basic(C#)のLINQについて

2015/11課会資料 Visual Basic(C#)のLINQについて Visual Basic 2008(C# 3.0)からLINQ(Language INtegrated Query)が追加されましたが、あまり活用している人をみたことありません。なので便利に使う方法を紹介します。そもそも、LINQとは?簡単にいうと.net…

Windows10におけるIE11の互換性について

2015/10課会資料 Windows10におけるIE11の互換性について Windows10がリリースされ標準ブラウザがEdgeとなり互換性を重視してIE11も同梱されています。 推奨されていませんが、IE11でドキュメントモードを利用することにより、IE10以下と互換性を重視した動…

Node.js 4.0.0リリース

2015/9課会資料 Node.js 4.0.0リリース Node.jsとは サーバサイドJavaScript環境。もともとブラウザのおまけ?だったJavaScriptをサーバで利用できるように実装したもの。I/Oなどを非同期で扱う。 → 人気の理由:JavaScriptでサーバサイドが書ける。シングル…

Heroku(へろく)について

2015/8課会資料 Heroku(へろく)について PaaSのひとつ。特徴としては以下。 メリット ・対応言語が多い → Ruby, PHP, Node.js, Python, Java, Clojure, Scala, GO ・gitと連携 ・メンテナンスコストがほぼ0 ・デプロイがコマンド1発。 ・スケールアウトが…

Maker Faire Tokyo 2015開催のお知らせ

2015/7課会資料 Maker Faire Tokyo 2015開催のお知らせ 日時:2015年8月1日(土)12:00~19:00(予定) 2015年8月2日(日)10:00~18:00(予定) 会場:東京ビッグサイト(西4ホール+屋外展示場)東京都江東区有明3-11-1 入場料:前売:大人 1,000円、18歳…

アイスブレイクについて

2015/6課会資料 アイスブレイクについて アイスブレイクとは 初対面の人同士が出会う時、その緊張をときほぐすための手法。集まった人を和ませ、コミュニケーションをとりやすい雰囲気を作り、そこに集まった目的の達成に積極的に関わってもらえるよう働きか…

OSの32bit,64bit問題について

2015/5課会資料 OSの32bit,64bit問題について 今回機器更新にあたって、OSを32bitから64bitにアップグレードする予定であった。基本的にlinuxの場合は32bitと64bitの差は少なく、32bitの制限は1プロセスのメモリが4Gまでぐらいだが、浮動小数点の演算で誤差…

Ansibleについて

2015/4課会資料 Ansibleについて サーバ環境構築を自動化するツール。他にも、PuppetやChefなどが有名。サーバ環境構築を自動化するメリット ・手作業によるミスの減少。新規環境をすぐに用意できる。実験的な環境構築・破壊が楽になる。 同じ環境を複数台に…

DBのレコード追加について

2015/03課会資料 DBのレコード追加について DBで大量にレコードを追加する場合、パフォーマンスが悪いことがよくあります。 そういった場合には以下を試してみましょう。後ろにあるほうが速くなります。・通常のインサート 言語レベルでのループして、INSERT…

ゲーミフィケーションプログラミングについて

2015/1課会資料 ゲーミフィケーションプログラミングについて ゲーミフィケーションとは 課題の解決や顧客ロイヤリティの向上にゲームデザインの技術やメカニズムを利用する活動全般のこと。なのですが、本当にゲームをしながらプログラミングを学習するサイ…

CODE VS プログラマ日本一決定戦(codevs.jp)について

2014/12課会資料 CODE VS プログラマ日本一決定戦(codevs.jp)について CODEVSとは プログラムを組んで参加者同士で戦わせる競技プログラミングの一種です。 他の競技プログラミングとは異なり、ゲームのルールで対戦がメインとなっています。今回は戦略ゲー…

人狼ゲームについて

2015/11課会資料 人狼ゲームについて 今人狼ゲームがブームになっています。テレビでもゲームの様子が放送されたり映画化などもされています。 社内研修で人狼ゲームを行う会社も増えているようです。社内人狼のメリット ・コミュニケーションの重要性を再認…

Dockerについて

2014/10月の課会資料 Dockerについて Dockerとはコンテナ型仮想化のひとつ。→ 対義語は完全仮想化(VM) 完全仮想化のメリット ・仮想マシン毎に完全に分離された環境になるため異なるOSでも動作が可能。(場合によってはCPUレベルで異なるマシンも動作可能…

herokuでnodejsでチャット

herokuでリアルタイムチャット作ってみたいなということで、こちらを参考にして作ってみました。(参考というかコアな部分は丸コピになります。) Node.js + Socket.IO + jQuery で最小構成チャット - Qiita herokuでアプリの設定 橋本商会 » Node.jsに入門…

pyExceleratorで作成したファイルをoffice2010で開くと「ファイルエラー:データが失われた可能性があります。」

pythonでexcelのxlsファイルの読み書きができるモジュールでpyExceleratorというものがあります。 現状ではもうメンテされておらず、python-excelライブラリ(xlrd, xlwt,xlutils)に移行するのが推奨かとは思いますが、何らかの事情で使わなければいけない&o…

IE8のArray.prototype.sort()の第2引数

普段、chromeで作成しています。 しかし、IE8での動作保証をしなければいけなかったりするので、リリース前にIE8で動作確認するのですが、先日原因不明のエラーが発生しました。 JScript オブジェクトを指定してください。 調査したところ、とあるライブラリ…

今日からブログ

流行ってるので初めてみました。 いろいろな情報発信できたらいいなと思います。