アプリを起動すると自動的に最新版があるか確認し、もし更新されていれば自動的にバージョンアップしてくれる機能を実装します。
いくつか方法はあるのですが今回は
- electron-builderの機能を使う
- ビルドしたアプリはAWS S3へアップ
- 更新があるとユーザーの確認無しでダウンロードしちゃう
という方向でまとめていきます。
続きを読む
アプリを起動すると自動的に最新版があるか確認し、もし更新されていれば自動的にバージョンアップしてくれる機能を実装します。
いくつか方法はあるのですが今回は
という方向でまとめていきます。
続きを読む
今回はインターネット経由で配布したmacOS用のアプリが安全であることを証明するための作業を行います。
ぶっちゃけ面倒です←
あとmacOSがないと作業できませんのでWindowsユーザーの方は(お小遣いを)準備してから挑んでください。
続きを読む
HTMLやJavaScriptだけでPC用のアプリが作成できるツールはいくつかありますが、その中でもVisualStudioCodeやSlackなどの実績があるElectronは検討候補から外せないでしょう。
1つのソースコードで複数のプラットフォーム用のアプリを同時に開発できるのは非常に魅力的です。
今回はElectronでHelloWolrd的なアプリを作成し、実際にWindowsやmacOSで動作する実行可能なファイルを作成するところまでをまとめてみます。
続きを読む
4連休の前半が間もなく終わろうとした22:30、晩ご飯を食べまったりと本を読んでくつろいでいたらスマホがブルブル震えるんですね。ソシャゲの体力でも回復したのかと思いしばらく放置していたのですが、そろそろ横になろうかと23:00ごろ手に取ると……Mackerel先生からCPU負荷94%突破のお知らせが(^q^)
連休中に君の名前は見たくなかったw
とはいえ見てしまったからにはしょうがないと諦め内容を確認すると、どうやら個人で利用しているWordpress用サーバが炎上なうの模様。何らかの記事がバズった?と思いダッシュボードにログインするけどアクセス数はいつもと変わらず。特定のプロセスが激重の可能性も考えたけど、突然そんなことになるとも思えず、何となしにApacheのアクセスログをtail -f
で確認すると…。
「xmlrpc.php」への大量のアクセスΣ(゚Д゚)
$ tail -f /var/log/httpd/access_log
70.132.61.91 - - [20/Sep/2020:22:41:09 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.143 - - [20/Sep/2020:22:41:09 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.95 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.147 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.143 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.81 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.144 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.91 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.97 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.95 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
(後述しますが上記のIPアドレスはCDNの物です)
これ以外のリクエストがほぼ見えない状態でログがガンガン流れてくのを呆然と眺めること数分。明らかにアタックを受けている。それも目の前で、リアルタイムに。はっと我に返りすぐさま対応せねばと思い至りTerminalに意識を戻します。……正直寝たいw
続きを読む
facebookが開発しているDocusaurusを利用すると、Markdownを書いてちょちょいと設定すればナウい感じのドキュメントを作成することができるという噂を聞きつけ、今回はインストールから簡単な設定を行い、GitHub Pagesへ公開するところまでを駆け足でたどります。
具体的な事例は公式サイトに一覧が掲載されていますが、facebook製だけあってReact関連のプロジェクトはほとんどがDocusaurusみたいですね。
なおDocusaurusには現行バージョンの1.x系と、開発中の2.x系がありますが、今回は1.x系を利用します。2系はコマンドや設定が異なりますのでご注意ください。
続きを読む
自宅では10年ほど前に購入したオカムラのオフィスチェア「バロン」を愛用しています。腰痛持ちなので椅子は良いものを使いたいと思い清水の舞台から飛び降りる覚悟で購入を決意し、メジャーどころのオフィスチェアを試座しまくったら最終的にバロンにたどり着きました。やはり日本人には日本メーカーのイスが相性良いのでしょうか?
※画像はメーカーサイトより
ここ10年はほぼノーメンテ、たまに掃除をするくらいでなんの故障や不具合の一つも無かったのですが、つい2ヶ月前ほど前から何の前触れもなく肘パッドに亀裂が入ってきました。最初はひとまずビニールテープで補修してごまかしたのですが、時間が立つほどに崩壊が進んでいくわけです。
最終的に下の素材が見えるレベルになりました。ラピュタのラストシーンを彷彿とさせる崩壊っぷりにさすがにまずいと思い一念発起。交換を決意したというわけです。
誰ですか、滅びの呪文を唱えたのは。先生怒らないから手をあげなさいヽ(`Д´)ノプンプン
続きを読む
MacBookAir2020買いましたヽ(=´▽`=)ノ
そしてMacBookAir 2020年版も到着!
商売道具は3年毎に変えないとね(・∀・)裏側のAppleロゴが光らないのはやっぱり寂しいけど、今のところ満足度は高い。今週は設定祭りだなー。 pic.twitter.com/72e9Tm5TN5
— 勝部麻季人 💦👏 (@katsube) 2020年4月20日
1年以上前から買い換えようと何度も店頭に足を運んだのですが、バタフライキーボードが全然しっくり来ない、価格的にもそれならPro買うわといった感じでコスパも今ひとつ。そんなときに突然発表された2020年版がそれらの悩みをすべて解消した神モデルということで迷わず購入。新型コロナが蔓延する情勢不安な中でしたが商売道具をケチってはいけませんw 一体どうしたんだAppleらしくないぞw 顧客の要望を足蹴にし阿鼻叫喚に叩き落とす経営方針はどこにいったんだw 閑話休題。10日程度使った感想としては買ってよかった!これであと3年くらい戦える(๑•̀ㅂ•́)و✧
さて、使い始めるにあたりTimemachineのデータをそっくりそのままコピーしても良かったのですが、何年も使ってると不要なファイルや設定がたまりまくっているため、クリーンインストールしたと思って最初から設定を行うことにしました。今回はHomeBrewを中心にGUIアプリやTerminal環境を整備していきます。
AWSでRESTfulAPIをAPIGateway+Lambdaで作ろうとすると、ブラウザ上でGUIをいじくるわけですが操作感が独特で慣れるまでちょっとばかし辛いものがあります。そんな時に活躍してくれるのが「Serverless Framework」。YAMLをチョロっと書くだけでそのあたりの設定を良い感じに行ってくれます。
今回はドキュメントの内容に沿って、Serverless Frameworkの導入から実行までを行います。
Node.jsのキラーソフトの一つとも言われて久しいSocket.ioを使ってリアルタイム通信を行います。コツさえ分かれば非常に簡単に開発できてしまうのでプロトタイプや小規模なプロジェクトにオススメ。
今回は以下の動画のように複数のクライアント間でリアルタイムに通信が行える簡易チャットをHTML+JavaScriptで作成してみます。
美味いマグロが食べたい!
11月16、17日の週末は両日ともに降水確率0%と、ここしばらく台風やら何やらで出かけられなかった分を取り戻すが如く、ツーリングに向かおうと心に決めていたのですが問題は目的地。富士山周辺も良さそうでしたが、久しぶりのツーリングだったこともあり、今回は片道1.5時間ちょいで到着する三浦半島の先っちょを目指すことにしました。
マグロがオレを呼んでいる(・∀・)
自然言語の翻訳APIに興味が出てきたのでちょっと触ってみることにします。ここではすでにテキスト情報になっており、日本語から英語など別の言語に自動的に変換してくれる物を想定しています。
Google Cloud Translateサイトより
すでに様々なサービスが世に出ていますが、今回はGoogleの翻訳APIを試してみます。新しいバージョン3(以降v3)ではJava、Python、Node.jsから利用できますが、今回はNode.jsで利用します。
「すみっコぐらし」の劇場版がネット上で話題騒然です。
実際に劇場に行ったと思われる方のツイートを見ていると……いやいやいや、みんな盛りすぎでしょー。ストーリーらしいストーリーも無さそうだし、サンエックスのゆるきゃらがどうやったらそんな超展開になるんだよ(´・ω・`)
いやあの、ネタバレになるからあんま言いたくないんだけど、観る前に「これ絶対こういう展開やろ」っていう大人の予想が覆される気持ちよさよ…子供向けだけど"子供だまし"じゃない。老若男女問わず楽しめる作品だと思います、映画すみっコぐらし。
— まとい@2月プリコン申込済 (@entoverse7) 2019年11月9日
すみっコぐらしの映画、子供向け奈須きのことか実質Fateとか今年トップのアニメ映画とかすげえ評価がバンバン流れてくるけどみんなあのゆるキャラに何を見せられてるんだ…
— takitate (@takitate580) 2019年11月10日
『映画すみっコぐらし とびだす絵本とひみつのコ』が「大傑作」「2019年のアニメ映画の中で1、2位を争う」など絶賛の嵐でFilmarksでもこの評価なんですけどいったい何が起こっているんだ…… pic.twitter.com/iBrDbtopes
— ヒナタカ(映画ブロガー/ライター) (@HinatakaJeF) 2019年11月10日
とはいえ、ここまで盛り上がっていると気になる物。お昼時は親子連れでいっぱいだろう中に異分子のおっさんが紛れ込むのも心が痛んだため、ほぼレイトショーの回で恐る恐る拝見したのですが、気がつけば、良い歳したおっさんが号泣していましたw 最後のスタッフロールの時間が短すぎますね……。もう少し尺を長くしてもらわないと顔を上げて歩けないじゃないですかw というかスタッフロールでも追加でジャブを入れてくるので呼吸出来ないw
満点です。今年見た映画の中で3本の指に入る作品でした。
一切の情報や期待を捨てて観に行くことをおすすめします。ちょっと疑心暗鬼なくらいがちょうど良いかもw
続きを読む
武蔵小杉の端っこの方、多摩川まで徒歩数分のところに住んでいます。ええ、そうなんです。川崎市から配布されたハザードマップで真っ赤になってるところですねw
テレビなどで報道のあった通りこのエリアは2019年の台風19号により街中が浸水することになりました。私自身は幸いなことに被害はほとんどなかったのですが、生まれて始めて避難所に向かい夜を明かす体験をし、自宅の周囲がドロや水で覆われまともに生活することが困難な状態に見舞われました。
その際の状況をTwitterへ事ある毎にポストしていたため、ひとまず関連するツイートをここにまとめておきます。
先日の台風19号で幸運にも被災を免れたのですが、やっぱりいざと言う時にどこでも寝食ができるスキルが欲しいと思ったのがきっかけで、キャンプ用品を徐々に揃えることにしました。
今回はアルミ製の「メスティン」をゲットしたのでこれでご飯を炊いてみます。メスティンは日本語で言う飯盒のことですね。ひとまず自宅で炊いてみることにします。
……いや、ちゃうねんでw 本来はもっと前向きな理由で揃えたかったんですよ。来年の夏は北海道ツーリングにキャンプ前提で行きたいとか、「ゆるキャン」が好きだったのでそのうちソロキャン行きたいとか常々考えてたんですけどね。最後に背中を押されたのがまさか台風になるとは夢にも思わず(;´∀`)
続きを読む
Ansible便利ですよね。
一度設定ファイルを作ってしまえばあとはコマンド一発で同様のサーバ環境が作れます。対象サーバも一度に何台でもまとめて設定できるのも便利。最近では人間が手作業で実行する日々の運用でも活躍するシーンが出てきました。サーバのみならずクライアント環境に対しても利用できちゃいます。
Ansibleのようなソフトウェアを構成管理ツールと呼びます。同様の物にChefやPuppetなど色々ありますが、管理対象のマシンはPythonが入っていれば他に余計なソフトウェア(Agent)をインストールしなくて良いのがAnsibleの特徴でもあり良いところです。
というわけで、ここしばらくサボって使わないでいたらすっかり使い方を忘れてしまったので再入門と相成りました。以前はVagrantとセットで利用していたのですが、今回はmacOS上でPlaybookを実行し、Linuxサーバの構成管理を行います。
ちょっと文量が多くなってしまったので何回かに分けてお話する予定です。今回は基本的な利用方法になります。
続きを読む