ブックマーク / techracho.bpsinc.jp (20)

  • Rustの借用の話をする|TechRacho by BPS株式会社

    みなさんこんにちは。yoshiです。 夏のTechRachoフェア2023ということですが、夏とは特に関係なくRustの話をしようと思います。 借用はRustの大きな特徴の一つです。 私達は借用の様々な規則のおかげで安全にRustを使える訳ですが、改めてその挙動を確認してみようというのがこの記事の趣旨です。 🔗 そもそも借用とは Rustについてよく知らない人向けに、借用とは何なのかを軽く説明しておきます。 借用(Borrowing)という概念は、所有権(Ownership)と切っても切り離せない関係にあります。 所有権というのは、Rustの値が所有者(Owner)である変数と結びついていることを指します。 { let a = 42i32; let b: String = "Foo".into(); } 例えば、上記のようなコードでは、 a は 42i32 という値が割り当てられた領域の

    Rustの借用の話をする|TechRacho by BPS株式会社
    toshikish
    toshikish 2023/08/31
  • 私がTDDを実践しない理由(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: 37signals Dev — Pending tests 原文公開日: 2023/03/01 原著者: Jorge Manrubia -- 37signalsのエンジニアです 日語タイトルは内容に即したものにしました。 私は「テストファースト」で作業することも、テストでコードの設計を支援することも、めったにありません。 最近の私は、37signalsである新しいことに取り組み始めました。何も決まっていない白紙の状態なので作業はすいすい進み、来る日も来る日もこってりしたプルリクを作成しています。会議に先立って早めに投げておきたいと思っていたプルリクには、もれなく以下が含まれていました。 ご覧のように、私はほとんどの場合テストを最後に書いていることが見て取れます。例外があるとすれば、テストを書くことで最短で結果をフィードバックで

    私がTDDを実践しない理由(翻訳)|TechRacho by BPS株式会社
    toshikish
    toshikish 2023/05/30
  • 『研鑽Rubyプログラミング』は英語版を買った人も買うべき|TechRacho by BPS株式会社

    『Polished Ruby Programming』(Jeremy Evans著)を角谷信太郎さん(@kakutani)が翻訳した『研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ』(以下研鑽Rubyプログラミング)が4月13日に販売されました 🎉 新刊『研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ』発売のお知らせです(4月13日12:00より発売開始)!! 新刊『研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ』発売のお知らせです(4月13日12:00より発売開始)!! #研鑽Ruby https://t.co/TXeI5KZPWk — Kakutani Shintaro (@kakutani) April 11, 2023 ラムダノートのサイトでは紙版に加えてPDF版も公開されました↓。こちらで紙版を購入す

    『研鑽Rubyプログラミング』は英語版を買った人も買うべき|TechRacho by BPS株式会社
    toshikish
    toshikish 2023/04/19
  • Rails: RSpecが好きでないことを思い出したテスト(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Test which reminded me why I don't really like RSpec | Arkency Blog 原文公開日: 2022/11/03 原著者: Szymon Fiedler サイト: Arkency Blog 2023/02/13: 初版公開 2023/02/14: 原文修正を反映(関連ツイート) 最近、別のソフトウェア会社にいる友人がmutantのセットアップについて助けを求めてきました。問題点を発見するためにサンプルテストを共有しながら作業を進めました。Slackチャンネルで以下のスニペットを目にした瞬間、その場で以下のレスを書き込みました。 私: このexampleを見てると自分がRSpecが好きじゃないことを思い出してしまうよ 友人の返事: 好きにレビューしていいから。若手が書いたコ

    Rails: RSpecが好きでないことを思い出したテスト(翻訳)|TechRacho by BPS株式会社
    toshikish
    toshikish 2023/02/14
  • メガネ歴ン十年のプログラマが Kubota Glass (クボタメガネ) を買ってみた その1|TechRacho by BPS株式会社

    ごく一部で話題?の Kubota Glass を買いました!という記事になります。 メガネ歴ン十年のプログラマが眼内コンタクトレンズ手術をしてみたの記事にもありますが視力改善の方法はレーシックを筆頭に色々出てきていますが、Kubota Glass は手術などによらず視力の改善を試みています。 自分も5年以上前から上記の眼内コンタクトレンズを含む諸々の調査をしては悩んでを繰り返していました。 そんなチキンな自分に新たなニュースが飛び込んできました。そう、それが Kubota Glass です。 ※購入記念のレシート画像です 🔗 Kubota Glass の概要 公式サイトの方が分かりやすく記載されていますが、AR技術を使って遠くを見ているような映像環境を作り出すメガネデバイスになります。 日で販売を開始したのが 2022/08 からで、直営店がオープンしたのが 2022/12 の下旬と、

    メガネ歴ン十年のプログラマが Kubota Glass (クボタメガネ) を買ってみた その1|TechRacho by BPS株式会社
    toshikish
    toshikish 2023/01/24
  • Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社

    こんにちは。yoshiです。夏のTechrachoフェア2022ということで、夏とは何の関係もない記事を書いていこうと思います。 業務ではC++をやっていながら前回、前々回にTechrachoで書いた記事に引き続きRustをやっていく訳ですが、定期的に炎上しがち(?)なオブジェクト指向の話です。みなさん、オブジェクト指向は好きですか? オブジェクト指向って何だろう? A. なんもわからん なんて言ってしまったら話が終わってしまうのですが。 歴史的な話をするとオブジェクトという用語はSimulaが初出で、オブジェクト指向はアラン・ケイがSmalltalkで導入したもの、という話になりますが、一方でビャーネ・ストロヴストルップがC++に導入した「カプセル化・継承・ポリモーフィズム」の組み合わせのことを指すことが多く、SmalltalkのそれとC++のそれにも違いがあるので定義が定まらない概念で

    Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社
    toshikish
    toshikish 2022/08/29
  • GitLabがRuby on Railsを使い続ける理由(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Why we're sticking with Ruby on Rails | GitLab2022/06/08にthenewstack.ioに掲載されました) 原文公開日: 2022/07/06 原著者: Sid Sijbrandij -- GitLab, Inc.の共同創業者、CEO、取締役会議長 Ruby on Railsを作ったときのDavid Heinemeier Hansson(DHH)が道しるべとしたのは、それまでに経験していたPHPJavaでした(インタビュー)。DHHにとって、JavaのWebフレームワークはJavaが冗長で柔軟性が低く使いにくい点が好みでなかったものの、構造的に統一されている点が高く評価できるものでした。一方、PHPについては敷居の低さが好みだったものの、プロジェクトが泥沼化しがちな点をあま

    GitLabがRuby on Railsを使い続ける理由(翻訳)|TechRacho by BPS株式会社
    toshikish
    toshikish 2022/07/08
  • Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社

    近年、RailsアプリにService Objectを追加するメリットを説く記事が次から次へと量産されています。私は記事において、それがなぜ正しくないかを述べたいと思う次第であります。もっとよい方法はあるのです。 私はこれまで、Service Objectに関するネット上の議論にときおり参加しては、問題に対するまっとうな解決方法としてService Objectが正しくない理由について繰り返し見解を述べてきました。実際、私は多くの場合においてService Objectよりもっとよい解決方法があると考えるのみならず、Service Objectはオブジェクト指向設計原則への配慮が損なわれている兆候を示すアンチパターンとして取り扱っています。 このような深遠なポイントを細切れのツイートやコメント欄を追って理解するのは大変です。そこで私は、私の見解を正確に表すいくつかの現実的なコードを詳しく

    Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho by BPS株式会社
    toshikish
    toshikish 2022/05/21
  • Go格言集に込められた詩情とダブルミーニング|TechRacho by BPS株式会社

    Go言語には、かなり初期から「Go Proverbs」と呼ばれるGoの格言集があります。 Go Proverbs 同サイトに記載されている格言は、2015年のRob Pikeの講演動画にもリンクされています。 日語訳はいくらでもネットに落ちているので探せばすぐに見つかるでしょう。 銀座Rails#38の発表「TechRacho翻訳記事の裏舞台」の中でこのGo Proverbsについて少し触れたのですが、惜しくも途中で時間切れとなってしまったのでここで供養したいと思います。 【銀座Rails#38発表紹介】 @hachi8833 さんより「TechRacho翻訳記事の裏舞台」 Ruby/Rails技術記事・海外の記事翻訳を継続的に公開されているTechRachoの担当者から、翻訳記事の舞台裏について発表頂きます(5/8) #ginzarails https://t.co/aaDkwbVS

    Go格言集に込められた詩情とダブルミーニング|TechRacho by BPS株式会社
    toshikish
    toshikish 2021/12/04
  • 日本語エラーチェックサイトenno.jpを作った理由|TechRacho by BPS株式会社

    こんにちは、hachi8833です。はっと気がつくと、私が運営している日語エラーチェックサイト「enno.jp」を開始してからもう8年が経過していましたので、たまには振り返ってみたいと思います。 サイト: 日語の文章のタイポ/変換ミス/誤字脱字エラーをチェック/校正 | enno.jp enno.jpより 使い方はあきれるほど単純です。チェックしたい文章をフィールドに貼り付けてボタンを押すだけ。 enno.jpは、自分で作って自分で使い、自分で常にパターンを追加/更新しています。いわゆるドッグフーディングというヤツです。当然この記事もenno.jpでチェック・修正しました。 参考: ドッグフーディングとは:意味/解説 - シマウマ用語集 今年1月に突然enno.jpがバズッて自分でもびっくりしました。広めていただきありがとうございます🙇。 「外出自粛要請」が文章校正に引っかかってワロ

    日本語エラーチェックサイトenno.jpを作った理由|TechRacho by BPS株式会社
    toshikish
    toshikish 2021/02/28
  • WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Hands-on WebAssembly: Try the basics — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2020/08/25 著者: Polina Gurtovaya、Andy Barnov サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日語タイトルは内容に即したものにしました。画像はすべて元記事からの引用です。 Web開発の一般的な知識のみを前提とするシンプルなハンズオンチュートリアルで、WebAssemblyWasm)を始めてみましょう。実行可能なコード例を用いてWasmを味わうのに必要なものは「コー

    WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho by BPS株式会社
    toshikish
    toshikish 2020/11/02
  • チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社

    morimorihogeです。残暑やばい。 ※元々は2014年に書いた記事ですが、2020年になっていろいろと事情も変わっているので2020年revise版として更新しました。 弊社ではバージョン管理システムにGitを使っています。 数ヶ月以上一緒にやっているある程度ツーカーなメンバーだけのプロジェクトなら問題無いのですが、案件によっては協力会社の方が一時的にJOINしたり、新規参入メンバーの参加などで、これまでGitを使ったことがない、または格的なチーム開発でGitを使ったことがない人が参加することもあります。 ※2020年現在では流石に全くGitを使ったことのない開発者というのはほぼ見なくなりましたが、チーム開発できちんと運用に乗せて使ったことがない、という所は今でもそこそこあるようです。 Gitは自由度の高いシステムですが、その分概念を覚えることが必要なため、導入の敷居が高い方だと

    チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社
    toshikish
    toshikish 2020/09/10
  • TypeScriptにヤバい機能が入りそうなのでひとしきり遊んでみる|TechRacho by BPS株式会社

    こんにちは。yoshiです。 先日(9月1日)にオープンされた TypeScript のプルリクエストがヤバいわよ!という話をします。 ※※※注意ここから※※※ 一応先に言っておきますと、これからする話はまだ PR 段階なのでそのまま取り込まれるかどうか分からないし、どのバージョンでリリースされるかも分かりません。ここで書いていることはリリース時には仕様が変わっている可能性は大いにあり、リリース後に検索等でこの記事にたどり着いた方は、もっと良い解説がどこかにあると思うのでそちらを参照することをおすすめします。 ※※※注意ここまで※※※ 該当の PR はこれです。 Template string types and mapped type 'as' clauses by ahejlsberg · Pull Request #40336 · microsoft/TypeScript この PR

    TypeScriptにヤバい機能が入りそうなのでひとしきり遊んでみる|TechRacho by BPS株式会社
    toshikish
    toshikish 2020/09/05
  • 自宅作業環境の二酸化炭素濃度をM5Stack+CCS811で計測してみた|TechRacho by BPS株式会社

    morimorihogeです。自宅リモートワーク環境が拡充に次ぐ拡充を重ねて完全に引きこもりモードになってきました。Ryzen 3700X環境に慣れるともうノートPC環境には戻れない。 さて、ソフトウェアエンジニアな皆様におかれましてはフルリモート環境や部分リモート環境が一般的になりつつある昨今ですが、オフィス環境と自宅環境で勝手が違うことでイマイチ調子が出ない人もいるのではないかと思います。 僕は元々リモート環境も普通にこなしていたのですが、いつもは週に1~3日くらいは何かしら打ち合わせ等で外に出る機会があったので、ここまで自宅作業メインになることははじめてです。もう4か月くらい都内に行ってない。 オフィス環境と違って調子が出ない理由にはいろいろなものが考えられますが、ディスプレイやPCなどのモノは分かりやすいのでそろえればいいだけの話だと思います。一方で、空調や明るさなどは目に見えない

    自宅作業環境の二酸化炭素濃度をM5Stack+CCS811で計測してみた|TechRacho by BPS株式会社
    toshikish
    toshikish 2020/07/17
  • V言語: Goのようにシンプルで、Rustのように小さいバイナリ|TechRacho by BPS株式会社

    こんにちは、hachi8833です。昨年夏に話題になったV言語を半年遅れで知って最近遊んでいます。「主観的には」かなり安定して動く印象です。 V is a high-performance and simple computer language with graphics, web and UI libraries and compiles itself in under a second. Where were you two decades ago?!https://t.co/tZCEgJaUTl — Carl Carrie (@🏠) (@carlcarrie) October 7, 2019 サイト: The V Programming Language Discordコミュニティ: https://discord.gg/vlang なお以下のベンチマークは、そういう結果もあるの

    V言語: Goのようにシンプルで、Rustのように小さいバイナリ|TechRacho by BPS株式会社
    toshikish
    toshikish 2020/03/15
  • HTML5のLocal Storageを使ってはいけない(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Randall Degges - Please Stop Using Local Storage 原文公開日: 2018/01/26 著者: Randall Degges 日語タイトルは内容に即したものにしました。 画像は元記事からの引用です。 初版公開: 2019/10/19 追記更新: 2024/04/05 -- リンク情報を記事末尾に移動しました 気で申し上げます。local storageを使わないでください。 local storageにセッション情報を保存する開発者がこれほど多い理由について、私にはさっぱり見当がつきません。しかしどんな理由であれ、その手法は地上から消えてなくなってもらう必要がありますが、明らかに手に負えなくなりつつあります。 私は毎日のように、重要なユーザー情報をlocal storageに保存す

    HTML5のLocal Storageを使ってはいけない(翻訳)|TechRacho by BPS株式会社
    toshikish
    toshikish 2019/10/10
  • 楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社

    お久しぶりです。yoshiです。みなさん、夏を満喫していますか? 私は溶けそうです。日の夏はとってもあつい。 覚えている方がいるかどうかは分かりませんが、以前私はRSA公開鍵暗号アルゴリズムを理解するという記事を書きました。今回はその続編(?)です。 楕円曲線について 楕円曲線、という言葉を事前知識無しで見ると、 多分こんな画像が脳裏に浮かぶと思います。違います。 楕円曲線の楕円は楕円積分から現れた言葉で、楕円積分は文字通り楕円の弧長などを求める方法なので全くの無関係とは言えませんが、少なくとも楕円曲線と楕円は別の図形です。楕円のことは忘れましょう。 実際の楕円曲線は、例を示すと以下のような曲線です。 一般化すると (ただし または ) という式で表されるこのような曲線をワイエルシュトラス型楕円曲線と呼びます。ワイエルシュトラス型、と付いているのは他のパターンもあるからで、 こんな形の楕

    楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社
    toshikish
    toshikish 2019/08/17
  • 2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。BPS社内勉強会の発表を元に、社内JavaScript勢の皆さまのお力を得て記事を書きました。 目的 JavaScriptをたまにしか使わない私ですが、それもあってなおさら書くときに迷いに迷います。 ネットの情報多すぎ、動き激しすぎ、選り分けるにしても指針が欲しい 古いコードや毒入りコードを拾ってあたりや、泥舟に乗って沈没するのを少しでも避けたい 最初の一歩をどこから踏み出すかの手がかりが欲しい そういったわけで、2019年前半と区切って、一度JavaScript世界について門外漢ならではの「大きな絵」が欲しかったのでした。ここに書いたことの中には来年には古くなっているものあるかもしれません。 ただ、社内のJS勢の話を総合すると、JavaScript世界は数年前に比べるとかなり落ち着きつつあるとのことです。この機会にということで、主に自分のために現在の

    2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社
    toshikish
    toshikish 2019/06/29
  • RailsとPHP各フレームワークの「複数形」変換処理を比較してみる|TechRacho by BPS株式会社

    こんにちは、BPSの福岡拠点として一緒にお仕事させて頂いてます、株式会社ウイングドアの坂です。 普段日国内で生活しているとなかなか使う機会がない英語。 しかしプログラミングにはドキュメントを読んだり、コードを書いたりと避けられないものですよね。 モデルには名詞の単数形を、テーブル名にはその複数形を、等英語のルールに則り命名することも多いかと思います。 そんな英語名詞の単数から複数形への変換処理。 各フレームワークでどんな処理になっているのか覗いてみると、 それぞれ実装の仕方や定義が違って面白かったのでぜひご紹介したいと思います。 調査対象 今回調査したのは以下のフレームワークです。 Ruby on Rails 5.2.3 (Ruby) CakePHP 3.5.7 (PHP) Symfony 4.3 (PHP) Laravel 5.8 (PHP) 主に自分が利用している、したことあるもの

    RailsとPHP各フレームワークの「複数形」変換処理を比較してみる|TechRacho by BPS株式会社
    toshikish
    toshikish 2019/04/27
  • モダンな開発用ターミナル環境のためのツール紹介

    エンジニアのjhondaです。入社して1年が過ぎました。 ターミナル上での開発作業が好きなので開発を快適に進めるために常日頃から使っているツールやエディタを抜粋して紹介します。 この手のツールは組み合わせることで更に便利になるので、組み合わせを含めた紹介となります。 筆者の会社での開発環境はMacですが、プライベートマシンのLinux上でも同じものを使えています。 筆者のターミナル環境は Alacritty + tmux です。 Alacritty Rust製ターミナルエミュレータ。GPUを使うので描画が高速。 https://github.com/jwilm/alacritty 同リポジトリより Rust製だからという理由なので趣味です。でもたしかに速い気がします。 tmux 言わずとしれた仮想端末エミュレータ。 https://github.com/tmux/tmux たいして使いこな

    モダンな開発用ターミナル環境のためのツール紹介
    toshikish
    toshikish 2018/12/14
  • 1