タグ

ブックマーク / zenn.dev/razokulover (11)

  • 個人的Rails開発環境構築2024

    新規でRailsプロジェクトを始める時の個人的な環境構築についてまとめる。前提とする条件等は下記。 規模: ~中規模 開発者数: 個人 利用シーン: PoC作成・スタートアップ立ち上げ・並の業務アプリ開発等 基戦略 利用シーン的に「思い立ったらすぐアプリの開発ができる」という感じの運用がしたい。極力セットアップで悩みたくないから必要なミドルウェアなどは全部Dockerでインストールできるようにして立ち上げれば終わり、の環境を作る。その環境の中で色々とコマンドを叩いたり、rails newやrails gなどでRailsアプリを作成していく。 この辺のRailsの初期セットアップの手間を出来るだけ省きたいのでtemplateとなるリポジトリを作成し、そこからcloneしてくるだけでOKにする。 フロントエンドReactなどを使わずをRails標準のerbとHotwireを軸に開発する。開

    個人的Rails開発環境構築2024
    peketamin
    peketamin 2024/03/17
  • うるう日にしか発生しないバグ

    昨日うるう日にしか発生しないバグに遭遇した。Javascriptを書く人には有名な話だとは思うので大して面白くはないかもしれないが一応メモ。 詳しくは書けないがバグが発生した関数の仕様としてはざっくりと下記のような感じ。 対象の年月日が基準日の1年前から1年後の間に含まれる場合はtrueを返しそうでない場合はfalseを返す 引数として2020-12-24というフォーマットの文字列が渡される(判定対象の日) 引数として2021-01-01というフォーマットの文字列が渡される(+-1年の基準日) Javascriptで書く (例) 対象の日: 2024/10/10 基準日: 2024/01/28 この時、trueになる範囲は2023/01/28 ~ 2025/01/28。なので2024/10/10はtrue。2023/01/28も2025/01/28もtrueになる。閉区間。 とあるコードの

    うるう日にしか発生しないバグ
    peketamin
    peketamin 2024/03/02
  • 雑にReactアプリを作りたい時に使ってるもの

    import "./App.css"; import { Link, Route, Switch } from "wouter"; function Nav() { return ( <nav> <Link to="/">Home</Link> <br /> <Link to="/about">About</Link> </nav> ); } function Home() { return ( <div className="App"> <h2>Home</h2> <Nav /> </div> ); } function About() { return ( <div className="App"> <h2>About</h2> <Nav /> </div> ); } function App() { return ( <> <Switch> <Route path="/" compo

    雑にReactアプリを作りたい時に使ってるもの
    peketamin
    peketamin 2024/02/28
  • Writing NES Emulator in Rustをやった

    Writing NES Emulator in Rustというサイトがある。これはRustでファミコンエミュレータ(通称: NES)を実装する方法をステップバイステップで解説してくれる親切サイトだ。NES初心者でも比較的容易に取り組めるので自力でNESエミュレータの実装するのはちょっと...といった人に特におすすめ。自分は数年前にNESの実装にチャレンジしたが途中で挫折した経験もあったのだけど、このサイトで言われた通り少しずつ進めていくことでなんとか一通り実装をし終えることができた(まぁまだバグだらだけど...)。 今回はその中でも初心者が事前に知っておいたら良さそうと思った知識や概念なんかを雑に書いてみる。 ちなみに各構成要素の詳細な解説や仕様などについては日語・英語問わず先人の遺産がネット上に大量に存在しているのでググってほしい。とりあえず自分が何回も参照したサイトだけ下記に列挙して

    Writing NES Emulator in Rustをやった
  • 未経験者がプログラミングを学びたいと思った時に最初に読む記事

    ここ数年プログラミングを学びたい人が増えている。そうした需要に応じて有象無象のプログラミングスクールや不適当な内容の学習サイトも増えている。中には粗悪なスクールやオンラインサロンも沢山ある。しかし未経験者にはどれがいいスクールなのか悪いスクールなのか等の審美眼はない。 この記事では未経験者がそういった情報弱者をい物にする偽物に騙されないように滑らかに学習を進めていくための道筋について書く。 この記事の対象読者は下記。 教養としてプログラミングを学びたい未経験者 とにかくWebサービスやアプリを作りたくてプログラミングを学びたい未経験者 プログラマとして職を得たい未経験者 以下、まずは全ての対象読者向けの下準備について書き、その後それぞれの対象読者向けに道筋を書く。 目次 準備 教養としてプログラミングを学びたい人の場合 とにかくwebサービスやアプリを作りたくてプログラミングを学びたい人

    未経験者がプログラミングを学びたいと思った時に最初に読む記事
    peketamin
    peketamin 2022/09/05
    ありがてえ〜
  • 1~2年目のエンジニア向けにキャリアや勉強方法について話したこと

    オフィスアワーで1~2年目のweb/モバイルエンジニア向けに今後のキャリアや勉強方法について話す機会があった。形式としてはLTのような形ではなく、質問をいくつかもらいそれに都度答える形で進んだ。LTのような1対多の発表よりインタラクティブに相手に合った受け答えができるので良い形式だなと思った。 自分としてはキャリアについて偉そうに語れる立場ではないが、そこそこの刺さる話はできたと思うので今後のためにも要点をまとめておくことにする。 Q. エンジニアとしてのキャリア・技術遍歴を教えて! 自分は正直働いた会社は2社しかない。 2012~2014 大手 Web メディアサイトの開発 2014~現在 起業 技術遍歴。偉そうに語れるようなものではないことがお分かりいただけるだろう... 大学 4 年くらいの頃に WordPress あたりから始まり PHPJavascript を触る 新卒入社

    1~2年目のエンジニア向けにキャリアや勉強方法について話したこと
    peketamin
    peketamin 2022/04/17
  • DeepLを使った大体無料の英語学習サイトを作った

    作ったもの 経緯 今年の初めにQiitaでこんな記事を見つけた。 基機能としては、 「ある質問に対して、日語で意見を書く -> 英語で書いてみる -> 日語で書いた意見に対するDeepLの回答を見比べる -> DeepLの回答を覚える -> DeepLの回答を自分で書いてみる」 という感じの流れ。日語で言いたいことを自力で英語で表す時の実力とDeepLのそれなりに正しい英語を見比べることでそのギャップを埋めようという仕組みだ。 よく英作文や英会話を学ぶ時に市販のテキストなどを使って英文暗記をやることがある。英語の基的な言い回しや表現のストックを増やすのが目的だ。しかしこのやり方だといざ自分が使おうと思った時に暗記したはずの言い回しが使えないことが多くないだろうか。原因は自分の思考から発せられる言葉に基づいた英文暗記ではないからだ。一般に個々人が日常でよく使う言い回しやフレーズには

    DeepLを使った大体無料の英語学習サイトを作った
    peketamin
    peketamin 2022/01/17
  • NestJS + Prisma + Cloud Run + Cloud SQLを試す

    経緯 ここ6,7年くらいはバックエンドに関してはRails + EC2/ECSあたりのAWS環境を中心に過ごしてきたが、昨今はフロントエンドReact/Vue + TypeScriptを書く機会も増えている。なのでこの際NestJS等でバックエンドを書けるようになれば言語のコンテキストスイッチの切り替えが容易になりそうと思った(ちなみにモバイルアプリはFlutterで書くのでDartだが、ではDartでバックエンドを書くかと言われると一人でそんな勇気はないわ...となるのでひとまず置いておく) 最近はinputとoutputを型注釈によって守れたりすることの主に開発体験方面への恩恵が個人的に大きくて、Rails以外で安住の地を見つけたいとは予々思っていた。なので先に挙げたNestJSに全ベットするわけではないにしろ何かしらフレームワークは試していきたい。 AppEngineは大昔に少し触

    NestJS + Prisma + Cloud Run + Cloud SQLを試す
    peketamin
    peketamin 2021/12/28
  • EthereumでTwitterっぽいものを作ってみる

    作ったもの dApp を作る練習がてら Twitter っぽいものを Ethereum で作ってみた。ツイートする・グローバルタイムライン・プロフィール・フォロー&アンフォロー・フォロー&フォロワ一覧表示など簡易な機能しかない。 ブロックチェーンにツイートが書き込まれるので削除できない点は注意してほしい。 -> [追記1] EVMのstateは削除できるので保存されたツイート自体は消せる -> [追記2] ツイートの削除はできるが過去のツイートを過去のnodeから結構力技で掘り起こすこともできる(完璧なツイ消しは出来ない)。 デモページは下記。 使い方 当然 Ethereum の mainnet にデプロイできるほどのお金は持ってないので、testnet(ropsten)にデプロイした。rinkby や kavan など他にも testnet はあるが自分がテスト用の ETH を持っている

    EthereumでTwitterっぽいものを作ってみる
    peketamin
    peketamin 2021/12/08
  • 最近のモダンなWebサービス開発の構成について調べるメモ

    ここのところ雑にWebサービスをリリースする機会が減って最近はFlutterでネイティブアプリばかり書いてるのでWebの最新に追いつけてない。 最近の流行りのWebサービス開発について自分の必要そうな範囲でちょっと調べてみる。 自分の場合、フロントエンドTypeScript+(Vue or Nuxt)でやって、サーバーサイドはRailsで書いちゃうことがまだ多い。 これでもなんとかなるけど、もうどうせならJSで一気通貫でフロントエンドとサーバーサイドを書ければ楽なのにと思いつつある。 パッと思いつくのはTypeScriptフロントエンドをNext,Nuxtあたりでやって、バックエンドAPIをexpressとかサーバーレスAPIを適当に書くとかだけど、今だともっと良い方法ありそう。 当はDartでサーバーサイド、FlutterでwebまでいければDart統一時代になって願ったり叶ったり

    最近のモダンなWebサービス開発の構成について調べるメモ
    peketamin
    peketamin 2021/02/04
  • Flutterで本格的にアプリを書き始める前にやること

    Flutterでアプリ開発を始める前に個人的にやっていることをまとめてみる。個々の作業の具体的な手順や方法に関しては分量が膨大になってしまうので触れないが、より詳しく解説してくれている記事やドキュメントへのリンクなんかは載せておこうと思う。複数人で開発する場合は証明書周りなんかはもっと考慮すべきことはあると思うのだけど今回は省く。 環境設定 version 新規アプリならFlutterのversionは2系からでいいと思う。1系で書く理由として一部のパッケージで2系対応してないなどはあるが、主要なパッケージはほぼ全て問題なく対応してるはずなので2系を使えば良い。 null safety null safetyを後から入れる、もしくは移行でnull safety対応するのは結構骨の折れる作業なので最初から有効にしておくべき。上述したようにFlutterの2系を使っていればnull safet

    Flutterで本格的にアプリを書き始める前にやること
    peketamin
    peketamin 2020/10/25
  • 1