並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 4097件

新着順 人気順

scalaの検索結果281 - 320 件 / 4097件

  • Scalaの難しさをインターネットから集めてみる - Lambdaカクテル

    Scalaは難しいと思われたり敬遠されがちである。Scalaの難しさについてTwitterなどでアンケートをとったり、ネットでググって意見を吸い上げてみた。議論の叩き台にするみたいな用途を意図しています。 ご意見や記事募集中です。できればTwitterじゃなくて記事だと嬉しいです。流れていってしまうので・・・ また、私見は私見です。 追記(2024-03-08)ちなみに、色々書いていますが僕はScalaが大好きです(このブログでものすごい数の初心者~中級者向けの記事を書いています)し、ネットで言われているような終わった言語ではまったくないです。初心者をサポートして、難しいと感じている部分をほぐして、みんながScalaでワイワイやれるようにコミュニティを立ち上げ、継続的に活動しています。おかげさまで日本の公式Scalaコミュニティとして認めてもらっています。ブログのバナー下のリンクからDis

      Scalaの難しさをインターネットから集めてみる - Lambdaカクテル
    • トレンドから考えるフリーランスJavaエンジニアの生存戦略 | Offers Magazine

      今の案件内容と獲得経路 Javaをメインにフリーランスエンジニアをしている、いろふ(@irof)です。システム開発の仕事は10年以上、フリーランスとして独立して4年目になります。 会社員をしていた頃は主に企業内で使われる基幹システムの開発に携わってきました。フリーランスとしてはシステム開発だけでなく、Javaに限らない技術支援やチームビルディングのサポートなどいろいろさせてもらっています。コミュニティ活動として関西Javaエンジニアの会などをやっています。 ▲JJUGでの直近の登壇資料 今回は、フリーランスとしての案件を紹介した後に、Javaのトレンドから考えるフリーランスとして必要なスキルについて考えていきたいと思います。 どんな内容でもまずは声をかけてもらうことが重要 実際にやっている案件は、もちろんJavaのシステム開発もありますが、それだけに限りません。たとえば、システム構成の検討

        トレンドから考えるフリーランスJavaエンジニアの生存戦略 | Offers Magazine
      • ヤフーのJava開発を支えるJavaサポートチーム

        ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!広告エンジニアの高見と申します。 2021年10月より「第11代黒帯〜プログラミング言語(Java)〜」 に就任しました。 この記事では、「ヤフーにおけるJava開発」と、私が従事している「Javaサポートチームの活動」について、紹介します。 (※黒帯制度とは:各領域において突出した専門性を持つ社員を黒帯として任命し、社内外における活動を会社として支援する制度) 1.ヤフーにおけるJava環境 2017年10月頃から全社でシステムのモダナイゼーションが推進されています。 この取り組みで、主要開発言語がPHPから、JavaとNode.jsに変更となりました。 Javaは、主にサーバーサイドアプリケーションで使

          ヤフーのJava開発を支えるJavaサポートチーム
        • ソースコードを自動生成する Amazon CodeWhisperer でアクセンチュアが開発生産性を向上させた方法 | Amazon Web Services

          Amazon Web Services ブログ ソースコードを自動生成する Amazon CodeWhisperer でアクセンチュアが開発生産性を向上させた方法 Amazon CodeWhisperer は、統合開発環境 (IDE) で記載されたコードやコメントから提案コードを生成する AI アシスタントで、開発者の生産性の向上に役立ちます。 CodeWhisperer のような AI アシスタントを導入することで、必要なコードがリアルタイムに提案され IDE とドキュメントや Q&A サイト間の往復 ( コンテキストスイッチ ) が減りコーディングの完了を早めることができます。 CodeWhispererは、何十億行ものコードでトレーニングされた大規模言語モデル (LLM) により 15 のプログラミング言語でコードを書けます。執筆時点で、 Java、Python、JavaScript

            ソースコードを自動生成する Amazon CodeWhisperer でアクセンチュアが開発生産性を向上させた方法 | Amazon Web Services
          • Rustでマイクロサービス開発はじめました - EmotionTechテックブログ

            はじめに こんにちは、テックリードのかどたみです。 「冷やし〇〇はじめました」の幟が街を彩って久しくも、まだまだ暑い日が続きますね。 突然ですが、皆さんは今夏新しくはじめたことはありますか? 弊社ではタイトルの通りRustでマイクロサービスの開発をはじめました。 この記事では、マイクロサービス化やRustに至った考えとRustで開発をしてみた感想を述べたいと思います。 なぜマイクロサービス化するのか? 弊社ではサービス開始当初からRuby on Railsを用いて開発が進められ、現在でも機能の追加が続いています。モノリスとしてどんどん大きくなっているのですが、大きくなることによって以下のような課題が出てきています。 新しいメンバーがコードを把握するのにかなり時間を要する 改修の影響範囲が大きくなり、見積もり難度が上がっている テストやビルドに時間がかかり、細かな修正でもリリースのコストが高

              Rustでマイクロサービス開発はじめました - EmotionTechテックブログ
            • Elm at Rakuten | Rakuten Engineering Blog

              In our team at Rakuten, we have been using Elm1 in production for almost two years now. This post is about our story, the lessons we learned, and our likes and dislikes. This post is quite long so if you prefer to see an overview, feel free to jump to the index. Everything started in the Berlin branch of Rakuten during the summer of 2017. We were maintaining a medium-size single-page application w

                Elm at Rakuten | Rakuten Engineering Blog
              • 『計画の科学』を読んでPERT図について学んだ / PERT図を出せるツールを作成した - Lambdaカクテル

                id:hitode909におすすめされてはいたものの読んでなかったので、休日を使って読むことにしたのが『計画の科学』である。技術と読書の贅沢二本立て。 成果物 成果物1 あたまがよくなりました 成果物2 PERT図(をGraphVizで出力するためのDOTドキュメント)を出力するScalaのプログラムを書きました。 github.com CSVから直接指定はまだできません(直にコードを書く必要があります)が、工程を短縮したい場合にどこから短縮すればよいかを表示する機能があります。実際の図は記事の下らへんにあります。 計画の科学 1965年と比較的古い本でありながら、依存関係を含んでいる複雑なタスクをいかに科学的に処理していくかについて、アメリカで開発されたPERTと呼ばれる技法を紹介して説明していく本。 あまり分量も多くなく、物理本も新書サイズでKindle版もあるのですぐ読み終わる。 計

                  『計画の科学』を読んでPERT図について学んだ / PERT図を出せるツールを作成した - Lambdaカクテル
                • Scalaはバックエンドでもフロントエンドでも動く Treasure Dataのエンジニアが語るScalaの応用力の高さ

                  アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。そこでTreasure DataのTaro L. Saito 氏がScalaに関するいろいろなテクノロジーを紹介しました。まずは、バックエンドとフロントエンドの両方で使えるScalaについて。 趣味はオープンソースのプロジェクトを作ること Taro L. Saito氏:「Scala For Everything」というタイトルで発表します。簡単な自己紹介を。Treasure DataのSaitoといいます。Principal Software Engineerをしていて、今、カリフォルニア、アメリカの西海岸から発表しています。タイムゾーンの都合上、今こちらは夜の20時なんですけれども、ScalaMatsuriの運営の麻植さんが、タイムゾーンに配慮してくださったので、非常に感謝し

                    Scalaはバックエンドでもフロントエンドでも動く Treasure Dataのエンジニアが語るScalaの応用力の高さ
                  • TypeScript で幽霊型っぽいものをつくる

                    この実装だと当然エンコード済みの文字列も渡せてしまい、多重エンコードが起きる。未エンコードの文字列だけが渡ってくることをコンパイラレベルで検出したい。 幽霊型(Phantom Type) こういうとき、他の言語ではよく幽霊型が用いられる。次のリンク先は Scala での実装例を紹介している https://www.slideshare.net/AkinoriAbe1/aja-2016623 // 上記スライドの 6 枚目より class Str[T] (val str: String) trait Normal trait Encoded def encode(x: Str[Normal]) = new Str[Encoded](...) 内部では利用されない型パラメータ( Normal Encoded )を使って、Str[T] にはそういう種類があること、 Str[Normal] と S

                      TypeScript で幽霊型っぽいものをつくる
                    • Hatena Engineer Seminar #18 を1月26日にオンライン開催します #hatenatech - Hatena Developer Blog

                      こんにちは. はてなWebアプリケーションエンジニアの id:papix です. 2022年1月26日(水)に, Hatena Enegineer Seminar #18 の開催が決定しましたのでお知らせします. 今回は2021年に新卒入社したエンジニア7名が登壇します. 自社サービスである「はてなブログ」「はてなブックマーク」, 共同開発や開発支援のプロジェクトを担当するエンジニアが, それぞれのチームでのサービス開発や運営での取り組み, そこで得た学びを発信します. 新しく取り組んだ技術や新機能開発の進め方, 他部署や他職種との連携の工夫, チームの改善やGraphQLの話まで幅広い内容となっています. 開催はオンラインです. (詳しくはconnpassのイベントページをご確認ください). 皆様のご参加をお待ちしております! イベント概要 日時: 2022年1月26日(水) 19:00

                        Hatena Engineer Seminar #18 を1月26日にオンライン開催します #hatenatech - Hatena Developer Blog
                      • Akkaのライセンス変更について - kubell Creator's Note

                        こんにちは、かとじゅんです。 『Chatwork Product Day 2022』に関連してブログを書こうということで、Akkaのプラグインの改善などをテーマに記事を書こうと思ったのですが、Akkaのライセンス変更が界隈ではちょっとしたニュースになりました。「Chatworkさんはどうするの?」とよく聞かれるので、Chatwork社での今後の方針について簡単にまとめてみたいと思います。 Akkaのライセンス変更 www.lightbend.com Akka 2.7 から Apache License Version 2.0 から Business Source License (BSL) v1.1 に変わりました。BSLはMariaDBでも採用されているライセンスです。 The new license for Akka is the Business Source License (BS

                          Akkaのライセンス変更について - kubell Creator's Note
                        • 2021年にやったこと - k0kubun's blog

                          2020年にやったこと 2019年にやったこと 2018年にやったこと 2017年にやったこと 2016年にやったこと 2015年にやったこと というわけでこれ毎年書いてるんですけど、 なんか参戦したくなったので Rubyist近況 Advent Calendar 2021 24日目です。 入居者募集 記事があるくらいですし、自由に書こうと思います。メリークリスマス。 発表 1歳児がいる状況で家を留守にしたり夜に声を出したりすると家族に負担がかかるので、録画提出できるカンファレンスにしか基本参加しないことにしているのだけど、コロナが長引いていることにより今年も登壇しやすい状況が続いた。 とはいえ、ハイブリッド開催だったRubyConfに関しては、国内の渡航だけでShopifyのYJITチーム全員 (や当地のRubyフレンズ) と対面で話せる貴重な機会だったので、行けなかったのは惜しいなあと

                            2021年にやったこと - k0kubun's blog
                          • OSSへの貢献 - Issueから始めるチーム活動 - ZOZO TECH BLOG

                            はじめに こんにちは、計測プラットフォーム部バックエンドチームのリーダー、児島(@cozima0210)です。この記事では、今年4月に社内で策定されたOSSポリシーに基づいて、チームでOSSに貢献する活動に取り組んだ話を紹介します。社内のOSSポリシーが策定された経緯については、こちらの記事をご覧ください。 なお、これはZOZOテクノロジーズ Advent Calender 2020 #3の5日目の記事です。 背景 私たちのチームでは、ZOZOSUIT/ZOZOMATから生成されるデータ及びそれを元とする計算データを高速に扱うため、様々なライブラリの使用を試みてきました。それらの中には、調査や試用の段階で不具合を発見したライブラリがありました。しかし、プロダクトの開発及び運用の過程では、そうした不具合の根本原因を探る時間を持つことは難しいものでした。そのため、代替ライブラリの選択を検討した

                              OSSへの貢献 - Issueから始めるチーム活動 - ZOZO TECH BLOG
                            • モジュラモノリスで表現する複雑なドメイン領域と境界 / Expressing complex domain regions and boundaries with 'modular monoliths

                              モジュラモノリスで表現する複雑なドメイン領域と境界 / Expressing complex domain regions and boundaries with 'modular monoliths

                                モジュラモノリスで表現する複雑なドメイン領域と境界 / Expressing complex domain regions and boundaries with 'modular monoliths
                              • 数としての赤黒木 - エムスリーテックブログ

                                エンジニアリンググループの高島(@rst76)です。 社内の勉強会で、計算機科学の有名な教科書、アルゴリズムイントロダクション(Introduction to Algorithms)を輪読しています。 ちょうど赤黒木の章を私が担当したので、要点をかいつまんでご紹介したいと思います。 今回お話したいのは「ある条件の下で、赤黒木は記数法表現と見ることができる」という話です。 赤黒木の例 赤黒木 二分木というデータ構造があります。 計算機科学では一般的なデータ構造で、ランダムなデータであれば、検索や挿入などの操作を で実現できます。 ただ、データの与え方によっては偏った木ができてしまうことがあり、そうすると各操作の性能が に落ちてしまうので、どうやって木の平衡性を維持するかが課題です。 赤黒木は二分木の一種で、ノード(節点)を赤と黒に塗り分けて、赤と黒の組み合わせによって平衡性を保つための調整を

                                  数としての赤黒木 - エムスリーテックブログ
                                • OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13] - Hatena Developer Blog

                                  はてなで働くエンジニアにアンケートシリーズ第13回は、ブックマークチームのWebアプリケーションエンジニア、id:itchynyに話を聞きました。 はてなidはかぶらないように適当に付けた Haskellが得意な自分ならScalaも書けるだろうと思って チーム間で協力しながら新しいAPIの仕様を策定 TLとして、チーム横断での依頼の窓口にも 夕方から深夜にかけて頭が冴える より戦略的にOSSへ貢献する体制作りをしたい スプリントごとに常に方法を改善 実装力を活かして良いシステム構成にできた時に手応えが 意思決定の過程を書き残すのは重要なこと 意欲がある人はいくらでも学べる会社 はてなidはかぶらないように適当に付けた ── Q1. はてなidとその由来を教えてください id:itchyny (いちにぃ)です。本名ばれせず、かつかぶらないよう適当に付けたので、由来はありません。 Haskel

                                    OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13] - Hatena Developer Blog
                                  • 仕様の複雑化、過渡期特有の難解なコード、技術スタックの老朽化… システムの健全な成長を妨げる要因に対する基本戦略

                                    仕様の複雑化、過渡期特有の難解なコード、技術スタックの老朽化… システムの健全な成長を妨げる要因に対する基本戦略 アーキテクチャ刷新の現場:未知の技術を採用するために #1/2 アーキテクチャ刷新の現場における取り組みと成果を発表 成瀬允宣氏:みなさん、こんにちは。GMOインターネットグループでデベロッパーエキスパートとして活動しています、成瀬允宣と申します。本日はよろしくお願いします。 私、所属はGMOインターネットグループ株式会社で、システム統括本部に所属している一般のプログラマーではありますが、私からお送りするお話は、「アーキテクチャ刷新の現場」で、ここ数年……2年ほどですかね、アーキテクチャを刷新する現場で一番前を走っていたので、その現場のお話をしようかなと思っています。 非常に苦労して、やっと花開いてきたところなので、今日は、何を予測して、何を準備して、そして何を失敗したのか。そ

                                      仕様の複雑化、過渡期特有の難解なコード、技術スタックの老朽化… システムの健全な成長を妨げる要因に対する基本戦略
                                    • 全ての開発者が学ぶべき5つの言語 - Qiita

                                      「どの言語を学ぶべきか」という議論はエンジニア向け記事の定番ネタですが、HackerNoonに投稿された5 Programming Languages Every Master Developer Should Learnという記事がなかなか興味深かったので翻訳してみました。 (2018/11/04追記) こちらの記事に関する「別視点からの意見」として下記のような記事を追加いたしました。宜しければこちらも併せてご参照ください。 Ruby->Go->Scalaという習得順序がエンジニアの爆速の成長に最適である理由 はじめに 「プログラマーは新しい言語を毎年1つは習得するべきだ」という趣旨の文章をどこかで読みました。(多分CODE COMPLETEだったと思いますが) もしそれが難しくても、キャリアの中で最低限この後に紹介する5つの言語に通じておくことをお薦めします。 あらゆる会社は、多言語を

                                        全ての開発者が学ぶべき5つの言語 - Qiita
                                      • 秘密情報をGitLabに格納することなくGoogle Cloud / AWSに対して認証する - エムスリーテックブログ

                                        エムスリーエンジニアリンググループ AI・機械学習チームの笹川です。 趣味はバスケと筋トレで、このところはNBAはオフシーズンですが、代わりにユーロバスケが盛り上がっていて、NBAに来ていない良いプレーヤーがたくさんいるんだなーと思いながら見ています。 夜ご飯を催促するためデスク横で待機する犬氏(かわいい) 今回は、パブリッククラウドへの認証に必要な秘密情報をGitLab自体に格納することなく、安全に認証する方法について紹介します。 CI/CDの実行時のパブリッククラウドに対する認証 ナイーブな手法とその問題点 OpenID Connectを用いた認証 Terraformでパブリッククラウド側の設定を記述する Google Cloudの場合 AWSの場合 GitLab CI/CDで認証する Google Cloudの場合 AWSの場合 認証ステップの共通化 まとめ We are hirin

                                          秘密情報をGitLabに格納することなくGoogle Cloud / AWSに対して認証する - エムスリーテックブログ
                                        • 【現役エンジニア解説】2020年に初心者が最初に学ぶべきプログラミング言語 - 仮想サーファーの日常

                                          「プログラミングを学んで、自分に向いているならエンジニアとして転職したいけど、最初に学ぶ言語ってどれがいいんだろう?」 「2020年にプログラミングを学び始めるなら、どの言語をどんな目的で学べばいいんだろう?」 と、最初のプログラミング言語って何がいいのか、悩んでしまいますよね。 ぼく自身も未経験からエンジニアに職種を変更する決断をしたとき、最初に学ぶべきプログラミング言語がわからなかったので、いろんな記事を読みあさった記憶があります。 今回は、2020年これからプログラミングを学び始めるならどの言語がオススメなのか、現役Webエンジニアとして働いている立場のぼくが「初心者の学習のしやすさ」と「求人・案件数の多さ」と「今後の需要が伸びる可能性」の観点から紹介していきます。 プログラミング初心者が最初に学ぶ言語の重要性 プログラミングを勉強する上で、なぜ最初に学ぶ言語選びをこだわる必要がある

                                            【現役エンジニア解説】2020年に初心者が最初に学ぶべきプログラミング言語 - 仮想サーファーの日常
                                          • GraphVizをECSでHTTPサービス化して社内どこからでも使えるようにした話 - Lambdaカクテル

                                            グラフ作成ツールであるGraphvizを社内でHTTPサービス化し、どこからでも使えるようにした話です。 こういう感じで使えます。 $ curl -X POST http://graphviz.ほげほげ.example.com/ -d 'digraph { foo -> bar -> buzz; }' https://ほげほげふがふが.amazonaws.com/958508bb186ef076c2cbb92c1e0c34ea0e51316e2d9bfe46620d2d6278db0f94.png URLを開くとこういう画像になっています。ヤバイ!! Graphviz便利だけどやや不便 困り HTTP化することで得られるめでたさ アーキテクチャ ファイル構成 Dockerfile server.py conv.sh CD用ファイル task-definition.json .github/

                                            • Webシステム開発で関わる技術のまとめ(2022年に知った物) - Qiita

                                              はじめに Webシステムの開発に携わりたくて転職して9か月,知らない事ばかりで日々勉強しております。 自分の勉強用メモとして知っておくべき技術をまとめようと思いました。 (こちらの記事にインスパイアされたものです) 技術用語について,なるべく2~3行で概要を説明できる事を目指しています。 情報が多過ぎるので,主流な技術は見出しを赤字にしています。(主観強め) また,今後需要が増えそうな技術は青字にしています。(かなり主観強め) とはいえ,新しい技術が登場すれば,数年でトレンドが変わってしまう事も多々あると思います。 ほとんどはあくまでも初心者がネットで情報をかき集めた程度のものです。 誤りがあればご指摘,ご意見など頂きたいです。 ※2023/2/6追記 不正確・不十分だと思った記載はひっそりと随時修正しています。 また,「そういえばこんなんあったな」という項目も追記しています。 あと,自分

                                                Webシステム開発で関わる技術のまとめ(2022年に知った物) - Qiita
                                              • Best Practices Around Production Ready Web Apps with Docker Compose — Nick Janetakis

                                                Learn Docker With My Newest CourseDive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker → Updated on June 1, 2021 in #docker, #elixir, #flask, #javascript, #ruby-on-rails Best Practices Around Production Ready Web Apps with Docker Compose Here's a few patterns I've picked up based o

                                                  Best Practices Around Production Ready Web Apps with Docker Compose — Nick Janetakis
                                                • 仕事で使うHaskell

                                                  TL;DR Haskellはいいぞ。ただ仕事で使うならビルド、デプロイ周辺は工夫する必要が色々出てくるぞ。 あ、nixもいいぞ。 はじめに Haskellを用いている会社HERPに転職してからそろそろ1年が経つので久しぶりに記事でも書いてみます。そういえばzennでは初投稿ですね。 最近はHERPでHaskellを書きつつシステム基盤整備みたいなことをやっています。あとマネージメントみたいなこともやってたりします。 僕の書いたHaskell microserviceは既に稼働して売り上げに貢献しています。 あ、HERPはHaskell FoundationのFunctorスポンサーになっています。スポンサーの名前が面白いですよね。 Haskellを仕事で使う感想 最高ですね。簡単便利十分速い保守楽拡張楽、という感じです。 並行プログラミングツールとしてstmが提供されているのがお気に入りで

                                                    仕事で使うHaskell
                                                  • 私のコード履歴書 - それが僕には楽しかったんです。

                                                    satoru-takeuchi.hatenablog.com ↑この記事が Twitter の TL に流れてたから読んでみたら面白かったのでコードを書き始めた7年前*1から振り返りながら書いてみる。 コードが残っていたりするものは載せていきたい。思い出せる限りなるべく時系列順で書いていく。多少前後する。 「独学でプログラミングを始めるなら C 言語から」という文言に載せられ Windows のコマンドプロンプト*2で動く簡単のプログラムをいくつか作った。ほとんど入門書の写経 + αだった。例によってポインタがわからず、もっと酷いことに return もわからなくて*3一旦距離を置く。return がわからなかったので関数を使うことを割けていたので全部 main 関数に書いていた気がする。初めて黒い画面にバババーっと文字が出てきたときはめちゃくちゃ楽しかった。 Java とかいう言語を使い

                                                      私のコード履歴書 - それが僕には楽しかったんです。
                                                    • まつもとゆきひろさんと、なかだのぶよしさんと、Rubyについてのお話 - ポッドキャスト | Heroku

                                                      永野: 私は、SalesforceでHerokuを担当している永野智です。このエピソードは、Deeply Technicalがテーマとなります。今回はゲストとして、「Rubyのパパ」、Matzこと まつもとゆきひろ さん、そして「さすらいのパッチモンスター」なかだのぶよし さん。また、Herokuのサポートエンジニア 澤光映さんをゲストにお迎えしてお送りいたします。皆さんよろしくお願いします。 Matz, Nobu, 澤: よろしくお願いします。 永野: まずは、もう皆さん知ってると思うんですが、自己紹介から始めたいと思いますので、じゃまずMatzさんから自己紹介をお願いいたします。 Matz: はい、 まつもとゆきひろ と申します。Rubyを作った人ですね。「Rubyのパパ」って名乗ってますけれども。日本では、平仮名で まつもとゆきひろ で、海外では M, A, T, Zで Matzって

                                                        まつもとゆきひろさんと、なかだのぶよしさんと、Rubyについてのお話 - ポッドキャスト | Heroku
                                                      • はてなブックマークのお気に入りの整理のしようがないという話。 - 深淵

                                                        お気に入りに666人いれている事になってても、ここの画面で出てくるのは50人まで。 がんばってJSON形式で引っ張っても、実は495人なんですよ。 幾らScalaとかで書いたとしても、プログラムのあちこちにマジックナンバーが仕込まれてそうって感じなので、既に技術的負債は相当な量溜まっていると思います。

                                                          はてなブックマークのお気に入りの整理のしようがないという話。 - 深淵
                                                        • 同時編集可能なドラッグアンドドロップによる並び替えを実装する | Wantedly Engineer Blog

                                                          こんにちは。Wantedlyでエンジニアをしている小林(@kbys_02)です。最近、ドラッグアンドドロップで並び替えをする機能を実装していて、技術的に面白いトピックだと思ったので記事にしました。 前提「Pulse」というモチベーション管理ツールにある1on1機能の開発を行なっています。 1on1で話をするトピックの優先度を変更できるようにするという施策を実現するため、ドラッグアンドドロップによる並び替え機能を実装しました。 1on1機能には、1on1に参加する2人が編集した内容がお互い同期更新されるという仕様があります。並び替え時にも同じように、参加者2人が同時に並び替えを行った時にロジックが壊れないようにする必要がありました。 浮動小数を利用した並び替えアルゴリズムこのような、リストにあるアイテムの並び替えを実装しようとした時に最初に思い浮かぶのは、連番による方法です。まず、上から順に

                                                            同時編集可能なドラッグアンドドロップによる並び替えを実装する | Wantedly Engineer Blog
                                                          • PySparkはじめました - 分散処理デビューする前にやったこと - JX通信社エンジニアブログ

                                                            「JX通信社Advent Calendar 2019」10日目の記事です. 昨日は, @rychhrさんの「Pure WebSocketsをサポートしたAWS AppSyncでWebとiOS間のリアルタイムチャットを作ってみた(1)」でした. 改めまして, こんにちは. JX通信社でシニア・エンジニア&データ基盤エンジニアをしています, @shinyorke(しんよーく)と申します. JX通信社では, データ駆動での意思決定および施策実施をより円滑に進めるため, データ基盤の構築・運用を進めながらトライアル的に様々なFrameworkやツールの検証を行っています.*1 このエントリーでは, 私がシュッとPySparkで分散処理をする...前に, 手元で試したときの感想とその知見 のお話を残していきたいと思います. なお, 分散処理そのものの知見・ノウハウではなく, する前にPySparkに

                                                              PySparkはじめました - 分散処理デビューする前にやったこと - JX通信社エンジニアブログ
                                                            • Scalaで圏論チョット学ぶ

                                                              ࠓ೔ͷΰʔϧ 6 関数型プログラミング のライブラリ ・Scalaz ・Cats etc… 圏論 ・圏 ・関⼿ ・⾃然変換 etc… 概念を 使っている 使う ⾒え隠れしても怖くない! チョットわかる! ※ エンジニアのよく⾔う 「完全に理解した」→ 「全然わからん」 →「チョットわかる」の「チョットわかる」ではなく ⽂字通りの「チョットわかる」がゴールです

                                                                Scalaで圏論チョット学ぶ
                                                              • 筒で理解する反変・共変

                                                                この記事では、Java、Scala、TypeScriptなど、サブタイピング(subtyping)をサポートする言語であれば間違いなくサポートしているであろう「反変(contravariant)」・「共変(covariant)」について、視覚的なアナロジーを用いつつ解説したいと思います。コード例を含め全てTypeScriptを前提とした説明ですが、同様の機能を持った言語であれば概ね同じことが言えるはずです。 そもそもサブタイピングとは サブタイピングとは、型と型との間にサブタイプ(subtype)・スーパータイプ(supertype)という関係を定めて、スーパータイプである型の代わりとして、サブタイプである型を利用できるようにする仕組みです。 例えば、TypeScriptではstring型はObject型のサブタイプであるので、次のようにObject型の変数にstring型の値を代入するこ

                                                                  筒で理解する反変・共変
                                                                • 🚀 Visualizing memory management in V8 Engine (JavaScript, NodeJS, Deno, WebAssembly)

                                                                  This is part of my "Memory Management" series 🚀 Demystifying memory management in modern programming languages🚀 Visualizing memory management in JVM(Java, Kotlin, Scala, Groovy, Clojure)🚀 Visualizing memory management in V8 Engine (JavaScript, NodeJS, Deno, WebAssembly)🚀 Visualizing memory management in Golang🚀 Visualizing memory management in RustAvoiding Memory Leaks in NodeJS: Best Practic

                                                                    🚀 Visualizing memory management in V8 Engine (JavaScript, NodeJS, Deno, WebAssembly)
                                                                  • Blog|OS コマンドインジェクション その危険性と対策

                                                                    OS コマンドインジェクション(OS Command Injection) は、オペレーティングシステムのコマンドを不正に実行できてしまう脆弱性および攻撃手法です。 コマンド注入攻撃、コマンドインジェクションとも呼ばれます。 Web アプリケーションのコードに OS コマンドの呼び出し処理があり、ユーザーが入力したデータがコマンドの一部分を構成している場合に発生します。 本記事では、OS コマンドインジェクション(以下、コマンドインジェクション)の概要と攻撃による影響、対策について解説していきます。 コマンドインジェクションとはなにかコマンドインジェクションは、攻撃者が Web アプリケーションを通して、Web サーバが動作する OS でコマンドを実行できてしまう脆弱性です。 コマンドインジェクションが起きるまでの流れ 攻撃者は、Cookie やフォームのデータ、URL のクエリパラメータ

                                                                      Blog|OS コマンドインジェクション その危険性と対策
                                                                    • 松竹梅はsortしても松竹梅になる - Lambdaカクテル

                                                                      物事の順位付けをするとき、松竹梅という雅な表現がよく使われる。自分もよく使う。 blog.3qe.us コンピュータにとってもそうなのだろうか?そう考えた私は実際にソートしてみることにした。 % echo $LANG ja_JP.UTF-8 % sort --version sort (GNU coreutils) 9.3 Copyright (C) 2023 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permit

                                                                        松竹梅はsortしても松竹梅になる - Lambdaカクテル
                                                                      • 技術に対して的確に投資をしている | はてなで働く yutailang0119 にアンケート [#7] - Hatena Developer Blog

                                                                        こんにちは、id:hitode909です。今回は、はてなブックマークのスマートフォンアプリチームのテックリードである、id:yutailang0119の話を聞きました。 チーム内でのテックリード業や新機能開発のような動きから、技術カンファレンスの運営といったコミュニティ活動まで、幅広く語っていただきます。 id:yutailang0119にアンケート はてなidとその由来を教えてください いつどんなきっかけで入社されましたか? 現在の仕事を教えてください チーム内の立ち位置を教えてください 今日一日の流れを教えてください 最近うまくいったことは何ですか? 最近うまくいってないことは何ですか? ふだん大切にしていることは何ですか? はてなはどんな会社ですか? おわりに id:yutailang0119にアンケート はてなidとその由来を教えてください "yutailang0119" と書いて

                                                                          技術に対して的確に投資をしている | はてなで働く yutailang0119 にアンケート [#7] - Hatena Developer Blog
                                                                        • 型のメンタルモデル | TypeScript入門『サバイバルTypeScript』

                                                                          型システムの背景理論​プログラミング言語の型システムにはそれぞれ固有の世界観があり、言語ごとに型の機能が異なります。 その一方で複数の言語で共通している機能もあり、それらのさまざまな型の機能は唐突にどこからともなく出現してきたわけではありません。背景として大きくは型理論(type theory)と呼ばれる数学的な研究分野があり、各言語の型システムは型理論に基づいて実装されています。 たとえば、TypeScriptのunknown型やnever型のような一見何のためにあるか分からないような型であっても、型理論においてはその役割や機能を一般的に説明することができます。これらの型はトップ型やボトム型と呼ばれる型の種類に分類され、部分型関係が作る階層構造の両端点に位置する型として振る舞います。 部分型階層の両端点に位置する型型理論的な観点からの知識を持つことで似たような型システムを持つ他の言語にお

                                                                            型のメンタルモデル | TypeScript入門『サバイバルTypeScript』
                                                                          • Rustでもモナドは実装できるのか?(再) - Don't Repeat Yourself

                                                                            この記事は言語実装Advent Calendar 2020 25日目の記事です。(2022-11-06: 記事の内容を追記していますが、この記事の結論としては「似たようなものは作れるが、完全体にはならない」です) 前提知識 高階カインド型 モナド 従来のエミュレーション方法 Generic Associated Types を用いたエミュレーション(new!) 型クラスを定義する Functor を用意する Pointed を用意する Applicative を用意する Monad を用意する いくつか型を実装していく 現状実装できないもの do 記法 Generic Associated Types(GATs)とは何か 追記(2022-11-06) リポジトリ 参考文献 モナドに関する話題が言語実装アドベントカレンダーの範疇に入るのかわかっていませんが*1、プログラミング言語がお好きな方

                                                                              Rustでもモナドは実装できるのか?(再) - Don't Repeat Yourself
                                                                            • なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita

                                                                              EDOCODEでエンジニアをしているYutakaです。 こちらは社内勉強会で発表した資料を元にしています。 関数型言語の知識がほとんどないエンジニアがなっとく!関数型プログラミングで学んだ用語を一部まとめました。原著はGrokking Functional Programmingです。本書はScalaとJavaで説明がされていますが、できる限り社内で使われている言語(Go, JavaScript, TypeScript)でサンプルコードを記載しました。 書籍のソースコードはこちらに全て公開されています。 そもそも関数型プログラミングとは? プログラミングのパラダイムには大きく①命令型プログラミング②宣言型プログラミングがあります。 ①命令型プログラミングとは どのよう(HOW)に計算するかに焦点を合わせ、段階的なアルゴリズムを詳細に定義します。これは実際のハードウェアの計算処理の流れに沿っ

                                                                                なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita
                                                                              • 非同期処理の基本とアクターモデルが解決する課題とは

                                                                                はじめまして、マーベリック株式会社のリチャード 伊真岡です。この連載では非同期処理に役立つアクターモデルを学ぶため、JavaとScalaから使えるOSSであり、アクターモデルの実装を提供するAkkaを紹介します。連載の前半では非同期処理とActorの基礎的な部分を、後半では非同期処理から分散システムへと話を進めていきます。分散システムは現代のシステム構築において重要性を増しているので、Akkaが非同期処理のツールから始まって、どんな分散システムのアーキテクチャーのパターンを可能にしてくれるのかを紹介したいと思います。連載の第一回である今回は非同期処理の現状や歴史をおさらいし、そしてアクターモデルによって非同期処理の中でも、どういった問題が解決されるのかお話します。 非同期処理とは 現代のアプリケーション開発では非同期処理を扱う機会が数多くあるといえるでしょう。非同期処理[1]とは、処理を開

                                                                                  非同期処理の基本とアクターモデルが解決する課題とは
                                                                                • Reconstructing TypeScript, part 0: intro and background

                                                                                  Jake Donham > Technical Difficulties > Reconstructing TypeScript, part 0 Reconstructing TypeScript, part 0: intro and background2021-09-07I've been building a "document development environment" called Programmable Matter that supports live code embedded in documents, with a simple TypeScript-like programming language. It's been fun figuring out how to implement it—the type system in TypeScript is