サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
blog.potproject.net
すぐに試してみたい人はtelnet potproject.net または telnet potp.roで接続できます! はい、また流行りに乗った記事です。 パッと作れないかなと思って実際に作ってみると結構面白く、Blueskyの方からアクセスも結構あったので記事にしました。 概要 9/4、このようなものが公開されて話題を呼びました。 社団法人の電子公告が「Telnet」で行われる珍事発生、早速「Tera Term」で読んでみる 電子公告が「Telnet」を使って行われているというものです。Telnetはhttpよりもはるか昔から存在する通信プロトコルですね。 実はhttp/httpsじゃないといけないと決まっているわけではないからライブラリは何でもよいとのこと。 ftpとかsshでもいいんだろうか?と思いつつ、実際にtelnetで接続してみると、1文字ずつ真心を込めたTCP Socket送
巷で話題になっているこの話題、画像をスクレイピングやダウンロードされたくないということで騒がれています。その話に関しては色々な意見があると思ってますがここでは置いておくとして・・・ 技術的にやるとしたら実際どれくらい対策できるの?ということが気になったので、自分の知識で出来る限り対策したものを作ってみることにしました。 最初に 賢い方はわかると思いますが、タイトルは釣りです。 絶対に画像をダウンロード&スクレイピングさせないページは存在しません。ソフトウェアにおいて絶対と言う言葉はまず存在しないのです。ブラウザで表示している以上、仕組みさえわかれば技術的には可能です。 そのため、 「元画像のダウンロードとスクレイピングを非常に困難にしたWebページを本気で作ってみた」 が実際のタイトルかなとなります。 とはいえ、この仕組みであれば大多数の人は機械的にスクレイピングすることを諦めるレベルの作
この記事はFediverse (2) Advent Calendar 2022の21日目です。 せっかくなので書きます。いつもは技術記事をしっかり書いてますが、たまにはすごい雑に日記感覚で書きます。 Fediverseでもっと有益なこと発信できることあるだろと思ったけどもうこれでやる気が全部失われたので無理です。 突如として投稿が全て消えてしまった 突如起こった悲劇。 2022年12月12日、私はいつものようにMastodonでどうでもいいことをつぶやいておりました。 Twitterがどうとか、仕事がどうとか、ゲームがどうとか。そんなことです。 うちのMastodonはおひとりさま鯖。もうどうかすると6年目に入ろうとしています。6年・・・下手なソシャゲーのサービス期間より長いです。 そのため、Mastodonの運用に関してはかなり自信があったというか、まあほぼ自動化しており、かつサーバスペ
Viteとは Vite、皆さん使ってますでしょうか。 Viteは次世代フロントエンドツールと称しており、フロントエンドの大変な依存やライブラリの利用によるインストールなど、開発環境構築に労力を割くことなく、かつ高速に動作するビルドツールとして、知名度を上げているビルドツールです。 実際、VueやSvelteではこのViteを使うことが最近では推奨されていることから、かなり有力になってきている気がします。 実は自分は割と最近使い始めて、確かにかなり開発体験がいいなあと思いました。WebPackやbabel系loaderの地獄に苦しめられた人たちはみんなそう思うんじゃないでしょうか。 esbuildを使用しているのでビルド時間が早いのもいいですが、vue-cliなどを使用した時に生成されたパッケージなどの大量の依存みたいなのが無くなったのもすごくありがたいです。npmインストールも早い。 Vi
タイトルの通り。何か問題出てくるかなと思ったら、割とスムーズに何も問題なく移管できてしまったので記事にする。 ずっと月1200円くらいのVPSで動作していた、自分のおひとり様Mastodonサーバを、前回の記事でKubernetesクラスタを作った、OCIのAmpere A1 Computeインスタンスに移管しました。 ちなみに、Mastodonサーバですがもう4年もやっていることになります。もうそんなに経つのか・・・ 当然ながらMastodonブームは過ぎ去り、去っていった人もいるけれど、新しく参加した人もいるので、自分のタイムラインには話題に困らないくらいにはアクティブ人数がいると思います。 Twitterよりは活発にコミュニケーションしてます。全然今からでもWelcomeな雰囲気があると思います。 移管について 元々、Mastodonサーバはx86-64のIntel CPU(仮想)で
前回の記事はこちらです。この記事は前回の記事のリマスターみたいなものとなっております。 読む必要はありませんが、この記事よりも詳しく用語の説明をしている部分もあるため、読んだ方が問題が解消できるかもしれません。 Oracle Cloudの無料枠だけでKubernetes(k3s)クラスタを構築する この記事にて、Kubernetesクラスタを作成してから1年と半年ほど・・・ 1年くらいはノーメンテで動作していることを確認していました。 しかし・・・1年を超えたくらいで動作しなくなってしまいまして、やはりスペック に関しては非常に厳しいものがあったようです。 kubectl打ってタイムアウトになってしまうこともしばしばあり、当然ながら実用的にアプリケーションを動作させるのは無理だな、ということでそのまま放置しちゃっていました。 そして時が過ぎて、いきなりすごいニュースが自分のTLに流れてきま
Laravel + PPM(PHP-PM) + ECS/FargateのWebアプリを本番運用した話 久々にPHPの記事です。そうだ自分はPHPerだった(最近は怪しいけど)。 割と攻めた構成で本番運用まで出来て、なおかつ安定しているくらいまで実現できたということで記念に記事を書く。 なお今回、ECS/Fargateの設定なんかは前に書いたことがあるのであまり詳しく書きません。 LaravelでISUCON突破したいみたいな人にも役に立つんじゃないかな。実際出来るかはわかりませんが。 PPM(PHP-PM)とは? まず、PHP-PMを知らない人がほとんどだと思われます。一般的に使われているであろうPHP-FPMの間違いではないです。 php-pm/php-pm - PHP Process Manager PHP-PMはPHPアプリケーションのためのスーパーチャージャーかつロードバランサーと
タイトルの通りです。ここ数日間、CentOS8とDocker CEで戦ってきました。 しかし問題が起きすぎて困ったので、現状はあまり使えないと思っていたほうがいいよ、そしてこれからも問題が起きるかもしれない(これに関しては推測でしかないですが)という記事。 追記 (2020/09/21) ドキュメントではまだ7.xのままですが、2020/09/17にCentOS8(el8)用のstableにパッケージが追加されているようです。これがそのまま動作するかは試していないため定かではありませんが、サポートはされていると思われます。 https://download.docker.com/linux/centos/8/x86_64/stable/Packages/ よって、これ以降の文章に関してはもう問題なくなったかな、と思います。(読まなくていいです) 公式のパッケージが存在しない CentOS
タイトルは何やらよくわからないことになっていますが、 今回構築する基盤はkubernetesでHTTP(S)ロードバランサーの役割を果たす、Ingressの機能を使用してL7ロードバランサーを構築します。 前回の記事では、NodePortを使って外部公開していました。 しかしこれだとPortごとに1つしか外部公開できません。複数のポートを設定してOCIのロードバランサーを使うことになってしまいます。あまりスマートではない。 またhttpsでのアクセス自体をk8sで対応出来ていません。最近のWebサービスはhttpsがデフォだと思っているのでほしいところ。 なのでうちのブログでもβの頃から使っていたけど今やかなり有名となったフリーな SSL/TLS 証明書のLet's Encryptを使用してhttpsでサービス公開を行いたいと思います。 この問題の解消としてIngressを使うことにより、
Golangはシングルバイナリ(単体で動く実行ファイル)を出力してくれてありがたいのですが、それをコンテナ向けの軽量LinuxであるalpineやBusyBoxを使って動かそうとすると、ハマることが多い。 シングルバイナリじゃなかったのか、と思ってしまうのだが、どうやらデフォルトで一部のライブラリがダイナミックリンクになっているからである。 このあたりが参考になった。 golangでビルドしたバイナリをスタティックリンク (static link)にする これ、割とググればいろいろ出てくるのですが結局のところイマイチ最適解が見つからない。 何故かっていうと、中身に入っているライブラリなどで割かしビルド条件を変える必要があるため。 また、コンテナのサイズも小さくしたいので、いろいろとオプションを調べて、自分はこんな感じで落ち着いた。 ※ちなみに今回想定しているシングルバイナリは、Golang
またまたDockerの話になるのですが、 割と構築を考えていて色々ググったりしてベストプラクティスを探ったりしています。 やはりWebアプリケーションのDocker運用は開発環境をそろえる為、のレベルならいいですが、 本番で使おうとすると実際はロギングや監視、ファイルの外出し、今はもうk8s前提の設計など考えること盛りだくさんで、完璧にできている所はかなり少ないんじゃないかと思います。 Dockerは使っているけどもコンテナに後から設定入れてるとか、開発環境だけだったりとかだったり。 で、PHPでのWebアプリケーションをDockerを本番稼働する際に考えていることで、ものすごく気になる点が一つあり・・・。 それの試行錯誤の記事です。 基本の構成 PHPでのWebアプリケーションの構成は、まあこんな感じだと大体思います。 PHP(php-fpm) nginx nginxとPHPで分離して、
Oracle Cloudの無料枠だけでKubernetes(k3s)クラスタを構築する(したい) タダでkubenatesを運用してみたいんじゃオラ という気持ちの元に、ギリギリ無料でkubenatesを運用できそうな物が出てきたので、構想を現実にするという記事です。 Oracle Cloud Infastructure と Kubernetes Kubernetes、Docker(厳密には違うけど)のオーケストレーションツールとして、事実上の標準として居座っているオープンソースソフトウェア。 コンテナの運用技術としてこれから試してみたい人も結構多いと思いますが、やるのであれば実際にクラスタ組んでサービスをデプロイしてインターネットからアクセスできる、そんなレベルまでやってみたいものです。 やるとすれば、実際Kubernetesを採用しているクラウドサービスは多く、GCPはマネージドKub
Golangでのバッチ処理 個人的プラクティス Go言語でバッチを書く機会があった為、そこで個人的に行なった・意識した事をまあ振り返り形式が描いていく記事です。 割と書いてることは堅いかなと思います。そんなに新しいことを書いている感じもないです。 これを使えば多分間違いないだろうという定番ライブラリの紹介みたいな記事です。 CLIインターフェイス / フレームワーク cliを自分で実装するとなると割と大変だったりします。主に文法の解析。 なのでこれに関してはurfave/cliに任せておけばOKかと。 urfave/cli Star数10000超えてますし、特に不満もなく何でも使えるしカスタマイズもできるので、 今のところはこれが最良かと。 しっかりと標準出力/入力に依存せず、独立した構成になっているのでテストも容易です。 ほぼケースを網羅したテストのあるコードを書いてみる。言語設定で文章
Dockerを結構本番運用をガッツリやる会社もよく聞くようになってきた気がします。 で、大体その手の話を聞くと、本番はいかに安定したシステムとネットワークを構築することが肝になるため、 k8sやAnsible、CoreOSやRancherOS、 コンテナなクラウドサービスの話になったりして・・・ これ以上その分野まで覚えようとすると大変すぎるし、自分はまあインフラエンジニアではないのでそこまではあまり興味が無かったりします。 そもそも、そこまでやるとするとかなりの知識が要りますし、かなり大変な作業となると思います。 でも、自分としてちゃんと問題なく動き、HTTPでロードバランシングでき、ダウンタイム0でのデプロイを実現できるWebシステムを構築したいわけです。 Dockerのみで。 このあたり、Webであればnginx-proxyで普通に行けるということを最近知りました。 しかも、めっちゃ
爆速を求めて個人ブログを Wordpress から Netlify+GatsbyJS+contentful に移行した話 元々からブログを移行したいと話しており、本日ついにブログを移行しました。 とりあえず、先にパフォーマンスから見ていただきたい。 FCP : 900ms (モバイル/CPU Slowdown時) ついに念願の Lighthouse パフォーマンス 100 を達成しました。 LighthouseではCPUを絞っているので遅いですが、 自分の PC では DOMContentLoaded の値が 約10msです。 FCPは250msくらい。 阿部寛を超えるための技術: はてなブログから Nuxt に移行した話 このブログに先を越されてしまいましたが、ちなみにこのブログは・・・ 阿部寛にはFirst Contentful Paint 10ms差で勝ったっ! (実際は誤差みたいな
React Native製Mastodonクライアント「ikuradon」をgithubで公開しました。 potproject/ikuradon React Nativeの勉強のためにちまちまと作ってたアプリなのですが、 最近、せっかくなので何かOSSとして公開したいなーと思っていたので公開します。アプリ名も安直です。 React Native、色々言われてる割には国内でのちゃんとしたアプリのソース公開も少ないので、参考になればいいんですけども。 内部のライブラリにReact Redux,React Navigationを使用しています。 Reduxは覚えるのに苦労しつつ、この実装でいいのか今もイマイチな感じがあるのですが、全体のデータを管理出来るので、Reduxか似たようなものが無いと設計段階でやはりキツいです。 まだまだ開発途中で、一部遷移が遅かったり、そもそも動かなかったりしますが、
ネタが無いので、ありきたりだけどちょっと前にやってたことをブログに書こう。 CryptoJSはクライアントサイド(つまりはブラウザ上)でAESなんかを使った暗号化が可能なJavascriptライブラリです。 SHA-1などのハッシュ関数もあり、クライアント上でお手軽暗号化が実装できます。 使うのか知らないですがRIPEMDとかSHA-3まで対応してます。 文字列のAES暗号化・複合 SHA-2でパスフレーズをハッシュ化し、文字列をbase64エンコードしAES暗号化します。 ここまでやればまずパスフレーズがわからないなら暗号が破られることはないでしょう。 こんな感じのhtmlを用意。html部分は省略します。 上がパスフレーズ、下が暗号化する文字列です。 めんどいのでjquery使ってます。 window.onload = function () { $("#set").on("click
補足:ドキュメント移行によりリンク変更と、tasksに関しての追記を行いました。 最近は、twitterクローンであり分散型のSNSであるMastodonが勢力を伸ばしてきているところであり、自分もハマりつつあります。 実際に運用してみてわかった、大規模Mastodonインスタンスを運用するコツとしてpixiv.netが運営しているサーバpawoo.netでは、現時点で6万人以上のユーザ数を誇るほどの規模です。 その一方で、サーバ自体はオープンソースのため、誰でも立てることができ、立てたサーバはインスタンスとして他のサーバとつながることが出来ます。 実際に私も2,3日程運用して、おひとりさまで運用しております。その時のコツというレベルでもないですが、 これから構築する人に向けてはまりそうな点などをまとめておきます。 https://mastodon.potproject.net/@potp
← react-nativeをとりあえずすぐ実機で動かしてみる そろそろモチベとネタが落ちてきた。どこまで続くか・・・ potproject.net Advent Calendar 2016 3日目の記事です。 ちょっと前にLet's encryptの導入方法などを書いていましたが、 もはや古くなっている感じだと思います。 というよりいつの間にやら日本語ポータルとか出来ていたりと、かなり充実してきていてびっくりです。 手順も前とかなり変わってきているので、新しく書き直します。 今回はcertbotクライアントを使用し、自動更新までやります。 certbotは元々letsencrypt-autoだったクライアントの名前が変わったものっぽいです。 yumなんかでもインストールが可能になりました。 certbotのインストール(centos7) epelリポジトリからインストール可能です。 yu
potproject.net Advent Calendar 2016 8日目の記事です。 Swift3.0です。本当Swift2.x時代が強すぎて検索に全く引っかかってこないのが辛い。 もう結構前になってしまいますが、iOS10が公開され、iPhone7も発売されました。 しかし、相変わらず自分的にはiOS10もiPhone7も興味ありません。 でも、残念ながらiOS開発をしているとiOS10にも対応しなきゃならなくなり、 小規模なアプリを作っていたので、swift2.3からswift3.0に書き直すことに。 しかし、swift3.0はもう2.xの互換性をかなぐり捨てていて、公式でコンバータが用意されるくらいにめっちゃ変更されてます。 まあ大体はコンバートで対処できるのですが、http通信のコードの部分でエラーが出ていました。 調べるとやっぱりここはうまく自動変換ができない模様。 Swi
Anthropic ClaudeのGo言語用SDKを公開しました Claude 3 Opus image https://www.anthropic.com/claude みなさん、もうClaude 3は使われましたか?使いましたよね? Anthropicが生成AIモデル"Claude 3"を発表、"Opus"モデルとその人間に近い能力へ注目集まる OpenAI の元メンバーによって設立されたアメリカの人工知能スタートアップ企業Anthropicが開発...
このページを最初にブックマークしてみませんか?
『blog.potproject.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く