並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 2089件

新着順 人気順

Perlの検索結果241 - 280 件 / 2089件

  • Go: A Documentary

    Go: A Documentary by Changkun Ou <changkun.de> (and many inputs from contributors) This document collects many interesting (publicly observable) issues, discussions, proposals, CLs, and talks from the Go development process, which intends to offer a comprehensive reference of the Go history. Disclaimer Most of the texts are written as subjective understanding based on public sources Factual and ty

    • [テンプレ付き]PythonでCLIツールを作るときのTips | DevelopersIO

      こんにちは、どんな作業もターミナルで行うことが多めの平野です。 最近はパイプに流すようなCLIアプリもPythonで作ることが多いので、 そこで必要になったいくつかの要素をまとめてみます。 パイプライン処理として実装しよう BrokenPipeの表示を消す argparseによる引数とオプションのパース この辺を考慮すれば、あとは文字列変換の主要なロジックだけを実装すればOKかと思います。 パイプライン処理として実装しよう パイプライン処理とだけ言うと色々な意味がありそうですが、ここで言っている意味は データの先頭行の処理の結果は最終行が入力される前でも取り出せるようにしよう ということです。 パイプ (コンピュータ)#シェルからの使用 - Wikipedia 複数行のテキストが入力されてきた時に、 それぞれの行の文字数をカウントするアプリケーションを作ったとします。 この時、以下のような

        [テンプレ付き]PythonでCLIツールを作るときのTips | DevelopersIO
      • PerlでJVMをつくろう - Mobile Factory Tech Blog

        要約 JVMは任意の言語で作ることができるので、Perlで書いてみました github.com このようにクラスファイルを読み取り、それを実行することができます 今回は読者がJVMを書き始められるようにクラスファイルの読み取り方に焦点をおいて解説します(あまりPerlの話はしません) 目次 自己紹介 JVMの基本 クラスファイルの解説 オペコードの実行 まとめ 自己紹介 駅メモにて主にバックエンドを担当しているid:toricorです。 仕事ではサーバがPerl実装なので、Perlでいろいろな機能を実装したりパフォーマンスチューニングをしたりしています。 JVMをつくろう 残念ながら今のところ仕事ではほぼJVMと縁がないので、まずは基本を確認します JVMとは Java Virtual Machine(Java仮想マシン)の略です Java仮想マシン - Wikipedia JVMはJav

          PerlでJVMをつくろう - Mobile Factory Tech Blog
        • 11月25日(木)に Hatena Engineer Seminar #17 はてラボの裏側編 をオンラインで開催します - Hatena Developer Blog

          こんにちは. はてなWebアプリケーションエンジニアの id:papix です. このたび, 今年4月に開催して以来となるエンジニアセミナー, Hatena Engineer Seminar #17 はてラボの裏側編を,11月25日(木曜日)に開催することが決定いたしました! 昨今の事情を鑑み, 今回もオンラインでの開催となりますが, アンテナや匿名ダイアリーなど, ラボサービスの裏側について聞くことができる貴重な内容となっています. 加えて, 今回は発表終了後に登壇者と歓談できる時間もご用意しております(詳しくはconnpassのイベントページをご確認ください). さて, ラボサービスを開発するというと, 日々コードを書いているエンジニアの専売特許... という印象があるかもしれません. しかしながら, 今回のエンジニアセミナーで紹介する「てがきはてなブログ」は, ディレクターである i

            11月25日(木)に Hatena Engineer Seminar #17 はてラボの裏側編 をオンラインで開催します - Hatena Developer Blog
          • Goでテスト中に現在時刻を差し替えたりするflextimeというのを作った | おそらくはそれさえも平凡な日々

            https://github.com/Songmu/flextime flextimeはテストコードの中で現在時刻を切り替えるためのライブラリです。Sleep時に実際に時間を止めずに時間が経過したように見せかける機能もあります。 つまり、PerlのTest::MockTimeやRubyのtimecop的なことをしたいわけですが、Goだとグローバルに関数の挙動を切り替えるといったことはできないため、利用にあたってはtimeパッケージで使っている関数を、flextimeパッケージに切り替える必要があります。 具体的には、flextimeはtimeパッケージと同様のインターフェースを備える以下の9つの関数を提供しています。 now := flextime.Now() flextime.Sleep() d := flextime.Until(date) d := flextime.Since(da

              Goでテスト中に現在時刻を差し替えたりするflextimeというのを作った | おそらくはそれさえも平凡な日々
            • Goとマルチコアスケール実装

              マルチコア化の未来予測 半世紀前にSF映画「2001年宇宙の旅」に登場するコンピューターHAL-9000が並列コンピューティングの未来を示しました。マルチコアで構成されたコンピューターの物理コアを取り除いてもすぐにクラッシュせずに性能ダウンして処理が継続するという演出がありました。 当時ですらシングルコアコンピューティングの限界が予想されていて、現状のコンピューティングがマルチコア化しているという未来をしっかり予測できていたことがわかります。 演出はコア数に応じてコンピューティング性能がスケールしていることを表現しています。これはマルチコアスケールするソフトウェア実装の未来を示していたと思います。 シングルコア性能向上の頭打ち 2003年以降あたりはCPUの動作周波数が伸び悩み出したところ。 https://queue.acm.org/detail.cfm?id=2181798 より その

                Goとマルチコアスケール実装
              • Rubyへの累計コミット数18,000以上。アカツキ所属のパッチモンスター中田さんに機能の開発秘話を聞いた - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

                直感的な文法や生産性の高さから、世界中の人々に愛されるオブジェクト指向スクリプト言語Ruby。この言語には継続的に新しい機能や文法が追加されており、利便性が向上し続けています。コミッターの方々による日々の努力が、Rubyの改善を支えているのです。 コミッターのなかでも、とりわけRubyに大きな貢献をしてきたのがアカツキでフルタイムRubyコミッターを務める中田伸悦さん。(アカツキのCSRの取組みについてを記事下部参照) github.com 中田さんはRubyへのコミット数が全コミッターのなかで最多であり、通称“パッチモンスターと”呼ばれています。 今回のインタビューでは、中田さんがRubyへのコントリビューションを始めたきっかけや、印象に残る機能改修について解説してもらいました。「Rubyのことをもっと詳しく知りたい」「オープンソースソフトウェア(以下、OSS)へのコントリビューションを

                  Rubyへの累計コミット数18,000以上。アカツキ所属のパッチモンスター中田さんに機能の開発秘話を聞いた - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
                • プログラミングで辛かったこと。よかったこと。|Seiji Takahashi@ベースマキナ

                  この流れです。 前提基本的に自分はGoのサーバーサイドが主戦場で、カンファレンスにはよく顔を出します。最近はOSSを公開すればいい感じにGithub Trendsの上の方にきて目立つような、芸人っぽいムーブができるようになりました。 ですが、直近プライベートではGo以外にTypeScript(Next.js) でGraphQLのクライアント書いたり、仕事だと前はSwiftやらC++やらPerlやら色々使っていたので、他の方と比べると広く浅い経歴です。 また、大学に入ってから学習を始めましたし、当時はドットインストールが出始めたくらいで、基本的には書籍で勉強していました。大学では授業でFORTRANの授業を取りました。内容は意味わからなかったので同級生に寄生してました。 Progateとかプログラミングスクールとかには頼ってませんでした。無かったので...。なので、「幼少期からBASICを触

                    プログラミングで辛かったこと。よかったこと。|Seiji Takahashi@ベースマキナ
                  • The Protobuf Language Specification

                    At Buf, our goal is to improve the way software systems integrate by making schema-driven development a "pit of success". And we've put our money on Protobuf as the winning way to describe those schemas. We are expanding on the work of the Protobuf team by providing the community a complete language spec. Protobuf is the most stable and widely adopted IDL today. By building on Protobuf, we are sta

                      The Protobuf Language Specification
                    • Railsオワコン論 - laiso

                      人の見方によっていろいろなんですね。一番高いところを知っていて、現状を見た時にそっちのほうが低いので、人気が落ちたというふうに見る人も当然いるわけですよね。人気が落ち続けると消えてしまうので、オワコンと言う人もいます。日本でも海外でも、毎年のように「Rubyは死んだ」みたいなことをブログに書く人がいます。 https://logmi.jp/tech/articles/326541 logmi.jp ハイプサイクルの頂点との落差がRubyやRailsのオワコン論の印象を呼ぶという話はそのとうりだと思う。 実際に急激なシェアの落ち込みが発生しているのかというと Stack Overflow Insights などを見ても観測できない。 (この話題についてのGoogle Trends同士の比較は「ハイプサイクルは実在する」ぐらいの感想しか得られないことが多い) 「最近は新規プロジェクトのアプリケ

                        Railsオワコン論 - laiso
                      • ScalaMatsuri2019にて「いかにして我々は10年もののPerlプロダクトをScalaでリプレースしたか」というタイトルで登壇しました - Hatena Developer Blog

                        アプリケーションエンジニアの id:tanishiking24 です。2019年6月27日から29日にかけて開催されたScalaMatsuri2019にて、「いかにして我々は10年もののPerlプロダクトをScalaでリプレースしたか」というタイトルで登壇しました。 speakerdeck.com (イベントのレギュレーション上、発表資料は英語+日本語字幕で構成されていますが、トーク自体は日本語でした。) この発表では我々が運用しているWebサービスの一つであるはてなブックマークのScalaを用いたフルリニューアルプロジェクトについてお話しました。同じ時間帯に他にも様々な魅力的なトラックがあったにもかかわらず多くの人が発表を聞きに来てくださり、Twitterのハッシュタグで様々な感想をいただき、また発表後にも何人もの方が時間が足りず話しきれなかったデータ移行などについて質問しにきてください

                          ScalaMatsuri2019にて「いかにして我々は10年もののPerlプロダクトをScalaでリプレースしたか」というタイトルで登壇しました - Hatena Developer Blog
                        • CircleCI API v2で自由自在に業務ワークフローのタスクを実行する - KAYAC engineers' blog

                          ごきげんよう、CI日和ですね。技術部の谷脇です。 先日Jenkinsでテストを実行したり、Slack Botからトリガーして実行していた業務ワークフローの必要なタスクをえいやっとCircleCIに持っていったのでその話をします。 長いので要約すると ヘビーにJenkins使ってたのを全部CircleCIに持っていきました。自動テストとSlack Botからトリガーされるジョブです CircleCI 2.1の機能をつかって設定を書きました。いい感じです テスト以外でBotからキックするようなジョブはそのままだと難しいので、プレビューリリースのCircleCI API v2を使いました。必見です 自前運用のJenkinsさんお疲れ様でした テストを継続的に動かす環境といえばJenkinsです。カヤックでも多くのプロジェクトでテストや、その他様々なタスクを実行する環境として利用されてきました。

                            CircleCI API v2で自由自在に業務ワークフローのタスクを実行する - KAYAC engineers' blog
                          • 7年間運用したソーシャルゲームを Amazon EC2構成からAmazon ECS構成へと 乗り換えた話

                            • なぜGo言語の正規表現は遅いと言われるの? - Qiita

                              はじめに Goの正規表現は遅いと言われていることが以前から疑問だったので調査してみました。 こちらの記事やこちらの記事を拝見する限り ① 現実的なユースケース(例えばURLのパースなど)ではGo言語の正規表現は使うべきではなく、stringsパッケージの標準の関数を利用した方がパフォーマンスとしては良い。 ② Go言語で正規表現を利用するために必要な"正規表現オブジェクト"を並行にアクセスするにはパフォーマンスが問題になるので注意が必要。 とあります。その理由は、それぞれ以下に集約できるようです。 ① Go言語標準の正規表現ライブラリは、正規表現と検査文字列の長さに対して常に$O(n^2)$のオーダーで計算量が増加する安定したアルゴリズムを採用している。 ② "正規表現オブジェクト"を用いたマッチング処理には排他制御が行われている。 調べてみる Go言語のpkg/regexpの公式ドキュメ

                                なぜGo言語の正規表現は遅いと言われるの? - Qiita
                              • 「アイデアだけでは意味がない、実装されて初めて意味がある」 世界最古のプログラミング言語から学ぶ教訓

                                プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。1回目は、「アイデアだけでは十分ではない」について。 Ruby開発のきっかけ まつもとゆきひろ氏:じゃあ、始めます。Rubyを作り始めた記録が残っているんですが、その当時勤めていた会社の先輩にあたる人が、本を書くという話になったんですね。 その時に、彼は『プログラミング言語を作りながら学ぶオブジェクト指向』という本を書くと言ってきたんですね。編集の人と話をしていく中で「どういう企

                                  「アイデアだけでは意味がない、実装されて初めて意味がある」 世界最古のプログラミング言語から学ぶ教訓
                                • ChatGPT/Co-Pilotで改めてわかる「プログラミング」とはどんな作業だったのか|shi3z

                                  最初にプログラミングを始めた時は、学校にリファレンスマニュアルを持って行って全てのページを丸暗記した。丸暗記が目的だったわけではなく、読んで知識を吸収していくのが楽しくてしょうがなかった。 PC-9801のN88-BASICリファレンスマニュアルは、読み物としてとても良くできていた。各ステートメントの紹介があり、パラメータの説明があり、ごく簡単なサンプルコードも書いてあった。大体見開き一ページで一つのステートメントの説明なので読みやすかったし、ベーマガかなんかで読む呪文のようなコマンドの意味を詳細まで知れて楽しかった。 だがこれを「楽しい」と思う人は少数派のようだった。 僕のクラスメートのうち、相当数の人が親にパソコンを買ってもらい、BASICに挑戦したが、全くその世界に馴染めず結局ゲーム機になって行った。僕も親父がゲームなんかを買ってきたら話は変わっていたかもしれないが、親父の教育方針で

                                    ChatGPT/Co-Pilotで改めてわかる「プログラミング」とはどんな作業だったのか|shi3z
                                  • "Hello, world!"のもう一歩先へ! 興味駆動開発で学び、ブログに残し続けたその先には、新しい世界があった - Findy Engineer Lab

                                    すぎゃーん(@sugyan)と申します。Web系の企業でソフトウェアエンジニアとして働き、主にサーバサイドのアプリケーション開発をやっています。 長らく関東で暮らしていましたが、2018年に京都に転勤し、1年半ほど過ごしました。そこで今の妻と出会い、結婚や転職などを機に2019年初夏に妻と2人で東京に移り住み、とあるベンチャー企業で働きはじめました。 これまで東京を中心に勉強会などに参加してきましたが、ここ数年は自分自身もエンジニアコミュニティをめぐる状況も大きく変わっています。そんななかでも変わらずに、興味を持った技術があれば淡々と手を動かし、アウトプットを続けてきたことについて書いてみようと思います。 2020年は予想外の展開で「東京に戻らない」ことを選択 ブログを通じて「自分で作った」ものが名刺代わりになった キャリアの始まりでブログを始め、勉強会に出会った 勉強した軌跡をメモとして

                                      "Hello, world!"のもう一歩先へ! 興味駆動開発で学び、ブログに残し続けたその先には、新しい世界があった - Findy Engineer Lab
                                    • Kaggleの学習から投稿までをAWS, GitHub Actionsを使って自動化する - kanayamaのブログ

                                      金山(@tkanayama_)です。先日終了したKaggleの"M5 Forecasting"というコンペに参加した際、クラウドやCI/CDの勉強も兼ねて、AWS, GitHub Actionsを使って遊んでみました。 免責 N番煎じだったらすみません。一応、同じことをやっているネット記事は見つかりませんでした。 私はクラウドなど勉強中の身分ですので、もっといいやり方がある or 説明が間違っている、などありましたら教えてください。 私がこのシステムを使って参加したコンペの順位は5,558チーム中1,000,000,000位だったので、Kaggleで勝てるかどうかは別問題のようです :pien: この記事のゴール 下記のようなシステムを構築することをゴールとします。 ユーザーがやることは2つ(図中でユーザーから伸びている黄色矢印)で、 実装したコードをgit pushし、 AWSコンソール

                                        Kaggleの学習から投稿までをAWS, GitHub Actionsを使って自動化する - kanayamaのブログ
                                      • ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog

                                        ISUCON12 オンライン予選の利用言語比率を公開します。オンライン予選は698チームの参加があり、運営で利用言語を把握できたのは568チームとなりました。 ※最後のベンチマーカー実行で初期化リクエストに失敗したチームは利用言語が不明となっています オンライン予選 利用言語比率利用率の全体ランキングは以下の通りです Go      402組 70.8% Ruby     43組  7.6% Nodejs    43組  7.6% Python    34組  6.0% Rust     19組  3.3% PHP     16組  2.8% Perl       5組  0.9% Java       5組  0.9% その他(Go2) 1組  0.2% ※言語名はチームによる自己申告となっています 本選出場が決まった30チームに限定すると以下となります。 Go      26組 86.

                                          ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog
                                        • 流行っている・流行っていないプログラミング言語に関する1つの考察 - Qiita

                                          なぜ〇〇というプログラミング言語は流行らなかったのか? 最近、私は古くからあるプログラミング言語に興味があり、LispやSmalltalkなどの言語に興味があります。触っていくうちに、結構面白いな。と思うことがあるのですが、それほど人気があるとは言えません。 例えば、プログラミングの人気を表すTIOBE Indexでも、ランクが高いとは言えませんし、それらの言語はプログラミング言語の歴史。という中で、ちょっと学ぶぐらいで、それほど詳しくは知らない。という人が多いでしょう。 Quoraを探してみると、「Lispはなぜ覇権を握らなかったのでしょうか?」の回答であったり、「Smalltalk が広く使われなくなったのはなぜですか?」という回答が見つかります。 そのように各プログラミング言語に関する言説を読んだり、実際に使って見たり、歴史を紐解いていくうちに、思うことがあったので、まとめたいと思い

                                            流行っている・流行っていないプログラミング言語に関する1つの考察 - Qiita
                                          • 入門EOL対応

                                            入門EOL対応 ~SREが鉄板の流れ全部見せます編~ https://fortee.jp/yapc-hiroshima-2024/proposal/8b778ed2-df11-4bee-a4b7-81e2b85b51c4 ソフトウェアは進化する一方で、全てのバージョンをサポートし保守し続けるのはリソースを効果的に割り当てる観点から現実的ではありません。 セキュリティリスクや管理コストを考慮し、サポート終了期間を設けるEOLを用いた運用が一般的に採用されています。 サービスを運営する中で、EOLに対して時間に余裕を持って対応できればよいですが機能開発が優先されることでリソース不足となってしまうなどでソフトウェアのEOL対応に対して後手に回ってしまうという課題がありました。 このセッションでは、GMOペパボのSREがソフトウェアのEOL対応をベースとした、ソフトウェアをただアップデートするだけ

                                              入門EOL対応
                                            • 徳丸本2版の実習環境をDockerに移植した話 - Qiita

                                              PHPのバージョン 主なコンテンツ(脆弱なスクリプト)はPHP 5.3.3(CGIモード)で動いています。これは、古いPHPでないと発現しない脆弱性に対応するためで、代表的なものとしてNULLバイト攻撃があります。PHPは5.3.4以降でNULLバイト攻撃に対応したため、NULLバイト攻撃を体験するにはPHP 5.3.3以前のものを使う必要があります。一方、新しいバージョンのPHPが必要な箇所もあり、その場合はPHP7.0.27(Debian9標準パッケージのもの)を使い分けています。 メール関連の脆弱性対応 メールヘッダ・インジェクションを体験するにはメールの送受信の仕組みが必要なため、Postfix、Dovecot、RoundCubeがインストールされています。徳丸本初版は「お手元のメールクライアントソフトをお使いください」という体でしたが、今どきメールクライアントを使っている人も少な

                                                徳丸本2版の実習環境をDockerに移植した話 - Qiita
                                              • 最近話題の「JAMスタック」(JavaScript、API、Markup)とヘッドレスCMS、使いどころはどこなのか? [PR]

                                                最近話題の「JAMスタック」(JavaScript、API、Markup)とヘッドレスCMS、使いどころはどこなのか? [PR] Webアプリケーションを実現するための構成技術として「LAMPスタック」や「MEANスタック」などがよく知られていますが、この主要スタックに新たに加わるように2~3年前から名前が知られるようになったのが「JAMstack」(JAMスタック)です。 ReactやVueJSなどを用いてWebアプリケーションを開発している方は、すでにJAMスタックの名前を聞いたことがあるのではないかと思います。2017年からはJAMスタックにフォーカスした年次イベント「JAMstack Conference」が始まり、今年も5月にオンラインイベント「Jamstack Conf Virtual 2020」が開催、10月には「JAMstack Conf San Francisco 202

                                                  最近話題の「JAMスタック」(JavaScript、API、Markup)とヘッドレスCMS、使いどころはどこなのか? [PR]
                                                • 達人出版会

                                                  探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                                    達人出版会
                                                  • vim-lsp の導入コストを下げるプラグイン vim-lsp-settings を書いた。 - Qiita

                                                    これら全ての機能は、テキストエディタと Language Server との間で JSON-RPC を使い、ソースコード本体、コード補完候補、座標情報などを交換する事で実現されています。 温故知新 実は Language Server Protocol は OmniSharp というソースコード補完サーバがベースとなっています。 OmniSharp は元々、Vim で C# のコードを補完する為に作られた Vim プラグインでした。当時は Vim が curl コマンドで通信できる様に REST サーバとして作られていました。それを Microsoft が双方向の通信を行える様に通信仕様を JSON-RPC に定め、汎用化の為に仕様として策定した物が現在の Language Server Protocol です。 Language Server Protocol は Visual Stud

                                                      vim-lsp の導入コストを下げるプラグイン vim-lsp-settings を書いた。 - Qiita
                                                    • Deep Tabnine - Tabnine Blog

                                                      Update (August 19): We’ve released Tabnine Local, which lets you run Deep Tabnine on your own machine. TL;DR: Tabnine is an autocompleter that helps you write code faster. We’re adding a deep learning model which significantly improves suggestion quality. You can see videos below and you can sign up for it here. There has been a lot of hype about deep learning in the past few years. Neural network

                                                        Deep Tabnine - Tabnine Blog
                                                      • Perlは、慣れてさえしまえば手早く書けて色々できて最高

                                                        っていう話を十数年前に聞いて、「初めてのPerl」を読んで勉強しました(今はすっかり忘れた)。 Perlは現在すっかり廃れてしまったみたいですが、 慣れきってサササっと書いてたPerlマスターたちの多くは、なぜ使うのをやめてしまったのですか? 最近になってPythonも少し勉強しましたが、手早く、という意味ではPerlに分がありそうな気がします。

                                                          Perlは、慣れてさえしまえば手早く書けて色々できて最高
                                                        • 技術的負債を返済するためのエンジニアリングとは? VOYAGE GROUPの実践に学ぶ【デブサミ2021】

                                                          「ITエンジニア本大賞 2021」技術書部門大賞を受賞した『Engineers in VOYAGEー事業をエンジニアリングする技術者たち』。この書籍で紹介された技術的負債を返済するアプローチ手法であるリファクタリング、リアーキテクティング、リプレイスを、VOYAGE GROUPではどう実践してきたのか。そして、各システムの技術的負債に対し、どのように立ち向かってきたのか。同社のエンジニアが挑んできた課題や解決策を、実例を交えながら紹介する。 タワーズ・クエスト株式会社 プログラマ・テスト駆動開発者 和田卓人氏(左上)、株式会社fluct プログラマ 須藤洋一氏(右上)、株式会社VOYAGE MARKETING 福田剛広氏(左下)、元株式会社サポーターズ ねこや氏(右下) 技術的負債を返済するための3つのアプローチ まず和田卓人氏は、事業とシステムとの間の乖離から生まれる技術的負債を返済する

                                                            技術的負債を返済するためのエンジニアリングとは? VOYAGE GROUPの実践に学ぶ【デブサミ2021】
                                                          • SREチームに入ってからの2年間にチームでやってきたこと - クラウドワークス エンジニアブログ

                                                            この記事はクラウドワークス アドベントカレンダー6日目の記事です。 前日の記事は@bugfireのgithub-script は便利でした。GitHub Actionsでのちょっとした作業が捗りますね! SREチームの@kangaechuです。 気がつくと入社から2年が経ちました。2年前のAdvent Calendarでは ぴよぴよSREという記事を書くくらい何もわかっていませんでしたが、ようやく自分なりに動けるようになってきました。 この記事ではcrowdworks.jpのSREチームで、この2年間でどのようなことをやっていたのかを振り返ります。 SREチームの範囲は幅広く、いろいろなことをやっていました。今回はDocker化とTerraformの2つの取り組みについてご紹介します。 なんで1年じゃなく2年かって?去年はaws-vault についてのあれこれを書いたからだよ。 Docke

                                                              SREチームに入ってからの2年間にチームでやってきたこと - クラウドワークス エンジニアブログ
                                                            • 新しくプログラミング言語を作る際に数値型をどうするべきか

                                                              この記事は、新しくプログラミング言語を設計する際に数値型をどうするべきかについて、私の持論をまとめたものです。 数の体系 JavaScript(BigInt以前)やLua(〜5.2)などは唯一の数値型が浮動小数点数型で、整数も実数も同じ「number」型で表現します。ミニマルな言語を作るのならそういう設計もアリかもしれませんが、ネイティブコンパイルも視野に入る実用的な言語を作るなら整数と実数を一緒くたにする設計はやめた方が良いと思います。 特に、JavaScriptにコンパイルする言語を作るからと言って、数値型の設計まで真似る必要はありません。 整数を浮動小数点数で表現すると、思わぬ性能低下の要因になったりします。最近(2023年2月)、次のツイートが話題になりました: これは正のゼロと負のゼロが値として区別され、正のゼロは内部的に整数扱いされるのに対し負のゼロはそうではないことによるもの

                                                                新しくプログラミング言語を作る際に数値型をどうするべきか
                                                              • 第5回 OSSを職とし、今後のWebの基盤を作る | gihyo.jp

                                                                今回のゲストは数々のオープンソースソフトウェア(OSS)で知られる奥一穂さん。通信プロトコルの最先端は今どうなっているのか、お話を伺いました。 Fastly 奥 一穂さんHTTP/2サーバであるH2Oなど通信プロトコルを専門とする職業OSSプログラマー。 IETFでの標準化にも参画する。サイボウズ・ラボ、DeNAを経て、現在はFastlyに勤務。 Twitter:@kazuho URL:http://blog.kazuhooku.com/ LOGO、HyperCardから、H2Oへ 竹馬:自分の周囲で「一緒に働いたことがある人だと誰がすごかった?」というテーマで話すと奥一穂さんの名前が挙がることが多く、一度お話を聞いてみたいと思っていました。まずはこれまでの経歴を伺えますか。 奥:最初にコンピュータを触ったところから始めると、小学生のとき親の都合でオーストラリアの学校に通っていて、授業で触

                                                                  第5回 OSSを職とし、今後のWebの基盤を作る | gihyo.jp
                                                                • プログラミング言語 Ruby30 周年記念イベント レポート

                                                                  プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                                                                  • ALB ターゲットグループのバランシングアルゴリズムを LOR にする - hagihala's blog

                                                                    この記事ははてなエンジニア Advent Calendar 2022の27日目のエントリです。 問題 社内で運用している Fargate サービス (Perl の plack アプリケーションが動いている) において、以下のような問題が発生していました。 リクエストごとの処理の重さ (計算リソースの使用量や所要時間) に違いがあり、特定の task に重いリクエストの割り振りが偏ることがある Fargate task は表向きのコア数は同じでも、割り当たるハードウェアの世代によって処理能力が異なるケースがある (いわゆるインスタンスガチャ) このような偏りのある状態でアクセス増など全体の負荷が増加し、一部 task のワーカプロセスが全て busy な状態が一定時間続くと ALB のヘルスチェックに落ちて殺される 各リクエストを1つのプロセスが処理する、いわゆる prefork アーキテク

                                                                      ALB ターゲットグループのバランシングアルゴリズムを LOR にする - hagihala's blog
                                                                    • YAPC::KyotoをRebootします - YAPC::Japan 運営ブログ

                                                                      YAPC::Kyoto 2020実行委員会の id:papix です. 2020年3月に開催予定だったYAPC::Kyoto 2020は, 新型コロナウイルス感染症(COVID-19)の流行を理由として, 残念ながら開催を延期するという判断を下しました. blog.yapcjapan.org あれから2年が経過し, 新型コロナウイルス感染症(COVID-19)の流行状況や, 各種カンファレンスやイベントなどの開催/運用の状況を鑑み, いよいよYAPC::KyotoをRebootすることを決定いたしました. 開催日は2023年3月19日(日曜日), 場所はYAPC::Kyoto 2020と同じく京都リサーチパーク(KRP)での開催となります. 久々のオフライン開催ですが, YAPC::Japan::Onlineなどを通して得た知見を生かして, 会場の模様を配信の形で全国にお伝えすることも計画

                                                                        YAPC::KyotoをRebootします - YAPC::Japan 運営ブログ
                                                                      • コンテナエンジンの作り方 ~ さくらの夕べ ヤンジェネバトル ~ - Speaker Deck

                                                                        Transcript コンテナエンジンの作り方
 さくらの夕べ ~ ヤンジェネバトル ~
 さくらインターネット 株式会社 技術本部 大西 和貴 (C) Copyright 1996-2016 SAKURA Internet Inc 2019/10/08 自己紹介
 2
 大西 和貴 (@_k_onishi_)
 
 
 2017年度新卒
 SVOPチーム(運用) → レンタルサーバチーム(開発)
 
 サービスのコントロールパネルやメールソフトの
 バックエンドやフロントエンドを担当( Go / Typescript )
 
 
 Tech: 
 Linux / Unix / Kernel / File System / 仮想化 / コンテナ
 エミュレータ / バイナリ
 
 Lang: 
 C / Assembly / Perl
 
 Blog:
 レガシーガジェット研究所 Dock

                                                                          コンテナエンジンの作り方 ~ さくらの夕べ ヤンジェネバトル ~ - Speaker Deck
                                                                        • 貧乏なおじさんへのささやかな贈り物 - megamouthの葬列

                                                                          ネットバブル前夜、ホリエモンの会社がまだオン・ザ・エッジと呼ばれていた頃、パイナップルカンパニーというWeb制作会社が神戸にあって、社長のおじさんは、ナウいホームページを作ることにかけては関西随一と呼ばれていたその会社に見積もりを依頼したらしいんだけど、イキリにイキリきった営業に、当社は1000万円以下の仕事は請けないんですよ、と半笑いで門前払いされたことをずっとずっと根に持っていた。 おじさんと酒を飲むたび、何度もその話を聞かされるから、パイナップルカンパニーが2002年に倒産して、オーナー社長が行方不明になって、今や神田敏晶の出身企業と説明されるまでに忘れられた、というオチを、僕は何も見ずに書けてしまうほどだけど、きっと、おじさんがこの話で伝えたかったことは、貧乏な顧客を無下にして、高飛車な態度をとっていたら、いつかは商売が立ち行かなくなるんやで、ということなのだ。本当のところはわから

                                                                            貧乏なおじさんへのささやかな贈り物 - megamouthの葬列
                                                                          • プログラムを「書き始める」「試しに実行する」コストを下げる工夫

                                                                            はじめに 物事を上達するためには反復を、というのはよく聞きますが、もちろんプログラミングでも大事なのかと思います。とくに自分は「一を聞いて十を知る」ような器用なことはできないので、何度も何度もプログラムを書いて、試していました。 このような反復を支援するためには、できるかぎり「書き始めるコスト」と「実行して確認するコスト」は低い方がいいと思っています。書き始めるのがだるいと、そもそも「ちょっと書いてみようかな」となかなか思わないですし、実行するための手数が多いと、「書いて→結果を確認」の回数が減ります。 本稿では、この「書き始めるコスト」と「実行して確認するコスト」を下げる私が20年くらい行っている工夫についてご紹介します。 筆者が Ruby が好きなので、Ruby の例が多いですが、別に Ruby に限った話ではありません。 プログラミング言語による違い たとえば、C 言語ですと、プログ

                                                                              プログラムを「書き始める」「試しに実行する」コストを下げる工夫
                                                                            • 技術、日常、“雑多な”ブログで使い分け。知識や経験を丸ごと記録する【エンジニアのブログ探訪】 - 週刊はてなブログ

                                                                              はてなブログで技術に関するブログを書いている方に、“ブログを書き続けること”について教えてもらう企画「エンジニアのブログ探訪」。第6回は、3つのブログを使い分けているはてな社員・papix(id:papix)です。 技術や仕事について書くブログ、日常や趣味についてブログに加え、とにかく何でも書くという“雑多なブログ”を続けているid:papixにどういった理由で使い分けているのか、どういうモチベーションで更新をするのかなどを尋ねたところ、それぞれのブログが果たす役割・効能が見えてきました。 ブログを書くことによって自分の知識を“丸ごと記録”(dump)するというid:papixに、ブログの使い分け方や書く内容について聞きました。 ※取材はメールインタビューで実施しました ──ブログを始めたきっかけについて教えてください。 大学生の頃、研究室でPerlというプログラミング言語と出会い、そのコ

                                                                                技術、日常、“雑多な”ブログで使い分け。知識や経験を丸ごと記録する【エンジニアのブログ探訪】 - 週刊はてなブログ
                                                                              • シェルスクリプトの長所と短所のまとめ - Qiita

                                                                                はじめに シェルスクリプトに関しての長所と短所をまとめてみました。多くの短所を上げていますが、私はシェルスクリプトを嫌っているわけではなく(むしろ逆)、現在のシェルスクリプトが抱える問題点を明らかにし、シェルスクリプトはどう使うべきか? またはどう使うべきではないか? 問題点があるならばそれを解決することはできないか? を考えるためにまとめています。問題を解決するにはまず問題点を明らかにしなければいけません。 またシェルスクリプトを本来の用途に合わないものに使うと逆に開発が難しくなってしまいます。それは使い方が悪いわけでシェルスクリプトの問題ではありません。間違った使い方によってシェルスクリプトの価値が不当に下げられてしまうことを減らすために、あえて多くの短所をあげています。つまり最初からこんな用途に使おうと思うな。ということです。(使うことを禁止はしませんが、わかった上でやりましょう。実

                                                                                  シェルスクリプトの長所と短所のまとめ - Qiita
                                                                                • オープンソースの誕生

                                                                                  VA Researchの歴史においてオープンソースは外せない話題であるが、特に1998年の2月から4月までの期間はVAを抜きにしてもオープンソースにとって極めて重要な出来事が多いのでやや詳細に書いていく。現在、一般的にオープンソースの誕生は下記のように説明されることが多いのではないかと思う。 「Netscapeブラウザのソースコード公開計画の公表を受け、1998年2月にLinuxとフリーソフトウェアの開発者、コミュニティリーダーらがシリコンバレーに結集し、フリーソフトウェアに替わる用語としてオープンソースという言葉を生み出し、その定義を定め、オープンソースという商標を管理する組織を作った。Linus Torvaldsなどの著名なハッカーがそれに対して賛同し、一般に広まった。」 特にフェイクが含まれているわけでもないし、大概これで問題ないようには思うのだが、何故、この言葉を生み出す必要があっ

                                                                                    オープンソースの誕生