サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Appleイベント
zenn.dev/wagao
はじめに 以前つくった Minsta というデジタルスタンプラリーの Web アプリの中で、ブラウザ上で Canvas を使用してスタンプ風の画像を生成する機能があるのですが、前々からもう少し画像のファイルサイズを落とせそうだなと思っていたので、今回 Rust と WebAssembly を使用して PNG ファイルを極限まで圧縮するのに挑戦してみました。 Minsta については以下の記事をご覧ください。 動機 Minsta では単色で背景透過の以下のようなスタンプの PNG 画像をブラウザ側で Canvas の toBlob メソッドを使用して生成しているのですが、このメソッドで PNG エンコードすると 32 bit の RGB+alpha 形式のファイルしか生成できず、 Minsta で扱うような単色の画像にとっては余計にデータサイズが膨らんでしまっていました。 PNG は使用する
zenn.dev/kun432
先進的なAIアプリケーションのためのイノベーションエンジン DifyはオープンソースのLLMアプリ開発プラットフォームです。RAGエンジンを使用して、エージェントから複雑なAIワークフローまでLLMアプリを編成します。 DifyはオープンソースのLLMアプリ開発プラットフォームです。その直感的なインターフェースは、AIワークフロー、RAGパイプライン、エージェント機能、モデル管理、観測可能な機能などを兼ね備えており、プロトタイプから製品化まで迅速に行うことができます。コア機能のリストはこちらです: ワークフロー: ビジュアル・キャンバス上でパワフルなAIワークフローを構築、テスト。 包括的なモデルのサポート: GPT、Mistral、Llama2、OpenAI API互換モデルを含む、数十の推論プロバイダーやセルフホストソリューションの数百のプロプライエタリ/オープンソースLLMとシームレ
zenn.dev/arawii
こんにちは。今日は Rclone を使ったファイル同期について書いていきます。 前提 研究室の PC (Ubuntu) と自宅の PC (Mac) でファイルを同期したい 同期するのは論文の PDF ファイルと bib ファイルで、 Jabref を両方の PC でシームレスに扱うことが目的 Google Drive などのクラウドストレージを双方の PC でマウントする方法が簡便だが、研究室の Ubuntu では Google Drive がうまくマウントできなかった 研究室の PC と自宅 PC は SSH での接続が可能 研究室には SSH のための踏み台サーバーがあり、 ProxyCommand を使って研究室の PC までアクセスする。 ~/.ssh/config の設定は以下の通り(雰囲気なので詳細は他の記事等をあたってください)。 Host jump-server HostN
zenn.dev/never_inc_dev
はじめに Android Studio, IntelliJ IDEAやVSCodeの自動フォーマット機能を使ってDartコードをフォーマットする場合、エディタのプラグイン設定であるLine lengthの値によってフォーマットが行われます。 Android Studio(Settings->Editor->Code Style->Dart) VSCode(Settings->Extensions->Dart->Editor) そのため、チームメンバーが設定しているLine lengthによってはフォーマットの結果が異なることとなり、差分が発生します。 全員がデフォルトを使用していればよいのですが、デフォルトのLine lengthである80は現代の環境だと余白を持て余してしまうことが多いため、80以上を設定している開発者も少なくなさそうです。 デフォルトの80を使う場合はLinterルール
zenn.dev/tomoya_pama
ActiveRecordでN+1クエリを解消するためにpreloadやincludesやeager_loadを使うが、それらの違いについてあまり理解できていなかったのでまとめてみました。 それぞれ、大きく違いがあるのは下記3点かなと思っています。 結合でデータを取得するか、クエリを2つ発行して取得するか? 結合先のテーブルで絞り込むことはできるか? 結合先のテーブルの情報を取得することができるか? 以下、詳しく書いていきます! preload 結合でデータを取得するか、クエリを2つ発行して取得するか? →クエリを2つ発行して取得する 結合先のテーブルで絞り込むことはできるか? →できない 結合先のテーブルの情報を取得することができるか? →できない 発行されるSQL User.preload(:posts).to_a SELECT "users".* FROM "users" SELECT
zenn.dev/gogo1234
zenn.dev/shimotani
環境:next "13.4.19", next-auth: "4.23.1", next-auth:seesion:strategu:"jwt", next-auth:providers:CredentialsProvider NextjsのApp RouterでNextAuth.jsを使っていて、useSessionを使いたいときには以下のようにSessionProviderでラップするみたいですが、 import { NextAuthProvider } from "./lib/Providers"; /// 省略/// export default async function RootLayout({ children, }: { children: React.ReactNode }) { return ( <html lang="ja"> <body > <NextAuthPr
zenn.dev/cybozu_frontend
こんにちは!サイボウズ株式会社 フロントエンドエキスパートチームの @mugi_uno です。 はじめに サイボウズ社内では毎週火曜日に Frontend Weekly と題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。 今回は、2024 年 5 月 7 日 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 React の fetch() 拡張が削除 React に標準で含まれていた fetch() に対するパッチが削除されました。 一方で、Next.js では同様の対応を別のパッチとして取りこむことで従来通りの挙動を維持するようです。 Google、サードパーティ cookie 廃止を 3 度目の延期 年内で完了予定だった Chrome での Third Party Cookie 廃止について、延期が発表されまし
「Reactで高品質なコードを実装したい。」 「Reactの基本構文は理解したので、これらを組み合わせて何かを作ってみたい。」 本書は、これらのニーズに応える構成になっております。 学習テーマはキッチンタイマーの実装で、React、TypeScript、Tailwind CSSを使用します。 本書を読むことで、単に仕様通りに動くだけのコードではなく、高品質なコードを実装するためのアプローチを学ぶことができます。
zenn.dev/castingone_dev
こんにちは、バックエンドエンジニアの永田です。飼い犬が換毛期のため、最近は毎日のブラッシングが日課兼趣味になっております。 本日は、Codecov というコードカバレッジの測定・可視化・向上のためのツールを導入したお話です。 Codecovとは そもそもコードカバレッジとは、自動テストの実行中にソースコードのどの部分が実行されているか、ソースコード全体の何%が自動テストによってカバーされているかのことです。 大抵の言語やそのテストフレームワークは、テスト実行に際しコードカバレッジに関するレポートを生成する機能を備えています。 Codecov にそのカバレッジレポートをアップロードすることで、カバレッジの変化のトレンドを見ることができたり、カバーされている部分・されていない部分を可視化できたり、Github Actions のワークフローで設定したカバレッジ目標(%)の達成を強制することがで
zenn.dev/aldagram_tech
みなさんこんにちは!アルダグラムでエンジニアをしている今町です。 弊社では、サービスサイトの LP ページ・コーポレートサイトのような静的サイトで Gatsby を利用しています(Gatsby とは React ベースの SSG フレームワークです) 私がアルダグラムに入社して初めて行った仕事が、Gatsby 製の LP ページのパフォーマンス改善でした。入社から 3 ヶ月が経過し、当時を思い出しながらどうやってパフォーマンス改善を進めていったか共有したいと思います。また、Gatsby 製のサイトを運用している方にとって、少しでも参考になったら嬉しいです 🥰 現状を知る まずは、Gatsby 製のページのパフォーマンスがどうなっているか現状を理解するところから始めてみましょう。 Google が提供している PageSpeed Insights を利用してパフォーマンスを含めた各種指標を
zenn.dev/kushidam
今回はDockerfileを用いて、Dev Containers上でDockerを動かしたいと思います。 設定手順からアプリ起動までを実施します。 Dev Containersのメリットとしてチーム開発における開発環境の標準化や再現性を確保できることが大きな利点と思っています。 Dev Containersの設定ファイルはGitなどのリポジトリに含めることができるため、新しい開発者がプロジェクトに参加する際に、環境のセットアップが簡単に行えます。 今回の内容はこちらのリポジトリで公開していますのでcloneし、試してみてください。 新しい開発者として体験できます。 Dev Containersについては前回の記事を参考にしてください。 画像引用:https://code.visualstudio.com/docs/devcontainers/containers 1. 環境 Windows
zenn.dev/nomhiro
StreamlitアプリをAzureのAppServiceで動かす 紹介すること/紹介しないこと こちらの記事では、OpenAIを簡単に検証するためにStreamlitを使う方法を紹介しました。紹介したStreamlitアプリをAzureのAppServiceにデプロイしWebアプリとして公開する方法を紹介します。 AzureAppSericeとは AzureAppSericeとは、Azure上でWebアプリケーションをホストするためのサービスです。 AzureAppSericeは、AzureのPaaSサービスの一つで、サーバーの管理やOSの管理などをAzureが行ってくれるため、Webアプリケーションの開発に集中することができます。 AppServiceの作成とデプロイ手順 AppServiceリソースの作成 AzureポータルからAppServiceを検索し新規作成します。 AppSe
zenn.dev/p
株式会社ナレッジセンスは、「大企業の知的活動を最速にする」をミッションに掲げ、社内データ検索ができるAIチャットボットを開発・提供しているスタートアップです。このブログでは、大規模言語モデルや検索技術、RAG(Retrieval Augmented Generation)技術等について知見を共有していきます。
zenn.dev/yoshi_tech
はじめに 私は、情報工学科の大学3年生です。大学からプログラミングにのめり込み、個人開発やハッカソンなどを通して、様々なアプリケーションを開発してきました。現在は、深層学習の学習に没頭しています。 今回は、大学2年次に授業の一環で作成したWebアプリケーション「Navi Cook」を紹介します。前置きとして、開発期間は4ヶ月間です。(平日は、授業などがあり実稼働はもう少し少ない時間でした。) また、市役所から与えられた、いくつかの市の問題の中で「市の燃えるゴミの排出量を減らす」というテーマを選定し、実際に使ってもらえるようなプロダクトを目指して作成しました。 開発の流れ 開発自体は4ヶ月間(後学期中)だったものの、アイデア出しにも4ヶ月程度(前学期中)費やしました。 アイデア出し(4月〜7月) プロジェクトテーマの選定 →「市の燃えるゴミの排出量を減らす」 現状調査 ニーズ調査 前提条件・
zenn.dev/moneyforward
Feature-Sliced Designというフロントエンドアーキテクチャ設計方法論をプロジェクトに導入してみたところ、 個人的には良いと感じているので、どのような設計方法論なのか、具体的にどのような部分が良いと感じたかを紹介していきたいと思います。 Feature-Sliced Designとは? Feature-Sliced Designは、フロントエンドアプリケーションを対象としたアーキテクチャ設計方法論です。公式サイトでは、「コードを整理するためのルールと規約の集大成」と記載されています。 Feature-Sliced Designの設計方法論 Feature-Sliced Designでは、プロジェクトはLayerで構成され、各LayerはSliceで構成され、各SliceはSegmentで構成されます。 Layer Feature-Sliced Designの第一階層をLay
zenn.dev/417
Loremを用いてapp/page.tsxに文言追加 (Lorem良い。ダミーのテキストを入れるのに最適。) import Image from "next/image"; import Link from "next/link"; export default function Home() { return ( <div> <p> Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore modi enim distinctio et vitae consectetur numquam, voluptates, laboriosam, incidunt reiciendis dolorem magni? Fugit qui dolores delectus ad inventore officiis explic
zenn.dev/kat
今ではutf-8使っていれば大抵問題ないのですが、 古いソースをメンテする場合、標準の文字コードと異なる場合があり、 そうするとファイルを開いた際に日本語が文字化けして表示されてしまいます。 文字化けを何とかしたい、日本語で検索してもファイルが見つからない場合に、下記の設定で解決できるかもしれません。 ファイルを開く際にVS Code側で自動で判別する方法 設定のAuto Guess Encodingにチェックを入れるだけでOKです。 ファイルを開く際の文字化けを回避するならこれだけで良いのですが、 説明にもあるようにテキスト検索には考慮されないため、 ソース内の日本語をキーワードに対象ファイルを抽出したい場合に全然引っかかってくれません。 これを解決するのが以下 ファイルのエンコードを指定 Encodingで開きたい文字コードを指定すればOKです。 これでテキスト検索にも引っかかるように
zenn.dev/mybest_dev
はじめに こんにちは!マイベストで入社してから2年目になるtkeita1024 です。現在は、Frontendのエンジニアをしています! 今回は、新卒で入社してから1年かけてRuby on Railsで表示されているページをNext.js + GraphQLへ置き換えした話について書きたいと思います。 背景 マイベストでは、2022年~2023年にグローバル化対応というプロジェクトでRuby on Railsで表示されているページをNext.js + React + TypeScriptにし、APIをGraphQLを使用するように一部置き換えました。入社した当時は、主要なページのみしか置き換えが完了しておらず、管理画面(Admin)や新規事業(Favlist)の画面の置き換えは完了していない状況でした。そこで、新卒のタスクとして、置き換えが完了していない画面を全て置き換えるというのを取り組
zenn.dev/elith
はじめに 株式会社Elithでインターン生として働いている中村彰成です。今回は、あるプロジェクトで扱ったGBDT(勾配ブースティング決定木)を紹介します。GBDT系の機械学習アルゴリズムは、2024年現在でもkaggleなどのテーブルコンペで人気なアルゴリズムです。 この記事では、GBDTの概要、GBDTの代表格であるXgboost, LGBM, CatBoost, それぞれのアルゴリズムの違いと実装方法について紹介します。 ※画像に関しては、該当する論文から引用しています GBDTについて GBDTは、勾配降下法(Gradient)、ブースティング(Boosting)、そして決定木(Decision Tree)という3つの手法を組み合わせた機械学習アルゴリズムです。以下、それぞれの要素について簡単に説明します。 勾配降下法 勾配降下法は、ある関数𝑓(𝑥)の最小値を見つけるために使用さ
zenn.dev/takashiaihara
結論 docker compose up に --no-cache というオプションがない。 docker-compose up であれば --no-cache がある様子。 docker compose build --no-cache 明示的にビルドプロセスを踏む必要がある。 インフラとかバックエンドとかフロントエンドとか。 フルスタックエンジニアに成れればいいな。 AWS/GCP/Docker/Ruby on Rails/Spring boot/FastAPI/Scrapy/Selenium/Redis/Postgres/MongoDB/React/Vue.js/Next/Nuxt
zenn.dev/shi_works
はじめに GIS界隈ではCloud Optimizedが重要なキーワードになっています。Cloud Optimizedとは、特別なサーバ実装を必要とせず、大きな位置情報データの一部分を配信することを可能とするファイル形式の総称です。本記事は、Cloud Optimized形式のうち、PMTiles(ラスタータイル)の生成方法に焦点を当てた記事になります。具体には、静岡県(VIRTUAL SHIZUOKA)がG空間情報センターを通じてオープンデータとして公開している、オルソ画像データ(GeoTIFF)からPMTilesを生成する方法について説明します。 PMTilesの特徴 単一ファイル形式のタイルデータ ラスタータイル、ベクトルタイルともに対応 地球規模のタイルマップの保存 S3 のようなストレージとHTTP Range Requestsのみを使用 PC環境 OS:Windows 10 P
zenn.dev/cloudsecurity
日本でもランサムウェアの被害が後を断ちませんが、ランサムウェアが日本企業に侵入する経路の約7割がVPN経由だと言われています。 本記事では、VPNに代わる安全なリモートアクセス技術であるZTNA(ゼロトラストネットワークアクセス)をNetskopeで実現するためのNPA(Netskope Private Access)を紹介します。 ■NPAとは? Netskope NPAはVPNの欠点を補い、安全なリモートアクセスを提供するZTNAサービスです。 ■VPNと何が違うの? 外部から社内にアクセスするという目的は同じですが、従来のVPNはセキュリティ上の問題が指摘されています。 警察庁の発表によれば日本におけるランサムウェアの侵入経路の約7割がVPN経由であるとの調査結果が発表されています。 図:警察庁「サイバー空間をめぐる脅威の情勢」を基にNetskope Japan作成 VPNがサイバー
zenn.dev/hiroga
ローカルLLMでGitHub Copilotのような開発ができるようにしました。 Continue と Ollama を用いましたが、タブ補完がβ版ということもあってか設定で躓いたので、記事にしました。 TL;DR Ollamaを起動し、API経由のアクセスが有効か確かめます config.jsonの設定後、VSCodeを再起動します(2024-05-02時点では必要) Continueのタブ補完実行時、VSCodeのOutputタブとOllamaのserver.logでデバッグを行います。 技術選定 GitHub Copilotに代わるアシスタントとしては、Cursor, Continue, Tabby を比較しました。 今回は完全ローカルで動作するContinueを選択しました。 Cursorは2024‐05‐02時点ではCursorのサーバーを経由してLLMにアクセスしているため、n
zenn.dev/socialplus
前提条件 本記事では以下のバージョンを前提としています。 EKS(EC2) 1.28 Cluster Autoscaler 1.28.2 Horizontal Pod Autoscaler Datadog Helm マニフェスト 3.33.1 Datadog Agent 7.46.0 Datadog Agent の起動台数が足りないアラートが発生 Datadog モニターから以下のアラートが届きました。 DaemonSet は全ての Node に1台ずつ起動するという特性があるので、 このモニターでは Node の数だけ DaemonSet が起動しているかどうかを監視しています。 監視内容は以下のクエリで、要約すると「直近40分間で理想とする DaemonSet Pod の起動数を満たせているかどうか」を監視しています。 min(last_40m):min:kubernetes_stat
zenn.dev/sexy_fujii
以下のように/Library/Developer/CommandLineToolsが存在しない旨のメッセージが出力されれば、まだCommand Line Tools for Xcodeがインストールされておらず、Python3も利用できない状況であることを確認できます。 xcrun: error: active developer path ("/Library/Developer/CommandLineTools") does not exist Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the
zenn.dev/andmorefine
最近はTypeScriptを仕事上にて常に使用しています。基本的にReact&Next.jsとの組み合わせが主な利用方法です。 しかし、話しをする前に、日常的にTypeScriptをどのように使用しているかについての紹介をする必要があります。 自分にとって、TypeScriptで書かれたコードベースが健全であるとはどういうことか? TypeScriptが負担を増やすのではなく、役に立つようにするために設定すべきルールは何か?を自分なりの思考や解釈を交えた記事になります。 もしかすると、この記事を読む場合、TypeScriptを少し使ったことがある必要があるかもしれません。 しかし、コードでコンパイラによくブロックされたり、使用するたびに敗北感を感じた経験がある方は、きっと有益な情報が見つかる可能性が高いと思います。🤞 まず、このTypeScriptを使用する理由に立ち返りましょう。一度使
zenn.dev/sukedachi_dev
はじめに こんにちは、助太刀バックエンドチームの市川です! 助太刀では、2024 年 2 月に以下の生成 AI の活用した社内情報検索システムに関するプレスリリースを発信しました。 助太刀、生成 AI を使った社内 Wiki を開発。生成 AI の活用により社内業務の効率化を強化 今回は、その社内情報検索システムに関する LLM(大規模言語モデル)、RAG(Retrieval-Augmented Generation) を用いた検索システムの構築について紹介したいと思います。 上記プレスリリースにも記載がありますが、主に社内業務効率化を目的とし開発・導入しました。 RAG とは RAG(Retrieval-augmented Generation) とは、質問やプロンプトに対して出力する答えを作る過程で、あらかじめ用意された外部データベース内の既存情報を参照(Retrieval)することで
zenn.dev/umeo
はじめに Laravelではイベントとリスナを使って、特定の事象が発生した時に実行される処理を定義することができます。 これはデザインパターンの一種で「Observer(観察者)パターン)」といいます。 イベントが観察される側で、リスナが観察する側です。 つまり、イベントが発行されるとリスナで定義しておいた処理が実行されるという流れです。 今回はユーザー登録を例に実装していき、イベント、リスナ、Observerパターンについて理解していただければと思います。 環境 Laravel 9.38.0 PHP 8.1.12 Laravel Sailで環境構築しています。 https://readouble.com/laravel/9.x/ja/sail.html 参考 今回の実装について ユーザーが新規登録を行なった場合に以下の2つの処理を実装します。 ウェルカムメールを送信する メルマガ登録を行
次のページ
このページを最初にブックマークしてみませんか?
『Zenn|エンジニアのための情報共有コミュニティ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く