並び順

ブックマーク数

期間指定

  • から
  • まで

601 - 640 件 / 1520件

新着順 人気順

Scalaの検索結果601 - 640 件 / 1520件

  • 世界のプログラミング言語(27) デキるやつが使ってる『OCaml』は実用的な関数型言語

    OCamlは関数型言語の一つで、実用性の高さで人気があります。オブジェクト指向や強い静的型付けなどの特徴を持ち、実行速度がC言語並みに速いことも特徴の一つです。筆者の中ではデキるプログラマーが好んで使っているイメージがあります。Microsoftが開発した.NET対応言語のF#をはじめ、多くの言語にも大きな影響を与えました。今回は、OCamlについて紹介します。 OCamlのWebサイト OCamlについて OCamlは、もともとプログラミング言語ML言語の方言の一つです。もともと、「Objective Caml」という名前でしたが、OCamlに改名されました。つまり、OCamlのOはオブジェクト指向のOなのです。1996年にフランスのINRIA(フランス国立研究所)で開発されました。 残念ながら原稿執筆時点では、TIOBE Indexなどの人気プログラミング言語ベスト50にはランクインし

      世界のプログラミング言語(27) デキるやつが使ってる『OCaml』は実用的な関数型言語
    • AWS 認定 機械学習 – 専門知識(AWS Certified Machine Learning – Specialty)の学習方法とマシンラーニング・ディープラーニングの基礎知識が学べる学習リソースの紹介 - NRIネットコムBlog

      小西秀和です。 この記事は「AWS認定全冠を維持し続ける理由と全取得までの学習方法・資格の難易度まとめ」で説明した学習方法を「AWS 認定 機械学習 – 専門知識(AWS Certified Machine Learning – Specialty)」に特化した形で紹介するものです。 重複する内容については省略していますので、併せて元記事も御覧ください。 また、現在投稿済の各AWS認定に特化した記事へのリンクを以下に掲載しましたので興味のあるAWS認定があれば読んでみてください。 ALL Networking Security Database Analytics ML SAP on AWS Alexa DevOps Developer SysOps SA Pro SA Associate Cloud Practitioner 「AWS 認定 機械学習 – 専門知識」とは 「AWS 認定

        AWS 認定 機械学習 – 専門知識(AWS Certified Machine Learning – Specialty)の学習方法とマシンラーニング・ディープラーニングの基礎知識が学べる学習リソースの紹介 - NRIネットコムBlog
      • JJ1UZH - はてなサマーインターン2022に参加した

        はてなリモートインターン2022の参加記です. 媒体は問わないとのことで, なぜか みなさんはてなブログで書いていらっしゃるようなのですが, 自分はGithub Pagesに書きます.天邪鬼ですみません.言い訳をすると,Emacs/org-modeでしか文を書けない病に冒されているのです. まずインターンに行こうと思ったきっかけは,先輩がインターンは行ったほうがいいぜと言っていたことと, 大学の必修単位に読み替えられることです. はてなに応募した理由は,内容がおもしろそうだったのと,技術スタックにScalaがあったからでした. Scalaでの開発であれば多少慣れていたし,好きな言語なのでいいなと思ったのです. 結局Scalaは使わなかったんですけどね. 面接はリモートで行われました(インターン自体がフルリモート). 応募したきっかけや技術的な興味の他,GitHubでの活動についても話して,

        • 4年ぶりのScala国際カンファレンス、Scala Days Madrid 2023 に参加しました! - たにしきんぐダム

          画像元: https://twitter.com/scaladays/status/1701616520546206039 Scala の世界最大のオフラインカンファレンス、Scala Days Madrid 2023 に参加してきました。Scala Days は例年に2回、アメリカとヨーロッパで開催されており、今年は Madrid での開催でした。 scaladays.org コロナ期間中 Scala Days は開催されておらず、2019年以来4年ぶりの開催!(前回はLausanne開催でした) developer.hatenastaff.com 会場は世界中から集ったたくさんの人で賑わい、参加者の熱意の高さから感じられるとても良いイベントでした。その中で印象に残ったセッションの紹介を交えつつ、会場の様子をレポートしたいと思います。 カンファレンス本体の話に移る前に、周辺イベントを紹介

            4年ぶりのScala国際カンファレンス、Scala Days Madrid 2023 に参加しました! - たにしきんぐダム
          • Branded Typesを導入してみる / TypeScript一人カレンダー

            こんにちは、クレスウェア株式会社の奥野賢太郎 (@okunokentaro) です。本記事はTypeScript 一人 Advent Calendar 2022の18日目です。昨日は『NonNullable<T>と実例 assertExists()』を紹介しました。 Nominal TypingとStructural Typing あらゆるプログラミング言語において、型付けという機構は言語ごとに異なります。このアドベントカレンダーで紹介している型はいずれもTypeScriptのためのもので、これらが他の言語、Java, Scala, Rust…などですべて互換な知識かというと、まったくそんなことはありません。包括的な概念としては似通う部分も多々ありますが、言語ごとに「この言語はどういった型付けの機構を有しているのか」を理解するのが好ましいです。それは言語ごとに処理系が異なり、用途が異なり、

              Branded Typesを導入してみる / TypeScript一人カレンダー
            • 2020年11月現在のScala 3(Dotty)とScala 2のコンパイル速度比較 - xuwei-k's blog

              最初に結論 Scala 2.13.3 と 3.0.0-M2-bin-20201031-1ab76c1-NIGHTLY をscalaz最新版でベンチマークしたところ、 Scala 2.13.3は平均約57秒、Scala 3の最新版は平均約31秒で 約45%短縮!!! めでたいなぁ。 他の条件で計測した場合にどうなるのかわからないが、このままの速度を維持して欲しい。 以下詳細な条件や結果記載。 条件 scalazの最新版masterで、JVM側のmain側のみ(つまりtest除く。除いたのは、test含めると、よりコード量に差が出てしまうなどの理由) (数時間前に7.4.0-M4リリースしたので、実質それ) ベンチマークのために.travis.ymlだけ改変 https://github.com/xuwei-k/scalaz/commit/5956af9d2b280ef05b42eac9241

                2020年11月現在のScala 3(Dotty)とScala 2のコンパイル速度比較 - xuwei-k's blog
              • Scala3と圏論とプログラミング - Qiita

                最近、圏論とプログラミングという素晴らしい資料を拝読しました。圏論とプログラミング愛に溢れる資料で読んでいて目頭が熱くなりました。そうだよな・・・プログラマにも圏論いるよな・・・ ただ、自分にとって残念だったのは、資料で説明用に選択されたプログラミング言語が「Haskell」だったことです。もちろんHaskellは素晴らしい言語です。ただ、自分にとってHaskellは外国語なのでちょっと理解が難しいのです。なのでこの資料が「Scala」で書かれていたらと夢想せずにはいられなかったのです。 Scalaと言えば昨年末にScala3のリサーチコンパイラのDottyがFeature Completeを宣言しました1。この宣言で新機能の追加は終了して、あとは2020年末のリリースに向けてひたすら品質を上げていく段階に突入しました。つまり、ようやく次世代のScalaが全貌を現したということです。 ここ

                  Scala3と圏論とプログラミング - Qiita
                • ログ基盤をEFKスタックからDatadog Logsに安全に移行する工夫と効果

                  はじめに 採用管理システム「HRMOS採用」は、企業の採用活動の効率化や採用データの可視化・分析により、採用決定数の向上につなげることができるクラウドサービスです。 この度、HRMOS採用のSREチームでは、技術負債解消のためにログ運用基盤のDatadog Logsへの移行を行いました。その取り組み内容を紹介します。 計画以前のログ基盤構成と課題 サービス開始以降、ログの運用管理はEFKスタック1で構築された基盤を利用していました。サービスが成長にするにつれログ増加などの環境変化も伴い、時間経過とともに様々な課題が生まれてきました。 なお、トラフィックの規模感としては数百万件/日(平日)、数十億件/月ほどログ件数があります。 移行以前のログ基盤の構成イメージを以下に示します。 課題1 インフラの運用負荷が高い OpenSearch の運用負荷 Amazon OpenSearch Servi

                    ログ基盤をEFKスタックからDatadog Logsに安全に移行する工夫と効果
                  • Go言語のちょうどよさ / jmuk - Message Passing

                    Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 Go言語の登場時、なんせGoogleが大々的に発表した新しいプログラミング言語であるし、Rob PikeやKen Thompsonといった有名人の関わりもあり、華々しかった。そして、その登場を眺めたプログラミング言語マニアは、そのダサい仕様にわりとすぐがっかりして、興味をなくした。ということがあったと思う。今はGoはけっこう広く使われていて人気もあるけど、ここに至るまでには紆余曲折があった。 Go言語、なにせ2010年代にもなってなんせジェネリクスもない(そのわりにスライスや配列、ハッシュテーブルだけが標準にあり、特別扱いされている)。例外処理もない(これはまぁそのほうがいいだろうという人もいるだろうけど)。そこらじゅう if err != nil だらけ。テストにアサーションもなく、ひたすら地道にif文を書く

                      Go言語のちょうどよさ / jmuk - Message Passing
                    • Kotlinのコルーチンを実装面から検証する

                      今回のアプリケーションでは、RESTfulサービスを複数回コールする際の安全性と効率性に関する、ごく一般的な問題を取り上げています。記事では"Where's Waldo(ウォーリーを探せ)"のテキスト版 — "Waldo"を見つけるまで、名前のチェーンを追いかける処理を開発します。 ここにHttp4kを使って記述した、完全なRESTfulサービスがあります。Http4kは、Marius Eriksen氏の有名な論文で述べられている関数サーバアーキテクチャのKotlin版で、Kotlin以外にもScala(Http4s)やJava 8以降(Http4j)など、さまざまな言語で実装されています。 今回のサービスには、Mapによって名前のチェーンを実装した単一のエンドポイントがあり、名前を与えることで、マッチした値とステータスコード200か、あるいはエラーメッセージと404のいずれかが返されます

                        Kotlinのコルーチンを実装面から検証する
                      • ウィークエンドサンシャイン 2024年5月11日(ボニー・レイット、エリック・ビブ、ブルーノート・オールスターズ ) - ラジオと音楽

                        www.nhk.jp 【目次】 Bonnie Raitt「Unnecessarily Mercenary」 Eric Bibb『Live at the Scala Theatre』 Goin' Down The Road Feelin' Bad Whole World's Got The Blues Blue Note All-Stars「Message Of Hope」 Bonnie Raitt「Unnecessarily Mercenary」 ニューオーリンズ・ジャズ&ヘリテージ・フェスティバル2024に出演したボニー・レイット。ジョン・クリアリーが作ったこの曲も演奏したそうで、ジョン・クリアリーが飛び入り参加してキーボードを演奏されたそうです。 www.youtube.com Souls Alike アーティスト:Raitt, Bonnie Capitol Amazon Eric B

                          ウィークエンドサンシャイン 2024年5月11日(ボニー・レイット、エリック・ビブ、ブルーノート・オールスターズ ) - ラジオと音楽
                        • Overhead of Returning Optional Values in Java and Rust | Piotr Kołaczkowski

                          Some programming languages like Java or Scala offer more than one way to express a concept of “lack of value”. Traditionally, a special null value is used to denote references that don’t reference any value at all. However, over time we have learned that using nulls can be very error-prone and can cause many troubles like NullPointerException errors crashing a program in the most unexpected moment

                          • Emacs+MetalsでScalaのデバッガを使う - 貳佰伍拾陸夜日記

                            こういう話がありました。 Feature Request : Support for scala in dap-mode · Issue #196 · emacs-lsp/dap-mode を見てもdap-modeの使い方がよく分からなかったし別に時間をかける所じゃないなと思ったので、デバッグする時だけはIntelliJを使うことにしようとしたのですが、私の環境だとUIが崩壊してデバッグ設定以前の問題になってしまいます。 実はMetalsの(というかlsp-mode+dap-modeの)デバッガはいま普通に機能するけど、確かに使い方(使える状態にするコツ)がちょっとむずかしい感じがしますね。実際にはやることはあんまりないんだけど、いざやろうとすると時間を食うと思うので、時間を食われてやった側の人間としてやり方を書き記しておこうと思います。本当は最近のEmacsのモダンな環境ぜんぶ紹介するみ

                              Emacs+MetalsでScalaのデバッガを使う - 貳佰伍拾陸夜日記
                            • Python3.10の新機能(2) - Pythonにmatch文がやってくる - Qiita

                              はじめに 2021年10月にリリースが予定されているPython3.10で新たに加わる変更をPython3.10の新機能 (まとめ)という記事でまとめています。その中で比較的分量のある項目を別記事に切り出すことにしていますが、これはその第二弾で、PEP-634 で提案されている「構造的パターンマッチング」についてです。 なお、この機能については、既に@tk0miyaさんがPython3 に提案されたばかりのパターンマッチング構文を調べてみたという記事を書かれていてバッチリ網羅的に解説されているので、ここでは Python 3.10のWhat's Newに挙げられた例を使って、私が気になったポイントを書いてみたいと思います。 この変更で解決しようとしている問題 Pythonを使い始めた人が最初に疑問に思うことの一つに「なぜswitch文がないのだろうか?」があります。C言語などでもお馴染みの

                                Python3.10の新機能(2) - Pythonにmatch文がやってくる - Qiita
                              • Why the developers who use Rust love it so much - Stack Overflow

                                The 2020 Developer Survey results are in, and once again, Rust is the number one most loved language among the 65,000 programmers who participated. Rust has taken the number one spot since 2016, showing that it’s got something that the developers who use it love. 86.1% of those survey respondents who said they currently use Rust want to continue using it next year. This is the fifth year in a row

                                  Why the developers who use Rust love it so much - Stack Overflow
                                • Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜

                                  「Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜」 2019/10/05 【マイクロアド】〜ネット広告を支える技術を知る〜 #microad_CAMPHOR https://camphor.connpass.com/event/146724/Read less

                                    Scala、DDD、Akkaで立ち向かう 〜広告配信システムに課せられた100msの制約〜
                                  • 分散負荷試験という選択肢 - Qiita

                                    この記事はZOZOテクノロジーズ #4 Advent Calendar 2020の16日目の記事です。 昨日は @matsumana07384さんの HTMLのInput要素のinputmodeのスマートフォンのキーボードがどのように表示されるを整理してみた でした。 はじめに はじめまして。ZOZOテクノロジーズでSRE部に所属している@akitokです。 皆さん負荷試験していますか? システムの信頼性・安定性を担保するために、非常に重要なフェーズといえる負荷試験。 システムへのアクセスが増大し、目標スループットが高くなっていくにあたり、 そもそも目標スループットを再現した負荷をかけること自体が難しくなってきます。 この記事では、その難しさ・辛さに焦点をあて、分散負荷試験という選択肢を紹介します。 負荷試験の辛さ 負荷試験をしていて、こんな経験はありませんか? 一定程度高い負荷をかけ始め

                                      分散負荷試験という選択肢 - Qiita
                                    • 京都のIT系学生コミュニティ CAMPHOR- さんとイベントを共催しました - MicroAd Developers Blog

                                      こんにちは、まっつーです。10/5(土)に京都のIT系学生コミュニティ CAMPHOR-さんと「ネット広告を支える技術を知る」のテーマでイベントを共催させて頂きました。 マイクロアドのエンジニア3人で登壇して参りましたので、その時の様子や発表内容をご紹介したいと思います。 はじめに 今年の2月頃にCAMPHOR-さんにお声掛けして、イベント開催の提案をさせて頂きました。マイクロアドとしてはアドテクの面白さをもっと知ってもらいたい想いと、学生さんとコミュニケーションが取れる場になればと考えておりました。 そういった意図をお話させてもらい、CAMPHOR-さんから無事ご快諾頂くことが出来まして、開催の運びとなりました。 当日はCAMPHOR-さん提供のCAMPHOR- HOUSEにお邪魔しました。会場内は少し暗めな照明と温もりのある畳も相まって、集中出来そうな空間でした。学生時代に知っていれば

                                        京都のIT系学生コミュニティ CAMPHOR- さんとイベントを共催しました - MicroAd Developers Blog
                                      • ラクス開発メンバーが選ぶ『2021年の気になったニュース』 - RAKUS Developers Blog | ラクス エンジニアブログ

                                        こんにちは、技術広報のyayawowoです。 今回は、ラクスの開発組織メンバー達に 『2021年の気になったニュース』と気になった理由・ポイントを聞きました。 なお、昨年実施した内容もまとめておりますので、ご興味ありましたら是非こちらをご確認ください! 質問:皆さんの「2021年の気になったニュース」 を教えてください! 目次 『2021年の気になったニュース』ランキング 1位:log4j ゼロデイ脆弱性 2位:みずほ銀行システム障害 3位:iOS15リリース 3位:GitHub漏洩 4位:NTTドコモ通信障害 4位:IE サポート終了 5位:Windows11 リリース 5位:PHP8.1 リリース 5位:Java17 リリース 5位:AlmaLinux リリース 5位:Apple AirTag 発表 5位:キャリアメール持ち運び 5位:Facebook 社名変更 5位:小説の続きを書い

                                          ラクス開発メンバーが選ぶ『2021年の気になったニュース』 - RAKUS Developers Blog | ラクス エンジニアブログ
                                        • プロジェクトへ途中参加した際  早めにやっておくと良さそうな事

                                          Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x

                                            プロジェクトへ途中参加した際  早めにやっておくと良さそうな事
                                          • 関数型プログラミング: map結果を引数とのペアにしたいときはStateが便利だったりする(StateTもあるよ) - Lambdaカクテル

                                            この記事では、Scala 3と関数型ライブラリであるCatsを時折使いつつ、Stateモナドを利用することでmap結果にうるおいを与えられるという話題を紹介します。 よくある処理: mapしてからペアにする まあまあよくある: メソッドはたまに値返さないことがある まあまあよくある: メソッドが非同期の場合もある Stateモナド 通常の関数をStateに持ち上げる Stateでmapする StateT登場!! 一般化する まとめ プログラミング言語で最も頻繁に使われるデータ構造といえば、タプル、とりわけ2つの要素を持つタプルであるペアかもしれない。 【タプルとは?】 タプルとは、いくつかの型を並べて組にし、1つの型として扱えるようにしたものです。例えば、StringとIntをくっつけた(String, Int)というタプルを考えることができます。 タプルを構成する型の数によって、3-タプ

                                              関数型プログラミング: map結果を引数とのペアにしたいときはStateが便利だったりする(StateTもあるよ) - Lambdaカクテル
                                            • 中華邸宅をダイビングスクールに 開発進むバンコクで歴史保存

                                              タイの首都バンコクにある中華邸宅ソー・ヘン・タイのスキューバダイビングスクール用の中庭のプール(2022年2月15日撮影)。(c)Jack TAYLOR / AFP 【4月24日 AFP】タイの首都バンコク中心部に立つ200年前の中華邸宅。歴史ある建物が次々と解体されるバンコクで、邸宅は現在、スキューバダイビングスクールとして使われている。 チーク材の邸宅「ソー・ヘン・タイ(So Heng Tai)」は、インストラクターを務めるプーンサック・ポーサヤチンダー(Poosak Posayachinda)さん一族が8代にわたり所有してきた。 ソー・ヘン・タイが今でも壊されていないのは、ダイビングスクールに改装するというプーンサックさんの決断によるところが大きい。 もともとは、中国とのツバメの巣貿易を家業としていた一族の事務所兼住居として建てられたものだった。歴史的建造物に対する保護意識が低く、法

                                                中華邸宅をダイビングスクールに 開発進むバンコクで歴史保存
                                              • 品質とパフォーマンスに注力した Kotlin 1.4 をリリースしました | The Kotlin Blog

                                                IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Am

                                                  品質とパフォーマンスに注力した Kotlin 1.4 をリリースしました | The Kotlin Blog
                                                • F#とASP.NET CoreのMinimal APIを使ってAPIをつくる - Uzabase for Engineers

                                                  こんにちは、Product Teamのあやぴーです。 今回はここ1年くらい私のいるチームで使っているF#とASP.NET Coreを使ったAPI開発について簡単にまとめていきます。 F#ってなんだ? なぜ、今F#を採用したのか Minimal APIを使って、APIをつくる アプリケーションの雛形をつくる 任意のHTTPステータスとJSONレスポンスを返却する ルートパラメータやJSONボディの受け取り方 最後にF#を採用してみた雑感 F#ってなんだ? F#はMicrosoft(MSFT)が開発した、いわゆる関数型言語の特徴(第一級関数,イミュータブルデータなど)を持つ言語です。.NET VM上で動き、OCaml(ML系)に近いシンタックスを持っているというのがユニークなところです。また.NET VM上で動作するため、C#などのライブラリを使うことができるのもメリットです。JVM上で動くS

                                                    F#とASP.NET CoreのMinimal APIを使ってAPIをつくる - Uzabase for Engineers
                                                  • 協調型スケジューリング vs. 先取り型スケジューリング

                                                    この記事はCooperative vs. Preemptive: a quest to maximize concurrency powerの翻訳・意訳記事になっています。 動機 私のチームはJavaを多用しています。システムを構築するために、ウェブサーバやデータベースドライバなど、多くのものに、スレッドを介した同時実行機能を内蔵した、実績のあるオープンソースのJavaライブラリを使用しています。 また、ビジネス特有のロジックを実装する際には、Javaのスレッド化命令を利用して同時実行を実現しています。 しかし、時間が経つにつれ、パフォーマンスの問題が見えてきました。 Javaアプリには合計1万個のスレッドが実行されていたため、ホストのRAMをすべて占有してしまうサービスがありました。 64ビットのJVMのスレッドのスタックサイズが1024バイトであるため、スレッドが1万もあるとスタックだ

                                                      協調型スケジューリング vs. 先取り型スケジューリング
                                                    • N予備校のプログラミング入門 Webアプリコース(2021年度版)を完走してみて得たもの | DevelopersIO

                                                      Webアプリケーション作りの基礎を学びたかったのでN予備校の「プログラミング入門 Webアプリ」コースをやってみました。所要時間や感想を書き残します。 N予備校とは N予備校は月額1,100円でプログラミングコース以外にも、Webデザインや、数学、英語といった様々なコースをすべて利用できます。 プログラミングコースは、未経験者向けの「プログラミング入門 Webアプリ」コースや、Scalaを使った「実践大規模Webアプリ」コース、Node.js(Express)を使った「ニコニコ動画再現 Webアプリ」コースなど複数コースが用意されています。 その中から「プログラミング入門 Webアプリ」コースをやってみました。 きっかけ インフラ中心に仕事してきたこともあり、Webアプリケーションを基礎から学びたいと思いつつ「なにからやればいいのかなー」と漠然と考えているようでいませんでした。興味を惹く良

                                                        N予備校のプログラミング入門 Webアプリコース(2021年度版)を完走してみて得たもの | DevelopersIO
                                                      • GitHub - polynote/polynote: A better notebook for Scala (and more)

                                                        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 - polynote/polynote: A better notebook for Scala (and more)
                                                        • JavaユーザならCode FormatterにはSpotlessがオススメ - 京都行きたい

                                                          CIでフォーマッタ掛けてフォーマットのチェックしてますか? プロジェクトでフォーマットがある程度統一されていると落ち着きませんか? コードフォーマッタで悩んでいる、という人にオススメのツールとして Spotless というツールを紹介します。 記事の構成としては以下の順に沿って、Spotlessを紹介していきたいと思います。 Spotlessで何が出来るのか どこで使っているか 実際にどうやって使うのか Java以外にも色んなファイルのフォーマッタが使える 終わりに Spotlessで何が出来るのか Spotlessでは下のようなことができます。 色んなファイルのフォーマット CIでのフォーマットのチェック そのため、GitHub Flowみたいな形でmasterブランチにprotectionを掛けた上で CI上でフォーマットのチェックをするようにすると masterブランチのソースコード

                                                            JavaユーザならCode FormatterにはSpotlessがオススメ - 京都行きたい
                                                          • 技術スタック - エンジニア採用 - 採用情報 - 株式会社はてな

                                                            2015年にリライトプロジェクトを立ちあげ、マイクロサービス化を行いました。主要な機能はScala、表示部分にPerl、機械学習についてはPythonとそれぞれの言語の強みを活かしながら開発をしています。 言語/フレームワーク

                                                              技術スタック - エンジニア採用 - 採用情報 - 株式会社はてな
                                                            • 関数型プログラミングを学ぶメリットとは? そもそも関数とは何かを理解する

                                                              今やどんな開発環境でも見られるようになった関数型プログラミングとそのメリットを活用できていますか? JavaやRubyのような命令型のオブジェクト指向言語を利用しているエンジニアが関数型プログラミングを使いこなすためのノウハウが解説された『なっとく!関数型プログラミング』(翔泳社)から、関数とは何か、そして関数型プログラミングのメリットについて紹介します。 本記事は『なっとく!関数型プログラミング』の「第1章 関数型プログラミングを学ぶ」から一部を抜粋したものです。掲載にあたって編集しています。 ※本書はMichał Płachtaによる『Grokking Functional Programming』(Manning Publications 2022)の邦訳版です。 あなたが本書を手に取ったのはきっと... 関数型プログラミングに興味があるから 関数型プログラミングの話を聞いたか、ウィ

                                                                関数型プログラミングを学ぶメリットとは? そもそも関数とは何かを理解する
                                                              • 安全で柔軟なAlways-Valid Domain Modelの作り方

                                                                はじめに 昨今ではますます Immutable な Domain Model の有用性が認知されているように思います。 また、Domain Model が持つ制約(不変条件)を満たさないインスタンスを作れないようにする事の重要性も広く知られてきており、Always-Valid Domain Model といった名称もついているようです。 ここでは、制約を満たしたDomain Model (Always-Valid Domain Model) しか作成できないようにするファクトリメソッドについて、より柔軟で合成可能性の高いファクトリメソッドを定義する方法を紹介します。 この記事で利用する言語とライブラリのバージョンは以下の通りです。 Scala 3.1.0 cats-core 2.7.0 最初のエラーで全体を失敗とするファクトリメソッド まずは単純に Either を使ったファクトリメソッド

                                                                  安全で柔軟なAlways-Valid Domain Modelの作り方
                                                                • 大阪Ruby会議03参加レポート:RAILS_ENVを統合する取り組みについてLT会で発表してきました - ANDPAD Tech Blog

                                                                  1. はじめに こんにちは、SWEのあかりです。 記事を書くまでがカンファレンスということで、(1)大阪Ruby会議03のLT会で発表した「RAILS_ENVを統合する取り組み」についてと(2)大阪Ruby会議03に参加した感想について報告させていただきます。 2. 発表内容について LT会では、「RAILS_ENVを統合する取り組み: 開発用デプロイ環境をよりシンプルに」というタイトルで発表してきました。 発表スライドは以下のSpeaker Deckにて公開しているので、よければご参照ください。 speakerdeck.com 発表内容のストーリー自体はシンプルで、かつ、説明もスライド内に全て盛り込んでいるので、ここでは説明を省略させていただきます。 ですが、結論だけは超重要なので、本記事でも文字サイズを大にして書かせてください。 デプロイ環境ごとにRAILS_ENVを用意することはやめ

                                                                    大阪Ruby会議03参加レポート:RAILS_ENVを統合する取り組みについてLT会で発表してきました - ANDPAD Tech Blog
                                                                  • Atomic, volatile, synchronized について - MicroAd Developers Blog

                                                                    はじめに サーバサイドエンジニアの酒井です. 普段はマイクロアドが提供する広告配信プラットフォーム UNIVERSE Ads の DSP 部分の開発をしています. 今回は JVM 言語におけるマルチスレッドプログラミングに関するいくつかの用語の理解と整理を兼ねて記事にします. 背景 まず Real-Time-Bidding (RTB) についてですが, RTB では大量のリクエストが送られてくる中でレスポンスタイムの制約が 100 ms 以内と非常に制約が厳しいです. そのような環境の中マイクロアドの DSP 開発では, レスポンスタイムとスループットの二つのパフォーマンス指標の制約を常に満たすことが非常に重要になっています. この制約を満たせるようアプリケーションのパフォーマンスを上げるため, マルチスレッドプログラミングが用いられることはよくあります. また, マイクロアドの DSP

                                                                      Atomic, volatile, synchronized について - MicroAd Developers Blog
                                                                    • ScalaにGoroutineがやってくる!非同期処理ライブラリOxで遊んだ - Lambdaカクテル

                                                                      Channelスタイルの並行処理の記述を(もちろん型安全に)可能にするライブラリOxについて調べて試してみた。結論から言うと書き味がめちゃくちゃ良くて面白い。 ソースコードも置いておく。 github.com Ox Oxとは、sttpなどの開発でお馴染のSoftwareMillによって開発されているScala用の非同期ライブラリである。まだ非常に若く、活発に開発されている。 github.com Oxの特徴は、というか目的といっても差し支えないのだが、それはChannel指向の非同期処理、つまりGoroutineをScalaの上で実現している点だ。Goユーザならすぐに理解できるだろう。 百聞は一見に如かず。こんな感じのコードを書くことができる(v0.0.25時点)。 import ox.* import ox.channels.* import scala.concurrent.durat

                                                                        ScalaにGoroutineがやってくる!非同期処理ライブラリOxで遊んだ - Lambdaカクテル
                                                                      • プログラミング言語人気トップ8、過去15年間で安定 - 例外はPython

                                                                        10月TIOBE Programming Community Index / 円グラフ 10月TIOBE Programming Community Index / 棒グラフ TIOBE Softwareは発表の中で、毎年新たなプログラミング言語が登場しているものの、TIOBE Programming Community Indexのトップ8は過去15年間でほとんど変化していないと説明した。Perlが消えてPythonに入れ替わったことや、Objective-Cが消えてSwiftに替わったというのが大きな例外で、それ以外に大きな変動はないと指摘している。 ただし、プログラミング言語の分野に関してはいくつかの傾向があるとして、その例としてPHPやPerlからPythonへ移っていること、新しいプログラミング言語としてDart、Scala、Lua、Rust、Kotlin、TypeScriptな

                                                                          プログラミング言語人気トップ8、過去15年間で安定 - 例外はPython
                                                                        • 急成長する《現場》の、データエンジニアというお仕事。 - Qiita

                                                                          なんの話? 三行で。 サービスが急成長しデータ量が増えた際にデータエンジニアリングは必要とされる。 エンジニアリングに必要なスキルセットは比較的明確で、駆け出しエンジニアにもポジションあるよ。 データエンジニアリング業務を経て、データサイエンティストなど他職種にランクアップすることは可能。 [おまけ1] "data+engineer+positionでググる"と、主に海外のData Engineer(DE職)のお仕事が入門者レベルからエキスパートレベルまで見つかるよ...Tokyoをつけると、東京でのDE職も見つかる。転職活動で普通に有用。 *[おまけ2] 末尾におまけとして、現在私が取り組んでいる『2020年代のデータ分析基盤の基本設計』に関して日々調べていることを、公開できる範囲で書いておきたい(内容はコメント欄に随時更新)。実際のデータエンジニアリング実務の一端を知ってもらう意味で。

                                                                            急成長する《現場》の、データエンジニアというお仕事。 - Qiita
                                                                          • Scala 3のmatch typeでcompile timeにString literalをparseして評価する - xuwei-k's blog

                                                                            Scala 3のmatch typeで何かのparserでも書くか?と思ったけど、コンパイル時にリテラルのStringを、型情報というか分解した場合の値情報?を、保ったままの分解が単純には出来そうにはないというか… あるいは一旦CharのHListにしたいんだけど、何か方法あるのかな— Kenji Yoshida (@xuwei_k) February 28, 2021 https://t.co/sNupBRy3rV type Substringが増えてるからいける…?— Kenji Yoshida (@xuwei_k) 2022年2月28日 できました。 parserなどに慣れてないので、とりあえず以下のクソ雑仕様?だけど、tokenにするのとparseとevalをなんとなくちゃんと分けたぞ! みんなScala 3のmatch typeで、任意の言語などのparserや評価機を書こう!!

                                                                              Scala 3のmatch typeでcompile timeにString literalをparseして評価する - xuwei-k's blog
                                                                            • YAPC::2024 Hiroshimaにはてなパーカーで参加しました #yapcjapan - Lambdaカクテル

                                                                              ついに広島で開催されたプログラミングの祭典YAPC 2024 Hiroshimaに参加し、さきほど帰宅したのでレポートです。2/19〜2/21までの各イベントに参加しました。いくつかのトピックに分けて、現場の熱量をなるだけ伝えようと思います。 ついにやってきた大規模カンファレンス ついに、と書いていますがYAPCは例年ある程度安定して開催されています。ではなぜこう書いたかというと、COVID-19によりプログラミングコミュニティのカンファレンスが熱量を失ってしまっていたことが理由です。 COVID-19の猛威は日本中に襲いかかり、ありとあらゆるイベントを中止に追いやってきたわけですが、プログラミングコミュニティの集会も例に漏れませんでした。YAPC::2020はCOVID-19の打撃を受けて延期してしまいました。他のコミュニティも、2020年当時に同じような苦渋の決断を行っていたことと思い

                                                                                YAPC::2024 Hiroshimaにはてなパーカーで参加しました #yapcjapan - Lambdaカクテル
                                                                              • attrsの使いどころとdataclass - Keep on moving

                                                                                masahito.hatenablog.com この記事は^の記事の続きです。^を読んでから読むと良いと思います。 なお、今回のサンプルコードはこちらにあります。(間違いなどありましたらご指摘ください) github.com TL;DR attrsのつかいどころ 今Python3.5 or 3.6を使っている。今後dataclassを使いたい dataclassで slotsなどを使いたい場合にボイラープレートコードを避けたい slotsの効果 attrsとは www.attrs.org 簡単にいうとPython でclassを書くときのボイラープレートになるところがスッキリかけるものです。 1 Overviewで書かれているコードを軽く解説します。 >>> import attr >>> @attr.s ... class SomeClass(object): ... a_number

                                                                                  attrsの使いどころとdataclass - Keep on moving
                                                                                • An introduction to recursion schemes

                                                                                  class: center, middle # An introduction to recursion schemes Nicolas Rinaudo • [@NicolasRinaudo] • [Besedo] --- class: center, middle # Recursive Data Types --- ## Linked list .center[![Linked List](img/list.svg)] --- ## Linked list .center[![Linked List - Cons](img/list-1.svg)] --- ## Linked list .center[![Linked List - Nil](img/list-nil.svg)] --- ## Linked list .center[![Linked List - Cons](img/