タグ

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

  • Rails 7とReactによるCRUDアプリ作成チュートリアル(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: How to Create a CRUD App with Rails and React · James Hibbard 原文公開日: 2022/04/01 原著者: James Hibbard語タイトルは内容に即したものにしました。 React logo is licensed under Creative Commons — Attribution 4.0 International — CC BY 4.0. ほとんどのWebアプリケーションでは、何らかの形式でデータを永続化する必要があります。これは、サーバーサイド言語で作業する場合はシンプルにやれるのが普通です。しかし、そこにフロントエンドJavaScriptフレームワークも加わってくると、少しややこしくなり始めます。 チュートリアルでは、Ruby on Rai

    Rails 7とReactによるCRUDアプリ作成チュートリアル(翻訳)|TechRacho by BPS株式会社
  • メガネ歴ン十年のプログラマが眼内コンタクトレンズ手術をしてみた|TechRacho by BPS株式会社

    morimorihogeです。飲店の夜間営業解禁ほんとうれしい。 先日いわゆる眼内コンタクトレンズ手術(ICL)というやつをやりまして、小学生時代以来手放せなかったメガネを付けない生活を手に入れました。 ちょいちょいZoomとかで聞かれることもあったので、術後2か月以上経過したここいらでどんな感じだったかをまとめてみます。 ※免責事項:記事の情報はN=1の僕自身の体験および考えであり、記載されている内容の医学的・統計的正確性及び判断の客観的妥当性について保証するものではありません。内容の解釈・リスクの判断については他のサイトや直接医師とも相談するなど各自自分で判断するようにしてください。 ※参照URLをいくつか記載していますが、僕は専門家ではないため内容が正しいかどうかまでは検証できていません。こちらもご了承下さい。 眼内コンタクトレンズ手術って何? 名前の通り、眼球にコンタクトレンズ

    メガネ歴ン十年のプログラマが眼内コンタクトレンズ手術をしてみた|TechRacho by BPS株式会社
  • RubyでHTTPサーバーをゼロから手作りする(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Ruby HTTP server from the ground up 原文公開日: 2021/07/03 原著者: Dmitry Ishkov 何かを始めるときはとりあえず動かしてみることが大事ですが、プログラミングをレベルアップするには、それまで慣れ親しんできた抽象概念より数段下の裏舞台を知っておくことも肝心です。 Web開発ではHTTPのしくみを理解しておくことが重要です。そのためにはHTTPサーバーを自作するのが一番です。 そもそもHTTPとは HTTPはTCP上で実装されたプレーンテキストのプロトコルなので、リクエストの内容を調べるのも簡単です(HTTP/2は実際にはプレーンテキストではなく、効率化のためバイナリになっています)。リクエストの構造を見る方法のひとつは、以下のようにcurlコマンド に -v(verbose

    RubyでHTTPサーバーをゼロから手作りする(翻訳)|TechRacho by BPS株式会社
  • Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Future Shape of Ruby Objects 原文公開日: 2021/09/10 原著者: Chris Seaton RubyKaigi Takeout 2021: The Future Shape of Ruby Objects by Chris Seaton - RubyKaigi Takeout 2021 日語タイトルは内容に即したものにしました。記事はRubyKaigi Takout 2021 Day2キーノートのスピーチ原稿につき、最終的な発表内容はこのとおりでない部分もあります。流れを把握するために必要と思われる部分については訳注で補足いたしましたが、わかりにくい場合は動画と合わせてご覧ください。 記事ではshapeの仮訳として「シェイプ」を採用しています。 なお、記事公開後にCRuby 3

    Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社
  • 見て作って学ぶ、PDFファイルの基本構造|TechRacho by BPS株式会社

    こんにちは。見習いエンジニアのwestです。 PDFファイルって、皆さん使いますか? 仕様書、説明書、論文、電子書籍など… おそらく避けては通れないファイルフォーマットだと思います。 そんな身近なPDFですが、内部の構造はどのようになっているのか?そもそも中身って見られるのか? 案外知らないものです。私も知りませんでした。 今回はそんなPDFの構造を、実践を交えて簡単にご紹介します。 PDFの基的な構造を知っておくと、物知りになれますし、PDFを処理するソフトを作るときなどに役立つはずです。 踏み込むとかなりディープになってしまうので、あくまで基構造の理解に必要な内容のみピックアップします。 目次 PDFファイルの基的な構造 PDFファイルを構成する4セクション PDFファイルの体 = オブジェクトのグラフ PDFファイルの中身をテキストエディタ+フリーソフトで見てみる PDFファ

    見て作って学ぶ、PDFファイルの基本構造|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2020/08/16
  • Go言語: CSVを色分け表示するフィルタ「csvu」を作った|TechRacho by BPS株式会社

    CSVを色分けするだけのコマンド作ってみたhttps://t.co/7CaNaZBrW3 #golang pic.twitter.com/MfeoKQYzyN — OreKanegon (@hachi8833) December 26, 2018 csvuコマンド rainbow_csvというVim向けのプラグインを見かけて、これをCLIでパイプで使いたくなってきました。 ちゃんと探してませんが、ネットにはありそうでなかったっぽいので、帰りの電車が着くまでの間にGo言語でざざっと書いてしまいました。 リポジトリ: hachi8833/csvu 何のひねりもない、Hello Worldに毛が生えたようなツールです。ネーミングも脊髄反射です。 package main import ( "encoding/csv" "fmt" "github.com/logrusorgru/aurora" "

    Go言語: CSVを色分け表示するフィルタ「csvu」を作った|TechRacho by BPS株式会社
  • Ruby: 4種類の同等性比較: equal?/eql?/==/===(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Idiosyncratic Ruby: Struggling Four Equality 原文更新日: 2017/12/25 著者: Jan Lelis サイト: Idiosyncratic Ruby Rubyのさらなる特異な性質として、同等性の比較があります。さほど複雑ではありませんが、名前に注意しましょう。 同等性比較の4つの概念 1. equal?: オブジェクトの同一性比較 これはわかりやすい概念です。x.object_id == y.object_idのように、2つのオブジェクトが完全に同一であるべきだと考えられます。 2. ==(ダブルイコール): 「同等性」の同等性 これは大抵の場合注意が必要です。2つのオブジェクトは同じとして扱われるべきです。そのクラスで<=>ロケット比較UFO演算子(宇宙船演算子)がサポートされ

    Ruby: 4種類の同等性比較: equal?/eql?/==/===(翻訳)|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2019/11/13
  • Android&iOSアプリでFCMメッセージを受信する|TechRacho by BPS株式会社

    Android 端末がメッセージを受信した場合は上記の表の通り、FirebaseMessagingService(を継承したクラス)の onMessageReceived メソッドが動くか、システムトレイへの通知が行われます。 この表だけは分かりやすかったので、公式サイトから引用させていただきました。 フォアグラウンドの場合は以下のような特徴があります。 notificationキーのみ、dataキーのみ、両方のキーを含む、全てのメッセージの場合で onMessageReceived が呼ばれる。 onMessageReceived 内の処理は 20秒(Android Marshmallow では 10秒)以内に終わらせる必要がある。 自動でシステムトレイに通知が表示されたりはしない。 バックグラウンドの場合は以下のような特徴があります。 dataキーのみ含むメッセージは onMessag

    Android&iOSアプリでFCMメッセージを受信する|TechRacho by BPS株式会社
  • IPアドレスから地域特定するGeoIP系技術について調べてみた(追記あり)|TechRacho by BPS株式会社

    morimorihogeです。昔は夏ってもっと仕事なくて暇だった気がするんですが、ここ数年徐々に忙しくなっていてまったりできてない💦 はてブでこんな記事が上がっていて、IPアドレスからの地域特定サービスについて具体的にどうなのよ?と思ったので調べてみた結果をまとめてみます。 NURO光最大のデメリットとサポート対応の悪さが上限知らずでどうにもならない なお、GeoIPという用語について、世間では狭義のGeoIPはMaxMind社のサービスを指しますが、広義のGeoIP系技術IPアドレスから地域を推定する技術やサービス一般を指すと捉え、記事では広義のGeoIPの視点から解説します(狭義のGeoIPを示す場合、現行サービス名のGeoIP2やGeoLite2の名称を使います)。 ※記事公開後、NURO光の問題の割当IPアドレスと思しきものが分かったため追記しています 前提知識 そもそもNU

    IPアドレスから地域特定するGeoIP系技術について調べてみた(追記あり)|TechRacho by BPS株式会社
  • 楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社

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

    楕円曲線暗号アルゴリズムを理解する|TechRacho by BPS株式会社
  • Rails: 高速リアルタイム検索API「algolia-search-rails」gem README(翻訳)|TechRacho by BPS株式会社

    2019.07.02 Rails: 高速リアルタイム検索API「algolia-search-rails」gem README(翻訳) 概要 MITライセンスに基づいて翻訳・公開いたします。 英語README: algolia/algoliasearch-rails: AlgoliaSearch integration to your favorite ORM 原文更新日: 2019/03/27 ライセンス: MIT サイト: Fast, reliable and modern search and discovery | Algolia お試し: Search | Algolia algolia.comより Rails: algolia-search-rails gem README(翻訳) Algolia Searchは、最初のキーストロークを入力した時点でリアルタイムで結果を返せる、

    Rails: 高速リアルタイム検索API「algolia-search-rails」gem README(翻訳)|TechRacho by BPS株式会社
  • 2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社

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

    2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社
  • Web開発環境をMacBook ProからWindows機に移行してみた話|TechRacho by BPS株式会社

    メイン著者記事としてはご無沙汰しておりますmorimorihogeです。 今年もTechRachoではアドベントカレンダー特集ということで、普段あまり記事を書く機会がなくて表に出ないメンバーにも記事を書いてもらえる運びとなりました。クリスマスまではアドベントカレンダー特集進行のTechRachoをお楽しみ下さい。 今回は最近メイン開発環境をMacからWindowsに移行したので、そのあたりの感想や設定の勘所などをまとめてみたいと思います。 なぜMacから移行するのか? 僕はOS XのIntel Macが出たころからのMacユーザー(当時はまだRosettaとかがありました)で、かれこれ10年以上Macを使い続けてきました。多分Webシステム開発用途でMacを使い始めたという人の中では古参の方なのではないでしょうか。 というわけで、なんで移行するの?という話からぽえみーに綴ってみようと思いま

    Web開発環境をMacBook ProからWindows機に移行してみた話|TechRacho by BPS株式会社
  • Linuxのサービス起動周りとDockerとの関連を理解する#1(社内勉強会)

    BPS社内勉強会でのmorimorihogeさんのスライドを3回に分けてお送りします。 #1: OSとサービス、daemon、Linuxのinitソフトウェア(記事) #2: SysVInit、ハンズオン、SysVInitの問題 #3: Systemd、ハンズオン、Dockerでの問題と対応 概要 話すこと Linuxサーバーにおけるサービス管理 サービス管理ツールとその概要 SysVInit/Upstart Systemd Monit/Supervisor Dockerに絡む話 話さないこと LinuxDockerの操作など 最近Linuxのサービス管理が以前と変わりつつあるので、インフラ管理者はもちろん、開発者がテストサーバーを構築したりするときにも役立つ話をしてみたいと思います。 1. OSとサービス Linuxシステムではさまざまなプロセスが動作しますが、「振る舞い」という観点

    Linuxのサービス起動周りとDockerとの関連を理解する#1(社内勉強会)
  • Railsで学ぶSOLID(1): 単一責任の原則(翻訳)|TechRacho by BPS株式会社

    追記: 訳文修正いたしました(2018/03/28)。 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: SOLID Principles #1: Single Responsibility Principle | Netguru Blog on Ruby/Ruby on Rails 原文公開日: 2018/02/13 著者: Marcin Jakubowski サイト: netguru 翻訳記事の相互リンクは今後更新いたします。 「SOLIDの原則シリーズ」へようこそ。このシリーズ記事では、SOLIDの原則をひとつずつ詳しく説明し、分析します。シリーズの最後にはいくつかのヒントや考察を含む総括記事をお送りしますのでどうぞご期待ください。 それでは始めましょう。「SOLIDの原則」とはそもそも何なのでしょうか?SOLIDとは、オブジェクト指向プログラミング設計における一般的な原則

    Railsで学ぶSOLID(1): 単一責任の原則(翻訳)|TechRacho by BPS株式会社
  • 3年以上かけて培ったRails開発のコツ集大成(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Things I learned developing Ruby and Rails apps over the past 3+ years | by Filippos Vasilakis | Kollegorna 原文公開日: 2017/01/30 著者: Filippos Vasilakis 2017/11/20: 初版公開 2023/06/08: 訳文を更新 順序は特に決まっていません。 🔗 1. トップレベルにrescue_fromを書く ルートコントローラにrescue_fromを書くと、その下で発生したすべての例外をキャッチできるので非常に便利です。Webアプリにこれを追加すると、リクエスト/レスポンスのサイクルで実行されるほとんどのコードがさらに便利になります。 シンプルなAPIを例に考えます。rescue_fro

    3年以上かけて培ったRails開発のコツ集大成(翻訳)|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2017/11/21
  • Androidで安全にパスワードを保存する(3)|TechRacho by BPS株式会社

    前回は、SharedPreferencesに直接パスワードを保存することの危険性について紹介しました。 そのため、Android端末内にパスワードを保存する際には、暗号化することが必須になります。 一般のWebサービスなどでパスワードをDBに保存する際には、「ハッシュ化」を行います。 古くはMD5、最近ではSHA-2を主に使いますが、これらは非可逆変換のため、万が一ハッシュ値が漏洩してもパスワードを特定されることはありません。 しかし、今回の目的では、正規のアプリケーションはパスワードを復元出来る必要があるため(そうしないと、ユーザに変わってWebサービスにパスワードを投稿できない)、ハッシュ化ではなくて暗号化を行います。 暗号化アルゴリズムには、強度が高くメジャーなAESを使うことにしましょう。 なお、暗号化技術を独自実装した場合には、各国の輸出規制法を気にする必要がありますが、今回の用

    Androidで安全にパスワードを保存する(3)|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2015/06/12
  • Androidで安全にパスワードを保存する(2)|TechRacho by BPS株式会社

    前回までの内容で、Android端末内にパスワードを保存することができるようになりました。 しかし、このままではセキュアとは言えません。どんな問題があるのか考えてみましょう。 何が危険なのか SharedPreferenceで保存したデータは、 /data/data/[パッケージ名]/shared_prefs/ 以下に保存されます。 たとえばcom.example.helloworldというアプリを作った場合、getDefaultSharedPreferences()で取得・保存したデータは /data/data/com.example.helloworld/shared_prefs/com.example.helloworld_preferences.xml に保存されます。 rootedな端末では、以下のようにして簡単に生パスワードを表示できます。 > adb shell $ su #

    Androidで安全にパスワードを保存する(2)|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2015/06/12
  • 社員数名の開発会社が1年で6/20人離職させてしまった開発会社が再発防止のためにやってみたこと|TechRacho by BPS株式会社

    入社後まもなく退社する方についての記事が最近目立ちますね。さすがにヨドバシさんのように10日以内はないですが3ヶ月以内に退社した新卒や中途の方もいましたし(文末に詳細まとめます)、いまは緑のメッセンジャーを作っている前職では3日だけ出社して音信不通になった開発者もいたので、意外とよくある話なのかもしれませんね。前職で問題意識を強く持てたらよかったのですがその時はそこまで気が回らず、今の会社で手痛く悲しい経験をしてはじめて被害の大きさと改善の重要性を痛感しました。 採用時にエージェントその他に支払った何百万~何千万も痛いですが、せっかく一緒に夢を追える仲間が協力しようと思ってくれたのに別れるのは、何度経験しても落ち込みますね。(退職した)個人の成長が会社の成長を追い越して卒業するならまだしも、会社の実力不足で夢半ばのまま別れると悔しさしが倍増します。まあ退職しても他社で経験を積んで戻ってきて

    社員数名の開発会社が1年で6/20人離職させてしまった開発会社が再発防止のためにやってみたこと|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2014/11/28
  • HTML + CSS + JavaScript で簡単に導入できるdatetimepicker の比較|TechRacho by BPS株式会社

    2014.10.15 HTML + CSS + JavaScript で簡単に導入できるdatetimepicker の比較 最近MBA 買ったんですけど、ずっとドザーだったので全然慣れないshibuso です。トラックパッド使うと指が痛くなって泣ける…。 さて、今回は無料で公開されているdatetimepicker についてまとめたいと思います。datetimepicker と聞いてピンと来ない人は、フォームをクリックするとカレンダーが表示されて、そこで日時を選ぶ機能と思ってもらえば大体合ってます。少し前までプルダウンで年月日を選ぶのが普通だったのに、色々と便利になってきています。 とはいえdatetimepicker はまだあまり選択肢が無いように感じます。私の検索の仕方が悪いのかもしれませんが、日付のみを選択できるdatepicker の方が多いかと。そんな中、今回はdatetime

    HTML + CSS + JavaScript で簡単に導入できるdatetimepicker の比較|TechRacho by BPS株式会社
    yuiseki
    yuiseki 2014/10/21