技術

FlutterをWebで動かす「Hummingbird」の仕組みについて調べた

先日開催されたFlutter LiveでFlutter for Webであるところの「Hummingbird」が発表されました。 Google、FlutterアプリをWebアプリへ変換する「Hummingbird」発表。Web開発言語としてDartが帰ってくる。Flutter Live '18 Hummingbirdについてどういったメカ…

Flutterの状態管理について調べたメモ

Flutterでの状態管理方法について雑に調べた時のメモです。 先に感想を書いておくと、 Inherited Widget/Scoped Model/BLoC Patternでそれぞれ軽くアプリを書いたりしてみたけど、自分の用途レベルのアプリではScoped Modelで十分かなという感じ。BLoC Patte…

『Writing An Interpreter In Go / Go言語でつくるインタプリタ』 #golang

Writing An Interpreter In Goという本を読んだ。 この本はMonkeyという言語のインタプリタをGo言語で実装するという内容。 全編英語だが、200ページほどだし語り口も面白くてわかりやすいので読みやすい。 流れとしては大きくLexer・Parser・Evaluaterの章…

Speaker DeckのUIが刷新されたこととmspeakerdeckの今後について

6/8の早朝頃にSpeaker DeckのUIが刷新されました。 これに合わせて長年ユーザーを悩ませてきたモバイル対応がついに実施されています。 Speaker Deckは好きだけどモバイル体験が悪いので仕方なくSlideShareを使っていたという人も多いと思うのでとてもありが…

非エンジニアの採用担当者がwebエンジニア採用を任されたらやっておくと良さそうなこと

「非エンジニアの採用担当者がwebエンジニア採用を任されたらやっておくと良さそうなこと」という文章を社内向けに書きました。 経緯としては新しく入社した採用担当の子から「 書類段階で面談する方を選ぶ条件 エンジニア採用にあたってやっておくと良さそ…

Nuxt.js + Firebase Hosting + CloudFunctionsでmspeakerdeckをSSR対応させる

自分はSpeaker Deckのモバイルクライアントであるmspeakerdeckというwebアプリを作っています。 mspeakerdeckを知らない人のために書いておくと、 これはSpeaker DeckのスライドページのURLドメインにmを付与するだけでモバイル版の見やすいレイアウトになる…

Nuxt.js+Firebase HostingのサイトをPWA化してLighthouseで(ほぼ)100点満点を目指す

1年くらい前に仕事でNuxt.jsをいじる機会があったんだけどそれ以来使ってなかった。 ただ、GW中にNuxt tech bookを読んだところ久々にいじりたくなってしまい。 そこでちょうどFirebase HostingとPWA化に関して調べてたとこだったので、Nuxt.jsのサイトをPWA…

goroutineに対して一斉にシグナルを送る

