並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 1726件

新着順 人気順

scalaの検索結果41 - 80 件 / 1726件

  • 退屈な技術を選ぶことについて

    この記事は、著者の許可を得て配信しています。 https://panelbear.com/blog/boring-tech/ 注:この記事で書かれている考え方は、過去に何度も取り上げられています。長年にわたって私の視点に大きな影響を与えてきた記事の一つに、McKinley氏の「Choose Boring Technology(退屈な技術を選ぶ)」というものがあります。以下では、私自身の経験からこのトピックを探り、最近のプロジェクトでKubernetesを使うことになった経緯を紹介します。 長年にわたり、私は多くのエンジニアが会社の成功や失敗の多くを技術的な選択が原因であると主張する傾向があるところを見てきました。私にももちろんそういう時もあります。それはしばしば正当化されますが、大多数のスタートアップ企業にとって、プログラミング言語、フレームワーク、あるいはデータベースの選択はそれほど重要

      退屈な技術を選ぶことについて
    • 10年でどう変わった? はてなブックマークでのPerlの使い方

      2019-11-03 YAPC::Nagoya::Tiny 2019 https://yapcjapan.connpass.com/event/146727/

        10年でどう変わった? はてなブックマークでのPerlの使い方
      • JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】

        ヌーラボでScalaを書くRubyistの谷本です。ヌーラボでは、Backlogの開発を担当しており、最近ではBacklogをJavaからScala / Play Frameworkに移行するプロジェクトのメンバーでした。 BacklogのPlay化プロジェクトでは、OutOfMemorryError(以下、OOM)の発生やCPU使用率とロードアベレージが上がったままという、Java Virtual Machine(以下、JVM)上で動くBacklogのパフォーマンスに関する問題に対処すべく、何度かHeap/Thread dumpを見る機会がありました。 私がPlay化プロジェクトで取り組んだパフォーマンス改善の知見や経験をもとに、本記事では「JVMで起こったパフォーマンスの問題の切り分け方」についてお届けします。 はじめに 本番環境でしばらく動かしていると、コード自体は正しく実行できるけ

          JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】
        • 2023 年に読んでよかった本

          2023 年に読んでよかった本 2023.12.30 年末なので 2023 年のまとめっぽい記事を書きたくなりました。今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。 年末なので 2023 年のまとめっぽい記事を書きたくなりました。 今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。 忘れる読書 この本では「本は忘れるために読んでいます」と語られています。というわけでこの本の内容もあまり覚えておりません(?)。 本を読むときには一字一句正確に覚えるような読み方をしていると、「覚えなきゃ」という気持ちが芽生えてしまい、本を読むことが苦痛になってしまうことがあります。そうではなくて、パラパラとペ

            2023 年に読んでよかった本
          • マイクロサービスにクリーンアーキテクチャを採用する上で考えたこと | メルカリエンジニアリング

            Merpay Advent Calendar 2019 の19日目は、Backendエンジニアチームの @toshinao がお送りします。 新しくマイクロサービスを立ち上げる機会があり、クリーンアーキテクチャをベースにしました。クリーンアーキテクチャはバックエンド・フロントエンド・アプリなど様々な場所で採用されています。ただ、確固たる方法というのは無く、みな試行錯誤しているのでは無いでしょうか。この記事では、クリーンアーキテクチャを取り入れる上で考えたことを紹介したいと思います。 マイクロサービスを作ったことがない人や、今までいくつか作ってきたけどより良い設計について考えている人の助けになれば幸いです。 はじめに メルペイのバックエンドは主にGoとGoogle Cloud Platform(GCP)で開発を行っていますが、各マイクロサービスをどう実装していくかは概ね各チームに委ねられてい

              マイクロサービスにクリーンアーキテクチャを採用する上で考えたこと | メルカリエンジニアリング
            • コーディングを不要にする「ノーコード・スタートアップ」が注目される理由 | Coral Capital

              プログラミングをする人なら1度や2度は「コーディングを不要にする」という宣伝文句にイラッと来たことがあるのではないでしょうか。Coral Capital創業パートナーの澤山陽平も、そんな1人です。「最近シリコンバレーで話題の No code startups について何か書こうと思う。ハイプ気味ではあるものの注目のトレンド」と、私が伝えると、一気に顔が曇りました。 またか、というところかと思います。澤山は日本では珍しいScalaという玄人好みのプログラミング言語を使いこなすベンチャーキャピタリストです。過去10年、20年と、どれほど「コーディング不要」というマーケティングコピーが派手に宣伝されてきたかを思えば、澤山の反応は、当然かと思います。 それでも私には、いまノーコーディングと呼ばれるムーブメントから、優れたサービスや企業が出てきつつあるように思えます。 全てのコーディングが不要になる

                コーディングを不要にする「ノーコード・スタートアップ」が注目される理由 | Coral Capital
              • ライムスター・宇多丸さん「原風景は、誰もいないポツンとした後楽園」【東京っ子に聞け!】 - SUUMOタウン

                インタビューと文章: 柴那典 東京に住む人のおよそ半分が、他県からの移住者*1というデータがあります。勉学や仕事の機会を求め、その華やかさに憧れ、全国からある種の期待を胸に大勢の人が集まってきます。一方で、東京で生まれ育った「東京っ子」は、地元・東京をどのように捉えているのでしょうか。インタビュー企画「東京っ子に聞け!」では、東京出身の方々にスポットライトを当て、幼少期の思い出や原風景、内側から見る東京の変化について伺います。 ◆◆◆ 今回お話を伺ったのは、ラッパーとして、『アフター6ジャンクション』(TBSラジオ)のパーソナリティとして、八面六臂の活躍を続けるライムスターの宇多丸さん。 ライムスターの楽曲「東京、東京」で「オレは港区生まれ 文京区育ち 周りは至ってフツーの人たち」と歌ったとおり、生粋の東京っ子である宇多丸さん。その全方位的なカルチャーに対する造詣の深さは、どのような東京と

                  ライムスター・宇多丸さん「原風景は、誰もいないポツンとした後楽園」【東京っ子に聞け!】 - SUUMOタウン
                • Facebookが開発した圧縮アルゴリズムZstandardについて調べた(非常に高速)(今日から使えます) - Lambdaカクテル

                  Common Lispの処理系であるSBCLをインストールしようとしたら、追加でlibzstd-develというのを新たに要求されるようになっていた。見るからに圧縮系のライブラリだけれど聞き慣れないのでちょっと調べてみた。 ちょろっと調べたところ、以下のことが分かった: Zstandard(ゼットスタンダード?)というのが正式な名前。 Facebookが開発した。 Deflateよりも速いことを主眼においている。 BSDライセンス。 Linuxカーネルまわりで使えるようになっているほか、一部のディストロではパッケージの圧縮フォーマットとして使われているようだ。 Webというよりはどちらかといえばバックエンド的な箇所で使われている印象がある。 facebook.github.io zstd コマンド使ってみた 他の名だたる圧縮アルゴリズム同様、Linuxで直接ファイルに対してこれを実行して圧

                    Facebookが開発した圧縮アルゴリズムZstandardについて調べた(非常に高速)(今日から使えます) - Lambdaカクテル
                  • ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad

                    モナドを完全に理解する

                      ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad
                    • 年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita

                      初めに、そして結論 本当は冒頭にこういう言い訳がましいことを書くのは好きではないのだが、例によってディスり成分が多めなので、筆者はそういうキャラということでそこは目を瞑って欲しい。実体験に基づいて書くので業務上あまり触ってこなかった言語については記載が少ないが、読者のみなさんが詳しいことや私の記述で事実と異なる部分については謝罪して訂正したいのでプルリク、コメント等熱望している。あと筆者はサーバーサイドエンジニアであってフロントの事が全然わからんのでその辺はさっぴいて読んでほしい。結論から言うとRustを使え。 古生代 アセンブラ以外の高水準プログラム言語の歴史は1950年代から1であるが、筆者の実体験に基づいて話をするので'80年代まですっ飛ばす。 N88-BASIC N88といえばN88-BASIC(86)を思い浮かべる読者が多いと思うが、筆者はPC-8801mkIIユーザーだったので

                        年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita
                      • プログラミング言語論入門 - riswu’s blog

                        第0章. なぜ Scala を使うのか? はじめに 本稿は、John C. Mitchell 氏らによる Concepts in Programming Languages を基に自身の見解を交え、私がなぜ Scala を好んで使うのかを論じた記事になります。 プログラミング言語の歴史 本題に入る前に、プログラミング言語の歴史について紹介します。 年代 言語・イノベーション 1950 Fortran and Cobol 1960 Lisp and Algol 1970 Abstract data types (Simula, C, SQL) 1980 Objects (Smalltalk, C++) 1990 Java, JavaScript, Python, Ruby これは、年代ごとに開発された言語およびイノベーションを表にまとめたものになります。ただし、この表には欠けている事柄があり

                          プログラミング言語論入門 - riswu’s blog
                        • Scalaはもうだめなのか?…というかJVM言語がもうだめじゃん?|sugitani

                          AndroidのためのJava/Kotlinはスコープ外とします まず断っておくと、俺はScalaが好きだ。 自分が作ったScalaプロダクトは二個現存している。うち一つはまだまだ自分が開発している。というか今は会社を作って1人でプロダクトを作っている身なのだが、それもScala3+ZIO2でゴリゴリ書いている。 でも残念、もうScalaというかJVM言語がオススメできません。TypeScriptかGoかRustをオススメします。 どういうこと?まずこの記事を見ていただくのが一番分かりやすい。 https://aws.amazon.com/jp/builders-flash/202310/java-serverless-saas-backend/?awsf.filter-name=*all 素晴らしいエントリーだ。読みに行かないせっかちな方のために概要を紹介する JavaプロダクトをAWS

                            Scalaはもうだめなのか?…というかJVM言語がもうだめじゃん?|sugitani
                          • マネジメントも「技術」のひとつ。技術志向だったエンジニアが、開発チームのディレクターに挑戦するわけ - Findy Engineer Lab

                            こんにちは。粕谷大輔(@daiksy)です。インターネット上では「だいくしーさん」と呼ばれることが多いです。現在は株式会社はてなで、Mackerel開発チームのディレクターを務めています。Twitterなどで使っている、地獄のミサワ風のアイコンをご覧になった方もいらっしゃるかもしれませんね。このアイコンは、前職のフロントエンドエンジニアに描いてもらったものです。 今の自分の仕事は、エンジニアとデザイナーで構成される開発チームを指揮し、プロダクトの安定稼働と、定常的なデリバリーに責任を持つことです。「エンジニアリングマネージャー」という言い方をすると、分かりやすいかもしれません。 自分のこれまでのキャリア選択を振り返ると、もちろん結果論のようなところもありますが、ある程度狙いを定めてキャリアを歩んでこられたのではないかと思います。本記事では自分のこれまでのキャリアについて、「どのように狙いを

                              マネジメントも「技術」のひとつ。技術志向だったエンジニアが、開発チームのディレクターに挑戦するわけ - Findy Engineer Lab
                            • 明日から使える実践エラーハンドリング

                              class: center, middle # 明日から使える<br/><strong>実践</strong><br/>エラーハンドリング Scala関西Summit 2018 11/10 --- class: left, middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) * Tech to Value 代表取締役 * Opt Technologies 技術顧問 <img src="../images/opt_logo_1.jpg" alt="Opt Technologies" width="450" style="margin-left: 0px" /> * F-CODE CTO <img src="../images/f-code_logo.png" alt="f-cod

                              • 複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog

                                開発合宿運営チームの id:yutailang0119 と id:maku693 です。はてなでは四半期に一度、技術グループ主導で開発合宿を開催しています(過去の合宿の様子は「開発合宿」カテゴリーにまとまっています)。 2023年4月に実施した開発合宿では、参加者が複数のチームに分かれ、それぞれ異なるプログラミング言語で同じお題のWebサービスを開発しました。言語ごとの特性を比較し、今後の技術選定に生かす取り組みです。 この記事ではその開催レポートをお届けします。 開発言語の特性を理解したい さまざまな技術要素を2日で実装できるお題に 参加チームやコミュニケーションでの工夫 順調に開発が進んだ合宿当日 技術勉強会で「成果物を見る会」を実施 開発合宿を終えて プログラミング言語ごとの使用ライブラリ TypeScript Go Ruby Scala 開発言語の特性を理解したい はてなではたくさ

                                  複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog
                                • ジャバの異常な愛情 またはSpringはいかにしてモダンであることを止めて時代遅れになったのか - Qiita

                                  Spring以前 RPC 業務で使うシステムはサーバー間で連携することが多い。2019年現在ではREST apiに対してjsonやprotocolbufferで呼び出す事が当たり前のように行われているが、まだjsonも発見されていない時代はもっと複雑な仕組みが取られていた1。異機種間でやりとりするためのCORBAや、機種に依存しないデータプロトコルのASN.1なども利用されていたが、仕様は複雑でそれぞれをハンドリングするライブラリは有償で売られ、ベンダーからサポートを受けながら使用するようなものだった。 RMI Javaの世界ではJava同士でやりとりするためのRMIが定義され、比較的に楽にRPCできるようになった2。とはいえhttpでrestをコールすることに比べたらアホみたいな複雑さである。 https://docs.oracle.com/javase/jp/1.3/guide/rmi

                                    ジャバの異常な愛情 またはSpringはいかにしてモダンであることを止めて時代遅れになったのか - Qiita
                                  • SmartNewsのサーバーサイドのすべて 大規模サービスを支えるアーキテクチャと技術スタック

                                    SmartNewsのサーバーサイドのすべて 大規模サービスを支えるアーキテクチャと技術スタック サーバサイドの技術スタック・アーキテクチャ総ざらい 2019年5月28日、「SmartNews Tech Night in Fukuoka Vol.1」が開催されました。日米4,000万ダウンロード (※1)を超えるニュースアプリ「SmartNews」の今と、技術にまつわる裏側について包み隠さず語る本イベント。プレゼンテーション「サーバーサイドの技術スタック・アーキテクチャ総ざらい」に登壇したのは、SREチームのEngineering Managerを務めるNobutoshi Ogata氏。SREチームの立ち上げを行い、EMとして活躍する同氏が、SmartNewsに用いられるサーバーサイドの技術について明かします。※1:日米Google Play、App Storeのダウンロード数を合算した数値

                                      SmartNewsのサーバーサイドのすべて 大規模サービスを支えるアーキテクチャと技術スタック
                                    • Rustで真に安全なプログラムを書く方法 - かとじゅんの技術日誌

                                      この記事はRust Advent Calendar 2021の12/8日の記事です。 Rust前提の記事として書きましたが、他の言語にも適用できる考え方なので、ほかの言語勢の方々もよければお付き合い下さい。 今回のテーマは「Rustで真に安全なプログラムを書く方法」についてです。 「真に安全なプログラム」の定義は以下とします。 挙動が安定し、結果が予測可能となる 正しさの基準に基づき、プログラムの間違いを検知することができる 「真に」とはドメイン知識に基づく正しさという意味です。詳しくは後述します。 それと「そもそもRustで実装されるプログラムは安全じゃないのか」という想定質問については「メモリの操作は安全。だが、それだけでは真に安全なプログラムにはならない」が答えになります。これについて興味がある方、ぜひ最後までお付き合いください。 「真に安全なプログラム」を実現するレシピとしては「関

                                        Rustで真に安全なプログラムを書く方法 - かとじゅんの技術日誌
                                      • コールセンターの担当者もSQLを叩く。モノタロウのデータドリブンな文化に惚れた|株式会社MonotaRO(モノタロウ)

                                        ※本記事の内容は取材時のものであり、組織名や役職等は取材時点のものを掲載しております。 モノタロウの継続的なビジネス成長に伴い、月間セッション数や注文数は大幅な増加を続けています。指数関数的に増えるデータを扱いやすくするための技術的探求は尽きません。 なかでもデータハブの整理・構築を中心に技術開発・研究に携わるのが、エンジニアの中村さん(ECシステムエンジニアリング部門 EC基盤グループ コアロジックチーム)です。データ領域で「冒険したかった」という彼が、モノタロウを選んだ理由や技術的な面白さ、今後の展望について話を聞きました。 データが“いくらでも増え続ける”サービスでのチャレンジ ——はじめに、現在の業務について教えてください。 主にデータハブの整理や構築です。実際のデータからバッチ処理でデータを作り、API化していく手法を開発・研究しています。プラクティスを他の開発者に展開するなど、

                                          コールセンターの担当者もSQLを叩く。モノタロウのデータドリブンな文化に惚れた|株式会社MonotaRO(モノタロウ)
                                        • ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                          ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう ドメイン駆動設計(DDD)が近年関心を集めていますが、同時にこの設計思想は難しい、わかりにくい、という見方もあります。さまざまなプロジェクトでドメイン駆動設計を実践してきたかとじゅんさんが、サンプル課題をもとに、ユースケース分析、モデル設計といった基礎を解説します。 はじめまして、Chatworkでテックリードをしている、かとじゅん( @j5ik2o )です。 僕は2010年ころより、大小さまざまなプロジェクトでドメイン駆動設計、いわゆるDDD(Domain Driven Design)を導入した開発を実践してきました。ドメイン駆動設計を主題としたワークショップなども主宰していますが、最近では加速度的にこの設計思想への関心が高まっていると感じます。本稿では、なにかと分かりにくいドメイン駆動設計の基本を、架空の

                                            ドメイン駆動設計をわかりやすく - ドメインのモデル設計を手を動かしながら学ぼう|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                          • 【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた - Qiita

                                            これってなんなの? 【ど素人状態=社会人になって初めてプログラミングを勉強したぜ!(特に新卒)】〜【Webエンジニアの3年生ぐらい】になるまでに読むと良い本まとめです。「どんな目的で学ぶか?」*「いつぐらいまでに読むといいか?」を段階的にまとめました。「これだけ読めばいい!」と、そんな簡単な話ではありませんが、「今いるレベルより少し上の人がどんなジャンルのことを学んでんだろ?」という方の参考になれば嬉しいです。過去の自分に向けてでもあります、自戒。これからWebエンジニアになる人、なって間もない人の参考になれば幸いですm(__)m ※続編 【Webエンジニアど素人】が【3〜4年生】くらいになったら読むといい本を目的別にまとめた ”Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本”の段階的まとめ(一部外部記事あり) ど素人の方々が手を動かしながら1〜6ヶ月以内に学ぼう! ◆どの

                                              【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた - Qiita
                                            • リアクティブは難しいが役に立つ - Chatwork Creator's Note

                                              お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進しているところですmm。この記事はそういう論点で注目されている「リアクティブ原則」についてまとめてみたいと思います。 それなりのボリュームになってしまったので、時間があるときに読んでいただければと思います。 さて、Linux Foundation内の新たなトップレベルプロジェクトであるReactive Foundationが主催する、Reactive Summit 2020が11月10日にオンラインで開催されたので参加しました。 www.reactivesummit.org 参加されていたスピーカーはLightbendをはじめ、Netflix, Fac

                                                リアクティブは難しいが役に立つ - Chatwork Creator's Note
                                              • クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High

                                                何を言っているのかと言うと、みんな大好きクリーンアーキテクチャの右下に図示されているFlow of Controlのこと。 黒線が引かれているということは、つまりUsecaseの中でOutput Portのインターフェイスを持つPresenterの関数なりが最終的に実行されるということである。 ここで湧き上がってくる疑念は「UsecaseがPresenterを呼び出さなくてもControllerに返り値とかで値を返して、Controller経由でPresenterに渡して実行しても同じなんじゃないの?」である。つまりOutput Portというインターフェイスそのものを撤廃してControllerにPresenterを使わせるアイデアである。たしかに、仮にこの方針で行ったとしても依存の方向が壊されることはない。 Software Engineeringでは同様の質問がかなり盛り上がっている

                                                  クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High
                                                • 私の Rust 学習記録 2021

                                                  ※ この記事は 2021/10 時点での内容です。 社内勉強会で 2021 年に発表した内容で、外部公開しようと思って寝かせてしまっていました。 記事としての鮮度は落ちてますが、頑張って書いたものなので Zenn に公開しておきます。 概要 社内異動を機に業務で Rust を書けることになった私の Rust 学習記録です。 今までの言語経験はメインが Ruby、少し JS/TS、趣味で Go をやっていたぐらいです。 学習の方針 なんでもかんでも Rust で書く。 Rust は GC のないシステムプログラミング言語として大体 C 言語と同等のレイヤーからカバーできるので、書こうと思えば OS から Web アプリまで書ける。 yew のような UI 構築用のライブラリもあるので、フロントエンド開発もできる。 というわけでなんでもかんでも Rust で書ける。 リポジトリ運用 デプロイの

                                                    私の Rust 学習記録 2021
                                                  • やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab

                                                    国分崇志(@k0kubun)と申します。プログラミング言語Rubyのコミッターとして活動しています。2019年からシリコンバレーで働いており、2022年からShopifyという会社でRubyのJust-In-Time(以下、JIT)コンパイラをフルタイムで開発しています。 長い間趣味でやっていたコンパイラの開発を仕事にしたのは、現職が初めてでした。この記事では、趣味を仕事に変えた経緯や、どのようにして業務経験のない分野にキャリアチェンジしたのかを紹介します。 仕事で分散システム、趣味でコンパイラを書くキャリア 楽しく稼げる仕事を求めてたどり着いたRubyエンジニア 研究で分散システムと言語処理系の両方に興味を持つ 分散ミドルウェアを仕事で、JITコンパイラを趣味のOSS活動で やっぱりコンパイラを仕事にした複合的なきっかけ 働きながら大学院に通い、コンパイラが一番好きなことに気付いた コン

                                                      やっぱりコンパイラが書きたい。渡米後にRuby JIT開発を趣味から仕事に変えた私のキャリア戦略 - Findy Engineer Lab
                                                    • My new error...

                                                      2023 年度の僕のエラーハンドリング について書きたい。 昨日Safe Data Fetching in Modern JavaScriptを読んでいて、fetch に限った話ではないが一家言ある内容だったので書きたくなった。 おそらくやりすぎだとか非効率と言われる点はあると思うので、みんなの一家言も教えて欲しい。 対象は Typescript での サーバー開発想定だが、TS であればクライアント開発にもほとんどに当てはまる話だと思う。 例外のスローではなく Result 型を使う Result は失敗するかもしれないという文脈を与えてくれる型 エラーハンドリングの戦略として例外を投げるのではなく、Result 型を返すやり方がある。 Result 型というのは export type Result<T, E> = Ok<T> | Err<E>; export interface Ok

                                                        My new error...
                                                      • Go を2年くらい書いた感想: 意図をエンコードしきれない感じは消えず - blog.8-p.info

                                                        ここ2年くらい、仕事では大体 Go を書いている。jmuk さんが Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 と書いていたけれど、私はやっぱり Scala や Kotlin あたりが好きで、これは変わらなそう。 例えばコレクションを map しているのをみると、私は「なるほど、ここではコレクションの要素数は変わらないんですね」と思う。filter だったら「コレクションの要素数は変わるけど、個々の要素は変わらないのか」ということを、あるいは Result を map していたら「ここではエラーのほうは触らないのね」ということを読みとっている。 こういう意図が、素朴な for ループと、if err != nil だと読みきれなくて、いや真面目に字面を追っていけばわかるんだけど、私が「map するか」と思いながら for ループを書いて、その for ル

                                                        • スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita

                                                          スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点RubyRailsScalaポエムスタートアップ この記事を書くに至った経緯 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRuby on RailsからScalaに移行したのですが、その効果が思ったよりだいぶ大きく、いずれこの効果を共有したいなーと思っていました。 弊社ではスタートアップで全員ほぼ未経験状態のScalaを採用するという挑戦をした結果、「Scalaを書きたい」というレベルの高い人材をかなりの確率で捕まえられるようになり、開発がものすごい加速した上に堅牢になったのでそのうちスタートアップでScalaを採用するメリットを記事にする予定。 https://t

                                                            スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita
                                                          • ITエンジニアが使いたいエディタトップ10 「Visual Studio Code」は3位 1位は?

                                                            ITエンジニアが最も使いたいエディタは?──パーソルキャリアは5月26日、こんなランキングを発表した。1位は「サクラエディタ」(38.0%)、2位は「秀丸エディタ」(20.8%)、3位は「Visual Studio Code」(9.4%)だった。 4位は「Atom」(5.2%)、5位は「TeraPad」(5.0%)、6位には「EmEditor」(3.0%)がランクイン。7位は「Brackets」「Notepad++」「Vim」が同率(2.7%)。10位は「CotEditor」(1.7%)、11位は「Emacs」(1.5%)で、12位は「Liveweave」と「Sublime Text」が同率(1.0%)だった。 エディタを選ぶ上で重視するポイントを聞いたところ、1位は「ソフトの軽さ」(34.2%)。以降は「機能性の高さ」(28.3%)、「日本語対応」(14.4%)、「外部ツールとの連携」(

                                                              ITエンジニアが使いたいエディタトップ10 「Visual Studio Code」は3位 1位は?
                                                            • 再帰的な構造のデータの同値性判定はどうしたらいいか - 貳佰伍拾陸夜日記

                                                              数日前にTwitterで, JavaScriptのオブジェクトに対する===の挙動が初心者には難しいみたいな話を見かけた. 発端や周辺の議論をちゃんと追いかけてないからとくに出典は貼らない. たぶん元々の話は「へぇ, こういう挙動なんだ, 簡単ではないね」くらいの話だったのかもしれない. 自分のタイムラインの観測範囲では「そうだそうだ, (参照の同一性ではなく)同値性にしとけばいいのに」と思っている人もそれなりにいそうに見えた. 個人的にも同値性が簡単に確認できるとよい気はするものの, 「なんでそうしないんだ, オブジェクトの中身を確認していくだけだろ!」みたいな簡単な話ではないことも知っているため, 以下のようなツイートをしたのだった. JavaScriptのオブジェクトの同値性、再帰的な構造とか作るとぜんぜん自明じゃないんだよなぁ。リンクの構造は違うけどプロパティを辿ったときのパスはど

                                                                再帰的な構造のデータの同値性判定はどうしたらいいか - 貳佰伍拾陸夜日記
                                                              • Twitter's Recommendation Algorithm

                                                                Twitter aims to deliver you the best of what’s happening in the world right now. This requires a recommendation algorithm to distill the roughly 500 million Tweets posted daily down to a handful of top Tweets that ultimately show up on your device’s For You timeline. This blog is an introduction to how the algorithm selects Tweets for your timeline. Our recommendation system is composed of many in

                                                                  Twitter's Recommendation Algorithm
                                                                • Vue/Nuxt開発効率を3倍にするVSCode拡張機能セット - Qiita

                                                                  この記事を読むと VSCode拡張機能を入れて、下記のようなことが実現します ・VSCodeとは別にterminal(Command Line)の画面を開かなくても、VSCode内から直接terminal操作ができる(例えばnpm run devも) ・全てのカッコ()[]{}が種類別に色分けされる ・インデントが一眼で分かる ・htmlタグの開始タグと終了タグを同時に修正できる ・Vue.jsやNuxt.jsの構造やファイル操作が楽になる etc... なぜこの記事を書いたのか VSCodeは素晴らしいテキストエディタです。 特に、Vue.jsやNuxt.jsを用いて開発している方にとっては最も有力な選択肢でしょう(そして、その選択は間違いではないと保証できます)。 さて、VSCodeはそのままでも素晴らしいエディタですが、使用するフレームワークや用途に応じて拡張機能を入れるとさらに、そ

                                                                    Vue/Nuxt開発効率を3倍にするVSCode拡張機能セット - Qiita
                                                                  • なぜリモートでも完全にペアプロで開発するのか? XPのプラクティスをどこまでも徹底するユーザベースの挑戦を恐れない開発文化 - はてなニュース

                                                                    ステイホーム期間が続き、開発者がオフィスで顔を突き合わせることも少なくなっています。そんなリモートワークが既定となった状況下でも、ユーザベースのB2B SaaS事業では開発に関わる全てを徹底してペアプログラミングで行っています。 その根幹には、XP(eXtreme Programming)のプロセスを推進することで開発効率を向上させる意図があり、それが多種多様なプログラミング言語やマイクロフロントエンドといった目新しい技術を恐れることなく積極的に採用する開発文化を生み、ひいてはシェアドリーダーシップによる自己組織化されたチームのあり方につながっています。 わずか10人程度だったエンジニア組織を4年で10倍の規模に拡大し、さらに組織と事業の成長を目指すCTOの林尚之さん、スペシャリストとしてFellowの肩書を持つ板倉大輔さん、入社2年目のエンジニア片山景太さんの3人にお話をうかがいました。

                                                                      なぜリモートでも完全にペアプロで開発するのか? XPのプラクティスをどこまでも徹底するユーザベースの挑戦を恐れない開発文化 - はてなニュース
                                                                    • M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした - きしだのHatena

                                                                      M1 MacBook Airが届いていろいろやってたら年も明けてだいぶたったけども、ビルド速度とかJavaとかDockerとかTensorFlowとか、技術者が気になるベンチマークを試してたので、まとめました。 MacBook Airを買ってしまった なんかM1 Mac解説動画をとるためにいろいろ調べていたら、悪質サイトのリンクを踏んだみたいで、MacBook Airを買ってしまっていた。 その悪質サイトは最初は7万円台ですよーっていっておいて、結局12万円くらいになっていた。 みんなもapple.comってサイトには注意しましょうね。 www.youtube.com とどいた! 12/12到着予定といいつつ11日になっても羽田から動いてなかったので大丈夫かーと思ったら11日深夜というか12日未明というかそのあたりには福岡に届いてて、朝発想されて夜にとどいた。 でこれだ! ベンチマーク G

                                                                        M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした - きしだのHatena
                                                                      • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

                                                                        お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

                                                                          Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
                                                                        • 【第3回】CTOはWeb技術のトレンドに何を見てきたか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                                                          日本を代表するブログサービスをはじめ、近年ではサーバ監視サービスMackerelでも知られる株式会社はてな。日本におけるWeb開発の黎明期から現在に至るまで、新旧さまざまな技術スタックが混在する環境で、CTOであるmotemenさんこと大坪弘尚さんはどのような心構えで技術選択に挑んでいるのか。初代はてなCTOでもある株式会社一休CTOの伊藤直也さんが聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・大坪 弘尚さん / 株式会社はてな CTO 2008年、東京大学大学院情報理工学系研究科を中退後、アプリケーションエンジニアとして新

                                                                          • なぜmapやreduceやfilterなのか〜前編|こわくない関数型プログラミング

                                                                            のように、式を変形してから代入するというテクニックが使えます。 もちろんこの式変形はxとyがどんな実数のときでも成り立ち、特定の値だとうまく行かない、なんてバグはありません。 割り算を含むような式では、「0で割るのは未定義」といったアサーション条件もきっちり定義されています。 数学で習ったたくさんの式たちは、どれをどう組み合わせてもバグがないのです。 プログラミングをしていて、たくさん作ったクラスやメソッドのどれをどう組み合わせてもバグがない状態なんて、ちょっと考えられませんよね。 バグの少ないプログラムを書きたい こんなことを考えてみましょう。 バグのない関数の組み合わせだけで全部の処理が書けるだろうか? 「関数の組み合わせ」と言うのは、 関数Aの返り値を関数Bの引数として渡す という意味です。四則演算もれっきとした関数です。Scalaなんかでは"+"とか"-"もちゃんと標準ライブラリの

                                                                              なぜmapやreduceやfilterなのか〜前編|こわくない関数型プログラミング
                                                                            • マイクロサービスでチームを分離したくないマン - まっちゅーのチラ裏

                                                                              コンウェイの法則とかで、マイクロサービス=組織 という話になることが多いなと感じる。 正解の場合もあるし、不正解の場合もあると思っていて、個人的には小さいチームでもマイクロサービスをやるメリットは技術的にも組織的にもあると思う。 そのメリットを無視してすぐ組織の話に持っていきたくないので、基本分離したくないマンとしての主張を書いておく 技術観点でのメリット いまさら語るまでもないけど、 ドメイン境界の分離 デプロイ独立性 リソースの最適配分 障害の局所化(サーキットブレーカー等) このうち、ドメイン境界の分離だけはモジュラモノリスで対応可能だが、あとの3つにはマイクロサービスが必須。(もっとあるかも) この3つが必要なのにモノリス or モジュラモノリス で進める判断をするということはシステムの表現力を落とすことに直結する。 もちろん、複雑度は増すし難易度も増す。熟練のサーバーサイドエンジ

                                                                                マイクロサービスでチームを分離したくないマン - まっちゅーのチラ裏
                                                                              • TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO

                                                                                みなさんTypeScriptでサーバアプリケーション(Node.js)のロジックを書く時に、異常系の表現をどのようにされていますでしょうか?ここでいう異常系とは、仕様上想定される異常のことです。準正常系と言ったりもするかと思います。 私はJavaScriptの延長でTypeScriptをはじめたので、最初は null や undefined を返したり throw を用いるやり方をしていましたが、次第にTypeScriptが持つ型を生かし、できるだけ型安全に異常系を表現したいと考えるようになりました。そして試行錯誤した結果、いい感じの落とし所に落ち着いたので、その内容についてお伝えしたいと思います。 また記事の後半では、異常系の型を実装する中でハマった点についてもお伝えしたいと思います。 TypeScriptの異常系表現について 1. nullやundefinedを返す 冒頭でも述べたよう

                                                                                  TypeScriptの異常系表現のいい感じの落とし所 | DevelopersIO
                                                                                • ITエンジニアの働き方を尊重し、技術的な成長を促進する開発組織に求められるものとは? ──ユーザベースの取り組みに見る - はてなニュース

                                                                                  ITエンジニアが働く環境を選ぶ際に「技術的な成長が期待できるかどうか?」はとても重要な指標です。技術的な裁量が大きいことや学習機会が用意されていることだけでなく、チーム編成や評価といった仕組みの部分にまでエンジニアを尊重した文化が浸透していれば、その企業は極めて働きやすいと言えるでしょう。 エンジニアが尊重される文化を醸成する仕組み作りの事例として、ペアプログラミングによる知見の共有を推し進め、プロダクトに導入する技術選択にもかなりの自由を持たせているユーザベースに、エンジニアを支える開発組織と企業文化について聞きました。 今回は、スペシャリストとしてFellowの肩書きを持つ矢野勉さん(上記画像左下)と、入社2年目の廣岡佑哉さん(左上)にそれぞれの働き方を語ってもらい、CTOの林尚之さん(右上)には組織としての考え方をうかがいました(※取材はWeb会議ツールでリモート実施しました)。 ※

                                                                                    ITエンジニアの働き方を尊重し、技術的な成長を促進する開発組織に求められるものとは? ──ユーザベースの取り組みに見る - はてなニュース