サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
zenn.dev/shoheiweb
はじめに 自社開発企業のAI部門でインターンしている25卒のエンジニアです。 フロント、バックエンド、インフラ、AIなど色んな分野に興味を持って開発しています! 最近は個人開発で収益を上げて生活する、「Indie Hacker」のような生き方に憧れています。 将来は個人アプリを当てて、島で悠々自適に暮らしたいと思っています🏝️🏝️🏝️ マッチングアプリを作ろうと思った経緯 何を隠そう、自分の出会いを増やしたかったから 周りの大学の友達で「彼氏欲しい〜、彼女欲しい〜」と言ってる人がいる 自分の大学限定でマッチングアプリ作ったら、安心感もあるしハッピーではないかと考えた アプリの名前はシンダイ(自分の大学の呼び方) x Tinder = Sinder(シンダー)に決定 リリースまでに行ったこと リリース日を学園祭の当日(半年後)に決定 学園祭のスポンサーになって、大々的に広告を打つ作戦
zenn.dev/5t111111
一応もうひとつ補足すると、Deno で TypeScript の実装の定義に飛べるのは TypeScript で実装されたものだけです。具体例で言うなら std/* や各種ライブラリのコードにはジャンプしてそのまま実装を読むことができますが、Deno.* などの Deno コアの組み込み API の実装には飛べません。なぜならこれらは、TypeScript 型定義は提供されているものの、実際には Rust と JavaScript ランタイムの層で実装されているためです。 もちろん、例えば VS Code なら "TypeScript: Go to Source Definition" といったコマンドがあり、それを叩くと JavaScript のシンボルにジャンプできる…ようになっている…一応。しかし、実際にやってみるとわかるが、それが期待通りの結果になってくれることは、残念ながらほとん
zenn.dev/coconala
こんにちは! 株式会社ココナラの法律相談事業部でWebエンジニアをしている 原井夏樹 です。 ココナラ法律相談というプロダクトのフロントエンド・バックエンド開発を担当しています。 よければXのフォローをお願いします!喜びます! @superhahnah この記事ではフロントエンドテストの導入にあたり、私たちのプロダクトではどんなテスト戦略をとるべきかを調査・検討して得られた知見を共有します。 読んでくださる皆さんの参考になれば幸いです。 そもそもフロントエンドのテストって色々ありすぎてよくわからん 「〇〇テスト」っていう用語、本当にたくさんありますよね。 例えば… ユニットテスト(単体テスト) インテグレーションテスト(結合テスト) E2Eテスト(End to End テスト) 手動テスト ロジックテスト インタラクションテスト スナップショットテスト ビジュアルリグレッションテスト アク
zenn.dev/kounoike
この記事はYAPC::Hakodate 2024 Perlbatrossの解法の説明を含みます。自分で解きたい方は先に解いてから閲覧ください。 はじめに 最近は Perl を書くこともほとんどなくなり YAPC にも参加していなかったのですが、2024年の YAPC::Hakodate にてコードゴルフの企画 Perlbatross があるという情報が X で流れてきたので、今回はその参戦記を書いていきます。 筆者は元々10年以上前に盛り上がっていた codegolf.com で Perl で遊んでいたので、昔取った杵柄でいけるだろうと踏んでの参加です。 以下では最終的な提出コードと、そこに至るまでのステップを少し紹介することでコードゴルフのテクニックを紹介していきます。実際にはここに記載した以上に試行錯誤をしています。 Perlbatross のルールとして、自分の提出したコードと同じか
zenn.dev/mod_poppo
標準 C言語では、複数の浮動小数点演算を一つの演算にまとめることを許容しています。これは式の短縮 (contract) と呼ばれています(C17 6.5の段落8)。 (JIS X3010では「contract」の訳語に「短縮」を使っているようなので、この記事でもそれに従います。) この規定により、FMA命令のある環境では a * b + c の形の式をFMAへコンパイルすることが可能になります。というか、この規定は実質的にはFMAのためにあると言って良いでしょう。しかし、C標準は式の形には言及していないので、例えば a + b + c をまとめて計算できる命令セットがあればそれを利用することも許容されると思われます。 重要なのは、式の短縮によって演算結果が変わるケースがあるということです。実際のコード例は過去の記事にも書きました: 浮動小数点演算の結果が環境依存なのはどんなときか C言語に
zenn.dev/nakasyou
7 ヶ月前にこんな記事を書きました。 公開当時は最高だと思い、この 7 ヶ月間新しいパッケージの公開に npm を使わずに、JSR のみを使用してきました。その際に、たくさんの好感、そして同時に不満も多く生まれたので、それを羅列していきたいです。 👍 npm と比べていいことが一定数あります。批判だけするのはタチが悪いのでたくさん紹介していきます。 TypeScript サポート これ最高。 TypeScript パッケージを公開するとき、npm では tsc や esbuild などでトランスパイル/バンドルする 型定義を出力する 必要があり、設定ファイルも
zenn.dev/vim_jp
この記事は Vim 駅伝 の 10/07 の記事です。 前回の記事は mikoto2000 さんによる、 10/04 の「devcontainer.vim で、コンテナ上の Vim に引きこもって作業を行う(ゼロから環境構築をしてみよう編)」という記事でした。 次回は 10/09 に投稿される予定です。 はじめに Vimmer が日々入力する文書やコードには、アルファベットの大文字が頻繁に登場します。大文字だけで構成された単語も珍しくありません。たとえば "JSON" や "CAPTCHA" といった一部の技術用語 PYTHONPATH や JAVA_HOME といった多くの環境変数 多くの言語における定数リテラル は大文字で構成されています。こういった単語をShiftキーで打つのは面倒ですし、手指に負担がかかります。小さな不便ですが、頻度を考えると案外バカにもできません。 こういった小さ
zenn.dev/uncode_jp
大いなる流れには逆らえない あるAI研究者が言っていた、私の仕事もいつか AI に奪われるという言葉が非常に印象的だった。 私は一時期自分のキャリアに危機感を覚えAIに関する情報を集めていた。そのとき見つけたYoutube動画でこのようなことが語られていたのである。 ではなぜ彼らは研究を続けるのかと思うかもしれないが、個人や一団体がそれを放棄したところで世の中のイノベーションの流れを止めることは不可能だろう。 平和を望む国々も兵器開発をやめられないのと似たようなものだ。 私がこの記事のタイトルを思いついたとき、つい溜息が出た。あまり楽しくない思い出があるからだ。 ただ、思いついてしまった以上これを世に出さないわけにもいかず、血の涙を流しながらこの記事を書いている。 私というちっぽけな存在では、この大宇宙の大いなる流れには逆らえないのだ。 申し遅れました。私、YadaYadaKonnanYa
zenn.dev/nuits_jp
解法 C#でデータ保護API(DPAPI)を使用して機密データ(パスワードやAPIキーなど)を安全に暗号化・復号化する方法を紹介します。DPAPIを使用することで、Windowsの組み込み機能を利用して簡単かつ安全にデータを保護できます。 以下に具体的なコード例を示します: using System; using System.Text; using System.Security.Cryptography; // 暗号化関数 static string EncryptSensitiveData(string sensitiveData) { byte[] dataBytes = Encoding.UTF8.GetBytes(sensitiveData); byte[] encryptedBytes = ProtectedData.Protect(dataBytes, null, Data
zenn.dev/eihigh
TL;DR 標準 iter パッケージの iter.Pull でイテレータをpull型に変換すれば、イテレータから少しずつ値を取り出すことができる これは既に終端のあるデータ列の利用(パーサ等)で有用だが、一方で終端のない未完のデータ列(リアルタイムの入力信号等)に対しては不便 そこで、少しずつ値を送りつけることのできる Push 関数を実装してみた pull型イテレータでは Merge, Zip 等の複数のイテレータを統合する処理が書けるが、push型イテレータでは逆に複数のイテレータへ分配するような処理が可能になる push型イテレータがあって初めてイテレータでやりたいことが完全に網羅できるのでは?ぜひ試してみてほしい 前置き この記事ではGoのiter.Pullについて触れます。もしiter.Pullとかコルーチンについて詳しくない方は、Goのイテレータ深堀りNightで私が発表した
zenn.dev/cybozu_frontend
こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめに サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。 今回は、2024/10/01のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 WebKit Features in Safari 18.0 Safari 18.0がリリースされました。一部機能を抜粋します。 新機能 Distraction Control ウェブブラウジング中の邪魔な要素を非表示にできる iPhone Mirroring and remote inspection MacからiPhoneをミラーリングし、リモートiOS上のWebサイトのテストやデバッグができる CSS View Tra
zenn.dev/asap
import asyncio import websockets import pyaudio import numpy as np import base64 import json import wave import io import os API_KEY = os.environ.get('OPENAI_API_KEY') #わからない人は、上の行をコメントアウトして、下記のように直接API KEYを書き下してもよい #API_KEY = "sk-xxxxx" # WebSocket URLとヘッダー情報 WS_URL = "wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview-2024-10-01" HEADERS = { "Authorization": "Bearer "+ API_KEY, "Open
zenn.dev/trusthub
Tamaguiチームから、Webとネイティブアプリを単一コードベースで開発するReactフレームワーク「One」が発表されました。 近年ではWebとネイティブを単一ソースコードで開発するスタックのことはUniversal Appと呼ばれ、徐々に注目を集めています。例えばユニバーサルなスタイルフレームワークであるTamaguiは、ExpoとMetro、Next.jsを使ったボイラープレートを提供してきました。 OneはReact NativeのビルドツールであるMetroの代わりに、Viteプラグラインとして動作します。また、WebサーバーとしてHonoを採用しています。 ドキュメントを一通り読んでみて、これはネイティブアプリにおけるReact Server Components(以下RSC)実装の未来を示したフレームワークではないかと思ったので、紹介&考察記事を書こうと思いました。 One
zenn.dev/rio_dev
この記事は? 著者はNode環境でのサーバーサイドTypeScriptを専門としているエンジニアです。この記事では、サーバーサイドTypeScriptをClassではなく関数的に書く 理由について書きます。 比較対象 テスタブルなコードを書くための手法に、DI(Dependency Injection) があります。ClassでDIをする場合と比べ、関数でDIをする場合にどのような感じになるか?をみてみましょう。 Repository/ Application Service/ Use Caseの3つの層で見てみましょう。 関数で書くと? 注釈) 関数を引数に受け取ったり、関数を返す関数のことを高階関数(HOF) という。 ・Repository層 const createRepository1 = () => { return { someHOfunc: (arg1, arg2, ...
こんにちは。 株式会社ココナラ Web開発グループ フロントエンド開発チームの加藤です。 普段はWebのフロントエンドの開発をしていますが、最近プライベートでFlutterの勉強も兼ね、アプリの個人開発をしました。 Flutterの開発言語のDartはJavaScriptに似ているため、フロントエンドエンジニアでも馴染みやすいと思います。 今回はそこで使ったAPIやパッケージの紹介・解説をします。 作ったもの チャットアプリのようなUIで気軽に国会の発言を見ることができるアプリです。 議員をフォローしてその議員の全発言を見たり、ワードをフォローしてそのワードが含まれる発言を抽出したり、会議を指定して議事録を見たりすることができます。 Androidアプリと、iOS用にWebアプリがあります。(Macを持っておらず、iOSアプリのビルドはできなかったため) API 概要 国立国会図書館が公開
zenn.dev/praha
divではなく、spanを使ったほうが良いと思いました! + <div>山田</div> - <span>山田</span> 文章だけで「ここはこうした方がいい」を説明するより、コードも一緒に提案してあげた方が分かりやすいです。 GitHub上だと、以下のように操作するとコードの提案ができます👇️ GitHubのリンクを貼る時はパーマリンクを使う
zenn.dev/umi_mori
執筆者の紹介 株式会社GalirageのCRO(Chief Research Officer)の「越原 崚」です。 普段は、大手企業への生成AIコンサルティングや、最新の生成AI研究を行っています(これまで20以上の生成AIプロジェクトに参画)。 さらに、直近では「Galirage Research」という研究部門を立ち上げ、約22名の仲間と共に、最新のLLMのR&Dを行っています。 私自身、2023年の春にGPT-4がリリースされた時は、寝食を忘れて研究していたほど、LLMの技術が大好きです。 今回、OpenAI Dev Day 2024のサンフランシスコの会場に参加したので、現地でのディスカッション内容も交えながら、新機能について解説していきます! OpenAI Dev Day 2024とは? OpenAI Dev Day 2024とは、「OpenAI社が開催する開発者向けのカンファレ
zenn.dev/msakuta
Rust で作るプログラミング言語シリーズです。 コンパイラによる最適化というと、実行バイナリを高速化する技術であり、程度の差こそあれ、事実上すべてのネイティブコンパイル言語に備わっている機能です。 書籍では紙面の都合で紹介できなかったのですが、要望もあったので補足しておきます。 一口に最適化と言っても、それが適用されるタイミングによって様々な手法があり、実際にはそれを組み合わせたものになります。例えば: AST最適化 定数畳み込み・伝搬 ループの展開 インライン展開 中間コード最適化 機械語コードの最適化 リンク時最適化 CPUによる最適化 などです。 他には機械コード依存か、機械コード非依存の最適化という分類もあります。本稿では機械コード非依存の最適化を扱います。 本稿では最も基本となる定数畳み込み・伝搬を扱います。コードは Ruscal のリポジトリにプッシュしてあります。 主に o
zenn.dev/babyjob
はじめに こちらは 「エンジニアさん向けにUIデザイン講座を開きたい!(準備編)」 「エンジニアさん向けにUIデザイン講座を開いてみた!(完結編)」 の続きとなりますので、先にそちらをご一読いただけますと話が理解しやすいかと思います! UIデザイン講座「実務編」の成果物 UIデザイン講座の実務編では、弊社で使用している勤怠管理システムの一画面を再デザインする内容を実施しました。画面を再デザインする上でカラーやボタンなどを一から考え直して、簡易なUIライブラリを作成しました。 下記が受講者の皆さんの成果物の一覧になります。 画面デザインではないので、ちょっとわかりづらいかもしれませんが、ご了承ください! ここまで大人数で同じテーマのものを作る機会はそうそうないですし、見ることも少ないので、私としても貴重な機会でした! デザイン経験のないエンジニアさんでも色のチョイスのセンスがいい方がたくさん
zenn.dev/gemcook
こんにちは!あさひです 🙋♂️ 今週は Birthday Week の変更分があったりで更新多めです! 早速キャッチアップしていきましょう。 この記事の主旨 この記事では、Cloudflare のサービスにどんな変更があったかをざっくりと理解してもらい、サービスに興味を持ってもらうことを目的としています。そのため、変更点を網羅することを優先します。 2024/09/22 ~ 2024/09/28 の変更 Wrangler 3.78.12 パッチアップデート Queues が正式に GA(一般提供)となったことを反映し、警告メッセージから「ベータ」という記載が削除されました。 3.78.11 パッチアップデート wrangler設定ファイルで[routes]が変更された際に、その設定を自動的に検証する機能が追加されました。 3.78.10 パッチアップデート nodejs_compatフ
zenn.dev/igrep
この記事では、Java、Scala、TypeScriptなど、サブタイピング(subtyping)をサポートする言語であれば間違いなくサポートしているであろう「反変(contravariant)」・「共変(covariant)」について、視覚的なアナロジーを用いつつ解説したいと思います。コード例を含め全てTypeScriptを前提とした説明ですが、同様の機能を持った言語であれば概ね同じことが言えるはずです。 そもそもサブタイピングとは サブタイピングとは、型と型との間にサブタイプ(subtype)・スーパータイプ(supertype)という関係を定めて、スーパータイプである型の代わりとして、サブタイプである型を利用できるようにする仕組みです。 例えば、TypeScriptではstring型はObject型のサブタイプであるので、次のようにObject型の変数にstring型の値を代入するこ
zenn.dev/u16m
はじめに こんにちは。電話AI SaaS IVRyのAIエンジニアの町田です。 IVRyは従来のプッシュ型の自動応答システムに留まらず、LLMを積極的に活用したAI音声対話システムを開発しています。2023年初頭にAI対話システムの開発を開始してから1年半、多くの企業に実際に導入され、ほぼ毎週新機能や改善のリリースを行うまでに成長しました。 しかし、実際の音声対話をベースとしたAI電話アプリケーションの開発は、従来のWebアプリケーション開発とは異なる独自の課題を抱えています。毎週の新機能や改修を安定的にリリースすることは、決して容易なタスクではありません。 本記事では、高速かつ安全なリリースを実現するためのQAの工夫についてご紹介します。 QAの重要性 プロダクト開発において、品質保証(QA)プロセスは極めて重要な役割を果たします。特に、高速なリリースサイクルを目指すソフトウェア開発にお
zenn.dev/kusuke
こんにちは、タイトルでだいたい言い尽くしましたが、このような悩みを自分および自分の周りでよく聞くようになったので、Stripeの方に教えてもらいながらどうすればいいか整理しました。 あくまで「めちゃくちゃ開発コストをかけない範囲で」の解決策なので多少トリッキーですがお付き合いください。あるいは、この記事を読んで「そろそろちゃんとコストかけて作りこむか」と決めていただいてもいいと思います。基本的にStripeの実装経験がある方向けの記事です。 どういう状況か さて、状況を具体的にするために具体例を挙げていきましょう。 1アカウントあたり月額3000円のSaaSを運営している。 当初はクレジットカードのみ、利用開始日に決済が走る標準の課金体系で進めていた サービスが成長し、法人の取引が増えて「請求書払いいけますか?」と聞かれることが増えた。 ここでいう請求書払いとは、10/1開始で契約したとし
zenn.dev/yumemi_inc
皆さん、フォーム作ってますか? Webサイトやアプリを作るにあたって避けられないのがForm作成、多くの方が autocomplete を設定するなど、より使いやすいフォームを作成するために尽力されていることと思います。 一方で、悪気なく書いたコードでより使いにくいフォームになってしまっている例が世の中には多く見られます(特に銀行系) 今回は、よくあるフォームの実装を例に、(特に日本語話者にとって)より使いやすいフォームにするためのちょっとした仕様や私が考える対策を書いていこうと思います。 忙しい方のために最初に書いておくと、この記事に書いてあることの多くは autocomplete の仕様を意識した実装をしましょう の一言に集約されます。 多くの方にとっては「何を当たり前のことを」と思われる項目も多いかとは思いますが、当たり前のことがされていないフォームが世の中には多すぎるので、少しでも
zenn.dev/naofumik
9月26, 27日に開催され、めちゃくちゃ盛り上がったRails World 2024でKamal 2が発表されました。Kamal 2はRuby on Railsを作った37signals社が、自社の人気サービスをデプロイするのに使用しているツールです。 37signals社はAWS等のクラウドに年間で$3,201,564を使った(2022年: 日本円で4.5億円ほど)らしく、一方でAWSを使ってもインフラ系人員の削減もほとんどできなかったので、全然割に合わないからもうクラウドはやめて自分たちのサーバを使うと宣言しています。Kamal 2はそのために作られた、本格的なデプロイツールです。 (ちなみに自分たちのサーバを使うと言ってもオンプレミスでサーバを運用するというのではなく、さくらの専用サーバに近いイメージです) Dockerベース Docker化されたアプリなら何にでも対応 (Rail
zenn.dev/headwaters
PyMuPDF4LLMは、LLMやRAG環境で必要な形式でPDFコンテンツを簡単に抽出することを目的としています。 LlamaIndex文書出力だけでなく、Markdown抽出もサポートしています。 ということで、名前の通りPDF処理ライブラリとして知られるpymupdfにLLMのための出力機能を持たせたライブラリになっています。 使い方は非常にシンプルでAPIドキュメントは、マークダウン変換を行うto_markdown関数とLlamaIndex文書処理のためのLlamaMarkdownReaderクラス(load_dataしかクラス関数がない)しかありません。(なので解説記事を出すまでもない気もしますが日本語ドキュメントはないので……) 従来のPDF処理ライブラリの弱点を完全に克服しているとは言えないものの使いやすさの点で素晴らしいライブラリだと感じました。 依存ライブラリインストール
はじめに こんばんは! 皆さんは以下のようなすぐ消えてしまう要素をDevToolsで確認したいときはどうしますか? 常に表示されるようにわざわざコードを修正してから、DevToolsで要素を確認したりしていませんか?DevToolsをうまく使うことで、わざわざコードの修正をせずとも簡単に要素の確認をできるのでそのちょっとしたTipsのご紹介です! ① CSSイベントでの確認方法 まずはCSSイベントで要素の表示制御を行っているパターンでの確認方法です。以下のようにCSSイベントのhoverで表示制御をしている要素を例にDevToolsで確認する方法を見ていきましょう! import "./style.css"; export const Index = () => { return ( <div> <button className="myButton">Button</button> <
zenn.dev/karaage0703
NotebookLM NotebookLMはGoogleが提供している生成AIを活用したサービスです。なんと(2024年10月現在は)無料で使えます。 NotebookLMは、Googleの生成AI Geminiのロングコンテキスト(多くの量のプロンプトを扱うことができるという意味)の特徴を活かした、文章の要約やQA対応が得意です。文章は、直接プロンプトに入れている(と思われる)ので、単なるRAGとは違う(と思われ)ます。 RAGとロングコンテキストのどっちが良いのかというのは、色々議論があるようです。例えばLost in the Middle: How Language Models Use Long Contextsという論文では「ロングコンテキストの真ん中の情報は失われるよ」みたいなことが書いてありますがRetrieval Augmented Generation or Long-C
zenn.dev/stead08
Builder Day 2024で発表されたCloudflare workersプラットフォーム、18の新機能まとめ 元ブログ をClaude 3.5 Sonnetを用いてまとめました。 Cloudflare Builder Day 2024: Workersプラットフォームの18の大型アップデート Cloudflareは、開発者からの直接のフィードバックに基づいて、Workersプラットフォームに18の大きなアップデートを実施しました。これらの更新は、現在の技術やサービスだけでなく、プロジェクトの成長とテクノロジーの変化に合わせて進化するパートナーとしてのCloudflareの姿勢を示しています。 主要な更新内容 Workersの永続的ログ すべてのWorkerのログを自動的に保持し、Cloudflareダッシュボードで完全な検索、クエリ、フィルタリング機能を利用可能 新しく作成されたW
次のページ
このページを最初にブックマークしてみませんか?
『Zenn|エンジニアのための情報共有コミュニティ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く