たまに待ち受けてる複数のgoroutineに対して一斉にシグナルを送りたいことがあると思います。 そういう時はsync.Condを使うと楽にできるみたいです。 こんな感じです。 package main import ( "fmt" "sync" "time" ) func main() { fmt.Println("シグナルを…

goroutineの同時実行数を制御するやつ

goroutineは気軽に使えるのでバコバコ使ってしまうけど、同時に実行されすぎると困ることがある。 例えばサイトのスクレイピングとかで同時に3アクセスまでに制限したいとか。 だいたいこんな感じのコードになる。 package main import ( "sync" ) func main…

SlackやChatworkのディスプレイネームに「お疲れ様です」を入れるやつ

Slackのdisplay nameを「お疲れ様です」から始まるようにしておくと、DM送るときに毎回「お疲れ様です」って言わなくていいので効率的です pic.twitter.com/3YVLavmwaG— ウイウ (@uiureo) April 16, 2018 この投稿を見て@uiureoさん天才か〜って思ったのでCh…

Golang製のメンテナンスしづらかった個人プロジェクトをゼロから書き直すまでの流れ

以前にも推しの声優のラジオを録音するためにGolangでサーバーサイドを書いたというエントリを書いた。 razokulover.hateblo.jp この時は爆速で環境を整えるために数日でとりあえず動くものをこしらえた。 すぐに動き出したのはよかったものの、代わりにメン…

全国の風俗店の店名を形態素解析したら人妻が最頻出単語だった

突然ですが全国の約15000店の風俗店を対象にして、店名を形態素解析してたら結構面白かったので記しておきます。 以下が「店名によく使われている単語TOP 50」の結果です。 回数|単語 874|人妻 367|女 292|妻 244|奥様 233|デリヘル 204|安 160|学園 159|娘 …

メタプログラミングRubyを読んだ

メタプログラミングRuby 第2版は、初版のほうは軽く読んだことがあったが第二版のほうはまだ読んでなかったので読んでみた。 内容はオープンクラスや動的メソッド定義とか、いわゆるRubyの黒魔術やメタプログラミングに関する話。 最初に読んだときはたしか2…

コンピューターの構成と設計 上(パタヘネ)を読んだ

コンピュータの構成と設計 第5版 上を読んだ。 先日のMeltdownとSpectre問題とかの関連でCPUについてもう少し深く知りたいな〜という気持ちがあったのとちょうど正月にCS基礎教養をまとめてて読もうと思ってたところだったのでちょうどよかった。 パタヘネ本…

Google Cloud Speech API+Rubyで音声ファイルを文字起こししてみるテスト

Google Cloud Speech APIの文字起こし精度が結構高いという話を聞いたのでRubyでAPIを叩いて試すところまでやってみた。 流れとしては、 サービスの有効化 GCPでサービスアカウントキーを取得 音声ファイルの作成 ストレージに音声ファイルをアップロード AP…

「プログラミングの宝箱 アルゴリズムとデータ構造」を読んでプログラミングについて考えたりした

この年末休みはずっとCを勉強してた。 なんでCかというと、実は自分はCをやったことがなかったから。 情報系もとい理系全般の学部卒以上であればCは必修科目でやってると思うんだけど、自分の場合は文系だったのもあり触れてこなかった。 webエンジニアの人…

暗号技術入門 秘密の国のアリスを読んだメモ

まとまった休みなんで積ん読してた本を消化するday。 結城先生の名著、「新版暗号技術入門 秘密の国のアリス」を読んだ。 対称暗号 公開鍵暗号 一方向ハッシュ 認証メッセージ デジタル署名 擬似乱数生成器 を暗号学者の道具箱と表現していて、これらの要素…

Lisk(リスク)についてざっくりと調べた

休みもはじまったことだし、暗号通貨周りのことでも調べるかーという気持ちになったのでとりあえず前から気になってたLiskという非中央集権の分散型アプリケーションプラットフォームについて調べてみた。 DAppsについてはこの記事がわかりやすい。 DAPPS (…

Appleにリジェクトされたので放置してたアプリがなぜか突然審査に通ってしまった

9月末くらいにAppleのストアにRNHBFavというはてぶのお気に入りフィードのビューアーアプリを申請していました。 ReactNativeにハマっていたこともありHBFavのReactNative版として作ったものです。 実装自体は割と簡単にできてあとは審査結果を待つだけの状…

暗号通貨NEM(ネム)についてざっくりと調べた

bitcoinやEthereumなど暗号通貨が色々存在する中、NEMという暗号通貨は全通貨がすでに発行済みであることやPoIという謎のコンセンサスアルゴリズムを採用しているということで非常に興味が湧いたので雑ながら調査してみた。 調べる際には下記の点について気…

もっと早くオブジェクト指向設計実践ガイド読んどけばよかった

@joker1007さんが激推ししてたのでオブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方を読んだ。 なんかすんませんw Sandi Metz本はここ数年でトップクラスに良い本だったのでオススメです。 #railsdm— ジョーカ…

「ふつうのLinuxプログラミング」を読んだ

大学時代に少し読みかけたが結局積ん読になっていたふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道を読んだ。 当時はサーバーのことよくわからんかったし、MAMPとか使ってPHPを弄る程度の初心者だったので厳しかった。 …

Scrapboxで共同日報を書く

11月頃からエンジニアのメンバーが増え始めた。 加えて本格的にリモートで働く準備をしはじめた。 その過程で各メンバーが何をしてるのか・何に困っているのかみたいなことを共有したいなという思いがありScrapboxで共同日報(複数人で1ページに書く形式の日…

FranzのScrapbox用プラグイン作った

普段からGmailとかSlackとかを一元管理できるデスクトップアプリのFranzを愛用してるんだけど、最近Scrapboxも導入しようという感じになったのでFranz用のScrapboxプラグインを作った。 franz-scrapbox まぁ作ったと言ってもFranzのTrelloプラグインが公開さ…

「仕事ではじめる機械学習」をざっくり読んだので感想やメモなど

仕事ではじめる機械学習を購入したので早速読んでみた。 知ってる箇所とか結構流したとこもあるので雑なメモです。 第Ⅱ部に関しては特に読んでないとこ多いのだが、手を動かさないと意味ないしまた休日にでもやってみます。 第Ⅰ部 1章 機械学習プロジェクト…

推しの声優のラジオを録音して聞く環境を整えた

推しの声優のラジオを聞く環境を整えた。 自分が現在聞いているのは10番組ほどで超A&Gとradikoの文化放送で配信されている。 A&Gは音泉でアーカイブされたり、文化放送の方も1週間だけアーカイブされてるみたいな仕様なのだが、忙しくてアーカイブ期間を逃す…

ReactNativeでの開発を通じて得た知見

前回はてぶのお気に入りフィードを読むHBFavというアプリのReactNative版RNHBFavというアプリを作っているという話を書いたが、とりあえずAppStoreへ申請するところまで終わった。 razokulover.hateblo.jp 申請がどのくらいで通るかはまだわからないが、たぶ…

ReactNativeで自分用のHBFavを作った

はてぶのお気に入りをタイムライン形式で読めるHBFavというアプリがある。 このアプリは自分にとってはTwitterやFacebookの次くらいによく開くアプリで重宝している。 基本的な機能についてはほぼ不満はない。 しかし、クリップボードにコピーしたURLからブ…

Hello Worldの後に何を作るか

新しい技術を学びはじめるとHello Worldのその先で何を作るか詰まってしまうことがよくある。 最初から作りたいものがある人はそれ作ったほうがいいし、実務で導入できたりするなら一番手軽で学びが多いのだが中々そうもいかないのが人生というもの。 そうい…

Threejs+WebAudio APIで勉強がてらオーディオビジュアライザーをつくった

Threejs+WebAudio APIで勉強がてらオーディオビジュアライザーをつくった。 成果物↓ 修正はしたが、音量少しデカいかもしれんので注意 threejs-audio-visualizer 背景 2017年1~3月の振り返りで次にやることとして3Dコンテンツを作りたいということを書いた。…