並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 2033件

新着順 人気順

goの検索結果41 - 80 件 / 2033件

  • Semantic Versioningの闇 - knqyf263's blog

    今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正

      Semantic Versioningの闇 - knqyf263's blog
    • 最速で成果を出す方法|Go Kiritani / kubell 執行役員

      これは何か最速で成果を出す為にはどうすれば良いか?という質問をよくもらうのでその回答をするものです。良い感じのものが見当たらなかったので過去に自分が教えてもらった事をまとめました。せっかくまとめたので公開します。 4つのタイプの人がいるそれっぽい図1①思考先行型 思考力は高いけど,行動力が低い人。 考えてばかりで,なかなか行動に動けず成果が出ない。頭が良い人ほどこのタイプになってしまうので気をつけないといけない。 ②思考/行動 併用型 思考力も行動力も高い人。 思考と行動のバランスが良く,行動した結果を思考する事で正しい行動に繋がるサイクルが回っている。この人が1番早く成果が出る。 ③指示待ち型 思考力も行動力も低い人。 何をすれば良いか分からない状態で,動くこともできない。新しい環境に行くと,意外とこの状態の人も多いのでは。 ④行動先行型 思考力は低いけど,行動力が高い人。 何が正しいか

        最速で成果を出す方法|Go Kiritani / kubell 執行役員
      • いま日本の囲碁界で35年越しの偉業が成し遂げられるかもしれないのでもっと知られて欲しい

        日本の囲碁は江戸時代以来、囲碁の家元四家が俸禄をもらう立場となり、切磋琢磨をしてきて長らく囲碁の本場となっていた。 しかし1980年代に韓国に追いつかれると、1990年代では抜き去られ、以後差が縮めることをできずここ30年ほど後塵を排してきた その差は依然として大きく、世界戦が開催されては日本の棋士は大体二回戦までに全滅する、ということが続いてきていた しかしここに来て最近日本勢の調子がいい 井山が爛柯杯にてベスト4まで進出すると、なんと応氏杯という4年に1度開催される囲碁のオリンピックで一力遼が元世界1位棋士、現在でもトップクラスの棋士・柯潔を三番勝負で破り決勝へ進出したのだ! これは1996年の依田紀基以来、実に28年前ぶりの快挙だ そして日本の棋士はまだこの大会で優勝したことがなく 第10回にして日本勢初の優勝がかかった決勝なのである! しかしこの快挙と大一番が全く日本中に知れ渡って

          いま日本の囲碁界で35年越しの偉業が成し遂げられるかもしれないのでもっと知られて欲しい
        • Go言語を嫌う6個の理由 - さめたコーヒー

          ある仕事でそれまでRubyで書かれていたサーバーサイドをGo言語ですべて書き直すことになって、それまでRubyのコードを書いていた僕はそのままGo言語を書くことになった。その仕事そのものはお客様(僕は外部委託のエンジニアとして参画していた)との関係も良好で素晴らしい仕事をさせてもらうことができたと思っているが、Go言語だけは好きになれなかった。 はじめは流行っている言語だから何か素晴らしい魅力があるのではないかと期待していた。しかし書き始めるうちにどうも自分には合わないなと思うようになり、2年ほど書いて案件の契約が終わる頃にはGo言語でサーバーサイドを書くことは危険だとさえ思うようになった。 あれから数年がたちますますGo言語の案件は増えている。サーバーサイドを書く選択肢としてGo言語を選択する会社も増えている。しかし本当にそれでいいのか?ただ流行っているからという理由だけで選択するにはあ

            Go言語を嫌う6個の理由 - さめたコーヒー
          • 囲碁AI、こわれる 人間の悪手に翻弄、大石死す AI社会に警鐘:朝日新聞

            囲碁AIが初めて人間のトップ棋士を破って7年。その強さはとどまるところを知らず、いまや互角に勝負できる棋士はいなくなった、はずだった。人間があえて放った、ありえない悪手に翻弄(ほんろう)され、敗れた…

              囲碁AI、こわれる 人間の悪手に翻弄、大石死す AI社会に警鐘:朝日新聞
            • Yahoo! トラベルと一休.com のシステム統合プロジェクト - 一休.com Developers Blog

              今から二ヶ月ほど前、10/1 に Yahoo! トラベル のリニューアルが完了しました。このリニューアルは、一休.com と Yahoo! トラベルの2システムを一つに統合することで実現しました。 ご存知の通り、ヤフーと一休は同じグループに所属する企業です。ざっくりいうと「同じグループで2つの宿泊予約システムを開発し続けるのは効率が悪いよね」という話があり、今回のシステム統合に至っています。 Yahoo! トラベルと一休のシステム統合は、(1) 2017年頃にホテルの空室管理や予約、決済、精算業務などを担うバックエンドのシステム統合を行い、そして (2) 今回 2021年春先から半年ほどをかけて、ユーザーが利用する画面も含めた全面統合を行いました。全面統合は総勢で 50名ほどのディレクター、エンジニア、デザイナーが関わる一休的には大きな規模のプロジェクトになりましたが、目立ったトラブルもな

                Yahoo! トラベルと一休.com のシステム統合プロジェクト - 一休.com Developers Blog
              • 結局、Go言語をやめる理由はなかった件 - Qiita

                この記事は Go 2 Advent Calendar 14日目の穴埋め記事です。 はじめに @okdyy75 さんによる Go 5 Advent Calendar 14日目の の記事「だから僕はGo言語を辞めた」 が「ベンチマークっていうのはこうやるんだよ」というのを説明するために反面教師的な意味で良い教材だと思ったので、反証記事を書きたいと思います。 ベンチマークを取りながらコードを改善して、最終的にGoは遅くないからやめる必要はないということ、そして、なぜ遅いという結論になってしまったのかを掘り下げていきたいと思います。 下準備 幸いなことに、ベンチマークのソースコードがGitHubにある ので、こちらを実行しながら問題点を改善していきましょう。 ちゃんとコードが上がっているのは素晴らしいですね! 一方で、元記事には測定環境が明記されていませんでしたので、同じ環境で測定することはできま

                  結局、Go言語をやめる理由はなかった件 - Qiita
                • なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog

                  DiscordがGoで書かれていたコンポーネントをRustに移行しているらしい。Windowsの低レイヤ層の一部で採用されるなど、近年どんどん注目を集めているRustだが、DiscordはなぜRustを選んだのか。その最大の特徴である「パフォーマンスを妨げる要素であるGCを排した上でメモリセーフな言語」であることにクローズアップした面白い内容だったので、えっちらおっちら和訳してみた。英語が得意というわけでもなく、無理やり翻訳しているところも多いのであしからず。ほとんどGoogle翻訳のままというのは内緒。 追記: 7/31にはてブでいっぱいブックマークされたみたい。気になったブコメへの返信を末尾に追記した。 原文: Why Discord is switching from Go to Rust - Discord Blog Rustは様々な分野において第一級の言語になりつつあります。Di

                    なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog
                  • 高収入エンジニアは「ラスト」に注目、ファインディ調査 - 日本経済新聞

                    IT(情報技術)エンジニア採用支援のファインディ(東京・品川)はプログラミング言語についての調査を実施した。それによると高収入のエンジニアほど新世代言語の「Rust(ラスト)」に注目していることが分かった。データ処理などでの需要増が見込まれている。調査は6月30日から7月18日にかけてインターネットで行い、1044人のエンジニアに年収別に現在仕事で扱っているプログラミング言語と今後習得したい言

                      高収入エンジニアは「ラスト」に注目、ファインディ調査 - 日本経済新聞
                    • Go Toトラベル・イート 菅首相 感染拡大で運用見直しを表明 | NHKニュース

                      「Go Toトラベル」について菅総理大臣は、感染拡大地域を目的地とする旅行の新規予約の一時停止などを導入するほか、「Go Toイート」は、食事券の新規発行の一時停止などの検討を、都道府県知事に要請する考えを示しました。 政府の需要喚起策「Go Toキャンペーン」をめぐって政府の分科会は、20日、感染が急増している地域での運用の見直しなどを提言しました。 これを受けて政府は21日夕方、総理大臣官邸で対策本部を開き、菅総理大臣のほか、西村経済再生担当大臣や赤羽国土交通大臣らが出席しました。 この中で菅総理大臣は「新規感染者数が過去最多となるなど、最大限の警戒状況が続いている。感染拡大が一定レベルに達した地域ではその状況を考慮し、都道府県知事と連携し、より強い措置を講じる」と述べました。 そのうえで、「Go Toトラベル」について感染拡大地域を目的地とする旅行の新規予約の一時停止などを導入するほ

                        Go Toトラベル・イート 菅首相 感染拡大で運用見直しを表明 | NHKニュース
                      • そろそろみんなに届いて欲しい囲碁一問一答。全部おれに聞け

                        囲碁最大の問題は情報が届いて欲しい人に情報を届ける手段がない事だと思う はっきり言って何度も何度も同じ事を書いているが未だにぷよ碁を知らない人がいるし、入門コンテンツから先に入るべき人がいきなり対局を初めて挫折している ブクマを見ていて、そいつに情報さえ届ける事が出来れば解決するのにそれができずに毎回もどかしい思いをしているのである そこは俺に任せろと言いたい。全部俺に聞けと だからこの増田を見たらブクマしてバスらせてくれ 自分は囲碁を覚えた瞬間から普及活動に携わっているから入門指導のプロフェッショナルである。数々の人間を囲碁に入門させてきた。 囲碁の入門書を読み終わった瞬間にどうしてこのシンプルかつ楽しいゲームがこんなに広まってないんだろう、という想いに駆られた。 このシンプルでかつ面白いという両輪の部分が重要だ。面白いけど複雑だったり、シンプルだけどつまらなかったら、そりゃ広まらないよ

                          そろそろみんなに届いて欲しい囲碁一問一答。全部おれに聞け
                        • JTB、よくGOサインが出たなというクオリティの「バーチャル・ジャパン・プラットフォーム」事業を開始 : 市況かぶ全力2階建

                          日刊SPA!に登場の医学生投資家、儲け自慢に熱を入れるあまり「11歳から親の口座で投資を始めた」と借名取引をうっかり告白

                            JTB、よくGOサインが出たなというクオリティの「バーチャル・ジャパン・プラットフォーム」事業を開始 : 市況かぶ全力2階建
                          • 僕の考えた最強の Python 開発環境 (2024)

                            はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ

                              僕の考えた最強の Python 開発環境 (2024)
                            • Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog

                              情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア

                                Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog
                              • スレッドとプロセスの違いを完全に理解する

                                はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 本記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、本記事は 5 分程度で読み終えることができます。 本記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS

                                  スレッドとプロセスの違いを完全に理解する
                                • 【第1回・前編】 エンジニア和田卓人の今を形作る技術 | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                  『テスト駆動開発』や『SQLアンチパターン』をはじめとする技術書の翻訳者、さまざまなIT企業をわたり歩く技術顧問、さらに最近ではエンジニアリング文化を伝える講演者としても活躍されている和田卓人さん(https://twitter.com/t_wada)。 そのソフトウェアエンジニアとしての素顔を株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出す対談の前編では、一線を画すエンジニアであり続けるために自らのプロジェクトで意識的にコードを書いているという和田さんの姿勢に始まり、ベテランとして「技術のらせん」を読み解くケーススタディとしてDDD(Domain-Driven Design)を題材に話を伺います。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務め

                                  • Goで社内ツールを作るならこんなふうに

                                    バックグラウンド 最近企業でにわかにGoの採用が増えているようですね。この流れを受けて実際にうちでも採用してみようと考えている方も多いかもしれません。しかし、Goに限った話ではないのですが、いきなり大きなプロジェクトに未経験の技術を投入するのはリスクが伴います。ですから最初は技術検証とGoの教育を兼ねて、小さな社内ツールなどから導入するのがよいでしょう。幸い、Goは非常に習得が容易な言語ですから、既に他言語の経験があるプログラマーがじゅうぶんに開発できるようになるまでには、数日と掛からないことがほとんどです。 この記事は、そんな小さなツールの導入フェーズにあたって、自らの経験から少し役に立つかもしれない情報をシェアします。 リポジトリの構成 自らの経験上、初めてGoを触れるときによく出る質問の一つは「リポジトリ構成はどうすればいいのか?」です。 結論から申し上げると、 テンプレもルールもな

                                      Goで社内ツールを作るならこんなふうに
                                    • 株式会社メルペイを退職します

                                      2018年6月1日から働き始めた株式会社メルペイを9月30日付けで退職します。4年4か月勤務したことになります。1984年4月1日に社会人として富士ゼロックスで働き始めてから、7社目の会社でした。10月1日からは、新たな会社でソフトウェアエンジニアとして働き始めます。 週4日勤務「ソラミツ株式会社を退職します」でも書きましたが、リコーを退職してからは、基本的に週4日勤務をしてきました。メルペイでも、金曜日は欠勤するか有給休暇を使うなどして、週4日勤務をしてきました(週4日勤務で働くことに関して、入社前に合意してもらっていました)。10月からの会社では、週4日勤務の雇用契約で働きます。 初めてのウェブサービス開発富士ゼロックス、富士ゼロックス情報システム、リコーの3社で合計31年7か月を過ごし、富士ゼロックスでのワークショテーション開発を除くと、その多くは、デジタル複合機のソフトウェア開発に

                                      • 20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog

                                        極限まで詳細を省けば何とか20分で雰囲気だけでも伝えられるんじゃないかと思って書きました。書き終えてから見返したら多分無理なので誇大広告となったことを深くお詫び申し上げます。 背景 概要 脆弱性の影響 ページキャッシュやsplice パイプ マージの可否 下準備 攻撃手順 まとめ 背景 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com Linuxのパイプに関する脆弱性なのですが、仕組みは意外とシンプルでぎりぎりブログでも伝わるかもしれないと思ったので自分の理解を書きました。あといつも細かく書きすぎて長くなるので、今回は雰囲気だけでも伝わるようにとにかく説明を簡略化し、ふわっとした概要だけでも理解してもらえるように頑張りました。その結果、若干正確性に欠ける部分があるかもしれませんがお許しください。細かい部分はまた別の記事でま

                                          20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog
                                        • gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも? | フューチャー技術ブログ

                                          Go 1.19が8/2に早々にリリースされました。個人的にはGo 1.19よりも楽しみだったのが、サービス間通信とIDL(インタフェース記述言語)連載の中でご紹介したgRPCのGo実装の新星、Connectのアップデートでした。そしてそれはやってきました。 詳しい内容は↑の記事を見ていただくとして、Connectがその開発元ブログの紹介記事で宣言していたのが次の2つのことでした。 Go 1.19が出たらconnect-goは1.0にして以後後方互換性を守るよ connect-webを出すよ 前者はまだ0.3だったのですが、connect-webはリリースされました。歴史のあるフロントエンドのコードジェネレータはTypeScript対応が後付けだったりするのですが、TypeScriptがファーストシチズンかつ、ネイティブというコードジェネレータなので、開発はかなりやりやすくなることが期待され

                                            gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも? | フューチャー技術ブログ
                                          • [改訂新版]プロになるためのWeb技術入門

                                            2024年11月28日紙版発売 2024年11月28日電子版発売 小森裕介 著 B5変形判/528ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-14571-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 なぜWebシステムをうまく作ることができないのか?――本書は2010年に初版が発行されました。Webに携わるエンジニアだけでなく,Webマーケティング担当者にいたるまでWebの仕組みを根本から理解するための技術書として多くの方々に利用されました。それから10数年の月日が流れ,本書の特徴である技術の根本を

                                              [改訂新版]プロになるためのWeb技術入門
                                            • Goでの並行処理を徹底解剖!

                                              並行処理をうまく使うのは難易度が高めです。 それゆえに、go文とチャネルについて基本的な文法書で知った後「並行処理ちゃんとできる!」の段階まで自力でたどり着くのは大変でしょう。 この本は、 *「並行処理ってやって何が嬉しいの?」 *「ゴールーチンとかチャネルとかって一体何者?」 *「ゴールーチンやチャネルを使ったうまいコードの書き方が知りたい!」 *「Goランタイムで並行処理をどううまく処理しているか知りたい!」 といった要望にお答えする、「Goでの並行処理」に関連した事柄について網羅的・徹底的に書きまくったものです。

                                                Goでの並行処理を徹底解剖!
                                              • よくわかるcontextの使い方

                                                Goの標準パッケージにはcontextパッケージというものが存在します。 このパッケージは、net/httpやdatabase/sqlのような現実の事象と対応している何かが存在するようなパッケージではないため、初学者にとっては使い道がわからない、となってしまいがちです。 しかしcontextパッケージは、複数のゴールーチンを跨いだ処理を実装する際には非常に強力な力を発揮する、とても便利なパッケージなのです。 この本では、「contextとは何か?」というところから「どのように使えばいいのかわかる」ところまでたどり着けるように、Goのcontextまわりのことを解説しました。

                                                  よくわかるcontextの使い方
                                                • GitHub - google/zx: A tool for writing better scripts

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - google/zx: A tool for writing better scripts
                                                  • React/Next によるアプリケーション開発のこれから

                                                    at Encraft #4 React/Next.js 最前線 https://knowledgework.connpass.com/event/285601/

                                                      React/Next によるアプリケーション開発のこれから
                                                    • Go言語が好きな理由

                                                      はじめに 私はGoが好きなので、disられている場面に遭遇すると心が痛みます。残念ながらプログラミング言語について深く語れるほどの知識や経験は持ち合わせていないため、世界が平和になることを祈るくらいしかできません。 (元ネタ)Go言語を嫌う6個の理由 - さめたコーヒー それはそれとして、Goが好きな理由を語る人はあまり見かけない気がします。この記事ではGoが好きな理由を視覚に障害のあるユーザーの視点から語ります。読み終えたところで得るものは何もありませんし、長いので覚悟して読んでください。 あなたは誰? 4年ほど業務でサーバーサイドのGoを書いています。また、業務で使いはじめる前から趣味でGoに触れていました。そのため無意識の内にひいきしているかもしれません。ただし、流行っているからといって理由もなくGoを勧めたりはしません。 視覚障害ならではのコーディング事情 Goが好きな理由と深く関

                                                        Go言語が好きな理由
                                                      • GraphQLでバックエンドのコードをすっきりさせた話 - LayerX エンジニアブログ

                                                        こんにちは!LayerXの mosa_siru (榎本) です。 LayerX インボイスでは、もともと github.com/go-swagger/go-swagger を利用してREST APIを開発していましたが、最近開発したワークフロー機能 のコンポーネントではGraphQLを取り入れました。 GraphQLには様々なメリットがあり、RESTとの比較記事は多くありますが、なぜ僕らは移行したのか、その結果どうなったのかを紹介していきます。 GraphQLのメリット GraphQLのメリットは、様々な箇所で語られています。例えばこの記事によれば、 強力に型付けされたスキーマであること アンダーフェッチとオーバーフェッチがないこと(後述) Apollo, Relayなどの、クライアントライブラリにより、フロントエンド開発が迅速になること 複数のGraphQL APIからの統合が可能 強力

                                                          GraphQLでバックエンドのコードをすっきりさせた話 - LayerX エンジニアブログ
                                                        • GoTo「やらなかったら大変なことに」 菅官房長官が意義強調 テレビ番組で | 毎日新聞

                                                          菅義偉官房長官は21日のテレビ朝日の番組で、政府の新型コロナウイルス対策事業の一つで、22日で開始から1カ月を迎える旅行需要喚起策「Go Toトラベル」について「やらなかったことを考えたら大変なことになっていた。地域の活性化に少しは役立ってきている」と述べ、事業の意義を強調した。 菅氏は「直近までで延べ200万人に利用していただいており、新型コロナにかかった方(陽性者の宿泊)はそのうち10人という…

                                                            GoTo「やらなかったら大変なことに」 菅官房長官が意義強調 テレビ番組で | 毎日新聞
                                                          • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

                                                            こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基本的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

                                                              ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
                                                            • リモートの Linux サーバを開発環境にする

                                                              これまで Macbook Pro を開発環境としていたんだけど、価格は高いし Docker for Mac は重いしでいいことないなということで Linux の開発環境に移ることにした。前職の最初の数年はすべて VM(当初は jail)にログインして開発していたのでその頃に戻った感じ。ただ GUI は macOS が何かと楽なので Intel NUC を購入して自宅に置いてリモートでログインして使っている。Core i7、メモリ 64GB で10万ちょいと安いのにめちゃくちゃ快適でさいこう。 ここからは備忘録としてリモートを開発環境とするうえで実施した作業を残す。あと作ったものもあるので宣伝。 外部からログインしたい自宅以外からも使うだろうということで(最近京都からリモートで働くこともあり)、VPN サービスとして Tailscale を導入した。 Best VPN Service for

                                                                リモートの Linux サーバを開発環境にする
                                                              • 超初心者向け囲碁講座

                                                                前提アプリなどで打つことを前提に「地の計算」などは説明しない。 ルール上下左右を囲むと中の石を取れる。 斜めまで囲む必要はない。 ● ●○● ● こういう塊でも隙間なく囲めば取れる。 ●●● ●○○○●●○○●  ●● 実は盤の端っこで囲んでもいい。○●   ○●   ● これはつまり「四隅がいちばん囲いやすい」ということでもある。 以下のような状況はちょっとややこしい。  ○   ○●○  ●1●   ● 1に○を打ったら、黒の囲みと白の囲み、どっちが優先されるだろう? この場合は「先にあった黒の囲み」よりも「いま作られた白の囲み」のほうが優先される。 なのでこうなる。  ○   ○2○  ●○●   ● それじゃあ●を2に打って取り返す…ことはできない。 延々と取り合いを繰り返して無限ループしてしまうからだ。 いったん別のところに打ってから、その次のターンなら黒は2に打てる。 まあ、そ

                                                                  超初心者向け囲碁講座
                                                                • 囲碁というゲームがこの先も活き残るには|Go-Up

                                                                  ■TL;DR囲碁と 囲碁界、 そして、 囲碁のルールを持つゲーム。 この先も活き残るには、 この3つを分けて考えるべき。 ■はじめに「囲碁」。 残念ながら日本でのプレイヤー数が大きく減少し、世間で話題になることが少なくなり、「衰退の一途を辿っている」状況となっている。 私は20年ほど前に囲碁に興味を持ち、普及の一助として「初心者向け囲碁対局サイト Go-Up!」や、それ以前もいくつか活動をしていました。 初心者向け囲碁対局サイト Go-Up! https://go-up-online.com/ Go-Up!の閉鎖をもって、私の囲碁との関係は終了します。 長きに渡る活動の中で、囲碁に纏わるいろんな事を端から追ってきました。 せっかくなので、囲碁を巡る現況について、見えていることや考えを書き残して去りたいと思います。 囲碁界に知人もおらず、直接の繋がりや恩義もない、しがらみの無い部外者にしか言

                                                                    囲碁というゲームがこの先も活き残るには|Go-Up
                                                                  • Go コンパイラのコードを読んでみよう - kosui

                                                                    はじめに 本記事は、 DeNA Advent Calendar 2020 の 11 日目の記事です。 突然ですが、「コンパイラのコードを読んでみよう」なんて言われても、「どうせ巨大で難解で複雑なロジックを理解しないと読めないんでしょ?」と思いませんか。 コンパイラの構造を理解しようとしても聞いたことのないような専門用語がずらりと並び、コードを読もうとしたらそれらをすべて完全に理解してないと一行も理解できないんじゃないか...。Go のコンパイラ gc のソースコードを読むまでは、私もそう思っていました。 しかし、あまりにも暇な休日のある日、思い立って gc のコードを読んでみました。すると、「コンパイル」という難解な響きの処理も、一つひとつを小さなタスクに分解することで、少しずつ読み進めることができると分かったのです! 何よりも感動したことは、 gc そのものが全て Go で書かれていて、

                                                                      Go コンパイラのコードを読んでみよう - kosui
                                                                    • ぼくのかんがえたさいきょうのGAS開発手法2023

                                                                      前提clasp の制約、Script API の考え方、Google Drive の考え方に素直に従うその条件下である程度モダンな開発環境での開発を目指す 可能ならコードは VCS で管理する(pull-req など)ドキュメントベースで共同作業に向いた手法で開発を進める特にカジュアルに始めやすい Google Apps Script は悪い意味での属人化まっしぐらになりやすい。これが長期間の業務に影響しないような、ワンショットのものなら別にそれでもよいが、これが誰かに引き継がなければいけないような状況が生まれると一気に地獄みが増してしまうので、そうなってしまう前により良い開発手法を考えておきたい。 考慮したことGAS は素朴に作ると Script 本体の構造がそれを利用する container (例えば Spreadsheet)のデータ構造などと密結合になってしまう。この状態のままコード

                                                                      • Go To Eat東京、2月8日に再開へ 使用期限を変更する可能性も - BCN+R

                                                                        Go To Eat Tokyo食事券発行共同事業体は、「Go To Eat キャンペーン Tokyo 食事券(アナログ・デジタル)」の販売を2月8日に再開する。 今回の変更は、1月7日に発令された緊急事態宣言と東京都からの要請を受けて決定した。引換券(スマートフォン・はがき)の受付停止期間は調整中とし、確定次第、知らせるという。 現在、食事券販売期間・引換券有効期限ともに21年1月31日までとしているが、販売再開の状況によっては今後の予定を変更する可能性があるという。食事券の有効期限も同年3月31日としているが、変更する可能性がある。 また、食事券の利用については、新型コロナウイルスの感染が拡大している状況を踏まえ、すでに購入した食事券の利用を2月7日まで極力控えるよう協力を呼び掛けている。

                                                                          Go To Eat東京、2月8日に再開へ 使用期限を変更する可能性も - BCN+R
                                                                        • Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog

                                                                          すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。 ベンチマークの環境が公開されているのは素晴らしいですね。 github.com 8vCPU/16GB Memのc5a.2xlargeなEC2のインスタンスを起動して、以下の手順にしたがってdockerとdocker-composeをインストールしました。OSはUbuntu 20.04を使いました。 docs.docker.com docs.docker.com 上記のbenchmarkのrepositoryをgit cloneし、compose build && compose upし

                                                                            Re: 結局、Go言語をやめる理由はなかった件 - Hateburo: kazeburo hatenablog
                                                                          • 自作RDBMSやろうぜ!(Zenn出張版)

                                                                            Disclamer 本記事は自作DBMSやろうぜ! のページの 22/05/27 JST 22:38 の時点での内容をZenn記事向けに修正して作成したものです 元コンテンツのライセンスについては以下をご参照ください LICENCE 元コンテンツの方は更新が継続されていますので、よろしければそちらもご覧ください この記事の目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されている必要な情報・情報源がまとまったサイトやブログ記事がないことに気づきました そこで、叩き台として、筆者および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSに関する情報をある程度整理して書

                                                                              自作RDBMSやろうぜ!(Zenn出張版)
                                                                            • Goで作るテキストエディタ - Sansan Tech Blog

                                                                              はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて本日はタイトルの通り、VimやEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

                                                                                Goで作るテキストエディタ - Sansan Tech Blog
                                                                              • 新しい docker compose

                                                                                初めに docker composeが使えるようになったので、それについて書いていきます。 正式名称はDocker Compose CLIです。 動作検証した環境は次のとおりです。 $ docker version Client: Cloud integration: 1.0.14 Version: 20.10.6 API version: 1.41 Go version: go1.16.3 Git commit: 370c289 Built: Fri Apr 9 22:46:57 2021 OS/Arch: darwin/arm64 Context: default Experimental: true ... Docker Compose CLIとは 簡単にいうとdocker-composeのGo実装です。docker-composeと互換しています。 docker-composeに置

                                                                                  新しい docker compose
                                                                                • 鍵生成には暗号論的に安全な乱数を使おう

                                                                                  SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib

                                                                                  新着記事