並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1021件

新着順 人気順

DSLの検索結果1 - 40 件 / 1021件

  • CTOが選ぶ、エンジニアのみなさんに個人的に読んでほしい本|藤村

    メリークリスマス!heyでCTOをやっている藤村です。ということで、これからエンジニアになる・いまエンジニアをしているみなさんに個人的に読んでほしい本をご紹介します。これを読んでおけばソフトウェア・エンジニアとして網羅的な基礎が身につく、とかいうセレクトではなく、あくまで個人的に読んでもらえると嬉しいな!というものを選びました。 ソフトウェア開発基礎編リー・コープランド『はじめて学ぶソフトウェアのテスト技法 』 テストの本です。昨今RSpec、XUnit系など自動テストのツールはすっかり普及し、ソフトウェアにテストコードをつけるのは当たり前の世の中になりました。しかし!テストケースをどう設計するか、何をテストすべきか、について体系的に学んだことがない、という方も実はいらっしゃるのでは。 この本はそういったソフトウェア・テスト一般についての教科書です。ここの知識はソフトウェア・エンジニアとし

      CTOが選ぶ、エンジニアのみなさんに個人的に読んでほしい本|藤村
    • パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

      最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteがRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です

        パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary
      • プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog

        κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム

          プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog
        • ブラウザで動くサービスを作るときの技術選定

          はじめに 私の仕事は、新規サービスをまるっといい感じに開発するのを委託されることがほとんどです。最近はネイティブアプリを作ることよりもブラウザで動くWebサービスを開発することが多いのですが、案件の規模感や要求によって技術選定を少し変えるようにしています。「こういうときはこう」みたいに一概には言えないのですが、普段使う構成を紹介します。誰かの参考になれば幸いです。 2022/02/10 現在での内容です。 前提 開発を委託される場合の運用費をどうするの問題があります。クライアントにクレカ登録をしてもらうか、こちらで支払って毎月請求するかになります。僕は毎月やるのがめんどくさいのでできるだけ前者に倒している関係上、あまりいろいろなSaaSを組み合わせて作ることをなるべく避けています。 規模感によらず使っているもの 私の場合、以下が使えるとめちゃくちゃ効率よく開発できます。 GCP 好きだから

            ブラウザで動くサービスを作るときの技術選定
          • プログラミングを学ぶにあたって詰まったことと、そこから学んだこと - mizchi's blog

            toyokeizai.net satoru-takeuchi.hatenablog.com 全然レイヤーが違うが、自分が何に悩んで、どういう風に理解したか、思い出しながら書き出してみる。 プログラミング歴 20歳からなので、現時点で10年ぐらいだが、中学生の時ちょっと触ったことがあった。 14 歳: 病気で入院したときに暇すぎて、2 週間ほど VBA を触った 大学 1 年: 大学の選択科目で Java, 夏休みに Python と Ubuntu の独習 大学 3 年: Python で自然言語処理のバイト 大学 4 年: Android アプリを作るバイト、就活ポートフォリオとして node/Websocket で MMO 一社目: Unity, ActionScript, Haskell, JavaScript 以降~: JavaScript/CoffeeScript/TypeScri

              プログラミングを学ぶにあたって詰まったことと、そこから学んだこと - mizchi's blog
            • ノーコードは形を変えた現代のRPGツクールなのではないか

              この記事について。 2030 年 「エンジニアです。コードは書けません。」|__shinji__| note 自分はそもそもビジュアルプログラミングやオーサリングに興味があり、ノーコードは興味の範疇でありつつも、現状のもの、現状の「コード抜きで作れる」ような謳い文句は厳しいと思っています。それを、RPG ツクールを例に説明します。 はじめに、ノーコードを分類する 本記事では、「専用の管理画面で編集し、出力のためにコードを書かない、もしくはコピペ程度」のものをノーコードとして扱います。 その中でさらに種類ごとに分類してみます。このような定義があるわけではなく、自分の主観的で暫定的な分類です。 タイプ 1: データベースから自動的にフォームを生成 Google App Sheet MS Power Apps タイプ 2: 高水準 API のパイプライン Zapier IFTTT 古の Yaho

                ノーコードは形を変えた現代のRPGツクールなのではないか
              • システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers

                Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自体は25分くらいでしたので、おそらくこの記事の方がプレゼンよりも詳しいと思います。 ソフトウェア危機 ソフトウェアは本質的に複雑 ソフトウェアの複雑さはどこから来るのか? 複雑さは、別の複雑さを産む 複雑さを分類する 本当に必要な複雑さと、そうでないものがある どうやって複雑さを扱うのか

                  システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers
                • Re: Rails を主戦場としている自分が今後学ぶべき技術について

                  この記事は、 Rails を主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ についてのアンサー記事です。 うなすけ君が Ruby on Rails で育ってきたように、僕も JavaScript とともに育ってきたという自覚があります。なので、これについて書くことは、ポジショントークは避けられない、という感覚があります。 冷静に比較しようとも思いましたが、やっぱり開き直って思いっきりポジショントークをすることにしました。そっちのほうが面白いと思うので。 自分の基本的な主張は、こちらの記事にあるとおりです。 Frontend Study #1: 基調講演 - Frontend 領域を再定義する 自分と Ruby on Rails 僕は、キャリアとしては Rails の会社で JavaScript を書いてきたことが多かったです。学生の頃は socket.io

                    Re: Rails を主戦場としている自分が今後学ぶべき技術について
                  • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

                    こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。

                      プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
                    • Docker入門資料「入門 Docker」を5年ぶりにアップデートしました。 - y-ohgi's blog

                      TL;DR 「最短でプロダクションで扱うため」のコンセプトはそのままに 入門 Docker がv2になりました 5年ぶりにのアップデートで、古くなった情報を消し最新の情報の追加をしてほぼ書き直しました。 現代でも残ってしまっているような古いプラクティスについても言及しているので、再読もオススメです。 概要 入門 Docker を5年ぶりにアップデートしました。 deprecatedな部分だけは綺麗にするかと思い、git cloneしたところ筆が乗りだいぶ様変わりしてv2になりました。 変更点 古くなってしまっている情報を修正したことがメインです。 特に以下3点です。 1. DockerfileのDSL 2. compose v2対応 3. Dockerfileのベストプラクティス 他にもいくつか。 現在でも使用されている非推奨な使い方への言及 古くなってしまっているが、現在でも使用されてい

                        Docker入門資料「入門 Docker」を5年ぶりにアップデートしました。 - y-ohgi's blog
                      • 『メタバースの失敗はセカンドライフの失敗を元に学べ』とか言う人はだいたいエアプなのでSL歴16年目の私が教えます - urakatahero“B”log

                        セカンドライフでの私の製作物とアバターです まえおき セカンドライフは2003年に発表され、2006年ごろから話題になり、2010年にピークを迎えたLindenLab社が運営するSecondLife(セカンドライフ)ですが、2023年には20年目になりました。 メタバース関連の話題があがるとセカンドライフのつまらなさと過疎っぷりを伝える【メタバースの失敗】=【セカンドライフの失敗】というキーワードの記事も同時に現れるのですが、その多くはそれなりに調べてはいるけども、セカンドライフの事を何もしらない人が書いている事が問題として挙げられ、一部セカンドライフユーザー達から猛烈に反論されたりするなどプチ炎上が起こりがちです。 例えば、PSO2やDQX、FF14、フォートナイトなどの様々な長く続いている有名オンラインタイトルをエアプ*1野郎がつまらないと断言すれば、それらのプレイヤーから反感を買って

                          『メタバースの失敗はセカンドライフの失敗を元に学べ』とか言う人はだいたいエアプなのでSL歴16年目の私が教えます - urakatahero“B”log
                        • ドメイン駆動設計に関する何か - 日々常々

                          2020-03-13追記: 「ドメイン駆動設計」のハードルを上げる意図はありません。そもそもそんな特殊技能でもないと思っています。「ドメイン駆動設計が合っているか」を測る材料になるかも?くらいの気持ちで読んでいただけると幸いです。 何度目か知りませんがDDDがまたブームを迎えているようで。DDD難民と言う言葉が出た頃を思うと感慨深いですね。実際難民になったわけではないので肌感覚で知らないのが残念なところですが、これはどうでもいい。 DDD、日本語ではドメイン駆動設計となりますが、DDDを冠していてもドメインが語られることは少ないようです。 数ある書籍もドメインモデリングの話ではなく、ドメインモデルをいかに実装に落とし込むかにフォーカスしていると感じています。 これはこれで仕方ないと言うか、ドメインの話って広く語れないんですよね。 ドメインは領域で境界があって範囲が限定されています。特定ドメ

                            ドメイン駆動設計に関する何か - 日々常々
                          • NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック

                            近年のデータベースの新潮流にNewSQLと呼ばれる一群のデータベース製品群の登場がある。そのコンセプトを一言でいうと、RDBとNoSQLのいいとこどりである。SQLインタフェースと強いデータ一貫性(ACID)というRDBの利点と水平方向のスケーラビリティというNoSQLの長所を兼ね備えた夢のようなデータベースである。下図に見られるように、RDBとNoSQLが鋭いトレードオフを発生させていたのに対して、NewSQLではそれが解消されているのが分かる。 RDB vs NoSQL vs NewSQL本当にそのような夢の実現に成功しているか、というのはまだ議論が続いているが(クエリのスループットを出すためにレイテンシを犠牲にしているので本当にトレードオフを解消はしていない、などの問題が指摘されている)、商用でも利用可能な製品としてGoogle Spanner、TiDB、YugabyteDB、Coc

                              NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック
                            • Twitter での 2年 · eed3si9n

                              2022-11-20 僕は Twitter社の Build/Bazel Migration チームでスタッフ・エンジニアとして勤務していた。信じられないような 2年の後、2022年11月17日をもって退職した (企業買収後のレイオフでも任意でもあんまり関係無いが、僕は任意退職希望のオファーを取った)。Twitter社は、切磋琢磨、多様性、そして Flock を構成する全ての人に対して溢れ出る優しさというかなり特別な文化を持った職場だった。これを間近で経験して、その一員となる機会を得たことに感謝している。(Flock は「鳥の群れ」の意で、社内での Twitter社の通称) 以下は過去2年の簡単な振り返りだ。尚本稿での情報は、既に公開されているトークやデータに基づいている。買収後、うちのチームだけでも 10名以上のメンバーが Twitter社を抜けたので、在籍・元含め LinkedIn プロ

                              • Chainer を振り返って

                                2015 年 4 月 12 日に Chainer の最初のコードをコミットしてから,およそ 4 年半と少しが経ちました.はじめのはじめは軽い気持ちで書きはじめたコードでしたが,今では一線級の研究を立派に支えるまでになりました.深層学習フレームワークの世界も当時とは様変わりして(当時は TensorFlow も PyTorch もなかったわけですから,本当に変わりました),思えば遠くにきたものです. 今日,PFN は社内の研究開発に用いる主なフレームワークを PyTorch に移行すると発表しました.会社にとってももちろんですが,業務としてはこの 4 年半,Chainer 一筋でやってきた自分にとっては特に,大きな転換点です. まず率直な感想として,Chainer の開発は本当に楽しかったです.書きはじめた頃は,深層学習フレームワーク競争の真っ只中で,Theano の上に乗っかるフレームワー

                                • GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!

                                  GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで GitHubが公式に提供するGitHub Actionsは、後発ながらよく使われるワークフローエンジンとなっています。本記事では、藤吾郎(gfx)さんが、典型的なCI/CDのユースケースに即したワークフローの設定と管理について解説するとともに、注目されているGitHub OIDC(OpenID Connect)の利用についても紹介します。 GitHub Actionsは、GitHubが提供するCI/CDのためのワークフローエンジンです。ワークフローエンジンは、ビルド、テスト、デプロイといったCI/CD関連のワークフローを実行し、定期実行するワークフローを管理するなど、開発におけるソフトウェア実行の自動化を担います。 ▶ GitHub Actions - アイデアからリリースまでのワーク

                                    GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!
                                  • 山本ゆうご on Twitter: "レシート記述言語なるものを知ってワクワクしてる。 https://t.co/7PvxvWl4i9"

                                    レシート記述言語なるものを知ってワクワクしてる。 https://t.co/7PvxvWl4i9

                                      山本ゆうご on Twitter: "レシート記述言語なるものを知ってワクワクしてる。 https://t.co/7PvxvWl4i9"
                                    • ソフトウェア設計のトレードオフと誤り

                                      「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。本書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設計、時刻の扱い、データローカリティのようなシステム寄りの話題、またライブラリの選択、分散システムの一貫性と原子性、バージョニングのようなより抽象度の高い内容まで、さまざまなシチュエーションにおけるトレードオフの実態と、その失敗例をとり上げます。 本書は日々のプログラミングにおける解決策のヒントを得るだけでなく、より幅広い設計上の知見を広める上でも役に立つでしょう。 正誤表 ここで紹介する正誤表には、書籍発行

                                        ソフトウェア設計のトレードオフと誤り
                                      • Treasure Data を退職しました - k0kubun's blog

                                        約5年5か月働いたTreasure Dataを7/22に退職した。7/25からShopifyに入社し、RustでJITコンパイラを開発してRubyを高速化する仕事をする。 仕事としてやりたい分野が変わってきて自分は今回転職したけど、とても良い会社なので、この記事がTreasure Data (以下TD) で働くことに興味がある人の参考になれば良いと思っている。*1 5年勤続記念にいただいたトロフィー やっていたこと APIチーム 元々TDにはJavaで分散システムを書きたくて入社したのだが、TD入社前に特にそういう経験があるわけでもなく主にRailsをやっていたこともあり、Railsでプラットフォームを開発するチームに入った。基盤開発をやりたいと思いながらサービス開発者として最初働き、後に基盤開発チームにジョインするみたいな過去の経験があったので、今回もそういう感じでいけると考えていた。実

                                          Treasure Data を退職しました - k0kubun's blog
                                        • Infrastructure as Dataとは何か

                                          最近GCPから登場したKubernetes YAMLのPackage managerであるKptは「Infrastructure as Data(Configuration as Data)」という考えかたを基礎としてそれを推し進めようとしている.それ以外にもKubernetesのEcosystemには(明示はされていなくても)この考え方が中心にある.Infrastructure as Codeとは何が違うのかなど歴史を振り返りつつまとめてみる. (指針はBorg, Omega, and Kubernetesという論文にあるが「Infrastrcuture as Data(Configuration as Data)」という言葉を明確に定義した文章はない.この記事はReferencesに挙げるいくつかのPodcastにおける@kelseyhightowerの発言や,それに反応する@bgra

                                          • Code Tour を使ってじっくり確実にコードを読む

                                            日々のタスクに忙殺されていると、ついつい既存コードを流し読みして、ざっと動くコードを書いてしまいたくなります。 一発でうまく動けば短期的にはいいのですが、長期的にはコードの理解が追いつかなったり、一発でうまく動かなかった場合にかえって時間がかかってしまいます。 VSCode の拡張機能である Code Tour を使うと、コード上にメモを残しながら読み進めることができるので、既存のコードを読む際に便利です。 Code Tour とは VSCode の拡張機能で、コード上にメモを残しつつ、そのメモをたどることができるツールです。 使い方 ツアーを始める コマンドパレットから「Code Tour: Record Tour」を選択すると、ツアーの記録モードになります。 ツアーの名前 どのソースに紐づけるか(紐付けなし、ブランチ、タグ) を選択すると、リポジトリ直下に .tours/${指定したツ

                                              Code Tour を使ってじっくり確実にコードを読む
                                            • ここが変だよ「WSL2」 自作ディストロ開発で発見した知られざる“バグ”と“事実”

                                              Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。佐伯氏は、WSL2においてあまり知られていないバグと事実について発表しました。 自己紹介 佐伯学哉氏(以下、佐伯):Kernel/VM online part4ですが、「ここが変だよWSL2」という日本語タイトルで、スライドは英語になっていますが、WSL2(Windows Subsystem for Linux 2)に関するいろいろなことを話します。 アウトラインですが、基本的にはランダムトークで小ネタをたくさん話します。なので、WSLとは何かとか、技術的には興味深いけれど公式のドキュメントがきちんと説明してること、つまりWSLgですね。技術的にはおもしろいのですが、公式が全部説明しているので、ここでは一切触れません。このトークは、僕が個人的に

                                                ここが変だよ「WSL2」 自作ディストロ開発で発見した知られざる“バグ”と“事実”
                                              • Only My Rails Way

                                                これは何 「Rails Wayに沿って〜」とはReview欄などでよく言われるが、定義が人によってぶれている気がするので俺のRails Wayを示した記事です。 もはや本来のモノとは別物かも知れませんが、俺はこういう観点でRailsをみて、コードを書いているよ、ということを知ってもらう意味でもこの記事を公開することにしました。 前提として、「数人以上のチームでプロダクトを実際に開発して運用する」場合の自分のスタンスを示したものです。(私も仕事では独自DSLは書きませんが自由研究用途なら自分も独自DSLを書いたりします。) それでは、いってみましょう。 Model層 データベースの操作およびビジネスロジックを記述する。 テーブルの属性は原則NOT NULLにするべき。どうしても要件上NULLを許容しなければならない場合のみNULLを許容する。 Controllerからparamsを無思考で渡

                                                  Only My Rails Way
                                                • Amazon SQS を使ったアプリケーションを本番で運用する際に考慮すべき基本的な 5 つのこと

                                                  Amazon SQS は可用性やスケーラビリティの高いメッセジキューサービスであり、AWS の代表的なサービスの 1 つと言えるでしょう。ところが、本番の運用に耐えられるアプリケーションにしようと思うと考えることが意外に多いものです。本エントリーでは簡単なサンプルアプリケーションをベースに、本番で運用するために考慮すべき点・注意点について見ていきます。題材として扱うのが SQS なだけで、SQS 以外を使ったアプリケーションにも応用できる内容もあるでしょう。 なお、SQS には Standard queue と FIFO queue がありますが、Standard queue を使う前提とします。 アジェンダは次のとおりです。 サンプルアプリケーション 1. ログ 2. At-least-once delivery と visibility timeout 3. デプロイ 4. 異常系 5

                                                    Amazon SQS を使ったアプリケーションを本番で運用する際に考慮すべき基本的な 5 つのこと
                                                  • プログラミング書籍を10年ぶりに改訂して気がついたこと

                                                    はじめに 2011年に書いた良いコードを書く技術を増補改訂して出版しました。 Amazon | Rakutenブックス | honto | ヨドバシ.com | Gihyo Direct 10年ぶりに書籍を技術書を改定するという貴重な体験をさせていただいたので、執筆の中で気がついたことをご紹介します。 ちなみに初版を執筆した10年前はこんな世界です😳 VS Codeは存在せず、みんな秀丸やEmacs、vim、Eclipseでコードを書いていた Java 7が出てたけど、Java 8まではあと3年待たないと行けない TypeScriptもGo言語もSwiftもリリースされていない AWSの東京リージョンができたばかりでクラウドって何?って世界 GitはまだマイナーでSubversionでバージョン管理している人が多かった Dockerはまだない、VirtualBoxやVMwareを使ってた

                                                      プログラミング書籍を10年ぶりに改訂して気がついたこと
                                                    • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

                                                      はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくくっています。最初はパイプは並列処理されるから速くなるというのは神話(そうとは限らない)についても書いていたのですが流石に長いので分けました。それでも書きたいことを色々書いていたらめちゃくちゃ長くなってしまいましたので読み物として私がどんなことを考えながらリフ

                                                        シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
                                                      • 1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog

                                                        こんにちは ハタ です。 今回は以前iOSのクライアントサイドで実装していた通知ぼかし機能をサーバサイド(配信サーバ)上に再実装した事を書きたいなと思います 今回はかなり内容を絞りに絞ったのですが、長くなってしまいました、、 目次機能があったのでつけてみました、読み飛ばして読みやすくなった(?)かもしれません 目次 目次 通知ぼかし機能とは サーバサイド通知ぼかし プロトタイプの実装 苦労の始まり その1 画像処理速度 苦労の始まり その2 データ量 さらなる計算量の削減を求めて さらなる最適化へ Halide の世界へ 簡単な halide の紹介 苦労の始まり その3 いざ リリース リリースその後 We are hiring! 通知ぼかし機能とは 通知ぼかし機能は、ミラティブ上での配信中に写り込んでしまったiOSの通知ダイアログをダイアログの中身を見えないようにぼかし処理をしてあげる

                                                          1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog
                                                        • セキュアにGoを書くための「ガードレール」を置こう - 安全なGoプロダクト開発に向けた持続可能なアプローチ - Flatt Security Blog

                                                          The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/) The design is licensed under the Creative Commons 3.0 Attributions license. 種々の linter が様々なプロダクトの品質を高めてきた、というのは疑う余地のない事実です。実装の初歩的な問題をエディタ内や CI/CD パイプライン中で機械的に検出できる環境を作れば、開発者はコーディングやコードレビューの邪魔になる些末な問題を早期に頭から追い出し、本質的な問題に集中できます。 また、そのような環境づくり(e.g. linter のルールセットの定義、組織独自のルールの作成、…)は、まさに開発組織のベースラインを定義する作業として捉えることができます。一度誰かが定義

                                                            セキュアにGoを書くための「ガードレール」を置こう - 安全なGoプロダクト開発に向けた持続可能なアプローチ - Flatt Security Blog
                                                          • また make の話してる(2020年9月14日) - なにもわからない

                                                            私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

                                                              また make の話してる(2020年9月14日) - なにもわからない
                                                            • ローカルマシンでDocker を動かさないためにBlimp を採用する - y-ohgi's blog

                                                              https://blimpup.io TL;DR docker-compose をリモートで実行するための開発フェーズ向けのサービス ローカルマシンへ負荷をかけずに開発できる URL を発行してくれるため第三者への公開も可能 概要 blimpup はざっくりいうと「docker-compose をリモートで実行する」ためのサービスです。 用途としては本番環境としてではなく開発フェーズでの利用を想定されており、docker-compose を使用した開発の効率化を行ってくれます(k8s のtelepresence に近いイメージです)。 従来開発フェーズで使用していたdocker-compose をローカルで直接コンテナを動かすのではなく、blimp の提供するインフラ上で動かし、ローカルマシンに負荷をかけることなく開発が可能になります。ローカルのファイルと同期を行ってくれるためファイルの更

                                                                ローカルマシンでDocker を動かさないためにBlimp を採用する - y-ohgi's blog
                                                              • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                                                jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは本当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり本格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

                                                                  パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                                                • 業務アプリケーション開発にGoを採用する理由

                                                                  この記事は MICIN Advent Calendar 2022 の24日目の記事です。 前回は熊沢さんの2つの新規事業立ち上げで経験したタイプ別MVP検証の進め方でした。 はじめに 本記事では、業務アプリケーションのバックエンドとしてGoを採用することによるメリットを、実際の業務経験を振り返りつつ考察してみます。 近年では多くの企業でGoが採用されています。その採用理由は、「並行処理をたくさん行いたいから」「学習コストが低いから」「フットプリントが小さくコンテナベースのプラットフォームに向いてるから」「Googleが使ってるから」「高速だから」といったところが挙げられるんじゃないでしょうか。 一方で、単なるモノリスなAPIとしてGoを選ぶ必要はないんじゃないのか、といった声もよく聞きます。「初期フェーズはスピード重視でRuby on Railsが最強だ」「枯れた技術であるJava + S

                                                                    業務アプリケーション開発にGoを採用する理由
                                                                  • OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話 | MEDLEY Developer Portal

                                                                    2020-08-21OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話こんにちは、インキュベーション本部エンジニアの加藤です。 主に CLINICS アプリの開発を担当しています。 はじめにCLINICS アプリの開発では OpenAPI や gRPC を利用しています。 OpenAPI と gRPC の間には何の関係もないのですが、どちらも API の仕様をスキーマ言語で記述するという点では共通しています。 今回はこの API スキーマが開発にもたらすメリットについて紹介していこうと思います。 API ドキュメントとしてのスキーマ定義既存のコードに機能を追加する際や修正を加える際に気にすることの多い部分は API の仕様ではないかと思います。 「リクエストやレスポンスはどのようなデータなのか」「この値は必須なのか、任意なのか」「データの型は数値なのか

                                                                      OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話 | MEDLEY Developer Portal
                                                                    • 注目すべき最新データベース技術(パート1)

                                                                      この記事は、著者の許可を得て配信しています。 https://blog.pragmaticengineer.com/the-developer-culture-test/ 私はデータベースの大ファンで、いわゆる「NoSQL」データベースに関する本を書いたり、影響力の高い分散型データベースRiakに携わったりと、技術職として最も実りある年のいくつかを過ごし、昨年は楽しみのためにPurpleというデータベースを構築したりもしました。 当然のことながら、私はTwitterやReddit、HackerNewsなどをさらっと読む場合、データベースやDB関連ツールの新しくて刺激的な開発に常に気にして見ています。今回の記事では、私が興味をそそられる最近登場した3つのデータベース技術についてお話したいと思います。 TileDB Materialize Prisma 後半では次の3つについてお話したいと思っ

                                                                        注目すべき最新データベース技術(パート1)
                                                                      • ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita

                                                                        はじめに データベース設計のER図について、自動で生成する以下3つのツールを比較した記事です。 dbdiagram.io DBeaver A5:SQL Mk-2(A5M2) 先日、こちらの記事をQiitaに投稿したところ、多くの方に記事を見ていただき、コメントも多数いただきました。 ER図に関するお勧めのツールをコメントいただく方が多くいらっしゃいました。 今回はその中から、無料でも利用できる3つのツールの「ER図の自動生成」の機能を試します。 比較の結論としては、〇〇が一番良いという感想ではなく、どのツールも多機能で、できることは違うので、今後使うときは用途や業務の環境によって使い分けていけたらと思っています。 目次 それぞれのツールについて、下記の内容を書いていきます。 1. dbdiagram.io 1-1. 始める 1-2. 使う 1-3. 感想 2. DBeaver 2-1. 始

                                                                          ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita
                                                                        • [Twitter] React ユーザーが Vue を選ばない理由

                                                                          概要 本記事は、 Vue.js コアチームメンバーである @antfu7 氏の以下ツイートに対する回答を個人的にまとめたものです。 React ユーザーの皆さん、 好奇心で聞くのですが、Vue を使ったり試したりするのを妨げているブロッカーや欠点は何ですか? 注意事項 対立煽りっぽいタイトルにはなっていますが、個人的な好奇心がモチベーションとなっており、特定の技術を贔屓、批判する意図はありません。 私自身は長らく Vue を愛用しており、業務でも大規模 Vue アプリのメンテに携わっている一方で、React は小規模プロジェクトや個人開発でしか利用していません。そのため、理解度に差がある状態であるため、改めて Vue と React の対比やそれぞれの良さを実感したいと思い、一通りのツイートに目を通した次第です。 また、 Vue.js の生みの親である Evan You氏が以下のようにツイ

                                                                            [Twitter] React ユーザーが Vue を選ばない理由
                                                                          • “LLM for SRE“の世界探索 - ゆううきブログ

                                                                            ChatGPTが登場した当初、対話や要約、翻訳、コード生成などの典型的な言語タスクができても、SREやAIOpsの研究開発にはあまり関係ないのではないかと正直思っていた。AIOpsでは典型的にはいわゆるObservabilityデータ(メトリクス、ログ、トレースなど)が入力となるため、自然言語ではなく数値のデータを解析することが求められる。自然言語のタスクを研究対象としていなかったため、AIOpsとChatGPTに強い関係性は見いだせなかった*1。 しかし、自分で大規模言語モデル(Large Language Model: LLM)を日常的に使用したり、表題にあるようにSREのためのLLM(LLM for SRE, LLM4SRE)に関する論文を読むうちに、LLMのテキスト生成器としての性質よりもその優れた推論機械としての性質に注目するようになった。特にSREの障害診断は、人間の専門家が推

                                                                              “LLM for SRE“の世界探索 - ゆううきブログ
                                                                            • 厳選TypeScript 〜おすすめしたいライブラリ、ツール、ノウハウ、情報源のリンク集〜 - Qiita

                                                                              個人的にTypeScriptプロジェクトで使って良かったと感じたライブラリやツール、役立ったノウハウ・情報源へのリンクをまとめていきます。随時更新します。 記事更新時に通知を受け取りたい方はこの投稿を「ストック」してください。 追加された内容は更新履歴をご覧ください。 書籍 『実践TypeScript ~BFFとNext.js&Nuxt.jsの型定義~』 - JavaScriptからTypeScriptに来た人が読むと、JSとTSの差分を学ぶことができる本。 『JavaScript Primer: ECMAScript 2019時代のJavaScript入門書』 - すでにプログラミング経験がある人が読むとJavaScriptの文法や機能を中心に学ぶことができる本。TypeScriptを書くにもJavaScriptの知識が必要不可欠なので、雰囲気でJSを書いてきた人やちゃんとおさらいしたい

                                                                                厳選TypeScript 〜おすすめしたいライブラリ、ツール、ノウハウ、情報源のリンク集〜 - Qiita
                                                                              • PythonでC/C++に匹敵する実行速度を実現 米MITなどコンパイラ「Codon」開発

                                                                                Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。Twitter: @shiropen2 Pythonは人気な言語だが、実行速度が遅いため、速さを求められる環境になると違う言語が採用される。この研究では、Pythonのような高水準言語のシンプル性とCやC++のような低水準言語の高速性を兼ね備えることができるPythonベースのコンパイラ「Codon」を提案する。 Codonは、Pythonのコードをネイティブなマシンコードにコンパイルするコンパイラであり、シングルスレッドにおいて通常のPythonよりも10倍から100倍速く実行され、CやC++に匹敵する速度を実現できるという。またCodonではマルチスレッドも可能なため、より大きな性能向上

                                                                                  PythonでC/C++に匹敵する実行速度を実現 米MITなどコンパイラ「Codon」開発
                                                                                • eBPFに3日で入門した話 - CADDi Tech Blog

                                                                                  はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                                                                                    eBPFに3日で入門した話 - CADDi Tech Blog