タグ

tajima_tasoのブックマーク (3,241)

  • Rails初学者に向けたマイグレーションの仕組みと実践方法 | 株式会社divx(ディブエックス)

    目次[非表示] 1.はじめに 2.実施環境 3.マイグレーションとは 4.up・downについて 5.修正方法2つ 5.1.修正したマイグレーションファイルの追加 5.2.ロールバック 5.3.changeについて 6.NO FILEと表示された時の対処法 6.1.そもそもなぜこのようなエラーが起こるか 6.2.解決方法 7.終わりに 8.お悩みご相談ください はじめにエンジニアのみなさん、こんにちは。 入社してから1年が過ぎ、日々知識を吸収しながら業務にあたっています。 最近Ruby on Rails(以下、Rails)での開発案件にアサインされました。 Rails自体は過去に一度触ったことがありますが、その時にはバックのロジックを修正しただけで、データベース(以下、DB)設計などはしたことがありませんでした。 実際に業務を進めていく中でDB設計をすることとなり、「マイグレーション」とい

    Rails初学者に向けたマイグレーションの仕組みと実践方法 | 株式会社divx(ディブエックス)
  • DIVXのいち開発グループが行なっている生産性向上の取り組み

    目次[非表示] 1.はじめに 2.生産性向上とは? 3.DIVXのいち開発グループが行なっている生産性向上の取り組み 3.1.目的と背景 3.2.生産性向上の取り組みの詳細 3.2.1.ルール 3.2.2.評価手法 3.2.3.実施した施策の一例 3.3.まとめ 4.さいごに 5.お悩みご相談ください はじめにこんにちは。DIVXのいち開発グループの組織マネジメントを担当している矢田です。 今回は、「DIVXのいち開発グループが行なっている生産性向上の取り組み」ということで、私が組織マネジメントをしている開発グループ(合計13名。3チーム)で行っている生産性向上の取り組みについて話をします。(以降、この開発グループを「開発グループA」とします) みなさんは生産性高く日々の業務に取り組めているでしょうか? 「いや、生産性ってなんだよ!生産性が高くなるとなんか良いことあんのか?」みたいに、憤慨

    DIVXのいち開発グループが行なっている生産性向上の取り組み
  • ステップバイステップで学ぶ初めてのPHPアップデート | 株式会社divx(ディブエックス)

    目次[非表示] 1.はじめに 2.なぜPHPバージョンアップが必要なのか? 3.PHPバージョンアップ手順 3.0.1.PHP 7.4とPHP 8.3の変更差分調査 3.0.2.Laravelのバージョンアップ(7.3から10へ)の調査 3.0.3.Composerライブラリのバージョンアップ 3.0.4.PHP 8のローカル環境設定を更新する 3.0.5.静的解析の実施 3.0.6.テスト仕様書の作成 3.0.7.エラーの修正 3.0.8.テスト環境へのデプロイ 3.0.9.デバッグ 3.0.10.番環境へのデプロイ 4.静的解析ツールの活用 4.0.1.PHPStanを使用した理由 4.1.ルールレベルの設定 4.1.1.使用した感触 5.まとめ 6.お悩みご相談ください はじめにこんにちは、株式会社DIVXでエンジニアを務めております、間と申します。 今回は、PHPのバージョンを

    ステップバイステップで学ぶ初めてのPHPアップデート | 株式会社divx(ディブエックス)
  • エンジニアとしての成長:共通の弱点と成長を実現する方法

    こちらの記事はDIVXアドベントカレンダー2023の8日目の記事です。 自己紹介DIVXでエンジニアを務めている小柳津洋毅と申します。 今回、記事を執筆する機会をいただき、どのような内容にしようかと悩みました。最終的には、私自身が実践して成長を感じた行動や、成長につながるだろうと思うポイントについて書かせていただくことにしました。これらをここに記して、皆さんに客観的に見ていただき、私なりの対処法も共有したいと思います。 この記事が皆さんの参考になれば幸いです。ぜひ活用していただければと思います。 エンジニアとして直面する共通の課題とその影響エンジニアとして活動する上で、いくつかの苦手な点が仕事のスムーズな進行に影響を及ぼすことがあります。 まず、「問題を明確にすること」が一つの課題です。プロジェクトやタスクにおいて問題を的確に特定し、その質を理解することが難しく、これが効率的な解決策の見

    エンジニアとしての成長:共通の弱点と成長を実現する方法
  • リードレプリカを活用してRDSの負荷分散を実際に検証してみた。

    目次[非表示] 1.はじめに 2.まず、データーベースの「負荷分散」って何でしょうか? 3.RDSとリードレプリカとは 4.ここからは実際にテストしてみました 4.1.RDSでデーターベースを作成 4.2.テストデータを作成 4.2.1.railsアプリケーションの設定 4.3.データーベースにテストデータを追加する 4.3.1.テストデータをコマンドで追加 4.3.2.テストデータがRDS(MySQL)に入っているか確認する 4.4.RDSからリードレプリカを作成 4.5.テストツール(JMeter)のセットアップ 4.5.1.JMeterのインストール 4.5.2.JMeterテストプランの設定 4.5.2.1.スレッドグループを作成 4.5.3.JDBC接続設定追加の設定 4.5.4.JDBCリクエストの設定 4.5.5.リスナーの指定 4.6.テスト結果の比較 5.終わりに はじめ

    リードレプリカを活用してRDSの負荷分散を実際に検証してみた。
  • ruby-openaiでAIの力を体感!ソースコード解説&簡単ハンズオン

    目次[非表示] 1.はじめに 2.ruby-openaiとは? 2.1.ruby-openaiの機能一覧 2.2.ruby-openai自体の説明 3.ハンズオン 3.1.準備 3.2.ChatGPT 3.3.Embeddings 3.4.Files 3.5.Finetune 3.6.Image 3.7.Edit 3.8.Whisper 3.9.Transcribe 4.感想・まとめ 5.おわりに こちらの記事はDIVXアドベントカレンダー2023の6日目の記事です。 はじめに株式会社divxの細野・大石です。 現在、私たちの所属する株式会社divxにおいて、Rubyを使用した案件比率は少なくありません。 また、最近は「Chat-GPT」が巷を大変賑わせており、自然言語処理を活用する案件も今後一層増えてくるのではと感じています。 一方で、Rubyで自然言語処理モデルを使用するためのライブラ

    ruby-openaiでAIの力を体感!ソースコード解説&簡単ハンズオン
  • プロジェクトマネージャーがプロジェクトマネジメント以前に意識すべきこと TOP3

    はじめにこちらの記事はDIVXアドベントカレンダー2023の2日目の記事です。 こんにちは。DIVXでプロジェクトマネージャーをしております矢田と申します。去年に引き続きDIVXアドベントカレンダー2023の二番手を務めさせていただきます。 さて、DIVXアドベントカレンダー2023の2日目の記事は「プロジェクトマネージャーがプロジェクトマネジメント以前に意識すべきこと TOP3」です。この題材を採用した理由は、私自身が今年一年で学んだことを読者に還元したいと考えたからです。 今年一年、私は、数人月から数十人月など様々な規模のプロジェクトに携わりました。とあるプロジェクトでは、開始当初、「要件がふわっとしすぎ・・・」「技術的な難易度とクライアントの期待値が全然あってない・・・」など多くの課題があったものの、最終的に全ての課題を解消しつつアプリケーションをローンチさせ、クライアントに大満足い

    プロジェクトマネージャーがプロジェクトマネジメント以前に意識すべきこと TOP3
  • 結局のところ受託開発って何なんだろうね - DIVX engineer gateway

    ごあいさつ 自己紹介というかポジションの説明 DIVXという会社の事業構造 受託開発という言葉の評判 まずどうして受託開発の評判が悪いのか 請負プロジェクトの難しさ SES派遣というグレーゾーン 嫉妬するような自社サービス企業の人気 実際に受託開発の悪いところはどこか では受託開発に良いところはないのか 経験値ボーナス 給料高いの? 専門性 ワークライフバランス 自社サービス現場が当によいといい切れるのか たぶんエンジニアリングだけをし続けるならどこも一緒 いずれにせよその先まで見据えられるかでちょっと変わる 受託開発がなくなる日はくるのか まずなぜ内製化がすすまないか あなたが経営者であったときに当にエンジニアを雇用するか そもそも一般企業がエンジニアを採用できる保証はない 受託開発企業の需要の正体 受託開発が無くなる日は来るのか そうなったらどうするつもりか おわりに ごあいさつ

    結局のところ受託開発って何なんだろうね - DIVX engineer gateway
  • Javaのmainメソッドの戻り値はvoidだが、リターンコードはどうなっているのか - DIVX engineer gateway

  • CloudFormationとTerraformをCloudWatch Logsのログデータエクスポート処理を実装して比較する - DIVX engineer gateway

  • 【特集】 Windows 11は結局何が良くて何が微妙なのか?OSの出来やゲーム性能などを三者三様に分析

    【特集】 Windows 11は結局何が良くて何が微妙なのか?OSの出来やゲーム性能などを三者三様に分析
  • 例え話をしないC言語のポインタの説明 | 右や左の旦那様

    まえおき 巷では「プログラマーになりたい人に初学者にとって、ポインタという考え方がわけわかめ」という話がよくあります。 そこでいろいろな人が「ポインタは住所だ」とか「変数がハコで」とか手を変え品を変え分かりやすいように説明してくれています。 それでもなお「ポインタがわかりづらい」という人が後を絶ちません。 もういっそのこと、例え話をやめてド直球で攻めたらいいんじゃないでしょうか。 Hello, Worldより簡単に サンプルコード 以下のコードを考えます。 void main() { int a; int b; int c; a = 1; b = 2; c = a + b; } 「#include <stdio.h>」なんていう謎のオマジナイはこの際ナシです。あんなもの無くたってC言語は成り立ちます。 まぁ見ての通り、どこにも何も出力されませんが。 このプログラムは、「c = a + b」

    例え話をしないC言語のポインタの説明 | 右や左の旦那様
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • Linux におけるファイル I/O の基礎

    すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。 ファイル Unix におけるファイルとは、普通「通常ファイル」のことを指し、バイトがリニアに並んだデータ (byte stream) のことである。 ファイル内のバイトは読み書きが可能で、指定されたバイトから開始する。この開始バイトはファイル内の「位置」と考えることができ、ファイルポジションまたはファイルオフセットという。 通常ファイルとは別に、スペシャルファイルというファイルとして表現されたカーネルオブジェクトがある。Linux では、スペシャルファイルとしてデバイスノード・名前付

    Linux におけるファイル I/O の基礎
  • 【幕張読書会】Unixカーネルの設計 3(バッファキャッシュ)

  • The Linux Kernel

    David A Rusling david.rusling@arm.comv0.8-3 January 25, 1999 JF Projectv0.8-3 December 2000 *フレーム表示* 書は、Linux カーネルの仕組みを知りたい Linux 愛好家のためのものです。これは 内部構造のマニュアルではありません。むしろ Linux で使用されている原理や メカニズムを解説したものであり、Linux の動作原理とはどういうもので、なぜそれ が採用されているのかを説明するものです。 Linux という対象は常に変化しています。書がベースにしているのは現在の安定 版である 2.0.33 のカーネルソースですが、これは個人や法人の大部分で使用されて いるのがこのバージョンだからです。 また、書は自由に配布してもらってかまわないので、一定の条件のもとにではあり ますが、複製や再配

  • ECMAScript 2015以降のJavaScriptの`this`を理解する

    この記事はJavaScriptの入門書として書いているjs-primerのthisに関する部分をベースにしています。 またjs-primerでは書けなかった現在時点(2018年1月1日)でのブラウザの挙動についてを加えたものです。 次の場所にjs-primer版(書籍版)のthisについての解説があります。 この記事と違って実際にコードを実行しながら読めるので、学習ソースとしては書籍版を推奨します。 書籍版: 関数とthis · JavaScriptの入門書 #jsprimer また、バグ報告やPRも直接リポジトリにして問題ありません。 asciidwango/js-primer: JavaScriptの入門書 おかしい場所を選択した状態で右下にある”Bug Report”ボタンを押せば、簡単にtypoとかのバグを報告できます。(PRでも歓迎) 前置きはこの辺までで、ここから編。 この記

    ECMAScript 2015以降のJavaScriptの`this`を理解する
  • LinuxのBPF : (1) パケットフィルタ - 睡分不足

    はじめに BPFの基礎 BPFの構造 BPFでのフィルタリング レジスタマシン LinuxでのBPF BPFを利用したパケットフィルタリング libpcapとBPF ここまでのまとめ 参考文献 その他参考URL はじめに BPFはBerkeley Packet Filterの略で,1993年に効率的なパケットフィルタリング手法として提案されました[1] *1. BPFの構成要素は大きく2つあって,一つがネットワークからパケットをキャプチャする部分,そしてもう一つがキャプチャした パケットをフィルタリングする部分です.BPFといった場合,後者のフィルタリング機構だけを指すことも多いです. FreeBSDなどのBSD系のOSでは/dev/bpf*という特別なデバイスがあって,このBPFを利用することができます.また, Linuxでもパケットフィルタリング(Linux Sokcet Filter

    LinuxのBPF : (1) パケットフィルタ - 睡分不足
  • LinuxのBPF : (3) eBPFの基礎 - 睡分不足

    はじめに(注意) extended BPF (eBPF) eBPF map eBPFプログラムの例 eBPFのmapの作成 eBPFプログラムの作成 eBPFフィルタプログラムの利用 setsockoptの挙動 JIT ソース まとめ はじめに(注意) ちょうど一年ぐらい前にLinuxのBPFについて記事を書いていました. 最初の記事は古典的なBPFについて,二番目の記事はseccompについてです. eBPFに関する文章も書いていて,てっきり公開していたと思っていたのですが今下書きのまま保存され一年以上放置されていたことに気づきました.. BPFの開発は非常に活発で,ここに書いてる情報が古い可能性もあるのですが,せっかくなので公開しておきます. この記事はLinux 4.7時点での情報に基づきます.プログラムはLinux 4.7(Ubuntu Xeniel)で動作確認しています. ext

    LinuxのBPF : (3) eBPFの基礎 - 睡分不足
  • Fedora/LinuxでZFS on Linuxを使う

    (Last Updated On: 2022年6月13日)Fedora(Linux)でボリューム管理、スナップショット、圧縮、RAID5以上の性能と可能性を持つファイルシステムで”安定しているファイルシステム”となるとZFSしかありません。 機能的にはBtrfsも同等の機能を持っています。しかし、少なくともこのブログを書いている時点では、RAID56はカーネルがクラッシュした場合などにファイルシステムが壊れてしまう問題があります。2017年8月に修正パッチが提案されていますが、12月現在でも運用環境では使用しないように、と注意書きがあります。 ZFS, Btrfsは両方ともデータの整合性のチェックが可能です。一般にログファイルシステムと呼ばれているファイルシステム(NTFS, XFS2, Ext4など)はディレクトリ情報などのメタデータの整合性をログで維持しています。ZFS、Btrfsはメ

    Fedora/LinuxでZFS on Linuxを使う