Perl日記

PerlとかRubyとかPHPとかPythonとか

ZoomのAPIを使ってミーティングを作成する

Go

Zoomメモ。会社ではリモートワークしてるみんな(自分含む)とミーティングするのに、Zoomが使われている。zoom.us ZoomにはAPIがあるので、ミーティング用のURL作成処理をGo言語で作ってみた。今回は60日トライアルでデベロッパー登録をした。https://devel…

AWS S3から全部ではないけど大量に何個か取ってきたい

困ったのでメモ 背景 aws cliコマンドではS3から手元のローカルにコピーができる バケットの中にはめちゃくちゃファイルがあるが、その中からいくつかコピーしたい 「いくつか」とはいうものの、3000個ぐらいある… バケット内にあるファイルは、すべて同じ拡…

予算は使い切らないと損であるという呪い

なんかメモ。 朝にオフィスに来るとすでに暖房がものすごく効いていて、机に手を付けてみると熱を感じられるほどである(机だぞ!?)。 オフィスは賃貸で、電気代は賃貸料金に含まれていると聞いたことがある(違うかもしれないけど)。 それを知ってか知ら…

ミーティングにPCを持ち込むときに気をつけていること

ミーティングにPCを持ち込むときに気をつけていること 基本的に、持ち込んだPCを見ない 前に映し出されている画面を見ればよい 他の作業をしない 他の作業をしていると思われるぞ うるさいキーボードを使わない カタカタカタカタカタという音は、打鍵者本人…

killでプロセスに「0」を送ると、プロセスの生存確認ができる

eyeのソースコードでkillで「0」を送っていた eyeというプロセス監視ツールがある。 このツールの中身をみていたところ、以下のようなコードがあった。https://github.com/kostya/eye/blob/f37de3761566e74bd04d3e20c6cdb7a67cbabd99/lib/eye/system.rb # Ch…

会社のノートPCにシールでデコる派とデコらない派

自分はデコらない派。 会社から借りているPC(リース会社からのリース)なので、綺麗に扱っている。 世の中には、借りているものについて、「(自分のものではないから)丁寧に扱う」というタイプと「(自分のものではないから)乱暴に扱っても良い」という…

GoLandからVisual Studio Codeに移行した

Goで何か書くとき、JetBrains社のGoland(旧Gogland)のベータ版を使っていたのだが 2017年12月に正式にリリースされて無料のままでは使えなくなってしまった。www.jetbrains.com会社ではRubyを使っているので、RubyMineのライセンス代は出してもらえる。が、G…

SSHの鍵をRSAからEd25519に変更した

ssh-keygenで作成する鍵種類のデフォルトであるRSA(2048ビット)から、Ed25519に作り直した。変更前(いままで) $ ssh-keygen -C "skyarrow09@gmail.com" $ cat .ssh/id_rsa.pub ssh-rsa AAA...(とても長い)... skyarrow09@gmail.com変更後 $ ssh-keygen -t …

2017年振り返りと2018年目標

2017年 良かった 引っ越しして静かな環境になった 机を買って仕事とゲームがしやすくなった(PS4面白い) 少人数チームで仕事ができた 一人じゃなし大人数でもないのが良かった 夕会で仕様から雑談まで共有できたのは良かった リモートワークでゆとりをもっ…

2017年リモートワークまとめ

2017年は本格的にリモートワークを取り入れたのでまとめメモ。 前提 今の職場はリモートワークが認められている 認められているが、「積極的にリモートワークにしろ!」とかそういうわけでもなく、したかったらしてもいいよという感じ リモートワークする日…

社内Podcastごっこをした

開発してたプロジェクトが一段落したのもあって、振り返りミーティングとか夕会とかを、社内の使われてなかった外付けマイクを借りて録音してみた。録音した理由としては、他のメンバへの情報共有とか話題提供とかが半分で、もう半分は、ここ数年いろいろなP…

Sota (Intel Edison版) にMIDIキーボードをつないで音を鳴らす

Sota (Intel Edison版) にMIDIキーボードをつなげて音を鳴らしてみたメモ。社会的対話ロボット「CommU(コミュー)」・普及型社会的対話ロボット「Sota(ソータ)」 | ヴイストン株式会社 とはいうものの、以下のサイトをやってみただけ、という感じだったけ…

音声認識してSotaで結月ゆかりの声を出力する

何をしたか HTML5のSpeech Recognitionを使いブラウザ上で音声認識させて、Sota(ヴイストン社)に結月ゆかりの声で喋ってもらった。 結月ゆかりの声はdocomoの音声合成APIを使用した。社会的対話ロボット「CommU(コミュー)」・普及型社会的対話ロボット「So…

ローカルのJenkinsとリモートのフックにSlackを使った

何をしたか (クラウド型の)GithubやBitbucketなどにpushしたタイミングで、オフィスのLAN内にいるJenkinsに仕事をさせるのに、同LAN内にSlack botを置いて中継役にした。実際の環境では、もう少し複雑な矢印が存在してしまっていて、これを僕はピタゴラJenki…

半年間でLTと勉強会の先生を5回ずつやった

