タグ

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

  • 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株式会社
  • 10Gbpsの光回線を2本引いてどちらが良いか比べてみた|TechRacho by BPS株式会社

    今年の夏に色々あってフレッツ光ネクストからauひかりホーム10ギガに乗り換えました。 しかし、auひかり申込み直後に、年単位で待っていたフレッツ光クロスがエリア拡大して自宅が対象になり、悔しいのでそちらも申し込みました。結果的に10Gbpsの光回線が2になったので、両方を比べてみたいと思います。 なお、自宅はNURO光10Gもエリア内なので、3引いて比較することも考えたのですが、工事費44000円を見て落ち着きを取り戻しました。 前提 開通したのは次の2回線です。一般の個人宅で使う家庭用回線です。 auひかり ホーム10ギガ プロバイダはSo-net フレッツ光クロス enひかりクロスの光コラボ VNEはv6プラスを選択(気が向いたらXpassと比較したい) 当然ながら、インターネット回線は地域や近隣住宅事情など様々な環境要因を受け、同じブランドでも大幅に結果が異なります。あくまで一事

    10Gbpsの光回線を2本引いてどちらが良いか比べてみた|TechRacho by BPS株式会社
  • 私がTDDを実践しない理由(翻訳)|TechRacho by BPS株式会社

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

    私がTDDを実践しない理由(翻訳)|TechRacho by BPS株式会社
  • はじめての正規表現とベストプラクティス#1: 基本となる8つの正規表現

    更新履歴 2018/10/11: 初版公開 2020/11/12: 追記・更新 1: 基となる8つの正規表現(記事) 2: 正規表現とは何か/ワイルドカードとの違い 3: 冒頭/末尾にマッチするメタ文字とセキュリティ、文字セットの否定と範囲 4: 先読みと後読みを極める 5(特別編)|と部分マッチのワナ 6: 文字セットのショートハンド 7: Unicode文字ポイントとUnicode文字クラス 8: 対象の構造を意識した「適度にDRYな」書き方 9: .*や.+がバックトラックで不利な理由 10: 危険な「Catastrophic Backtracking」前編 こんにちは、hachi8833です。 BPS社内勉強会で発表したスライドを元に、正規表現を学ぶときに最初に押さえておきたい基的なポイントを入門用にまとめました。説明では主にRubyの正規表現を使っていますが、特定の正規表現

    はじめての正規表現とベストプラクティス#1: 基本となる8つの正規表現
  • 漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社

    きっかけ 以下のツイートで「埼玉埼⽟問題」と康煕部首を知りました。 「埼玉」と「埼⽟」の話。unicodedata.normalize('NFKC', '「埼玉」と「埼⽟」') でいけそう https://t.co/kte0sxDvZT — Haruhiko Okumura (@h_okumura) July 11, 2020 康煕部首とは ⼀⼁⼂⼃⼄⼅⼆⼇⼈⼉⼊⼋⼌⼍⼎⼏⼐⼑⼒⼓⼔⼕⼖⼗⼘⼙⼚⼛⼜⼝⼞⼟⼠⼡⼢⼣⼤⼥⼦⼧⼨⼩⼪⼫⼬⼭⼮⼯⼰⼱⼲⼳⼴⼵⼶⼷⼸⼹⼺⼻⼼⼽⼾⼿⽀⽁⽂⽃⽄⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿⾀⾁⾂⾃⾄⾅⾆⾇⾈⾉⾊⾋⾌⾍⾎⾏⾐⾑⾒⾓⾔⾕⾖⾗⾘⾙⾚⾛⾜⾝⾞⾟⾠⾡⾢⾣⾤⾥⾦⾧⾨⾩⾪⾫⾬⾭⾮⾯⾰⾱⾲⾳⾴⾵⾶⾷⾸⾹⾺⾻⾼⾽⾾⾿⿀⿁⿂⿃⿄⿅⿆⿇⿈⿉⿊⿋⿌⿍⿎⿏⿐⿑⿒⿓⿔⿕ KangXi Radica

    漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社
  • 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株式会社
  • docker-compose + mailhogでローカルSMTPテストサーバを手軽に構築する|TechRacho by BPS株式会社

    今回はDocker上にmailhogを使ってSMTPのローカルテストサーバを構築する手順を自分用にメモします。 実はローカルのSMTPサーバ構築については既に以下の記事がTechRachoにあるのですが、長い記事なので今回はローカルSMTPテストサーバーの構築に絞り込みました。 Docker イメージを利用したローカル開発環境向けメールサーバ構築のすゝめ mailhogについて ちなみにmailhogとは、Go言語で書かれたメール送信テスト専用のメールサーバーです。 リポジトリ: mailhog/MailHog: Web and API based SMTP testing 動作確認環境 ruby 2.5.3 mail(gem) 2.7.1 構築手順 まずdocker-compose.ymlを下記のように作成します。 docker-compose.yml # https://qiita.c

    docker-compose + mailhogでローカルSMTPテストサーバを手軽に構築する|TechRacho by BPS株式会社
  • 楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社

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

    楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社
  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
  • PHP5.6のセキュリティサポートが2018年末まで!PHPバージョンアップしよう|TechRacho by BPS株式会社

    参考 PHP Supported Versions ※ZendのPHP LTSを使うとPHP5.6が2020年末までサポートになりますが、ここでは割愛します。 ※RHEL/CentOSのPHPを利用すると公式のサポート終了後もパッチなどがリリースされますが、ここでは割愛します。 CentOSのPHPセキュリティパッチ履歴 - Qiita CentOSのPHP当に安全か - Qiita ※PHP7.3は2018年12月6日にリリースされています。 PHP 7.3.0 Released -- PHP: News Archive - 2018 06 Dec 2018 The PHP development team announces the immediate availability of PHP 7.3.0. リリースノートより 今回の環境 まずは今回アップデートしたい環境のPHPのバ

    PHP5.6のセキュリティサポートが2018年末まで!PHPバージョンアップしよう|TechRacho by BPS株式会社
  • minikubeでDockerコンテナをクラスタ構成した運用とDockerコンテナを手作業で地道に管理の運用とどっちが楽か検証しながらまとめてみた|TechRacho by BPS株式会社

    2018.02.22 minikubeでDockerコンテナをクラスタ構成した運用とDockerコンテナを手作業で地道に管理の運用とどっちが楽か検証しながらまとめてみた 皆さまこんばんは、ikaです。ここ最近の仕事面では開発する時間も増えてきて、中々インフラの話で話題になれそうなものがあんまり出てこないなーという矢先の記事です。 なんだかんだ言って、弊社のインフラはまだ問題が山積みなため生々しい声(主に自分の運用の辛さ<-)も含めて書いています。 今日はその中でも今流行りの(?) Kubernetes によるDockerコンテナをクラスタ化の試験運用を行なっているので、その体験談、プラス自社の既存の運用方針と照らし合わせて結局Kubernetesってどうなの?と言う記事を書いてみたいと思います。それではいってみましょう。 注: 追記参照 コンテナ型仮想化について Dockerコンテナと言っ

    minikubeでDockerコンテナをクラスタ構成した運用とDockerコンテナを手作業で地道に管理の運用とどっちが楽か検証しながらまとめてみた|TechRacho by BPS株式会社
  • 新しいRubyアプリサーバー「NGINX Unit」を調べてみた(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: A New Ruby Application Server: NGINX Unit 原文公開日: 2018/03/28 著者: Nate Berkopec (@nateberkopec): Railsのパフォーマンスコンサルタントです。 主著: The Complete Guide to Rails Performance 参考に、NGINX Unitの動画を貼っておきます。 画像は元記事からの引用です。 概要: NGINX inc.は同社の新しい複数言語対応アプリサーバーであるNGINX UnitRubyのサポートを開始しました。NGINX UnitRubyアプリサーバーにどんな意味をもたらすのでしょうか?NGINX Unitは注目すべき製品なのでしょうか?(2057文字、10分) Rubyistのための新しいアプリサーバー

    新しいRubyアプリサーバー「NGINX Unit」を調べてみた(翻訳)|TechRacho by BPS株式会社
  • JavaScript: Reduxが必要なとき/不要なとき(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: When (and when not) to use ReduxLogRocket 原文公開日: 2018/01/20 著者: Christian Nwamba サイト: LogRocket 2018/03/13: 初版公開 2021/06/03: 更新 Reduxが登場するまで、複雑なタスクを組むときのステート管理は相当つらい作業でした。Reduxは、Fluxというアプリケーションデザインパターンにヒントを得て、JavaScriptアプリでステートを管理するために設計されました。ReduxReactと併用されることが多いのですが、ReduxはjQueryやAngularVueといった別のフレームワークとも併用できます。 Reduxのサイズは非常に小さい(依存関係も含めてわずか2KB)にもかかわらず、アプリの各コンポーネ

    JavaScript: Reduxが必要なとき/不要なとき(翻訳)|TechRacho by BPS株式会社
  • Railsで大きなファイルを扱う際のポイント|TechRacho by BPS株式会社

    Railsで大きなファイルを扱う際のポイントをまとめてみました。 前提 大きなファイルとは だいたい100MB~10GBくらいのファイルをダウンロード・アップロードするのを想定することにします。 数MB程度だと、特別な工夫なしでもそれほど問題になりません。10GBを超えてくると、気をつけるべき点が変わってくるかと思います。 以下では主にサンプルとして、1GBのファイル(ISOファイルやZIPファイルなど)を想定します。 環境 以下のような環境を想定します。 Railsは4系 Nginx + Unicornのスタンダードな構成 サーバ1台のシンプルな構成(ロードバランサを使用した複数台構成については、末尾に少し記載しています) ダウンロード ファイルのダウンロード まずは、Railsアプリから大きなファイルを配信するケースを考えましょう。 たとえば、ISOファイルをサーバ内に保存しておいて、

    Railsで大きなファイルを扱う際のポイント|TechRacho by BPS株式会社
  • [翻訳] Dockerについてよくある勘違い|TechRacho by BPS株式会社

    こんにちは、hachi8833です。今回は弊社システム管理者のyamasitaさん監修のもとで、Matt Jaynes氏のDocker Misconceptionsを翻訳いたしました。それなりに文言を最適化してあり、原文と一対一対応しているとは限りませんのでご了承ください。エラーがありましたらお知らせいただけると助かります。 Dockerについてよくある勘違い Matt Jaynes 元記事: Docker Misconceptions Dockerは最近のシステム管理業界で大変な脚光を浴びてます。これによるシステム管理の進歩ははかりしれないものがありますが、いくつか重要な点で勘違いしている人を見かけます。 分野を限定して語っているのでよろしく この記事で説明する内容は、主にWebサービスにおけるミッションクリティカルなシステムのマルチホストセットアップに限定しています。Dockerをそれ

    [翻訳] Dockerについてよくある勘違い|TechRacho by BPS株式会社
  • Ruby on Railsの記事一覧|TechRacho by BPS株式会社

    Railsスケーリング(1)Puma、コンカレンシー、GVLのパフォーマンスへの影響を理解する(翻訳)

    Ruby on Railsの記事一覧|TechRacho by BPS株式会社
  • 代理キーとナチュラルキー|TechRacho by BPS株式会社

    こんにちは、未だ勉強中のhachi8833です。 最近読んだ「楽々ERDレッスン (CodeZine BOOKS) 」というは、Railsとは特に関係ない一般的なテーブル設計の解説ですが、データベースの教科書と現実の設計の間を埋めてくれる実践的な記述で、今の自分にとっては有用なでした。Railsから入門して間もない人にはきっと有用だと思います。なおこのが出版された2006年にはRailsはまだ1.0でしたが、現在も版を重ねているようです。さりげなく文章の質がよく非常に読みやすいのがありがたい点です。 同書で繰り返し言及されていたのが、「顧客番号のようなコード番号をテーブルの主キーにしないこと」「主キーには、それ自体は意味を持たないアイデンティファイア(識別子)を使い、外部キーとして参照すること」というものでした。ほんの一瞬COBOLerだった頃の遠い記憶がほんのりと蘇ってまいりました

    代理キーとナチュラルキー|TechRacho by BPS株式会社
  • できるtmux-5分でわかる?仮想端末入門-|TechRacho by BPS株式会社

    tmux便利ですよねー どのくらい便利なのか具体的な使い方を説明しながら布教してみるテスト 0.前提、初期設定 ~/.tmux.conf を用意します。 こんな感じの.tmux.confを使っています パネル移動がviキーバインドで移動できるようにしています。 PrefixKeyはデフォルトではCtrl+Bです。 ここではPrefixKeyと表記します 1.セッション 以下のコマンドでセッションを開始できます 名前を付けた方が分かりやすいので、名前を付けておきます $ tmux new -s projectA 作れました 突然projectBの仕事が入ってきました デタッチして新しいセッションを開始します PrefixKey d $ tmux new -s projectB projectBの作業が終わったので、projectAに戻ってみます PrefixKey :choose-sessi

    できるtmux-5分でわかる?仮想端末入門-|TechRacho by BPS株式会社
  • 1