ブックマーク / diary.ssig33.com (8)

  • arm Mac と向き合う Web アプリケーション開発環境 - Diary

    arm Mac と向き合う Web アプリケーション開発環境 しない話: Docker Desktop の課金回避 問題意識 MacCPU が arm になってしまった結果、以下のような問題がある JVM 系を中心に amd64 な Docker image が Mac で挙動が怪しい ネイティブ開発すっか!!となるとライブラリのバンドリングとかでおかしいことになりがち Ruby の nokogiri とか ネイティブだと古いものはわりと動かない そういう問題がなかったとして arm で開発したものを amd64 環境にデプロイするのはちょっと勇気がいる。 古い環境はアップデートせえやという話なのだが、リソース不足してるものはどうにもならず、結果として古い JVM 環境を延命させてたやつとかはまじでどうにもならなくなったりする。えてしてそういうものは皆さんの手元にあることでしょう。

  • 認証自作、 Rails 、 Devise - Diary

    認証自作、 Rails 、 Devise https://ockeghem.pageful.app/post/item/uQFX4oRNbnax82V これを読んで思ったことなんですけど、 Ruby On Rails 界隈では「認証は自作すべきではない、デファクトスタンダードの Devise を使うべき」という考え方が一般にあるように思います。 ではその Devise なんですけど、ドキュメントに以下のようにあります。 Starting with Rails? If you are building your first Rails application, we recommend you do not use Devise. Devise requires a good understanding of the Rails Framework. In such cases, we ad

    l08084
    l08084 2020/08/16
  • プログラミングが出来る - Diary

    プログラミングが出来る と一言で言ってしまうのはあまりよくなくて、ある程度分割して考えるほうがいいと思っている。 自分が必要なものを作ることができる みんながもっている共通の課題のうち、自分の技術力で解決可能なものを見つけて、解決するプロダクトを作ることができる 同僚と協調しながら製品を作ることができる おおまかにいって「プログラミングが出来る」というのはこの3個のスキルに分割できるのではないかと思っている。そして、これらはそれぞれあまり関係がない。 自分の課題を高速に解決することができるが、それを製品や OSS にまとめてリリースすることは出来ない人 優れた OSS のポートフォリオを持っているが、同僚という立場の人と協調することはあまり得意ではない人 業務としてプログラミングで成果を出してきているが、別に趣味で自分のためになんか作ったりはしてない人 ゲームを自作しているが、別にそれで

    l08084
    l08084 2019/02/08
  • React の Hooks で state に Object を使う - Diary

    React の Hooks で state に Object を使う const [obj, setObj] = useState({}); const [value, setValue] = useState(1); みたいなことをしているときに useEffect(()=>{ obj.hoge = value; setObj(obj); }, [value]); としても、コンポーネントはレンダリングされない。なぜかというと、オブジェクトが変わってるかどうかを React は表面的にしか確認しない(これは利点でもある、不必要な変更の走査やレンダリングがはしらない)。 明示的にレンダリングをさせたい場合、以下のようにすればよい。 setObj(Object.assign({}, obj)) 新しいオブジェクトをメモリにつくって乗せてしまえば、オブジェクトのなかにあるデータが全く同じもので

    l08084
    l08084 2019/02/08
  • Firebase でバックエンドエンジニアがいらなくなるは正しくない - Diary

    Firebase でバックエンドエンジニアがいらなくなるは正しくない と思っている。 用語定義が曖昧だが、「バックエンドエンジニア」という言葉でなんとなく想像されるものとしては、 Rails とか Laravel とかでデータベースに CRUD する Web アプリケーションを書ける人を指すと思う。違いますかね。そんなに違ってないと思うが。 Firebase でこれらの知識をもつ人が不要か?というとある程度の規模、機能を持つアプリを作ろうと思うとこれは必須になる。 Firebase のデータベースは機能が少なく(とはいえ Firestore はわりと「これで十分じゃん」ではあるが)、なにか複雑なことをしようとすると、すぐに Cloud Functions という機能に頼ることになる。 Cloud Functions はようするに Firebase の Lambda + API Gatewa

    l08084
    l08084 2018/08/31
  • Diary

    ある OSS のプラグインにちょっと似ているがちょっと違うみたいなプラグインを作りたくなって、でもその OSS の内部構造とか全然知らないので、プラグインの実装を全部 GPT-4 に渡して「これを参考にこういうの書いて」って流したらパパッと出来た。まあでもその実装自体は不具合多数あるものだったんだけど、一旦シンプルな叩き台ができるとあとは話がはやい。QAプロセスまわして直して実装完了したしそのプロセスで知識も増えたのであとは自分でガシガシいける、ということになった。

    l08084
    l08084 2018/04/28
  • 見てるページを全部保存するという行ない - Diary

    見てるページを全部保存するという行ない をもうずっとしていて、以下のような user.js でページを全部保存してます。 // ==UserScript== // @name 見たサイト全部保存 // @namespace http://tampermonkey.net/ // @version 0.1 // @author You // @match http://*/* // @match https://*/* // @grant GM_xmlhttpRequest // @noframes // ==/UserScript== if(!!document.querySelector('title')){ const title = document.querySelector("title").textContent; const url = location.href; GM_x

    l08084
    l08084 2018/04/03
  • 全部クライアントサイド JavaScript で実装されててメモは Google Drive に保存される Markdown メモツール作った。 - Diary

    全部クライアントサイド JavaScript で実装されててメモは Google Drive に保存される Markdown メモツール作った。 https://memopad.ssig33.com/ 以前から自分専用に使ってたメモツールがあったのだが、これにつかってた MySQL が落ちて、その MySQL の復帰のしかたはメモツールにしか書いてなかったみたいな頓知みたいな事態が起きてキレて作った。 バックエンドを自前のサーバーからクライアントサイド向けの GoogleAPI Library に置き換えるだけなのでわりとシュッと出来てよかった。 React のおかげで当にこういうのはめちゃくちゃ簡単になった。 HTML と JS は S3+Cloudfront でデプロイしている。これでやってる。 サイトの説明にも書いてるけど、あらゆる機能がクライアントで動くように実装されている

    l08084
    l08084 2017/10/24
  • 1