タグ

ブックマーク / zenn.dev (25)

  • Nestboxでスマホを開発環境にするまで

    🪺Nestboxとは Nestboxとは、Android 13以降で利用できるようになった「Android仮想化フレームワーク」を応用して開発された、Android端末上で仮想マシン(主にUbuntuなど普通のLinuxディストリビューション)を動かすためのアプリケーションです。前回の「1人以上で勉強会」で触れたとおり、AndroidがOSとして提供する仮想化支援機構の上で動作するので、高速に動作します。 今回私は、root化したPixel 6にNestboxをインストールし、iPadからsshで操作できるようにしたことで、それなりに快適な外出先での開発環境を整備できたので、それまでにやったことや注意事項を共有します。 ⚠️注意事項 2023/10/06 追記: Android 14が公開されましたね。危ないだろうなぁ、と思いつつ、むしゃくしゃしたので手元のPixel 6をAndroid

    Nestboxでスマホを開発環境にするまで
  • Open Interpreterを誰でも使えるSlack botにしました

    TL;DR 今話題のOpen InterpreterをSlack botにしました。 Codeはこちらのリポジトリをご覧ください。 はじめに Open Interpreter楽しんでますか? 「どうやらヤバイやつが爆誕したらしい」という認識で間違いなさそうです。 でも、このヤバさがわかってるのはまだ一部の人だけ、もったいない! ということで今回はこのOpen Interpreterを誰でも使えるようにSlack botにする方法を紹介します。 ファイルのアップロード、ダウンロードも可能ですので、最低限必要な機能を全て備えたものが完成すると思います。 この記事を読めばわかること Cloud Runを使ってサーバーレスなOpen Interpreter実行環境を構築する方法 Cloud Storageを使ってステートレスなCloud Runでも会話とファイルを維持する方法 Slack Botを

    Open Interpreterを誰でも使えるSlack botにしました
  • Flutterアプリケーション開発にRiverpodを僕が使う理由

    はじめに Flutterにおける状態管理の手法は、数多く存在します。 筆者は、その中でもRiverpodを好んで利用しています。最近はFlutterKaigi 2023の公式アプリでも採用しました。 このようにRiverpodを採用していると、「Riverpodの勉強方法はどのようにすればいいのか」とか、「便利さがよく理解できない」という声をよく聞きます。勉強方法に関しては、公式ドキュメントを読むのが一番です。とはいえ、急に公式ドキュメントを読むのはハードルが高いかもしれません。 記事では、筆者がRiverpodを好んで使う理由をまとめます。「なぜRiverpodを便利だと思う人がいるのか」を知ることで、Riverpodへの関心を高めてもらえれば幸いです。 TL;DR 文章が長くなってしまったため、先に結論を簡潔に。書き始めた時には、1万字を超えるとは思っていませんでした……。 以下の4

    Flutterアプリケーション開発にRiverpodを僕が使う理由
  • 「有能なバカ」ChatGPTを使って1週間でiOSアプリを公開する方法

    初めまして、にわとろです。 さて今回は、ChatGPTを使ってiOSアプリをイチから作ってみました。ChatGPTの記事なんてもうオーバーフローするほどあるのですが、今のところiOSアプリを最後まで作り通した記事はありません。 理由は簡単で、ChatGPTは「バカ」なのでiOSアプリなんて複雑なモノを完成させられないからです。 しかしバカも使いようです。上手く使いこなしてやれば、アプリだって作ることができます。ChatGPTはバカですが、有能なバカです。でもあなたがヤツをわかっていなければ、やっぱり無能のままです。だから、この記事を読んで理解してあげないといけません。 それじゃあ、ChatGPTと仲良くなりにいきましょう。 ChatGPTを使う極意 早速ChatGPTを使う極意を教えます。全部読み通せなくても、これだけは覚えてください。 いい上司になれ。 何を言っているかというと、Chat

    「有能なバカ」ChatGPTを使って1週間でiOSアプリを公開する方法
  • コードレビューにラベルを付けるだけでチームの心理的安全性を高めた話

    ハコベルシステム開発部のおおいし (@bicstone) です。普段はフロントエンドエンジニアとして物流DX SaaSプロダクトの開発を行なっています。 この記事ではハコベルの開発チームが心理的安全性の向上を目的に採用した、プルリクエスト (マージリクエスト) コメントにラベルを付ける手法についてご紹介します。 背景 プルリクエストをレビューする時、レビュアーとして上から目線になってしまい相手を傷つけないか緊張したり、ちょっとした確認のつもりで書いたコメントが修正必須と捉えられてしまったりした経験はないでしょうか。 来、ピアレビューは対等な関係であるはずなのに、レビューする側の方が上になってしまいお互いに恐縮してしまいがちです。「勘だと怪しいけど間違っていたら怖いから言えないな」や、「将来的に辛くなりそうな実装だけどわざわざ指摘するほどでもないな」など荒波を立てずにApproveしてしま

    コードレビューにラベルを付けるだけでチームの心理的安全性を高めた話
  • Obsidian.Zenn

    次世代のノートテーキングツールである Obsidian を使って Zenn で記事やを作ろう!

    Obsidian.Zenn
  • 個人開発で「Excel専用のWebAPI」を作りました

    どういうもの? このように関数を使ってデータを取り込めます。 背景 元々は「インターネット上のWebAPIのデータをExcelに取り込みたい」と思ったのがきっかけです。 VBAマクロを使えば簡単ではありますが、マクロは使いたくないという方も多いのではないでしょうか。かくいう私も勤務先が属人化を防ぐためにマクロの使用を推奨していません。 そこで、関数を使用する方法を選択しました。 ExcelにはWEBSERVICE 関数という指定したURLの応答データを取り込む関数があります。 しかし、この関数は大変便利な関数ですが、ExcelHTMLやJSONのパーサーを用意していません。結局取り込んだHTMLやJSONの処理にはVBAマクロが必要になります。 また、欲しいWebAPIが存在しない問題もありました。 そこで、Excelでデータを編集するのではなく、元々のWebAPIExcel用に作れば

    個人開発で「Excel専用のWebAPI」を作りました
  • 見積・提案書に書いておくと不幸を減らせる前提条件

    はじめに ちょっとつぶやいたら思いのほか需要がありそうだったので、簡単にまとめておきます。 おことわり これを書いておけば、すべての不幸を避けられるというものではありません 提出先との関係性次第では、書かないほうがいいこともあるかも 私自身が普段提案している内容が、すべて記載されているわけでもありません(うろ覚えで書いてたり、大人の事情) これを流用しておこったすべての事項について、何らかの責任をとることはできません 稿では請負による開発を想定しています でも共有することで、この業界の不幸が減ればいいなということでつらつら書いてみます。 他にもあるようなら、Twitterなりコメントなりで提案してもらえると嬉しいです。 前提条件を書く目的 見積・提案書通りに、実施するために必要な条件を明確にする 条件を逸脱したときに、どうなるのかハッキリさせる 上記は概ねつぎのとおり 実現が不可能になる

    見積・提案書に書いておくと不幸を減らせる前提条件
  • 【GAS (Google Apps Script) 】コードの書き方・テクニック編|Offers Tech Blog

    概要 こんにちは、Offers を運営している株式会社 overflow のバックエンドエンジニアの shun です。今回は、GAS(Google Apps Script)のコードの書き方と、ゴリゴリに GAS を書きまくってきた知見から少しのテクニックを紹介できればと思います。 今の時代、エンジニアリングを利用した業務自動化を実装するのは必ずしもエンジニアだけではないと思っています。ちょっとしたデイリー業務, 対応漏れ確認 など、サクッと自分の業務のサポートをしてくれる相方を、職種問わずに自分自身で実装ができる世界になっています。その大きな協力者になるのが今回ご紹介する GAS(Google Apps Script)となります。 GAS(Google Apps Script) とは? GAS(Google Apps Script) とは、Google が開発した JavaScript

    【GAS (Google Apps Script) 】コードの書き方・テクニック編|Offers Tech Blog
  • UMLとかAWS構成図とかを描くツール

    UMLとか構成図とかの図を描くの何のツールを使えばいいか迷いませんか?私は迷います。 ですので、最近使っているツールを紹介します。 世の中にツールがイロイロあるのは理解した上で、大量に紹介するとやっぱり迷うので、似たようなツールや個人的に使わないツールはバッサリ省いています。 パワポで描く まずはPowerPointです。 エンジニア技術系の方は「パワポで図を描くのはちょっと、、、」と思われるかも知れませんが、状況によってありだと思っています。 パワポのメリット パワポは、ビジネスユーザーならほぼ誰でも使える システムを作る時に、お客さん側も含めた関わるメンバー全員がITに詳しいとは限りません。しかしそういう人にもシステムに対する理解は最低限していただく必要があります。システム構成図とか特に興味がない人に説明するときに「新しいツールをいれてください」というのはハードルが高いです。 パワポ

    UMLとかAWS構成図とかを描くツール
  • Ubuntu 22.04 をインストールしたら設定すること 10 ヶ条

    2023/04/29: これくらいの情報はググればすぐに出てくると思いいったん非公開にしましたが、意外とそうでもなかったので自分用メモとして再公開しました。 1. ソフトウェアのダウンロード元を変更してシステムをアップデートする (*) Super キー(= Windows キー)を押して、software と入力し、「ソフトウェアとアップデート」を選択します。 「設定...」ボタンを押して、「Ubuntu のソフトウェア」タブの「ダウンロード元:」から ftp.jaist.ac.jp などの国内ミラーサーバーを選択します。 アップデートが存在する場合は、表示されるウィンドウの指示にしたがってパッケージを更新し、Ubuntu を再起動します。 2. キーボードの CapsLock キーを Control へ置き換える /etc/default/keyboard を編集します。

    Ubuntu 22.04 をインストールしたら設定すること 10 ヶ条
  • 実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本

    ------------------------------------------------------ 2024 年 1 月更新 書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和システム様から出版させていただけることになりました 開発系エンジニアのためのDocker絵とき入門 https://www.amazon.co.jp/dp/4798071501 紙書籍と電子書籍、どちらもございます この書籍と執筆経験は、みなさまからの驚くほどの高評価があればこそ得られた機会でした いつも当にありがとうございます 書籍化に際しまして、この場で次のとおり説明させていただきます 1️⃣ 書 ( Zenn ) は有料化しません 2️⃣ 書 ( Zenn ) は今後更新しません 3️⃣ 書 ( Zenn ) と出版される絵とき入門の違い

    実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本
  • GitHub Actions で簡単にバージョン番号付きリリースとリリースノートを作成する方法

    対象読者判定フロー 以下の質問にはいかいいえで答えてください。 Q1: GitHub を使用していますか? はいの方→次の質問に進んでください。 いいえの方→対象外です。すみません。 Q2: ソースコードなどの変更は全てプルリクエストで行って(=master/main 直コミットはしていない(多少ならOK))いますか? はいの方→次の質問に進んでください。 いいえの方→まずはプルリクエストベースの開発に切り替えてみてはいかがでしょう? その後で続きを読んでください。 Q3: リリースノートをちゃんと書いていますか? はいの方→基的に対象外です。継続して書いていって下さい。楽をしたいと思ってる場合は続きを読んでください。 いいえの方→あなたは対象読者です! この記事を読んで、お手軽自動生成でも良いのでリリースノートを作成しましょう! はじめに 公開しているソフトウエアにバージョン番号を付け

    GitHub Actions で簡単にバージョン番号付きリリースとリリースノートを作成する方法
  • エンジニアのための Figma 知識

    記事の多くは Inspect モードを前提に解説しています。 下記に Dev Mode に対応した解説を書いてみたのであわせてご参照ください。 https://codezine.jp/article/detail/18000 エンジニアにデザインツールの知識・習熟は必要か? しなくても仕事はできると思うのですが、あるとよりクオリティの高い仕事ができることは間違いありません。 という訳でエンジニアエンジニアとしての仕事をしていく上で「Figma のこういうことを知っておくと良さそう」という知識をまとめてみました。 ユースケースを考える まず始めにデザインは作らないはずのエンジニアFigma を使う時にどんなユースケースがありそうかを考えてみます。 デザインを元に実装する時 デザインから何かを生成したい時(コードとか画像とか) 自分でちょこっとデザイン修正しちゃう この辺りがあるかな〜

    エンジニアのための Figma 知識
  • エンジニアを始めてから便利だったツールまとめ

    概要 エンジニアになってから出会った便利ツール・アプリを備忘録としてまとめました。 ※WEB用ツール多め GUIツール・アプリ デスクトップ上で動作させるやつ。 Authy https://authy.com/ 2FAアプリ。Multi-Deviceという複数端末で使える機能があり、PCでログインする際の2FAをPCのみで完結できるので便利。 Hyper https://hyper.is/ コンソールアプリ。テーマ機能やプラグイン追加で自分の好みに環境を整えやすくて見た目がよい。 設定を.hyper.jsファイルで管理するので、gitにて設定管理ができて便利。 VSCode https://code.visualstudio.com/ 言わずもがなの高機能コードエディター。特に理由がなければ基的にはプログラミングするならこれを使えばいいんじゃないかな。 豊富なプラグインや設定で、Hype

    エンジニアを始めてから便利だったツールまとめ
  • 個人的 Android アプリ開発ガイドライン

    ある程度規模のある Android アプリを開発する際に自分ならこう選定するみたいな技術要件的なものを羅列した個人メモみたいな感じのアレです。 クロスプラットフォームにいい思い出がないのですが、Flutter はとても優秀なフレームワークだと思っていますし尊敬しています。 フレームワーク 推奨 Android SDK Android アプリを開発するには主に以下の手段が挙げられます。 Android SDK Flutter ReactNative KMP モバイルアプリエンジニア人口の中でも Android アプリエンジニアは少ないです。色々理由はあると思いますが現状の日のモバイルアプリの OS シェア的に iOS が優勢な事も大きく関係していそうかなと思っています。そのためわざわざ Android アプリを開発するなら iOS と一緒に開発できる様に Flutter を選択すると言うの

    個人的 Android アプリ開発ガイドライン
  • Flutter初心者のための学習ロードマップ

    Flutterを勉強する気はあるけど何をやればいいか分からない!」という声をよく聞きます。 今記事では、そんな方々のためにFlutter大学を2年半運営してきた経験をもとに、Flutter学習ロードマップを提案したいと思います。 基的な学習方針 これは、プログラミングが初めてな人でも大丈夫なように想定した学習方針です。 ①まずアプリ開発におけるFlutterの使い方をざっくり学び、②そのあと自分で実践、③実践した結果プログラミングの文法が分からなくてハマるのでその時に初めてDartの文法を学ぶ。 って感じの3ステップで学びます。必要になった時に学ぶというのが一番身につくと思いますので、いきなり基礎の基礎のDart言語の文法から学ぶのではなく、ゴール(アプリを作れるようになる)から逆算して、まずはアプリ開発の全体像を掴むというところからスタートしていきます。 以下に、①②③のステップにお

    Flutter初心者のための学習ロードマップ
  • クリエイティブコーディングの教科書

    ゲームエンジンや3Dソフトウェアを利用して高度な表現ができるこの時代でも、プリミティブな描画や動き、アルゴリズムから学べることは多い。それらをJavaScriptで書くクリエイティブコーディングという形で学べる手引書が書となる。

    クリエイティブコーディングの教科書
  • 最近知ったCloudflareで実はこんなこともできる集

    Argo Tunnel Client(cloudflared)をngrokの代替として使う cloudflaredというArgo Tunnelクライアントを使えば、ngrokのようにローカルサーバを外部に公開することができる。 # localhost:8080 を公開する。実行後に表示されるURLを使ってどこからでもアクセスできる。 cloudflared tunnel --url http://localhost:8080 これだけならばわざわざ乗り換える理由にはならないが、ngrokでは有料でしか使えない機能も無料プランで使える。 カスタムドメインの割り当て SSOによる認証 TCPのプロキシ セキュアでDDNSのいらないVPNの構築 例えば個人で自宅にVPNの環境を作る場合、ルーターVPN機能を使うか、VPNサーバを立ててDDNSでドメインを自宅のグローバルIPに紐付けるといったや

    最近知ったCloudflareで実はこんなこともできる集
  • 木構造の DnD に適した処理を考える

    DnD は考えることが多い。大抵のライブラリは特定のユースケースにべったりで、毎回自分で書く羽目になる。 とくに、木構造の DnD をどう表現するかが難しい。特にWeb上でファイラーのようなUIを実装する頻度が高く、その求められる実装が毎回違うので、自分が考えていることを一般化してみる。 この記事はコードをコピペしたら使えるものではなく、あくまで考え方をコードに落としたもの、ということに注意。 今回は前提として、こういうものを作っていた。 DnD の要件 DOM ベースの sortable ライブラリはいっぱいあるが、DOMをマスターデータとして扱うタイプが多く、現代のフレームワークと噛み合わない。可能な限りデータを元に表現して、最後に変更したデータを render するだけとする。 フレームワーク非依存な処理を切り出して、UIを通さずにテストを書いたり、ポータブルに扱えるようにしたい。

    木構造の DnD に適した処理を考える