タグ

Zennに関するatsushifxのブックマーク (22)

  • 個人的 Vibe Coding のやりかた

    こんにちは、よしこです。 最近、個人的に欲しいツールをVibe Codingで作ることが増えてきたので、私の中で定着してきた進め方をまとめてみようかなと思いました。 ちなみに "Vibe Coding"(雰囲気コーディング)というのは、「人間が音声やテキストで指示を出し、AIが主体となってコードを書くコーディングスタイル」を指すワードです。 私もこのやりかたをするときはほとんどコード書いてません。 要件定義 まずは「何を作るのか」「ターゲットは誰か」「どんな機能が必要か」「画面構成はどうするか」などを決めます。好きなAIとチャットベースで喋りながらまとめていきます。 こっちが全然考えきってなくても、「◯◯なアプリ作りたいんだけど要件定義手伝ってー」から会話を始めれば必要な情報は向こうがヒアリングしてくれます。 ここはChatGPT 4oを使うことが多いです。トーンやノリが個人的な好みと合っ

    個人的 Vibe Coding のやりかた
  • Zennの記事をGitHub連携でカッチリ管理するおすすめ設定

    はじめに はじめまして、jonghyoと申します! ZennGitHub連携機能とっても便利ですよね! 記事を書くにあたって、GitHubリポジトリの設定を色々やったのでおすすめ設定を共有します。 記載内容などをカッチリ管理したい方必見です👀 内容の詳細は以下リポジトリをご覧ください。 こんな人におすすめ! 記事の内容や品質を楽に・カッチリチェックしたい! コミットメッセージもしっかり書いて、かっこいいリポジトリにしたい! Zennの記事をきれいに管理したい! これからZennGitHubの連携設定を行なう方 TL;DR GitHubリポジトリのAutomatically delete head branches Loading, Dependabot有効化 textlint, markdownlint-cli2, commitlint, secretlint, lefthookの導

    Zennの記事をGitHub連携でカッチリ管理するおすすめ設定
  • Clineを利用した開発が超快適なので、使っている.clinerulesを解説します

    こんにちは、株式会社Berryの浅沼です。 この記事を書いている数週間前くらいから話題のClineを会社で導入し、開発に利用しています。最初はコードの自動生成から試していたのですが、.clinerulesを使ってプロジェクトごとのカスタム設定ができることを知り、どんどん活用の幅を広げていきました。 特に大きかったのが、プロジェクト内のコード構造・コーディングルールの設定に加えて、コミットメッセージやプルリクエストのタイトル・サマリーを生成するルールを追加したことです。これによって、「コードを書く→コミットメッセージを考える→プルリクを書く」という一連の作業がスムーズになり、全体の開発効率が格段に上がりました。 この記事では、実際の.clinerulesの内容も含めて、どのようにルールを作り、育て、活用しているのかを紹介します。特に、コードの自動生成以外の使い方にも触れますので、すでにCli

    Clineを利用した開発が超快適なので、使っている.clinerulesを解説します
    atsushifx
    atsushifx 2025/01/27
    こういう解説が欲しかった。ただ使うだけじゃなく、プロンプトをどう書くか。書き出されるコードをどうコントロールするかが知りたかった
  • TypeScriptで関数を書くときに気をつけている事

    TypeScriptで関数を書く際に、気をつけていることを記載しました。 BMIを計算する処理を例にして説明いたします。 引数をobject形式にする 引数をobject形式にする事で名前付き引数に近い形式になり、順不同になります。引数の順番に意味が無い関数でも、使用時にどの順番で引数を渡すか迷う事がありません。 const calculateBMI = (p: { height: number; weight: number }) => { // BMIの計算処理 }; calculateBMI({ height: 170, weight: 60 }); calculateBMI({ weight: 60, height: 170 }); 以下は、引数がobjectではありません。この関数だけ見ると特に違和感は無いと思います。しかし、上記に比べると情報量が減ります。特にheight, w

    TypeScriptで関数を書くときに気をつけている事
  • プログラミング学習においての写経の必要性について

    これは YouTube Live で写経の必要性についてディスカッションするために、自分が用意した資料。 急いで書いたので色々雑。 議論が終わったら追記する、かも。 争点 プログラミングの写経に意味があるのか。ないのか。 あるとしたら、その意味は。 ないとしたら、なぜ無意味なのか。 また、少し違った視点として、とくに学校教育の現場で、モチベーションが低い対象を前提として、写経を行わせる意味などもあるかもしれない。 語らない点 個別の言語ごとの写経の向き不向き 特定ツールの良し悪し 個々のライブラリでは云々 一般化できなさそうな N=1 事例 プログラミングの写経の定義 (同意できそうなところ) 完全に思考を停止した状態で、意味を理解せずに上からタイプする作業を写経と呼んではいない。なので、仏教的な意味においての写経・読経や、ヨーロッパの修道院で行われた聖書の写的な意味合いからは(完全に無

    プログラミング学習においての写経の必要性について
    atsushifx
    atsushifx 2024/09/05
    個人的な話で言えば、REPLやIDEが使える今の言語環境がうらやましいという話になる。自分の場合、写経をしていたのはREPLがかけらも存在しない、C言語での話なので
  • システムで扱うステータスの分解と変換

    初めに レバテック開発部の今井です。 ソフトウェア開発において、データの状態管理は非常に重要です。注文の状態、ユーザーの認証状態、プロジェクトの進行状態など、多岐にわたる状況で、適切な状態管理が求められます。しかし、ビジネス要件の変化や新機能の追加に伴い、状態管理が複雑化し、保守が難しくなることがあります。 この記事では、データの状態管理を簡単にするためにMECEを初めとした方法で分析を提案します。これによって、柔軟で効率的なシステム設計が可能になることを目指します。 TL;DR MECEの原則を使ってenum型ステータスを分解する方法を解説する MECEによる分解から一次情報と二次情報という区分を提案し、分析の高度化を目指す 一次情報と二次情報の区分とシステム間のデータ連係の関係性について考察する 対象読者 システムの保守性・拡張性に興味関心のあるエンジニア enumをMECEに分解する

    システムで扱うステータスの分解と変換
    atsushifx
    atsushifx 2024/06/28
    enumなどで扱うステータスは、MECEで分割することで見通しが良くなったり、抜け、漏れが発見できるという話。ステータスを考えるときには、漏れなくダブりなく状態を数え上げることが大事ということ
  • Github ActionsのActionをTypescriptで作って、公開してみた

    内容 Github ActionsのActionを作成し、誰でも使えるようにするまでを記事にします。 作るActionは、github actions上にHelloと表示するだけの簡易的なものです。そのため、github actionsのactionの作成フローを知りたい人が想定読者です。 準備 Typescriptプロジェクトを用意する Github Repoを作成する Typescriptプロジェクトを用意する 今回は、こちらの記事で作成したプロジェクトを雛形として進めていきます。 Typescriptbuildする環境があれば、どのような環境でもいいです。 特にこだわりがない人は、↑を使ってください。(記事は、上記テンプレートを元に制作を進めます。) Github Repoを作成する Actionを作成するGithub Repoを作成し、Typescript環境をそのrepo

    Github ActionsのActionをTypescriptで作って、公開してみた
  • 中級Git操作

    今回の記事の内容はGitHub共同創業者のScott Chacon氏の「Pro Git」と同氏の今年の「So You Think You Know Git」(Gitがわかっているとでも思っているか?)発表をベースにしている。 コンフィグ ここでコンフィグにてデフォルトとして指定して損がないオプションをいくつか紹介します。 git rerere git rerereは"reuse recorded resolution"(記録ずみ解決方法を再利用)の略語になっている。 名の通りマージコンフリクトがどう解消されたかを記録し、次に同じようなコンフリクトが発生した際、同様の解決方法を自動的に適用するためのコマンドです。 また、基的にデフォルトにしてもときに差し支えないため、ぜひgit config --global rerere.enabled trueを実行してみてください。 git main

    中級Git操作
    atsushifx
    atsushifx 2024/05/02
    gitを使う上で、ちょっと便利なあるいは安全なコマンドや使い方。git switch, git restoreのような新規コマンドやgit logでのオプションなど
  • WEBエンジニアだけど1mmも確定申告が分からないので調べたのだ~~!

    2月になると「確定申告の季節ですね~」と言うエンジニアがいるのだ。 ぼくも「そうですねー」と話をあわせるのだが 「確定申告」ってなんなのだあああああああ~~~~? 実はぜんぜん知らないのだああああああああああああああ ・・・って内心は思ってるのだ。 そんなことではいけないと思い、確定申告について調べてみたのだ! 確定申告とは? 一言でいうと「私は今年これだけ稼ぎました!」と税務署に報告することを指すらしいのだ。 うん、それは知ってるのだ。 中学生のときに「国民は納税する義務があるよ」と教えられたのだ。 でも、具体的に いつ? どれくらい稼いだら? どうやって申告する? 税金の仕組みってどうなってるの? など詳しいことは教えられていない気がするのだ。 そこらへんを掘り下げていくのだ。 その前に:会社員は? 会社員の場合は、源泉徴収(げんせんちょうしゅう)というやつのおかげで、確定申告をしなく

    WEBエンジニアだけど1mmも確定申告が分からないので調べたのだ~~!
    atsushifx
    atsushifx 2024/02/18
    すでに色々書かれているが、社員じゃないので会社が厚生年金などを払わない、社員が失敗したときに会社が責任を負わないということ/ブクマで話題になったあとで、プラハ側がどう反応するかがポイント
  • お気に入りのコマンドラインツールを淡々と紹介する

    めちゃくちゃ良い記事でした。 「OSS は使っていることを公言するだけでも貢献になる」と songmu さんが言っていたので、私も貢献したいと思います。 僕も貢献したいのでよく使うコマンドラインツールを紹介していきます。 特定のプログラミング言語等に依存するツールは省いています。 actionlint - GitHub Actions の Workflow ファイルの静的検査 GitHub Actions の Workflow ファイルの静的検査ツールです。 かなり精度が高く、色々な設定ミスを検知してくれます。 エラーメッセージも見やすくて助かります。 aicommits - コミットメッセージを自動生成 変更内容を元に自動でコミットメッセージを AI が生成してくれるツールです。 コミットをする前にちゃんと確認してくれるのも安心感があって良いです。 cLive - ターミナル操作を自動化

    お気に入りのコマンドラインツールを淡々と紹介する
  • wsl.conf を使用して WSL2 の動作をカスタマイズする方法

    tl;dr WSL2 の動作は以下の手順で簡単にカスタマイズできます。 /etc/wsl.confを作成しこちらのgistの内容をコピー & ペーストする hostnameおよびdefaultの値を自分の設定にあわせて書き換える wsl --shutdownと入力して WSL2 を停止し、Windows Terminalから再度 WSL2 を起動する Enjoy! はじめに WSL2[1] は Windows 上で Linux の環境をスムーズに利用できる強力なツールです。 /etc/wsl.conf を使用して、WSL2 の動作をカスタマイズできます。 この記事では、WSL2 の基的な設定を紹介します。 1. wsl.conf とは wsl.conf[2] は、WSL の動作をカスタマイズするための設定ファイルです。 このファイルに設定を書き込むことで WSL2 の動作を変更できます。

    wsl.conf を使用して WSL2 の動作をカスタマイズする方法
    atsushifx
    atsushifx 2023/10/23
    Windows Subsystem for LinuxでWSLの動作をカスタマイズするwsl.confの解説。設定用テンプレートは、systemdを有効化するもの
  • Go の Fuzzy Finder ライブラリ「go-fzf」の紹介

    Go の Fuzzy Finder ライブラリである go-fzf を作りました。 go-fzf を使用すると次のような Fuzzy Finder を簡単に実装することができます。 上の例で実行している main.go の内容はこれだけです。 package main import ( "fmt" "log" "github.com/koki-develop/go-fzf" ) func main() { items := []string{"hello", "world", "foo", "bar"} f, err := fzf.New() if err != nil { log.Fatal(err) } idxs, err := f.Find(items, func(i int) string { return items[i] }) if err != nil { log.Fatal

    Go の Fuzzy Finder ライブラリ「go-fzf」の紹介
  • 緊急解説! 突如出現したnitrogqlの中身と裏側

    皆さんこんにちは。これは、筆者が最近公開したnitrogqlを宣伝する記事です。nitrogqlの概要や、開発にあたっての裏話などを紹介します。 nitrogqlとは nitrogqlは、TypeScriptコードからGraphQLを使用するためのツールです。有体にいえば、graphql-code-generatorを置き換えることを目指して開発しています。具体的には、.graphqlファイルからTypeScriptの型定義を生成する機能を備えています。 例えば、次のようなクエリがあったとします。 query ($unfinishedOnly: Boolean) { todos(filter: { unfinishedOnly: $unfinishedOnly }) { id body createdAt finishedAt tags { id label color } } } imp

    緊急解説! 突如出現したnitrogqlの中身と裏側
  • 日本語で解説!Best practices for prompt engineering with OpenAI API

    ChatGPTのプロンプトエンジニアリングのベストプラクティス 毎日使っているChatGPT。もっと自在に扱いたいと思いませんか? OpenAIのJessica Shiehさんが提供するプロンプトエンジニアリングのベストプラクティス「Best practices for prompt engineering with OpenAI API」を、今回は日語で分かりやすく解説します。 私自身もこれまでプロンプトに関して試行錯誤してきましたが、このベストプラクティスを学ぶことで、自分の知らない部分がまだまだあることに気付きました。これを機に、今後のChatGPT利用でさらに効果的なプロンプト作成ができるようになることを目指します。 1. 最新のモデルを使う 1.Use the latest model For best results, we generally recommend using

    日本語で解説!Best practices for prompt engineering with OpenAI API
  • ドドスコするオートマトン考

    はじめに ある日 twitter に問題が降ってきてちょっとした熱狂がありました。 "ドド" と "スコ" からなるランダムな入力を受け付けて、"ドドスコスコスコ" が連続で3回ならんだら「ラブ注入♡」を出力して終了する、という問題。 いろんな言語で書かれて、Golf的に短いものとか、グラフィカルなものとか夏休みの自由研究という感じで面白いものがたくさんあったの[1]ですが、やっぱり最初に思いつくのは有限オートマトンですよね。 手で書いてみる 入力の種類が「ドド」と「スコ」しかなくて、"ドドスコスコスコ"を3回受け付けたら受理状態になるオートマトンなので、単純に手で書けそうです。 3回受け付ける、とありますが、カウンタを用意して、"ドドスコスコスコ"の回数をカウントする必要はありません。状態を増やして対応してしまいましょう。 ここまでうまくいく場合だけのケースで辺を追加していましたが、ここ

    ドドスコするオートマトン考
  • ファイルの変更を検知して特定のコマンドを実行する bash スクリプトを書いてみた

    社会人大学院の課題で独自の bash スクリプトを提出するものがあり、その時書いたたものがわりと便利そうだったので公開します。 どんな bash スクリプト? 特定のファイル群の変更を検知して、特定のコマンドを実行する bash スクリプトです。 ビルドやテストフレームワークにあるwatchオプションを、任意のコマンド、任意のファイル群で実行できるイメージです。 -cで実行するコマンド、-fで監視対象のファイル群を指定します。 $ ./watch-files.sh -c 'echo "update"' -f './src/**/*.py' watched ./src/**/*.py ... If want to terminate, press to Ctrl-D update # -cで指定した条件に合致するファイルを変更した際に-cで指定したコマンドが実行される update # Ct

    ファイルの変更を検知して特定のコマンドを実行する bash スクリプトを書いてみた
  • 「アルゴ式」をHaskellで学ぶための準備

    この記事は、CAMPHOR- Advent Calendar 2021 の7日目の記事です。 「アルゴ式」というプログラミングを学んで実践できる非常に良質なWebサービスがあります。 アルゴリズムについて解説された教科書だけでなく、実際にプログラミングを書いて提出してオンラインでジャッジしてくれるシステムを備えた練習問題も用意されているのが特徴です。さらにこのオンラインジャッジシステムは多くのプログラミング言語に対応しており、その中にはHaskellも含まれています。 今回はこのアルゴ式を読むにあたって練習問題をHaskellで解くために必要になりそうな知識についてまとめました。アルゴ式は現在ベータ版なので将来的な変更で変わってしまうものもあるかもしれませんが、2021年12月現在の練習問題を全てHaskellで解いた上で必要になったものをまとめているので参考にしていただけると幸いです。

    「アルゴ式」をHaskellで学ぶための準備
  • 早期リターンを書こう

    自己紹介 メディアエンジンの岩元(github)と申します。新卒から10年程度はメーカーの社内SEでCOBOLや色々な言語で書きつつ社内のいろいろなシステムに関わり、色々回り道をしてメディアエンジンにジョインました。なかなかバグを作ることの才能に恵まれているため、修正しやすいコードの書き方を覚えました。 はじめに 多くの方は早期リターンまたはガード節と呼ばれるコーディングテクニックについてご存知だと思います。読みやすいコードを書く人が常に早期リターンを使うというわけではありませんが、必要な箇所では必ず使っています。 基礎的かつベテランでも活用できていない場合もあります。大事な事と思いますので、まだ目にしていない方のために書きました。 早期リターンとは 簡単に言えば return を使うことで if などによるネストを減らすテクニックです。例を見たほうが早いと思います。 早期リターンの例 ユ

    早期リターンを書こう
    atsushifx
    atsushifx 2021/10/17
    ガード節を使うことに問題は無いが、リファクタリングしにくくないか?まずは、その機能のロジックをわかりやすく分割することが大事で、その結果としてガード節が出てくる気がする。
  • 2021年の「オブジェクト指向」を考える

    きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

    2021年の「オブジェクト指向」を考える
    atsushifx
    atsushifx 2021/10/09
    オブジェクト指向の概要をうまくまとめたやつ。議論をするつもりなら、抑えておきたい。/自分はカプセル化、情報隠蔽、メッセージ指向がオブジェクト指向だとおもっている
  • mkdocsでTechサイトを作ろう

    時系列などに関係なく、調べたことをまとめるためのmkdocs製のページが 概ね自分の納得いくLvまで構築できたので 参考になるかわかりませんが、記事をなくしてシンプルにしたリポジトリを用意しました。 公開ページは こちらになります。 こちらのリポジトリをベースにして、 mkdocs.ymlを自分用に書き換えて、markdownの記事を書けば 私のカスタマイズした環境とほぼ同じmkdocsのページができあがります。 お手軽手順 詳細を書く前に、かんたんな記事更新の段取りなど。 準備 リポジトリをForkするか中身を自分のリポジトリ以下にコピー mkdocs.ymlのサイト情報などを書き換える GithubAction用の設定を追加 GithubのリポジトリのSettingsから Secrets を選ぶ。 右上の、New Repository Secret を選んで GithubのMailとア

    mkdocsでTechサイトを作ろう