並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 373件

新着順 人気順

rubyの検索結果161 - 200 件 / 373件

  • プログラマと学歴 - megamouthの葬列

    もはや現代では大学に行く必要はない、いや行ったほうがいい、という議論があるらしい。 大学が、「学歴」という形で、社会における個人の扱いをある程度は規定している事実がありながら、今ひとつ「大卒」であるということが、それほど重要視もされていないようにも見えるプログラマという職種こそ、このような議論がふさわしいのかもしれない。 そのようなプログラマと学歴との関係を少し書いておこうと思う。 プログラマ・カースト プログラマは奇妙な人々である。 クーラーの効いた小洒落たオフィスの最新スペックのパソコンに向き合って、鳴り続ける外線電話に出ようともしないで、その間にTwitterで卑猥なイラストをリツイートするといった、一般の社会人では考えられないような非常識を行ってもクビにならず、むしろ、これこそギークの証であると、納得される部分さえある。 そんな普通でない人々に学歴など必要なく、必要なのはただ、計算

      プログラマと学歴 - megamouthの葬列
    • ruby-lspでrubocopを使いたい。でも、プロジェクトのGemfileは汚したくない時

      source "https://rubygems.org" gem "ruby-lsp" gem "rubocop" gem "rubocop-packaging" gem "rubocop-performance" gem "rubocop-rspec" gem "rubocop-shopify" gem "rubocop-thread_safety"

      • クラス変数の罠。これからはクラスインスタンス変数を使おう - webエンジニアの日常

        Effective Rubyの勉強メモです。 インスタンス変数とクラス変数 クラス内で@が先頭につく変数はインスタンス変数を表します。 インスタンス変数はオブジェクト一つ一つが持つプライベートな変数です。オブジェクトのあるインスタンス変数に値をセットしてもほかのオブジェクトのインスタンス変数には影響を及ぼしません。 特別な変数にクラス変数というものもあります。@@が先頭につく変数で、クラスで一つの値を持ち、そのクラスのインスタンスすべてで共有されます。 もちろん、クラス変数の値を更新すると、すべてのインスタンス変数が更新後の値を使うようになります。 クラス変数を使う一般的な用途の一つにシングルトンがあります。 スポンサーリンク クラス変数を使ってシングルトンを実装する例 シングルトンとは、システム全体にわたってただ一つのインスタンスしか存在しないようにするデザインパターンです。 例えば設定

          クラス変数の罠。これからはクラスインスタンス変数を使おう - webエンジニアの日常
        • 備忘録 ElastiCacheのRedisキャッシュとSidekiqの設定手順 - Qiita

          自己紹介 はじめまして、はる(@lemonade_37)と申します。 駆け出しエンジニアとして働き始めて約3ヶ月が経過しました🐣 概要 Sidekiqを使ってバックグラウンド処理を実装し、 本番環境のRedisでElastiCacheを使っていましたが、 一旦ElastiCacheを削除する運びとなったので、設定項目について備忘録を残します。 経緯については下記記事を参照ください🙇‍♀️ 〜使わなくなった経緯〜 〜ローカルでの実装手順〜 環境 Docker Ruby 3.2.3 Rails 7.1.3

            備忘録 ElastiCacheのRedisキャッシュとSidekiqの設定手順 - Qiita
          • githubのようなdiffをrubyで表示できるgem「diffy」を触ってみた - リモートで働くプログラマーの検索結果

            github.com README見ながら動かしてみる gem install diffy requireして確認用のテキストを準備 require "Diffy" string1 = <<-TXT Hello how are you I'm fine That's great TXT string2 = <<-TXT Hello how are you? I'm fine That's swell TXT 差分をテキストで表示 puts Diffy::Diff.new(string1, string2) -Hello how are you +Hello how are you? I'm fine -That's great +That's swell 差分をhtml形式で表示 puts Diffy::Diff.new(string1, string2).to_s(:html_simpl

              githubのようなdiffをrubyで表示できるgem「diffy」を触ってみた - リモートで働くプログラマーの検索結果
            • PlaywrightをRailsに導入して手動テスト工数を減らす - Qiita

              対象者 Cypressを使ったテストを書いたことがある人 RailsのRSpecを使ったテストを書いたことがある人 手動テスト辛い 私が担当している案件の中には、1年以上運用しているwebサービスがあります。 フロントエンド・バックエンド共に存在します。 課題は色々あるのですが、一番課題に感じているのがテストです。 そのサービスの前回の機能追加リリース時は、画面操作系のテストは手動で行いました。 そうなってしまった理由は大きく分けて以下3点です。 画面操作系の自動テストを書く時間がない 手動テストした方が早いという考えがある 今の画面操作系自動テストの仕組みでは画面操作後のDB値チェックができない この問題をなんとか解決したいという思いがあります。 単体テストが一番重要 まず大前提の話です。 単体テストとは、関数やメソッド単位での機能が期待通りであるかのテストです。 これまで色々とバグや障

                PlaywrightをRailsに導入して手動テスト工数を減らす - Qiita
              • 【RSpec】shared_examples_forとshared_contextでテストコードのリファクタリング

                はじめに 同じテストを何回も書く必要がある時は、shared_examples_for と shared_context が役に立ちます。これらは共通するテストコードをまとめ、テストの可読性や保守性を向上させる仕組みです。 今回は、shared_examples_for と shared_contextの違いや使い方についてまとめます。 本記事は Qiita のアドベントカレンダーに寄稿するために書きました。 🎄 Ruby on Rails Advent Calendar 2023 shared_examples_for と shared_context の違い shared_examples_for は、共通するテストをまとめるための仕組み shared_context は、共通する前提条件をまとめるための仕組み 正しい使い分け方と組み合わせを覚えれば、今後書くテストをより良くできます

                  【RSpec】shared_examples_forとshared_contextでテストコードのリファクタリング
                • ubuntu 20.04にRuby最新版(3.3.3)をインストールしようとしたときのメモ - 自分の仕事を憎むには人生は余りにも短い

                  インストールしてたらうまくいかない。 なんでmakeでしっぱいしているんだ?とエラーログをみてみたら $ cat /tmp/ruby-build.20240614002810.14585.B5EatY/ruby-3.2.4/ext/psych/mkmf.log LD_LIBRARY_PATH=.:../.. pkg-config --exists yaml-0.1 package configuration for yaml-0.1 is not found find_header: checking for yaml.h... -------------------- no ほーん。ヘッダーが見れなくなったのか。リリース履歴をみたら3.2以降libyamlが同梱されなくなったから個別に入れなきゃダメってことらしい。 ということでいつも通りぽいっと入れてみようにも入らない。。。 $sudo

                    ubuntu 20.04にRuby最新版(3.3.3)をインストールしようとしたときのメモ - 自分の仕事を憎むには人生は余りにも短い
                  • RubyKaigi 2024 初参加の記録

                    はじめに 沖縄で行われた RubyKaigi 2024 が、私の初 RubyKaigi でした! 初参加かつ、単身での参加かつ、他の技術カンファレンスにまともに参加したこともなかったので、右も左もワカラナイ状態でしたが、そんな中で学んだことや、各セッションのメモを記していきます。 ほぼ誰の役にも立たないものですが…… RubyKaigi未参加の方や初参加の方の参考になると嬉しいです 間違ってたり補足が必要な点が多いと思うので、ぜひご意見ご指摘あればコメントください! Tips 今回のカンファレンス参加で学んだことを書いていきます。 他の技術カンファレンスにも適用できるTipsだと思います。 早起きは三文の徳 Early bird チケットは半額くらいで購入できます。 イベントの参加登録もすぐ埋まるので早めに済ませておきましょう。早く行動するために、次の「常にアンテナを張る」が大事です。 常

                      RubyKaigi 2024 初参加の記録
                    • 博士への道 - 木下研究室

                      博士の学位取得を目指す方々へ (復刻版) (注意:本サイトの内容を信じて学位が取れなくても、筆者は責任を負いません。自己責任の範囲内でご利用ください。ドクター生活は、要するに自分自身との戦いですから・・・) 1. はじめに 本ページは、筆者が阪大・機械工学専攻で博士の学位を取得した際、学位取得前のドタバタの中で得た経験をメモとしてまとめたものです。たいていは反面教師的な内容ですが、何かの参考になりましたら幸いです。 2. ドクターコースに進むにあたって ドクターに適性があると思われる人の必要条件 (筆者の独断と偏見による): 研究者になりたい。 自分の力を試してみたい、とりあえず行けるところまで行ってみたい。 将来は何とかなるだろうと思っている。(←これは重要) 現時点で「絶対に行きたい企業」がない(どうしても行きたい企業があるなら、さっさとそちらを選ぶべき)。 ドクター進学を決めてしまえ

                      • 日本語から検索用SQLを自動的に組み立てるAI「List AI」の実証実験を開始

                        「List AI」を発表 2024/2/20、しくみ製作所株式会社は、日本語から検索用SQLを自動的に組み立てるAI「List AI」を発表しました。合わせて来期以降の導入に向けた実証実験の募集を開始いたします。 日本語でデータベースからのデータ出力 プロジェクトの分析のためにデータベースから情報を取得したいという場面は多いかと思います。しかし、RDS等に直接接続する環境なの準備ができていなかったり、データベースを操作する SQL などの専門的知識 が必要となります。結果として、データベースからのデータ出力はエンジニアに依頼して運営していることが多いのではないでしょうか。 「List AI」を対象サービスに組み込むと、プログラミングの知識がないメンバーやDBに直接アクセスできないメンバーでも、直感的にデータベースのデータ出力ができます。例えば、「登録者の総数を教えて」「ベストセラーの商品を

                          日本語から検索用SQLを自動的に組み立てるAI「List AI」の実証実験を開始
                        • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog

                          ※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を本記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根本原因 CreateProcessのラッパー cmd.exeのパース規則

                            Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog
                          • えにしテック15周年記念カンファレンスでの学びと感じたこと|はる

                            6月29日に開催されたえにしテック15周年記念カンファレンスに参加してきました! スピーカーの方や参加者は、Ruby界の名だたる方々、強強エンジニアの大先輩方、先をゆく同じようにスクールから転職でエンジニアになった先輩方で、恐れ多かったですし、 下手に言葉にしてしまったら野暮なぐらい伝説の会でしたが、 色んな方とお話しできて本当に楽しかったし学びが多かったので、忘れたくなくて、記録に残そうと思いました。 ※自分のための備忘録&自分語りも多く読みにくいところも多々あると思いますが、それでもいいよという方だけ読んで下さい🙇‍♀️ 率直な感想楽しかった 本当に自分ここに居ていいんだろうか?????居て良かったんだろうか????といまだに思っている すごい方々が普通に話しかけてくれた 全然すごいのに全然すごそうにしない方々ばかり 全員エンジニアが好きで集まっている方々ばかり 気持ちだけ口だけは簡

                              えにしテック15周年記念カンファレンスでの学びと感じたこと|はる
                            • 【Elastic Beanstalk】デプロイしたときにlibsass.soがないと言われた - Qiita

                              どうもこんにちは。 今回は、Elastic Beanstalk環境にデプロイした時、libsass.soがないと言われたので、メモとして残します。 環境 Ruby on Rails環境 Ruby 3.2.2 Rails 7.1.3.3 gem 'sassc-rails'を使用 EB環境 Ruby 3.2 running on 64bit Amazon Linux 2023/4.0.7 エラー内容 上記に示した状態でデプロイを実行すると以下のようなエラーが出てきます。 LoadError: Could not open library '/var/app/staging/vendor/bundle/ruby/3.2.0/gems/sassc-2.4.0/ext/libsass.so': /var/app/staging/vendor/bundle/ruby/3.2.0/gems/sassc-

                                【Elastic Beanstalk】デプロイしたときにlibsass.soがないと言われた - Qiita
                              • MVCモデル

                                MVCとは、Model-View-Controllerの略であり、ソフトウェア開発における設計モデルの一種である。 アプリケーションをModel(データ)、View(表示)、Controller(制御)の3つのコンポーネントに分割し、それぞれの役割を明確にすることで、開発効率や保守性の向上を目指す。 MVCモデルの構成要素 MVCモデルは、Model(モデル)、View(ビュー)、Controller(コントローラー)の3つの主要なコンポーネントから構成される。それぞれのコンポーネントは明確な役割を持ち、連携することでアプリケーション全体の機能を実現する。 Model(モデル) Modelは、アプリケーションが扱うデータやビジネスロジックを表現する。データベースとのやり取り、データの検証、加工など、データに関する処理全般を担当する。Modelは、ViewやControllerから独立してお

                                  MVCモデル
                                • AWS SAM CLIでローカルAPIを起動してLambda関数をテストする方法 - Qiita

                                  テンプレートを選択 提示される選択肢から任意のものを選択していきます。 最後にプロジェクトの名前を入力するプロンプトが表示されるので、 ここでは`test-sam-project`としています。 Which template source would you like to use? 1 - AWS Quick Start Templates 2 - Custom Template Location Choice: 1 Choose an AWS Quick Start application template 1 - Hello World Example 2 - Data processing 3 - Hello World Example with Powertools for AWS Lambda 4 - Multi-step workflow 5 - Scheduled task

                                    AWS SAM CLIでローカルAPIを起動してLambda関数をテストする方法 - Qiita
                                  • JeJe PIANO ONLINE BOUTIQUE

                                    ヴィンテージ 9K ゴールド サファイア フラワー ピアス(9KYG Sapphire Earrings) 27,800円(税込30,580円) 1910-30年代 メタル ガラス ハンドペイント ブローチ(Metal Glass Brooch) 9,800円(税込10,780円) ヴィクトリアン 18金 ガーネット ダイヤモンド リング(Victorian 18K Garnet Diamond Ring) 298,000円(税込327,800円) 1930 -1940年代 18金 パール ダイヤモンド クローバー リング(1930 -1940's 18K Pearl Diamond Shamrock Ring) 218,000円(税込239,800円) suzuki takayuki knitted cape(スズキタカユキ ニッティドケープ)Black 44,000円(税込48,400

                                    • mswin の開発環境を Dev Drive に引っ越した, 地球の歩き方 オランダ ベルギー ルクセンブルク 2021~2022 を読んだ - HsbtDiary(2024-06-20)

                                      mswin の開発環境を Dev Drive に引っ越したWindows 11 に Dev Drive という VHD ファイルを作成し、ReFS でフォーマット、マウントをして使うという Dev Drive という仕組みが追加されており、そろそろ使ってみるかと以下のページに従って作成してみた。 https://learn.microsoft.com/ja-jp/windows/dev-drive/ ひとまず、50GB を確保してボリュームラベルなどは適当、C:/Users/hsbt/DevDrive としてマウントして使うことにした。Dev Drive では ReFS がダイナミックにサイズを拡張するというのと、Windows Defender による Filter をバイパスできるのでビルドなどが高速化される、らしい。 Ruby のビルドはそれほど速くなったような気はしないけど、しばら

                                      • RubyGemsとは?gemのインストールや使い方も解説!

                                        RubyGemsとはRubygemsとは、Rubyというプログラミング言語のパッケージ管理システムを意味します。ここでは、RubyとRubygemsについて詳しく紹介します。 Rubyとは、まつもとゆきひろ氏によって開発された国産のプログラミング言語を指します。Rubyの特徴はシンプルな文法やRuby on Railsという便利なフレームワークがあることなどが挙げられます。そのため開発スピードを速めることができ、スタートアップ企業や自社開発企業などで採用されることもあります。 またRubyでできることは数多くあり、Rubyのプログラミング言語でできることの代表例として、Webアプリ・SNS・ECサイトなどの開発が挙げられます。このようにRubyのプログラミング言語はシンプルな文法が特徴で、できることが数多くあるため、プログラミング初心者におすすめの言語の1つと言えるでしょう。 RubyGe

                                          RubyGemsとは?gemのインストールや使い方も解説!
                                        • ep154 Monthly Platform 202406 | mozaic.fm

                                          Theme 第 154 回のテーマは 2024 年 6 月の Monthly Platform です。 Show Note Chrome 動向 Stable: 126 Updates Chrome 126 https://developer.chrome.com/release-notes/126 CSS Cross-document view transitions for same-origin navigations Web APIs Gamepad API trigger-rumble extension ChromeOS tabbed web apps toJSON() method for GeolocationCoordinates and GeolocationPosition WebGLObject Web IDL superinterface Re-enabling t

                                            ep154 Monthly Platform 202406 | mozaic.fm
                                          • [Rails]あ…ありのまま、今起こった事を話すぜ!「おれはorder(created_at: :asc)と実装したと思ったら、created_at descのSQLが実行されていた」 - Qiita

                                            [Rails]あ…ありのまま、今起こった事を話すぜ!「おれはorder(created_at: :asc)と実装したと思ったら、created_at descのSQLが実行されていた」RubyRailsMySQLActiveRecordSQL な… 何を言っているのかわからねーと思うが おれも 何をされたのか わからなかった… 頭がどうにかなりそうだった… reverse_orderをチェーンしていただとか超スピードだとか そんなチャチなもんじゃあ断じてねえ もっと恐ろしいものの片鱗を味わったぜ… ということで、前置きはここまでにして実際に私が体験した話です。 タイトルの通りorder(created_at: :asc)と実装したのに、SQLはcreated_at descと実行される実装について説明します。 ここまでの話だけで、パッと実装が思い浮かぶ方はActiveRecordマスターだ

                                              [Rails]あ…ありのまま、今起こった事を話すぜ!「おれはorder(created_at: :asc)と実装したと思ったら、created_at descのSQLが実行されていた」 - Qiita
                                            • Dockerを利用したアプリケーション構築のためのイメージの役割とビルドについて整理してみた

                                              例えば現代的なフロントエンドを備えた Ruby on Rails 環境で考えると、 1 の builder image は その構築のためには native extension をコンパイルするためのコンパイラ環境と Ruby, Node.js を mix した環境が必要Gemfile, Gemfile.lock, package.json, npm の lock ファイルをもとに必要な依存パッケージをインストールただし、extension のインストール終了後にはコンパイラ環境は不要なので Docker の multi-stage build を利用して最終的には言語ランタイムと必要な依存パッケージのみの image にする(でないと単純に重い)※ Docker image は最小で安全にすべし、みたいな知識だけがあって躊躇している人は躊躇してはいけない。必要なものは必要だし、この bu

                                              • Javaが時代遅れと言われる理由は?今後の将来性やメリットを解説 | エイジレス思考

                                                ※当サイトは人材関連サービスを展開する株式会社エイジレスが運営しています。本ページは自社および提携先のPRを含む場合があります。 一部でJavaが「時代遅れ」と取り上げられることがありますが、本当に廃れゆく言語なのでしょうか 実際、新しいJavaプロジェクトも多く立ち上がっており、影響は限定的と感じられます。 この記事では、Javaが時代遅れと言われる理由と、今後もJavaのメリットを活かして使われ続ける分野を解説します。 これからも重要なJavaですが、Javaを使って仕事をしている人の中には現在の業務やキャリアで悩みを抱えている人もいるかもしれません。転職を考えている方もいるでしょう。 弊社エイジレスでは皆様が抱える課題や悩みに真摯に向き合い、新たなキャリアのサポートをさせていただいています。 エイジレスはSIer、ベンダー、ITコンサルタントに特化した転職エージェントです。挑戦しやす

                                                  Javaが時代遅れと言われる理由は?今後の将来性やメリットを解説 | エイジレス思考
                                                • DMM WEBCAMPで夢のITエンジニアになる!初心者から本格的にプログラミングを学ぶ

                                                  DMM WEBCAMPは、株式会社インフラトップが運営するプログラミングスクールです。 初心者でもプロのITエンジニアを目指すことができる、オンラインでの講座が受講可能です。 DMM WEBCAMPは、未経験者からプログラミングを学びたい人やIT企業に転職を考えている人におすすめのスクールです。 以下に、DMM WEBCAMPの特徴と強みをご紹介します。 DMM WEBCAMPの特徴と強み スピーディな学習コース:DMM WEBCAMPでは、最短で4週間でプログラミングの基礎から実践的なスキルを習得することができます。レビューや口コミでも、短期間で成果を出せることが評価されています。 学習内容の幅広さ:DMM WEBCAMPでは、HTML5・CSS3・JavaScript・Ruby・SQL・Pythonなど、さまざまなプログラミング言語を学ぶことができます。実践的なスキルを身につけたい方に

                                                    DMM WEBCAMPで夢のITエンジニアになる!初心者から本格的にプログラミングを学ぶ
                                                  • Pythonと壊れたテキスト(UnicodeDecodeError) - Qiita

                                                    何が起きたか 普段はPythonではなくRubyを好んで使う私がしぶしぶPythonでテキストをいじっていると、ある日こんなエラーメッセージに遭遇しました。 Traceback (most recent call last): File "broken_test.py", line 3, in <module> line = fo.readline() File "/opt/pyenv/versions/3.5.7/lib/python3.5/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x85 in position 17: inva

                                                      Pythonと壊れたテキスト(UnicodeDecodeError) - Qiita
                                                    • 【Onyx】Crafting InterpretersのLox言語を実装してPlaygroundを作ってみた - Qiita

                                                      TL; DR 全機能移植済みです!ぜひ遊んでみてください1。 はじめに 『Crafting Interpreters』は、「Lox」という言語の実装を通じ、手を動かしながら言語処理系の作り方を学べる本です(リンク先は邦訳版)。lexer, parser, evaluatorの説明にとどまらず、レキシカルスコープやクラスの設計等実践的な内容も盛り込まれているのが特徴です。 本書ではLox言語をJavaとCで実装していますが、今回私は Onyxへ移植して写経しました2。本記事では、Onyxに移植した際設計について考えたことやハマった点を振り返りたいと思います。 ソースコードはこちらです。 Why Onyx? オンライン上でLoxを実行できるPlayground(冒頭で紹介したページ)が作りたかったので、手軽にWebAssemblyへコンパイルできる言語を探していました。また、せっかくならオリジ

                                                        【Onyx】Crafting InterpretersのLox言語を実装してPlaygroundを作ってみた - Qiita
                                                      • Ruby on Railsのモジュラーモノリス化を推し進めるpacks-railsというgemがすごいという話📦 - Qiita

                                                        こんにちは、akitoshigaです。 現在Ruby on Railsのモジュラーモノリス化を行っており、その際に利用したpacks-railsというgemが大変便利だったのですが情報が少なかったので紹介します。 1. packs-railsとは? 一定の規則に従って、単一のRails on Railsアプリケーションをモジュール分割するgemです。 このgem単体でも利用できますが主にpackwerkと組み合わせて使われることが多いと思います。 packwerkとはRuby on Railsの静的解析を行うgemでモジュールごとの依存関係の管理ができます。 2.一体何がすごいのか? 2.1 (ほぼ)設定不要 packs-railsは内部でzeitwerkというgemを利用しています。 packs-railsの指定のディレクトリ構成に従えば、zeitwerkのおかげで面倒な設定をせずにディ

                                                          Ruby on Railsのモジュラーモノリス化を推し進めるpacks-railsというgemがすごいという話📦 - Qiita
                                                        • ECS Scheduled Tasksで複数のRakeタスクの定期実行を管理 - Qiita

                                                          はじめに EC2インスタンス上でRailsアプリを稼働していた副業先のいくつかの会社で、Rakeタスクやrails runnerコマンドを定期実行するためにwheneverなどを利用していました。 Railsアプリをコンテナ化してECSで稼働する際、タスクの定期実行をどう管理するか改めて考える必要があったので、その一例を紹介します。 ※実際に対応したのは2年前なので、今はもう少し良い方法もあるかもしれませんが、参考までに。 前提条件 共通する条件としては、以下のようなものがありました。 定期実行したいタスクだけが数個ある。 タスク間の依存関係はなく、複雑なワークフローを組む必要はない。 アプリがRuby on Railsで構成されており、ECS Serviceで稼働している。そこで利用されているDockerイメージを使い、Rakeタスクやrails runnerコマンドを実行したい。 タス

                                                            ECS Scheduled Tasksで複数のRakeタスクの定期実行を管理 - Qiita
                                                          • 【Ruby】<< をそのままメソッドの戻り値にするより、[*array, element] を使おう - Qiita

                                                            はじめに: <<をそのままメソッドの戻り値にする? コードレビューをしていると、ときどき以下のようなコードを見かけます。 def do_something foo = [] # 処理があれこれ続く # ... # ... foo << 123 end bar = do_something puts bar 注目してほしいのは foo << 123 の行です。 ここは配列 foo に123を追加し、なおかつそのときの戻り値をこのメソッド(do_somethingメソッド)の戻り値にしています。

                                                              【Ruby】<< をそのままメソッドの戻り値にするより、[*array, element] を使おう - Qiita
                                                            • Ruby 3.3.0 Rails 7.1.3 でYJITを有効にする - Qiita

                                                              if defined? RubyVM::YJIT.enable Rails.application.config.after_initialize do RubyVM::YJIT.enable end end 運用中に何かの理由で無効にしたくなったら、コメントアウトするかファイルごと削除します。 この方法は、最新のRuby on Railsに取り込まれているそのままです。 YJITとは Rubyを高速に実行する機能です。Ruby 3.3 から Ruby on Rails に適用するのも実用的になったそうです。次の記事で詳しく説明されています。 Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp RubyはJust-In-Time(JIT)コンパイラという機能を備えており、これを有効化すると実行時に機械語を生成して様々な最適

                                                                Ruby 3.3.0 Rails 7.1.3 でYJITを有効にする - Qiita
                                                              • Rubyで、テスト対象のコードで exit していると RSpec がそこで正常終了する - Qiita

                                                                並行で行っている RSpec のテストの実行数がなぜか実行ごとに異なるという問題が発生した。実行ログを調査したところ、テストの途中で RSpec が正常に終了していることがわかった。原因はテストコード中で exit を実行していること。特に rake タスクのテストとかで結構あると思う。 例えば、このようなコードがあり

                                                                  Rubyで、テスト対象のコードで exit していると RSpec がそこで正常終了する - Qiita
                                                                • Python以外の言語でのWebスクレイピングの実装方法 - yoko's memo

                                                                  Webスクレイピングは、Pythonがよく使われる言語ですが、他の言語でも実装することが可能です。この記事では、Python以外の言語でのWebスクレイピングの実装方法について紹介します。 moun45.hatenablog.com 1. JavaScript JavaScriptは、ブラウザ上で動作するスクリプト言語であり、Webページの動的な要素を操作するのに適しています。JavaScriptを使用して、ブラウザ自体を制御し、DOM(Document Object Model)を操作することで、Webスクレイピングを実装することができます。代表的なライブラリとしては、PuppeteerやCheerioがあります。 2. Ruby Rubyは、シンプルで読みやすい文法を持つプログラミング言語であり、Web開発に広く使用されています。Rubyには、NokogiriというHTML/XML解析

                                                                  • Ruby Hack Challengeはじめました - ESM アジャイル事業部 開発者ブログ

                                                                    こんにちは。構文解析器研究部員のS.H.です。 アジャイル事業部内ではじめたRuby Hack Challengeについて紹介します。 Ruby Hack Challengeとはなにか? 元々はRubyコミッターのko1さんがCookpadで開催されていたRubyの内部をハックするイベントです。 Rubyの内部実装を読んだり、Cのコードを変更して新しいメソッドを追加したりとRubyをより身近に感じられるイベントです。 techlife.cookpad.com github.com それを社内向けに勉強会として始めてみました。 はじめたきっかけ 元々、ko1さんたちが開催されていたRuby Hack Challengeに何度か参加していました。 また参加していく中で「Rubyをハックできる人を増やしたい」なという思いがあり、そこで僕がオーガナイザーをしているHamada.rbでもforkとし

                                                                      Ruby Hack Challengeはじめました - ESM アジャイル事業部 開発者ブログ
                                                                    • 【2024年4月】フリーランス案件の単価における市場動向【フリーランスボード】

                                                                      INSTANTROOM株式会社(本社:東京都渋谷区、代表取締役:曽根弘介)が運営する、フリーランスエンジニア・ITフリーランスの案件検索サイト「フリーランスボード(https://freelance-board.com/)」は2024年4月のフリーランス案件の単価における市場動向の調査結果を発表いたします。 ◆数字で見る「フリーランス市場動向」 フリーランスボードでは2024年4月30日時点の111,626件の掲載案件を対象に開発言語・フレームワーク・職種別の月額平均単価を調査いたしました。 ■フリーランス案件の月額平均単価 2024年4月のフリーランス案件の月額平均単価は71.0万円、最高単価は280万円です。 ▼掲載中のフリーランス案件はコチラから https://freelance-board.com/jobs ■開発言語別の月額平均単価 開発言語別の月額平均単価は上表の結果となりま

                                                                        【2024年4月】フリーランス案件の単価における市場動向【フリーランスボード】
                                                                      • GoでAPIサーバーを立てよう!(Ruby on Railsと比較しながら)

                                                                        概要 Ruby on Rails しかバックエンド触ったことがない筆者がはじめて Go で API サーバーを立てた時、「Rails と比較しながら理解すれば理解しやすいのでは・・・!」と思いせっかくなら記事にしようと思い立って記事にした。 まず最初に、Rails で API サーバーを動かすイメージを・・・ まず、Rails で API サーバーを動かす時、どうやって実装してサーバーを動かしていたかイメージします。 文字にするとこんな感じでしょうか。 rails s すると localhost:3000 にサーバーが立ち上がる routes.rb にルーティング(エンドポイントと対応するコントローラー, アクション)を定義する コントローラーのアクションの中身を書く(DB の読み込み、書き込み、レスポンスの返却...etc) Go で API サーバーを立てるときも基本的にやることは変わ

                                                                          GoでAPIサーバーを立てよう!(Ruby on Railsと比較しながら)
                                                                        • LR Parser Night w/ Asakusa.rb をアンドパッドさんと共催します - ESM アジャイル事業部 開発者ブログ

                                                                          こんにちは。構文解析器研究部員の @junk0612 です。 After RubyKaigi 2024 LR Parser Night w/ Asakusa.rb というイベントを、アンドパッドさんのオフィスで共催します。普段は島根にいる @S.H. 研究部員も現地登壇します! andpad.connpass.com 大まかな流れとしては、LR_parser_gangs の4人が集まって、1人5分のトークをしたあとに and the World っぽいパネルディスカッションをする予定です。 各メンバーのトーク内容は募集ページに載っている以上の情報を僕も知りませんが、それぞれの立場からの面白い発表が聞けそうです。乞うご期待。 パネルディスカッションについては、いまのところ @hsbt さんに司会役をお願いして、いくつかのトークテーマについて話す予定です。参加者の Rubyist が知りたそう

                                                                            LR Parser Night w/ Asakusa.rb をアンドパッドさんと共催します - ESM アジャイル事業部 開発者ブログ
                                                                          • SorbetでRubyに型を付けてみた - Qiita

                                                                            sorbetというGemと遊んでみた。 Rubyに漸進的に型を付けるライブラリーだ。 自己紹介 アメリカ人で、日本は3年目。 1年強、東京のユニークビジョンで働いている。 きっかけ 実は、RubyもRailsも苦手!全部魔法的に見える。型で探検したい。 そしてsorbetでRailsにも型が定義されている。 「漸進的型付け」とは? プログラミング言語の中で、「強い型付け」と「弱い型付け」言語が存在する。 「強い型付け」は例えば、型が合わないとコンパイルできない言語。 それに引き換え、「弱い型付け」言語は型が使えるが、別に頑張って合わせる必要がない。 また、その方が実行時(dynamic)、コンパイル時(static)にチェックされると言う軸もある。 要するに、漸進的型付けとは、プロジェクトを部分的に「static」と「strong」の右上の隅に引っ張っていくことだ。 普段は関数単位あるいは

                                                                              SorbetでRubyに型を付けてみた - Qiita
                                                                            • JavaScriptでゲーム作り「17-3:Canvas描画の最適化 ダブルバッファリング」

                                                                              Top コラム集 JavaScriptでゲーム作り 17-3:Canvas最適化2 ダブルバッファリング 17-3:Canvas最適化2 ダブルバッファリング キャンバス最適化の応用編、ダブルバッファリングについて。 Canvasのプリレンダリングを全ての領域で行う (2019.7.7執筆、2021.11.06更新) 色々試してみると、非表示キャンバスへの描画は、表示されてるキャンバスに比べて更新の負担が軽いような感じがあります。 実際、私のPCではCanvas表示サイズの幅512を超えると極端に動作がモタツクのが問題でした。しかし一方、非表示キャンバスの更新はいくら領域を増やした所で、動作に支障は出ないようでした。 今回、こういった非表示キャンバスの描画更新メソッドを全体で行うとどうなるか試します。画面のもたつきを無くし、描画パフォーマンス向上させ、ひいてはcanvasサイズの許容を一回

                                                                                JavaScriptでゲーム作り「17-3:Canvas描画の最適化 ダブルバッファリング」
                                                                              • Quineから始めるRuby超絶技巧プログラミング入門 - Qiita

                                                                                はじめに あなたは 超絶技巧プログラミング を知っていますか? 書籍「あなたの知らない超絶技巧プログラミングの世界」では以下のように書かれています。 超絶技巧プログラミングとは、「実用的なプログラミング言語を使って全く実用的でないものを作る遊び」です。 超絶技巧プログラミングの例として、以下のようなものがあります。 上記のポストを投稿した tompng さんが RubyKaigi にて紹介していた超絶技巧プログラミングに魅了され、僕も入門してみました。 この記事では、書籍「あなたの知らない超絶技巧プログラミングの世界」の紹介と、書籍に記載の方法で作ってみたオリジナルのプログラムの紹介を行います。 超絶技巧プログラミング 様々な種類の超絶技巧プログラミングがあります。書籍では以下のプログラムの紹介がありました。 自己生成プログラミング (Quine) プログラムを実行すると、そのプログラムが

                                                                                  Quineから始めるRuby超絶技巧プログラミング入門 - Qiita
                                                                                • 「Clean Architecture(クリーンアーキテクチャ)」の内容をまとめました - Qiita

                                                                                  ソフトウェアの振る舞いは、拡張できるようにすべきである こちらは「オープン・クローズドの原則」に関する記述です。 ソフトウェアの振る舞いは、既存の成果物を変更せず拡張できるようにすべきである、ということだ。 これこそが、我々がソフトウェアアーキテクチャを学ぶ根本的な理由だ。 ちょっとした拡張のために大量の書き換えが必要になるようなら、そのソフトウェアシステムのアーキテクトは大失敗への道を進んでいることになる。 拡張可能な設計! 肝に銘じます! インターフェイスは分離させよ こちらは「インターフェイス分離の原則」に関する記述です。 必要としないモジュールに依存することは一般的に有害とされる。 ソースコードの依存関係においては、再コンパイルや再デプロイを強制されるので明らかに有害であることがわかる。 だが、さらに上位のアーキテクチャレベルにおいても有害なのだ。 この辺りは今どきのフレームワーク

                                                                                    「Clean Architecture(クリーンアーキテクチャ)」の内容をまとめました - Qiita