LT いま所属している開発チームでは、月末に「なんでも成果発表会」があり、 そこで5回Go言語についてのLTをした。内訳は、 稼働中のbotとGoとgoroutine 稼働中のbotとGoとchannel Goで並列処理 GoとIoTと音声認識と音声合成 GoとIoTと音声認識と音声合成と…

開発チーム内で自分が気をつけていること

明文化されていないので、開発チーム内では自由だけど、自分は気をつけていることメモ チャットの個人チャンネルで仕事を進めない 仕事に関することは、関係者がいるところに書く。 Wikiの個人ページに仕事のことを書かない 他の人も編集する可能性がある内…

docomoの音声合成APIのAudio/L16のデータをaplayコマンドで再生する

docomoの音声合成API【Powerd by エーアイ】を使って、返ってくるAudio/L16のデータをaplayコマンドで再生するメモ。 dev.smt.docomo.ne.jp package main import ( "io" "net/http" "os" "strings" "time" ) const APIKey = "XXX" func main() { url := "htt…

チケットタイトルアンチパターン

普段はBTS、JIRAとかRedmineとかのチケットでタスクを作っている。 その中で、いくつかチケットタイトルについて、アンチパターンを把握したので、メモ。 現状を書いただけで「だから何?」パターン 例) 「ABC機能がX仕様に対応していない」 「DEFアプリのY…

ミーティング中に漫画を読む

正確には、「全体ミーティングでたまに発生する雑談中にサンデーを読む」である。 いまの職場では、社内のエンジニア全員でのミーティングが週に一回行われている。 そのミーティングの時間内で、古くからの鉄板ネタとして、いじられキャラをいじる、という…

プロとは

「あなたが思うエンジニアとしてのプロとは何か」を提出しないといけないらしい。 先にこちらに下書き的にまとめてみる。 まあ特段新しく考えたわけでもなくて、普段、業務の中で感じていた漠然とした内容を言語化してみただけだ。 エンジニアとしてのプロと…

成果の出ない一年だった

去年の2月に中途入社してから、1年3ヶ月くらいが経った。 この1年3ヶ月は、それまでと比較して、成果が出なかった期間だったと感じる。 なんでかな、と考えるまでもなく、おそらくその原因は、スピード感だと思う。 できることもした方がいいこともたくさん…

分報チャンネルを巡回しないようにした

いま所属している開発チームでも、個人用の分報チャンネル(#times_xxxのやつ)がおのおの存在している(途中入社したときからあった)。 「そういうものか」と思って、自分用のチャンネルを作って、Twitter的な使い方をしていた。 自分も他の人も、そこにはあ…

コードに嘘を書かない

久しぶりにブログを書く。リハビリがてら最近思ってることとか。 最近は、コードレビューのときの「承認」ボタンを押す自分の中のハードルが、とても下がったように感じる。 少し前までは、 インデントが揃ってない コードが稚拙だ コードが過剰に複雑だ N+1…

はてブ毎時ランキングを作った

リハビリがてら作ってみた。hateb-rank.herokuapp.com

週刊少年サンデーを自炊して約6年経った

websunday.net 10年以上サンデーを読んでいる。 読んだら捨ててたけど、ちょうど自炊の環境を整えたのもあって、2010年くらいから電子化して捨てるようにした。(さすがに現物をとっておくには場所をとりすぎる……) なんとなく、やってること書いてみる。ち…

Scalaでクラスを継承したときのコンストラクタのパラメータ

newするときに渡す引数は、子クラス定義時も親クラス名といっしょに指定しないといけない。 class Hoge(a: Int) class Fuga extends Hoge // error: not enough arguments for constructor Hoge: (a: Int)Hoge. class Fuga(a: Int) extends Hoge(a) // ok //…

Scalaのクラスのコンストラクタの引数の可視性

valをつけるとattr_reader、varをつけるとattr_accessorになる。(Perl日記だけどRubyで例える) 何もつけないと、privateになる。 // aは何もつけない、bはval、cはvar class Hoge(a: Int, val b: Int, var c: Int) { def getA = a } val hoge = new Hoge(1…

ScalaでCharをtoIntすると文字コードになる

はまったのでメモ。 "1234567890" という文字列を List(1,2,3,4,5,6,7,8,9,0) という形にしたい。 やってみた。 "1234567890".toList //=> List[Char] = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 0) "1234567890".toList.map(_.toInt) //=> List[Int] = List(49, 50…

Scalaのcollectionのviewを覚えた

RubyのEnumerable#lazyみたいなやつ。実際の中間処理をその場で実行せずに、forceメソッドが呼ばれたときとか、ループするときに、一気に実行する。 // 中間データができてしまうパターン (1 to 10).map(_ + 1).map(_ + 2) // scala.collection.immutable.In…

Scalaのコレクション系列多くてどれを使っていいのか悩む

PHPだとarray()で済んでたからな…。 とりあえず配列は、線形処理ならList、ランダムアクセスならVectorで、 辞書ならMapを使っておけばいいのでしょうか。。。 scala.collections.immutable Traversable └Iterable ├Set │├HashSet │├SortedSet ││└TreeSet │├…