並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 26 件 / 26件

新着順 人気順

PROGRAMMINGの検索結果1 - 26 件 / 26件

  • 中級 Vim 操作

    この記事は Vim 駅伝 の 06/05 の記事です。 前回の記事は thinca さんによる、 06/03 の「Meguro.vim #23 を開催しました」という記事でした。 次回は 06/07 に投稿される予定です。 はじめに 本記事は以下の記事のオマージュです。 Vim の基本操作のうち、比較的マイナーながら汎用的に使える機能や小技を集めました。プラグインや複雑な設定が必要なものは含まれておらず、いずれも Vim と Neovim の両方で使うことができます。気になったものがあれば使ってみてください。 ノーマルモード編 検索結果を次々と置き換える Vim で文字列置換を行う最も有名な方法は :substitute コマンド (短縮形: :s) ですが、ノーマルモードの cgn というイディオムも便利です。これは c オペレータと gn テキストオブジェクト (:h gn) を組み合

      中級 Vim 操作
    • 「Google Maps」を名乗る方から電話がかかってきて「営業時間を教えて欲しい」と聞かれ…会話の仕方が完全に人間だった「不気味の谷現象を体感する時代」

      Masakazu Asama @m_asama いま Google Maps を名乗る方から電話がかかってきて「営業時間を教えて欲しい」ということだったんだけど、完全に人間じゃなかったんだけど完全に人間だった。。。ちょっとした恐怖のようなものを感じてしまった。。。 2024-06-03 12:17:58 Masakazu Asama @m_asama 平日の営業時間しか答えなかったら「土日はやってるのか?」と聞かれて、土日はやっていないと答えたら「『月曜日から金曜日のx:xx~x:xxで土日はやってない』で間違いないか」と聞かれ間違いないと答えたら「ありがとうございました」といって切られた。。。 2024-06-03 12:18:13

        「Google Maps」を名乗る方から電話がかかってきて「営業時間を教えて欲しい」と聞かれ…会話の仕方が完全に人間だった「不気味の谷現象を体感する時代」
      • 大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG

        こんにちは。MA部の田島です。 弊社では開発ガイドラインというものを用いて、システムの品質を担保しています。今回私がテックリードを務めているということもあり、バッチアプリケーションを開発するためのガイドラインを作成しました。本記事では「開発ガイドライン」と「バッチ開発ガイドライン」を紹介します。 バッチアプリケーション開発に限定したTipsはまとまっているものが多くないため参考にしていただければと思います。 開発ガイドラインについての紹介 冒頭でも紹介した通り弊社では、開発ガイドラインというものを用いてシステムの品質を担保しています。バッチ開発ガイドラインを紹介する前に、まず開発ガイドラインを紹介します。 開発ガイドラインの種類 開発ガイドラインは現在、以下の種類が存在します。 共通 Android iOS Frontend Backend Infra API Batch DB(Datab

          大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG
        • ユニットテストってもう言わない! CI/CD時代のテスト分類に最適なテストサイズという考え方

          はじめに 以前からユニットテスト/単体テストという言葉は使いづらい、と感じており今回も旧Twitterで「テストを実行時間ベースで分類する良い言葉ないかなー」と呟いていたところ、「テストサイズのSMLって考え方があるよ」と教えて戴きました。 だいたいは教えてもらったt_wadaさんの記事にすべて書いてあるのですが、自分の整理も含めて動画にしたので、その補完記事となります。 TL;DR 単体テストのバベルの塔は既に崩壊 CI/CDでの継続的テストには時間ベースのテスト分類が重要 UT/IT/E2EではなくSMLによるテストサイズがCI/CDには合う それは単体テストか結合テストなのか? 自動テスト、手動テストに関わらずテストの分類として単体テストと結合テストという言葉は一般的です。 ITQBではTest Levelsという言葉で定義されていますし、以下のようなV字モデルの対応表はみんな知って

            ユニットテストってもう言わない! CI/CD時代のテスト分類に最適なテストサイズという考え方
          • decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita

            みたいなのが挙げられます。これが話題になった時にSNSで見かける言説が「十進小数 (decimal) 型ならこういう問題はない」です。 ですが、decimal型は十進小数を正確に表現できるという話でしかなく、全ての実数を正確に表現できるわけではありません。例えば、 1.0 / 3.0 * 3.0 の計算を考えてみましょう。数学的には、これはちょうど 1.0 になるはずです。 C#の場合 C#には標準の decimal 型があります。これで 1.0 / 3.0 * 3.0 を計算してみましょう。

              decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita
            • 最高裁、メールのBCCとTOを間違え漏えい

              最高裁判所は6月3日、メールの送信時にBCCとTOを誤り、メールアドレスなどが漏えいしたと発表した。司法試験に合格した司法修習生に貸し出す修習資金を借りている人に向け、住所変更がある場合は届け出てほしい旨を通知するメールでミスがあったという。 間違えがあったのは3日に送信したメール。2件のメールで間違え、各450人(計900人)の氏名、メールアドレス、修習資金に関するIDが、メールを受け取った人同士で確認できる状態だったという。 最高裁は「関係者にはご迷惑とご心配をおかけしておりますことをお詫び申し上げます。今後の対応につきましては、できる限り速やかに原因を分析した上で、その分析結果を踏まえ、再発防止策を検討するとともに、情報が漏えいした方への御説明についても、迅速に検討し、対応していきたい」と謝罪している。 また、最高裁は今回の事案を「修習資金の被貸与者に対する不要な個人情報の送信につい

                最高裁、メールのBCCとTOを間違え漏えい
              • 「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ

                Googleに存在するコードを読みやすく保守しやすい形に保つ取り組みを行うグループ「Code Health」が、「DRYを早まって適用しないこと」と題した記事を公開しました。 Google Testing Blog: Don't DRY Your Code Prematurely https://testing.googleblog.com/2024/05/dont-dry-your-code-prematurely.html DRYは「Don't Repeat Yourself」の略称で、コードを重複させないことを重視する考え方です。重複するコードが存在していると、特定の機能を変更しようとした時に同じ機能を持つ部分を全て探して同時に変更する必要があり、見落としやミスが発生する危険性が高まります。一方、コードの重複を防げていれば一カ所だけを変更すればOKというわけ。 一見DRYを厳しく適用

                  「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ
                • 数学の「=」(等しい)とはどういうことか? 英ICL教授が発表 「コンピュータの登場で定義が曖昧に」

                  このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 X: @shiropen2 英インペリアル・カレッジ・ロンドン(ICL)の教授であり、数学者のケビン・バザードさんの単著論文「Grothendieck’s use of equality」は、数学者が等式の概念をどのように使用しているか、そしてそれが数学の形式化を試みる際にどのような影響を与えるかについて議論した研究報告である。 バザードさんは「現状、数学者は等式の概念を曖昧に使っており、近年のコンピュータプログラムによる証明(形式化)においてその曖昧さが障害になっている」と指摘する。 「=」(等号)にみる一般的な等式の定義は、両辺が同じ数学的対象を表しており、一方から他方への論

                    数学の「=」(等しい)とはどういうことか? 英ICL教授が発表 「コンピュータの登場で定義が曖昧に」
                  • じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル

                    先日こういうツイートが流れてきた。 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。— 遊撃部長F/S&RWAs (@fstora) 2024年6月6日 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。 普段我々がゴリゴリ馬車馬のように使っているソフトウェアでよく利用されている浮動小数点型、すなわちfloatやdoubleなどは特定の算術に弱いことが知られている。というかもうこの手の話題はあまりに拡散されてしまったので、なぜかネット民はみんな知っている基礎教養、三毛別羆事件とかデーモンコアみたいな感じになっている。 ちなみにこれはCOBOLかそうではないか、という軸が問題になっ

                      じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
                    • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

                      以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

                        Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
                      • 土日で完成! 趣味のラズパイ ChatGPTで遊ぼう——ラズパイで作ったデジタル時計に天気情報も表示させる|fabcross

                        天気予報をデジタル時計に加えるには、外部の天気予報APIを利用する必要があります。一般的に利用されるのはOpenWeatherMap APIですが、これを使用するにはAPIキーが必要です。APIキーはOpenWeatherMapのウェブサイトで無料で取得できます。 以下の手順では、OpenWeatherMap APIを使用して現在の天気情報を取得し、それをOLEDディスプレイに表示する方法を示します。このコードは前の時計と曜日を表示するコードに基づいています。 ### 必要なライブラリのインストール - 天気情報を取得するために`requests`ライブラリを使用します。このライブラリがまだインストールされていない場合は、インストールしてください。 pip3 install requests ### OpenWeatherMap APIの設定 1. OpenWeatherMapの[公式サイ

                          土日で完成! 趣味のラズパイ ChatGPTで遊ぼう——ラズパイで作ったデジタル時計に天気情報も表示させる|fabcross
                        • 「フォト」アプリが爆速に ~MicrosoftがUWP→Windows App SDK移行の苦労を解説/移行の技術的ハードルは高いが、確かなメリット

                            「フォト」アプリが爆速に ~MicrosoftがUWP→Windows App SDK移行の苦労を解説/移行の技術的ハードルは高いが、確かなメリット
                          • Go1.21から導入された Go Toolchainの仕組みをまるっと解説

                            2023/8/9にリリースされたGo1.21 新たに導入されたツールチェーン(Go Toolchains) 次の内容を知ってもらい、Toolchainを使いこなせるようになること ・導入が必要となった背景 ・導入で期待されること ・具体的にはどう使うのか ・どんな挙動なのか

                              Go1.21から導入された Go Toolchainの仕組みをまるっと解説
                            • GitHub Actionsにおける脅威と対策まとめ

                              はじめに こんにちは、サイボウズ24卒の@yuasaです。 サイボウズでは開発・運用系チームに所属する予定の新卒社員が研修の一環として、2週間を1タームとして3チームの体験に行きます。新卒社員の私が生産性向上チームの体験に行った際に、チーム内でGitHub Actionsを利用する際の脅威と対策について調査を行い、ドキュメント化した上で社内への共有を行いました。本記事では、そのドキュメントの一部を公開します。 対象読者 本記事の主な対象読者としては、以下のような方を想定しています。 GitHub Actionsを組織で利用しているが、特にセキュリティ対策を実施していない方 GitHub Actionsを組織で利用しており、部分的にセキュリティ対策を実施しているが、対策が十分かどうか分からない方 本記事がGitHub Actionsのセキュリティ対策を検討する上で参考になれば幸いです。 本記

                                GitHub Actionsにおける脅威と対策まとめ
                              • ChatGPTプログラミングのすすめ

                                ChatGPTなどの大規模言語モデル (Large Language Model; LLM) にプログラミングやリファクタリングをさせる場合、目的に合ったものが作られているかを何らかの方法で検証する必要がある。 プログラムの正しさを完全に保証する方法はないが、ある程度の正しさを継続して担保するための方法を探ってみたので以下にまとめた。 ポイントは、ChatGPTの生成したプログラムの検証にもやはりChatGPTの力を借りることである。 実行可能性と入出力のチェック プログラムを生成するタスクである場合、いつでも「実行できるか?」というチェックが可能である。これは自然言語の生成と大きく異なる点だろう。実行可能性を確かめることは最低限のチェック項目になる。 エラーが出力された場合、自力で修正するか、もしくは、エラーの内容をChatGPTに提示して修正を依頼し、再度実行可能かを確かめる。 入力・

                                  ChatGPTプログラミングのすすめ
                                • さまざまなレート制限アルゴリズムをアニメーションでわかりやすく視覚化するとこんな感じ

                                  スパム防止などのためのレート制限を行うアルゴリズムは多数存在しています。さまざまなアルゴリズムの特徴をアニメーションでわかりやすくまとめたブログ記事をChatGPT関連のサービスsmudge.aiが開発ブログにて公開しました。 rate limiter – smudge.ai blog https://smudge.ai/blog/ratelimit-algorithms 配信のチャット欄にスパムが出現するという状況において、レート制限がない場合にはスパマーは短時間のうちに多数の投稿を行ってチャット欄を一人で埋め尽くしてしまいます。 左上の「Enable rate limiting」にチェックを入れるとレート制限を加えた場合の挙動が確認できます。レート制限が加わったことで、スパマーの投稿のほとんどをブロックしてチャット欄に与える影響を下げることができました。このとき、状況に応じて適切なアル

                                    さまざまなレート制限アルゴリズムをアニメーションでわかりやすく視覚化するとこんな感じ
                                  • Object.keys() が返す配列の順序における数値キーの昇順には上限がある - カミナシ エンジニアブログ

                                    はじめに こんにちは。昨年の10月にカミナシに入社したソフトウェアエンジニアの tokuse です。 気が付けば入社してから既に半年以上経っており、光陰矢の如しで驚愕しています! カミナシではフロントエンドを TypeScript で開発しています。そんな中、先日 Object.keys() の仕様に起因する不具合が発生し、その際に Object.keys() が返す配列の順序に関する仕様について詳しく知りました。当稿ではその仕様について説明します(ECMAScript 最新前提です)。 はじめに 問題となった処理 Object.keys() の仕様 まとめ 余談 おわりに 問題となった処理 まず、問題となった処理をサンプルコードで紹介します。次のコードは、オブジェクトの数値キーのうち最大値を取得しようとした処理です。 type UserId = number; type User = {

                                      Object.keys() が返す配列の順序における数値キーの昇順には上限がある - カミナシ エンジニアブログ
                                    • use 文は PHP ファイルを読み込まない - Shin x Blog

                                      PHP の use 文では、クラス名や関数名、定数、名前空間などのエイリアスを設定できます。 <?php use App\Foo; use App\Bar as ABar; $foo = new Foo(); $bar = new ABar(); https://www.php.net/manual/ja/language.namespaces.importing.php この use 文は指定したシンボルにエイリアスを設定する、言い方を変えると名前空間をインポートするもので、オートロードでクラス定義 PHP ファイルを読み込むものではありません。*1 例えば、上記コードの場合、use 文の時点で App\Foo や App\Bar に対するオートロードは動作しません。 この動きを確認してみます。 use 文のみを実行 use 文でオートロードが動作するかは下記のようなコードで簡単に確かめ

                                        use 文は PHP ファイルを読み込まない - Shin x Blog
                                      • JavaScriptの識別子に中黒が使えるようになった: Days on the Moon

                                        JavaScriptの識別子(変数名、関数名、プロパティ名など)の2文字目以降に中黒「・」(U+30FB KATAKANA MIDDLE DOT)が使えるようになりました。以下のコードはChrome 124では構文エラーになりますが、Chrome 125では問題なく実行できます。 const シン・ゴジラ = 2016; JavaScriptの識別子 中黒が使えるようになったのは、JavaScript(ECMAScript)の仕様が変わったからではありません。変わったのはUnicodeの仕様のほうです。Unicode 15.1.0(2023年9月)においてOther_ID_Continueプロパティ(を持つ文字の集まり)に中黒が追加されました。 そもそもJavaScriptの識別子に使える文字は、Unicodeを参照して定義されています。ECMAScript 2023(2023年6月)では

                                        • テーブルの行リンクは意外と面倒くさい

                                          はじめに Next.js にて下記のようなテーブルを作成する際に、テーブルの各行をリンク化させつつ特定のセルをクリッカブル(例だと編集モードにして編集作業を行うイメージ)にするのが面倒くさかったので愚痴っていきたいと思います。 結論 テーブルにて行リンクが本当に必要か再検討すべし。 どうしても必要なら 色々と制約ついてしまうけど行リンクをやめてプログラムによる画面遷移にする div タグを用いて行リンクを実現させつつ(CSS グリッドを用いる)、テーブルを構築する のどちらかで実装するのが良さそう 'use client' import { useRouter } from 'next/navigation' const Table = () => { ... const router = useRouter() const handleRowClick = (row) => { rout

                                            テーブルの行リンクは意外と面倒くさい
                                          • 何が凄いのか?最新の技術GraphRAGについて解説してみた

                                            こんにちは、にゃんたです。 今回は、言語モデルでよく使われるRAGという技術を拡張させた GraphRAGという技術について解説してみました😆 使いこなせると結構実用的だと思うので是非見てみてください! ■LINE公式で限定コンテンツ配布中! ▼登録はこちらから行えます▼ https://liff.line.me/2004040861-3Jvq4bAG 今ならキーワード「プレゼント」と入力すると ・ChatGPTのプロンプトまとめ ・Caludeのプロンプトまとめ ・Difyのまとめ を無料でお渡ししています! ■チャプター 00:00 オープニング 01:48 RAGについて 09:06 GraphRAGについて 12:50 実際に使ってみる ■Googleコラボのリンク https://colab.research.google.com/github/nyanta012/de

                                              何が凄いのか?最新の技術GraphRAGについて解説してみた
                                            • GitHub - nikitabobko/AeroSpace: AeroSpace is an i3-like tiling window manager for macOS

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                GitHub - nikitabobko/AeroSpace: AeroSpace is an i3-like tiling window manager for macOS
                                              • This is why you should never use parser combinators and PEG

                                                Let me tell you why you should (nearly) never use PEG (parsing expression grammars). Nearly everything I will say applies to parser combinators (parsec in Haskell, nom in Rust), too. So, don't use PEG. Use CFGs (context-free grammars) instead. They are more natural. I feel that CFGs more naturally represent how we think. Thus when you have some language in your head and you try to write it down as

                                                  This is why you should never use parser combinators and PEG
                                                • Regular, Recursive, Restricted

                                                  Regular, Recursive, Restricted Jun 4, 2024 A post/question about formal grammars, wherein I search for a good formalism for describing infix expressions. Problem statement: it’s hard to describe arithmetic expressions in a way that: declaratively captures the overall shape of expression, and has a clear precedence semantics Let’s start with the following grammar for arithmetic expressions: Expr =

                                                  • Cirkoban: Sokoban meets cellular automata written in Scheme -- Spritely Institute

                                                    Last week, we released a small puzzle game called Cirkoban. Cirkoban is the very first publicly accessible application developed by Spritely that features the Goblins distributed programming library running in web browsers. We bet big on Hoot, our Scheme-to-WebAssembly compiler, a little over a year ago in order to bring Goblins to the web. That bet is starting to pay off! In this post, we’ll talk

                                                      Cirkoban: Sokoban meets cellular automata written in Scheme -- Spritely Institute
                                                    • Using Dhall To Manage GitHub Actions Workflows

                                                      In my previous post, I talked about how we use Github Actions to automate our workflows. As promised, I will show how we use Dhall to manage our GitHub Actions files. Don’t Repeat Yourself “Don’t Repeat Yourself” (DRY) is a programming principle that reduces repetition in code. As we created more actions in a growing number of repositories, we noticed that there were a lot of repeating steps, jobs

                                                      1