並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1316件

新着順 人気順

haskellの検索結果161 - 200 件 / 1316件

  • 関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum

    先日こういうツイートがあった: Haskellとかの関数型言語を使用しているプログラマの皆様にお聞きしたいんですけど、「関数名 引数 引数 ...」みたいな関数呼び出し構文って見にくくは無いですか?「関数名(引数, 引数, ...)」に慣れたこちらからすると、丸括弧が無いからコード中のどこが関数呼び出しなのかパット見で把握しにくい。— sounisi5011/プログラム (@sounisi5011Prog) February 22, 2022 「見にくくは無いですか?」と聞かれると、個人的には「全然大丈夫です」と答えざるを得ないのだが、次のツイートに関しては考えさせられた: 数式でも函数には丸括弧を使ってるのに、どこのタイミングで丸括弧が消失したのかわからないし、その選択をした理由も思いつかない。— sounisi5011/プログラム (@sounisi5011Prog) February

      関数型プログラミング言語における関数適用構文の歴史的経緯についてのメモ - Arantium Maestum
    • フルスタック、VPoE、デザインエンジニア、フロントエンドの極み──4つのパターンで語る「フロントエンドキャリアの分岐点」 - TECH PLAY Magazine

      TECH PLAYERが「なりたい姿」を叶えるために、背中を後押しするTECH PLAY Talkシリーズ。第一弾はフロントエンジニアとして紆余曲折を経てきた『フルスタックパターン』小林泰士さん、『VPoEパターン』あほむさん、『デザイナーパターン』ymrlさん、『フロントエンドの極みパターン』mizchiさん、4人の現役&元フロントエンドエンジニアの「キャリアの分岐点」を紹介する キャリアの分岐点#1『フロントエンド→フルスタックパターン』小林 泰士さん 株式会社NEW SHIP CEO 小林泰士さん フリーランスのコーダーからキャリアをスタート トップバッターで登壇したのは、NEW SHIP CEO 小林泰士さん。業務委託でROXX、シェアダイン、APERITEが運営するワインのサブスクサービス「ポケットソムリエ」などの開発に携わっている。 大学時代は広報やライターといった活動と平行し

        フルスタック、VPoE、デザインエンジニア、フロントエンドの極み──4つのパターンで語る「フロントエンドキャリアの分岐点」 - TECH PLAY Magazine
      • 『形式意味論入門』を Haskell に書き下す (前編) - ryota-ka's blog

        この記事は以下のページに移転しました. blog.ryota-ka.me 一昨年のゴールデンウィークに池袋のジュンク堂を訪れた際,『形式意味論入門』という表題の本に目が止まり,数学や論理学を用いて自然言語表現の意味を形式的に考察する学問分野があることを知った*1.また,その道具立てとして単純型付きラムダ計算が用いられていることが,なおのこと私の興味を惹いた.ラムダ計算といえば,読者の多くが計算機科学分野での応用を思い浮かべると思うが,Richard Montague*2 が自然言語分野に応用して以来,そちらの方面でも道具立てとして用いられているようである. 形式意味論入門 (開拓社叢書) 作者:拓郎, 田中開拓社Amazon この本は,Irene Heim と Angelika Kratzer による Semantics in Generative Grammar (以下 Heim and

          『形式意味論入門』を Haskell に書き下す (前編) - ryota-ka's blog
        • 44種類のフォーマットに対応したPandocでMarkdownをHTML形式に変換する | DevelopersIO

          今回紹介するMarkdownやHTMLは当然として、reStructuredText、Textile、LaTeX、何故かCSV,EPUB、docx(Word)や、pptx(PowerPoint)、Jupyter notebook、各種Wiki形式、PDFに対応しています。 魅力②「メタデータや独自フォーマットへの豊富な対応」 Pandocは、Markdownのシンタックス拡張や、ドキュメントメタデータ、テーブル、脚注、箇条書き、上付き文字、下付き文字、順序付きリストに対応しています。文書変換時に、このあたりのフォーマット情報がきちんと変換されるのは心強い。 魅力③「定期的なアップデート」 Pandoc - Releasesを見るとわかりますが、ほぼ3ヶ月に一度ほど定期的に更新されています。最新のリリースは2020年2月15日と非常にフレッシュ! 自分実はPandoc自体は3年ぐらい前からそ

            44種類のフォーマットに対応したPandocでMarkdownをHTML形式に変換する | DevelopersIO
          • Haskell に IDE はないのか?──独断と偏見による Haskell の IDE 十年史

            答え:Haskell に IDE はずっとある、今ならHLS使え(内容を読む気がないようという人向けの答え) はじめに 2021年2月現在、Haskell の IDE 環境は Haskell Language Server (HLS) の登場により劇的な進化を遂げていますが、日本の Haskell コミュニティではその前身の Haskell IDE Engine (HIE) の情報がまだ氾濫しており、十分な周知に至っていない現状があります。 本稿では、こうした現状を打破すべく、2021 年 2 月現在の Haskell の IDE 環境を取り巻く現状と、そこに至るまでの歴史を完全に独断と偏見で紹介します。より多くの人に HLS の存在を周知し、皆さんの Haskell Life の一助となれば幸いです。また、HLS の前身である HIE は必ずしも快適に動作するとは言い難かったため、HLS

              Haskell に IDE はないのか?──独断と偏見による Haskell の IDE 十年史
            • Haskell 解説本 小史 - golden-luckyの日記

              日本語圏におけるHaskellの解説本には、これまで4回の波がありました。 それを思い出しながら、最後に『プログラミングHaskell 第2版』の紹介をします。 第1波 第2波 第3波 第4波 『プログラミングHaskell』が改訂されます 第2版ではプログラミングにおける型の理解が深まると思う ここで買えます 第1波 Haskell解説本の1つめの波は、2006年、『入門Haskell』と『ふつうのHaskell』が出版された頃にありました。 このうち、『入門Haskell』は(おそらく)日本初のHaskell本です。 『入門Haskell』(2006年) 『ふつうのHaskell』(2006年) 『ふつうのHaskell』は、書名だけを見ると「特殊な言語」であるHaskellを「ふつう」に説明している本であるように思えるのですが、実はそうでもなくて、淡々と部品の説明をしていく感じの内容

                Haskell 解説本 小史 - golden-luckyの日記
              • A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler

                I wrote a basic search module that you can add to a static website. It's very lightweight (50kB-100kB gzipped) and works with Hugo, Zola, and Jekyll. Only searching for entire words is supported. Try the search box on the left for a demo. The code is on Github. Static site generators are magical. They combine the best of both worlds: dynamic content without sacrificing performance. Over the years,

                  A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler
                • 「Markdown+CSS/TeXで冊子本を作ってみた」に参加してみた - 自己顕示欲の開放治療所

                  「Markdown+CSS/TeXで冊子本を作ってみた」に参加してみた connpass.com 2019/11/16 訂正 訂正いただきました箇所、打ち消し線と + 記号で大体わかるように、なっているといいな、しました。 開始前 記事中のAmazonのリンクはアフィリエイトにしていますので嫌悪感を抱かれる方は気をつけてください。 アンテナハウス株式会社*1様主催のセミナーに参加してきました。以前『PDFインフラストラクチャ構造解説』のPOD(Print On Demand)本を買ったときに存在を知り、ウェブサイトの「XMLに命をかけてくれ」というエピソード紹介が印象に残っていました。大規模、構造的ドキュメント用のソフトウェアに強みのある会社という理解です。 PDFインフラストラクチャ解説: 電子の紙PDFとその周辺技術を語り尽す 作者: 小林徳滋出版社/メーカー: アンテナハウスCAS電

                    「Markdown+CSS/TeXで冊子本を作ってみた」に参加してみた - 自己顕示欲の開放治療所
                  • 偏見に満ち溢れた俺の書いたことのあるプログラミング言語の説明

                    1つにつき3行で書いた、言語の話は炎上しがちだから匿名で。 C言語: 現代だと電子機器のプログラミングで使うよ! Linuxとかサーバープログラムの内部で使われることが多いけど、 自分で手を加えることは少ないから安心して! C++: 実行速度が超高速なのと複雑怪奇な構文が特徴だよ! ゲームプログラミングや動画編集ソフトといった高いパフォーマンスが 求められるシステムで使われるイメージがあるから、最初は近づかなくても良さそうだね! C#: Unity でゲーム作る時に使うよ! 比較的書きやすくて勉強になるからオススメ出来るけど、 Microsoft にズブズブな印象が強いのがちょっと気になっちゃうね! Java: Androidアプリとかサーバーアプリ作るのに使えるよ! 勉強しやすくて個人的には良いと思うけど、 現代だったら他の言語のほうが書きやすくてオススメかな?? Scala: Java

                      偏見に満ち溢れた俺の書いたことのあるプログラミング言語の説明
                    • 入れ子構造を自由に拡張する – TypeScript版「Trees that Grow」 | IIJ Engineers Blog

                      日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 This is a Japanese translation of Flexiblly Extend Nested Structures – “Trees that Grow” in TypeScript. 抽象構文木(AST, Abstract Syntax Tree)の扱いに慣れた一部のHaskell開発者の間では、「Trees that Grow」というイディオムが一般的で、Haskellの最も有名なコンパイラ、GHCにおいても採用されています。今回は、この「Trees that Grow」をTypeScriptで実現するにはどうすれば良いかを共有しましょう。 あらまし Ha

                        入れ子構造を自由に拡張する – TypeScript版「Trees that Grow」 | IIJ Engineers Blog
                      • Haskellの型と直観論理 - 朝日ネット 技術者ブログ

                        開発部のxgotoです。Haskellの初級・中級者向けのトピックを取り上げたいと思います。 今回は型(Type)についてです。型はHaskellの入門書でも必ず最初のほうに説明されるもので、手元の本によれば、 型とは、互いに関連する値の集合である。 ---- 『プログラミングHaskell』 Graham Hutton 著 / 山本和彦 訳 だとか、 値の世界は型と呼ばれる系統的な集まりへと分割される。 ---- 『関数プログラミング入門 Haskellで学ぶ原理と技法』 Richard Bird 著 / 山下伸夫 訳 などのように書かれています。たとえば Bool は True と False の2つの値からなる集合だし、Intは整数の集合というように、型は値の集合というふうにみることができます。それならば型などと呼ばずに集合と呼べばいいと思いますが、「異なるものには異なる名前をつけろ

                          Haskellの型と直観論理 - 朝日ネット 技術者ブログ
                        • Scala3と圏論とプログラミング

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

                            Scala3と圏論とプログラミング
                          • いつScalaを使い、いつ使わないのか

                            前置き 先日Twitterでこのような興味深いツイートを拝見しました。 なるほどと思ったので、自分が技術選定/アーキテクチャ設計において「どのような時にScalaを選択し、どのような時に選択しないのか」をあらためて言語化してみることにしました。 ちなみにこの記事タイトルは Scala福岡 2019 で講演させて頂いたものと同じタイトルですが、当時の資料は説明が無いと誤解を招く部分も多く非公開にしているため、その焼き直しも含めてこの記事を書いています。 また、ここで記載している内容は2022年8月現在の事情を元にした考えになります。言語の機能やとりまく状況などは日々変わっていくものであり、前提が変われば結論が変わることも当然にあります。あくまで現時点での意見の一つとして参考程度にして頂ければ幸いです。 また、この記事では主に言語機構や周辺ライブラリ・エコシステムといった側面からの判断を中心と

                              いつScalaを使い、いつ使わないのか
                            • 型付けは難しい

                              ベン・フィードラーのブログより。 型検査と型推論 型検査とは、あるプログラミング言語で与えられたプログラムを実行し、すべての変数や式が正しい型を持っているかどうかを調べるプロセスです。例えば、文字列は文字列に代入され、算術式は数値のみを使用するなどです。一部の言語では型推論を提供しており、コンパイラに自分で正しい型を見つけるタスクも提供します。言語の特徴に応じて、型検査と型推論の問題は、些細なものから決定不能なものまで様々です。 一般的な用語 完全性 正しく入力されたプログラムを全てチェックできれば、タイプチェッカーは完了です。 健全性 正しく型付けされたプログラムのみを受け付けるものであれば、型検査は健全です。 決定可能性 任意の入力に対して、その入力が問題を満足するかどうかを有限時間で計算できる場合、決定問題は決定可能です。決定可能な問題の例としては、素数判定や充足可能性などがあります

                              • エンジニアなら解けるかも?プログラミング経験ゼロでもSQLを無料で学べるpaizaのプログラミングゲーム「エンジニア騎士とクエリの魔女 DBエンジニア、魔法使いになる」で遊んでみた

                                仕事や趣味でプログラミングを勉強する場合、ウェブサイトや市販の教本を見て学習するのが一般的。プログラミング経験があれば、ある程度勉強のやり方が身についていますが、まったくの未経験だと何から手をつけていいのかわからず、モチベーションが続かないこともあります。ITエンジニア向け転職・就活・学習サービスのpaizaがリリースした「エンジニア騎士とクエリの魔女 DBエンジニア、魔法使いになる」は、「異世界に勇者パーティそして召喚された新人ITエンジニアの男女。目覚めるとそこは、剣(コード)と魔法(SQL)が支配する世界だった。騎士と魔法使いの冒険が、いま始まる。」というオープニングで始まる異世界転生プログラミングゲームで、SQLやプログラミングの問題を解くことで、ゲーム内で使えるパーツや衣装などのアイテムをゲットできるとのこと。そこで、プログラミング経験が皆無の超初心者である編集部員がプログラミン

                                  エンジニアなら解けるかも?プログラミング経験ゼロでもSQLを無料で学べるpaizaのプログラミングゲーム「エンジニア騎士とクエリの魔女 DBエンジニア、魔法使いになる」で遊んでみた
                                • 計算量O(n)の画期的なソートアルゴリズムであるスターリンソートをHaskell で実装してみた #Haskell - Qiita

                                  皆さん、ソートは好きですか? 僕はHaskellerのクセにボゴソートが好きです。 ソートされていない要素を粛清することでO(N)でソートできるスターリンソートとかいうのを見て爆笑してる — やんぎん (@4116You) July 28, 2019 なにやらTLでスターリンソートなるものが流行っていました。 まずO(n)とは何かという事なんですが、これはビッグ・オー記法と言ってアルゴリズムの性能の指標を表すものです。 O(n)の他にO(1)とかO(log(n))とかO(nlog(n))とかO(n^2)とかがありますが、詳しくは割愛します。この辺を参考にするとよく分かると思います。ともかく、O(n)はむっちゃ速い、というかソートアルゴリズムではまず有り得ないです。 にも関わらず、スターリンソートはその壁を打ち破って、O(n)で並べ替えを実現しちゃうんですよね。 というわけでHaskellで

                                    計算量O(n)の画期的なソートアルゴリズムであるスターリンソートをHaskell で実装してみた #Haskell - Qiita
                                  • Functional Programming in TypeScript

                                    Web apps are a mandatory part of every modern application nowadays, no matter how small or complex it is. From one-click apps that convert pictures to Photoshop, everyone wants fast and easy access to the app, and the web is one of the easiest ways to do that. At Serokell, we use TypeScript for writing web applications. But our main programming language is Haskell. And in this article, we want to

                                      Functional Programming in TypeScript
                                    • 日本語の指示からプログラム自動生成「AI programmer」登場 C++とHTMLで試してみた

                                      AI開発を手掛けるASReal(東京都目黒区)とHashLab(京都市)は10月4日、日本語で仕様を伝えるだけでコーディングするプログラミングAI「AI Programmer」(β版)を公開した。利用料は無料で、対応言語は14種類。 使いたいプログラミング言語を指定し、入力欄に「“Hello World”という文字列を表示する」などとプログラムの内容を日本語で書きこんで実行ボタンを押せばコードを出力する。 対応言語はSQL、Python、JavaScript、HTML・CSS、Solidity、C++、PHP、GO、R、Perl、Ruby、正規表現、Haskell、Lisp。コードを出力するのみで、コンパイルなどの機能は持たない。 AI生成のプログラムは動作するのか? どのくらい使えるのかチェックしてみた。まずはC++で「Hello World」を出力するプログラムを書かせてみる。指示は「

                                        日本語の指示からプログラム自動生成「AI programmer」登場 C++とHTMLで試してみた
                                      • Top 20 Dockerfile best practices

                                        Learn how to prevent security issues and optimize containerized applications by applying a quick set of Dockerfile best practices in your image builds. If you are familiar with containerized applications and microservices, you might have realized that your services might be micro; but detecting vulnerabilities, investigating security issues, and reporting and fixing them after the deployment is ma

                                          Top 20 Dockerfile best practices
                                        • 0からScalaを本番導入して感じたこと・考えたこと - k.dev

                                          はじめに 弊社ではScalaを本番環境に導入して大体1年になる。 導入以前に社内的にScalaに関する知識はゼロだった。 Scalaという言語は巷では色々言われているが愛好者とそれ以外の壁が非常に大きな言語のように思える。 ここはコミュニティの努力によって埋められようとしているが、他の言語に比べてまだまだなのが現状である。 弊社でのScala導入経験に関する情報がその壁を取り払う一助になることを祈る。 導入経緯 Railsの運用コスト もともとはプロダクトのバックエンドはRailsで書いていた。 Railsは非常に高速にプロダクトを開発できるのだが、長期的に見るとその高速性よりも運用困難性、堅牢性の欠如が目立つようになってきた。 MVCアーキテクチャは複雑なプロダクトを構成するのにはシンプルすぎた。 特にRailsの中核をなすアクティブレコードモデルのせいで問題の分割が難しかった。 じゃあ

                                            0からScalaを本番導入して感じたこと・考えたこと - k.dev
                                          • 単純で頑強なメッセージングシステム、franz - モナドとわたしとコモナド

                                            Haskell製の新しいメッセージングシステムfranz(フランツ)の紹介。 github.com 背景 取引所にあるマシンで取引プログラムを実行するのが我々の仕事だが、朝8時に起動したらあとは昼寝したり酒を飲んだりというわけにはいかない。モニタリングしたり、分析のためにデータを残しておく必要がある。そのため、プログラムによって解析しやすい形でログを出力する。 今までは複数の種類のレコードをシリアライズし、一つのファイルに連結させる独自のフォーマットを10年近く使っていたが、書いていて恥ずかしくなるような多数の問題を抱えていた。 柔軟性が乏しい: 32bit整数や文字列などの単純な値しか格納できず、例えばレコードを含むレコードなどを表現できない。その結果、複雑なデータは一旦文字列に変換するような運用がされており、そのプリティプリンタやパーサは十分にテストされていない。 コードがまとまってい

                                              単純で頑強なメッセージングシステム、franz - モナドとわたしとコモナド
                                            • Javaが遅いって お前それPetrの前でも同じ事言えんの? - 宇宙ツイッタラーXの憂鬱

                                              うっかり「Javaは遅いので競技プログラミングには向いていない」みたいなことを言ってしまう人が稀にいますが、世界最強の一角であるところのPetrさんはJavaで問題を解きまくっているわけです。 _,,;' '" '' ゛''" ゛' ';;,, (rヽ,;''"""''゛゛゛'';, ノr)   Javaが遅いって ,;'゛ i _  、_ iヽ゛';,    お前それPetrの前でも同じ事言えんの? ,;'" ''| ヽ・〉 〈・ノ |゙゛ `';, ,;'' "|   ▼   |゙゛ `';, ,;''  ヽ_人_ /  ,;'_ /シ、  ヽ⌒⌒ /   リ \ |   "r,, `"'''゙´  ,,ミ゛   | |      リ、    ,リ    | |   i   ゛r、ノ,,r" i   _| |   `ー――----┴ ⌒´ ) (ヽ  ______ ,, _´) (_⌒

                                                Javaが遅いって お前それPetrの前でも同じ事言えんの? - 宇宙ツイッタラーXの憂鬱
                                              • 好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】

                                                2019年11月30日、翔泳社主催の若手エンジニア向けカンファレンス「Developers Boost(デブスト)~U30エンジニアの登竜門~」が開催された。基調講演では、マイクロソフトのCloud Developer Advocateで「ちょまど」こと、千代田まどか氏が登壇。30歳以下(U30)の若手エンジニアに向け、「これが私の戦い方」をテーマに自身のキャリアを語り、若手エンジニアの成長と交流をブーストした。 マイクロソフト Cloud Developer Advocate 千代田まどか(ちょまど)氏 「推し」には時間・労力・お金を惜しまず、全力を注ぐ マイクロソフトでCloud Developer Advocate(クラウド デベロッパー アドボケイト)として、国内・海外で多数の講演をこなし、「Developers Summit 2017」ではベストスピーカー賞 総合第1位を獲得して

                                                  好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】
                                                • 技術書典応援祭+技術書典8(+α)で買ったおすすめの技術系同人誌 - Qiita

                                                  自分が技術書典応援祭+技術書典8(+α)で買った技術系同人誌のなかでおすすめのものを書いていきたいと思います。データサイエンス、機械学習系が多めです。 買ったもの全部は書けなかったので、ここに書いていないのがおすすめではないというわけではないです。(最後以外は)全て自分で購入したものです。 A Primer on Adversarial Examples タイトル:A Primer on Adversarial Examples サークル:原理的には可能 著者:菊田遥平 ページ数:99ページ 電子版 https://techbookfest.org/product/5483924549533696 個人的にはめちゃめちゃおすすめの本です。「技術書典 応援祭」に出ている本では一番これがおすすめです。 いきなり「Adversarial Examples」と言っても何のことだかわからないですよね

                                                    技術書典応援祭+技術書典8(+α)で買ったおすすめの技術系同人誌 - Qiita
                                                  • Pythonを使って関数型プログラミング Part.1

                                                    2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Pythonで始めてみよう関数型プログラミング」に登壇したのは、株式会社SQUEEZEの寺嶋哲氏。講演資料はこちら なぜ関数型プログラミングを愛するようになったのか 寺嶋哲氏:それでは発表を始めます。まず「おまえ誰よ?」。はい、寺嶋哲といいます。Twitterなどでは「@meganehouser」というIDでやっています。 所属は株式会社SQUEEZE(スクイーズ)で、ふだんはPython、Django、Django REST frameworkでバックエンドを書いて、AngularJS、Angularでフロン

                                                      Pythonを使って関数型プログラミング Part.1
                                                    • 知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ

                                                      この記事はスターフェスティバル Advent Calendar 2022 11 日目の記事です qiita.com 昨日は @shota1995m の オブジェクト指向 UI デザインを読んだから図解してみる でした はじめに 僕は生粋(?)の PHPer なので、PHP 以外の技術はなんちゃってレベルでしか触ったことがないのですが 知らん言語(TypeScript)、知らんフレームワーク(Koa, NestJS, commander)、知らんミドルウェア(Apache Kafka)、知らんその他諸々(Protocol Buffers, Terraform)を使ってるチームに移動して難易度が高めな課題に取り組むことになったため、効率的に技術をキャッチアップできないと終わると思いヒィヒィ言いながらがんばったことを共有します やったこと 座学の時間をガッツリとる まずは手を動かす方が有効な場面

                                                        知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ
                                                      • Rails に Babel と Rollup を組み込んで CoffeeScript を JavaScript に段階的に移行した話 - クックパッド開発者ブログ

                                                        こんにちは。技術部クックパッドサービス基盤グループの青沼です。当グループではクックパッドのレシピサービスを支える web アプリケーションの改善を進めています。今回はフロントエンドの改善の一環として、 Babel と Rollup を Rails のアセットパイプラインに組み込み、レガシーな CoffeeScript ファイルを ES2015+ の JavaScript に移行した話をします。 レシピサービスと CoffeeScript の歴史 クックパッドは10年以上の歴史を持つサービスです。中でもレシピサービスの web アプリケーションは初期に作られた Rails 2 アプリケーションがアップグレードを重ねながら今も動いています。2018年には Rails 3 から4へ、つい最近では4から5へのアップグレードを完了しました。 Ruby のコードはそれに伴って新しい書き方へと徐々に移行

                                                          Rails に Babel と Rollup を組み込んで CoffeeScript を JavaScript に段階的に移行した話 - クックパッド開発者ブログ
                                                        • 学習用と実用のプログラミング言語

                                                          学習用のプログラミング言語分類方法にもよるけど、プログラミングのパラダイム(考え方)は 命令型宣言型の2種類がある。 それぞれに根拠となる計算モデルがあり、細分化すると4種類に分類できる。パラダイム 分類 基礎となる計算モデル言語命令型 手続き型 チューリングマシン C、Java、Python、JavaScript 宣言型 問合せ型 関係モデルSQL宣言型 関数型 ラムダ計算Lisp、Haskell宣言型 論理型 一階述語論理Prolog (参考) anond:20230826113219 プログラミング言語って、似たり寄ったりだけど、それでも後から後から新しい言語が出てくるね。 それぞれのグループで代表的な言語を1個ずつ順番に学んでいけば、全ての種類を一通り制覇できる。 例えば、 PythonSQLHaskellPrologといった具合で。 各グループのどれか1個を知っておけば、同一グル

                                                            学習用と実用のプログラミング言語
                                                          • なぜ MVVM + FRP は Elm Architecture に勝てないのか - dely Tech Blog

                                                            こんにちは、delyでクラシルiOSアプリ開発を担当している稲見 (@inamiy)です。 この記事は「dely #2 Advent Calendar 2020」の25日目の記事です。 dely #1 Advent Calendar 2020 dely #2 Advent Calendar 2020 昨日は、delyのSREチームのjoooee0000(高山)さんによる delyのSREチームがオンコールトレーニングを導入する3つの理由 の記事でした。 オンコール対応できるエンジニア、強くてカッコいい・・・ 私の方からは、メリークリスマス🎄🎅🔔 にふさわしい Elm Architecture による unidirectional なプレゼントをお届けします🎁 (2020/12/26 EDIT: タイトルを「なぜ MVVM は Elm Architecture に勝てないのか」から「

                                                              なぜ MVVM + FRP は Elm Architecture に勝てないのか - dely Tech Blog
                                                            • TypeScriptで関数型プログラミングしたい勢に推したいPipeline operatorの良さ - タオルケット体操

                                                              前置き Rubyで一瞬だけ湧いて出てきて消えたPipeline風演算子については忘れてください。あれはメソッド呼び出しの演算子であって今回取り上げるPipeline operatorとは似て非なるものです。 JavaScripterでも、Ramda.jsやRxJSを普段から使っている人には既知の内容だと思うのでこの記事は読まなくて大丈夫です。 ちなみに僕のステータスは関数型にわか勢なので認識に間違いがあったらなんらかの訂正もらえるとうれしいです。 Pipeline operatorとは 古くはML系の言語で定義されてF#やElixirの流行で一般に有名になった演算子こと |> です。 f a を a |> f と書けるようになります。 詳しくはこちらで: https://mametter.hatenablog.com/entry/2019/06/15/192311 覚えた方がいい理由 Ty

                                                                TypeScriptで関数型プログラミングしたい勢に推したいPipeline operatorの良さ - タオルケット体操
                                                              • ディープラーニングでコーディングを高速化する「Deep TabNine」

                                                                Fossbytesは7月26日(米国時間)、「Programmers Can Code Faster With This AI-Based Autocompleter Tool」において、カナダのウォータールー大学コンピュータサイエンスの学生が開発した入力補完ツール「Deep TabNine」を紹介した。 Deep TabNineは、Open AIによる予測テキストのディープラーニング言語モデル「GPT-2」に基づき、効率のよい開発を実現するという。Open AIは、イーロン・マスク氏が共同会長を務める非営利のAI(人工知能)研究企業。 サポートするプログラミング言語はJava、Python、JavaScript、C、C++、PHP、TypeScript、Kotlin、Objective-C、HTML、CSS、Go、C#、Ruby、Rust、Swift、 Haskell、OCaml、Sca

                                                                  ディープラーニングでコーディングを高速化する「Deep TabNine」
                                                                • Haskellを業務で使う、カジュアルに - Haskell-jp

                                                                  Link to hereはじめに この記事では、Haskellを業務でカジュアルに使う観点やヒントについて、簡単に紹介します。 Haskellを業務で使える局面は、以下のようにいくつか考えられます。 「プロダクト」の開発用言語として、Haskellを使う 「作業」の支援・加速用に、Haskellを使う 「思考」の支援・加速用に、Haskellを使う つまり、プロダクトの開発用言語としてHaskellを用いない業務形態においても、上記2や3のケースとして、Haskellを使用できます。すなわち、Haskellは幅広い局面でカジュアルに、つまり気軽に手軽に使用できます。 本記事では、特に、上記の2と3について、いくつかの観点やヒントや例を紹介します。 なお、上記は、Haskellを用いる場合には限りません。Python, Perl, Ruby, Rust, Scala, OCaml, Cloj

                                                                    Haskellを業務で使う、カジュアルに - Haskell-jp
                                                                  • 個人的な Python についての不満

                                                                    良い言語だと思うが、不満がある。 Perl と比較して、 後継としては、妥当だと思う。読みやすさ、整理された文法、関数型や C のとっつきにくさを排除したという点では、 Python がデファクトスタンダードになるのは当然だろう。そして、その利点が最高にクソだ。この世界にゴミを作り出す元凶となっている。 Ruby と比較して、 そりゃ Matz も Ruby をつくるわ...クラスベースなくせに、オブジェクトの先祖が決定しないのは最強にクソ。 あの文法のせいで、Pass とか出てくるのだ。動的言語にタプルはいらねーだろ。メソッドと定義するときに、最初の引数に self 入れるかどうかがクラスメソッドになるか否か、という設計はキモい。Python 3 になるとき、Ruby から色々パクったよな?つまり、Python 3 は Ruby の子孫と言えよう。 Javaと比較して、 遅い。引数に型が

                                                                      個人的な Python についての不満
                                                                    • ソースコード生成AI「AI Programmer」が対応言語を拡充、正規表現や日本語解説にも対応/PHP、Go、Haskell、Lisp、C#などを新たに習得

                                                                        ソースコード生成AI「AI Programmer」が対応言語を拡充、正規表現や日本語解説にも対応/PHP、Go、Haskell、Lisp、C#などを新たに習得
                                                                      • Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself

                                                                        Scala の trait と Rust の trait は微妙に使い方が異なる、とよく質問を受けます。たしかに、使い心地は微妙に異なるかもしれません。Scala はオブジェクト指向を中心に設計された言語ですが、Rust はそれを中心に設計されているとは言えません*1。こういった言語設計の差が、trait の使い心地の違いを生み出していると私は思っています。 両者の trait には、共通した特徴もあります。共通した処理をまとめあげるという意味では同じ目的をもっているといえますし、また、「犬は動物である」「猫は動物である」の共通性を示すことで、共通したものをひとまとめに処理しきることもまた可能です。 Scala には implicit という強力な機能が存在します。これは柔軟でスケーラブルなソフトウェアデザインを可能にする Scala の特徴のひとつです。非常にすばらしい機能です。この機能

                                                                          Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself
                                                                        • Pythonを使って関数型プログラミング Part.2

                                                                          2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Pythonで始めてみよう関数型プログラミング」に登壇したのは、株式会社SQUEEZEの寺嶋哲氏。講演資料はこちら 不変/永続データ構造を提供するパッケージ 寺嶋哲氏:続いて、不変/永続データ構造についてです。 listを操作する関数の問題点について、例題で見ていきましょう。add_mangoは果物名の文字列のlistをとって、mangoをそのlistに足して返します。change_from_apple_to_bananaは、同じようにlistをとってappleを探して、bananaに入れ替えて返します。 その

                                                                            Pythonを使って関数型プログラミング Part.2
                                                                          • Haskell〇〇多すぎ問題 - LugendrePublic

                                                                            初心者が入門書を読んでさぁ書くぞとなったときにつまずくところのうちの一つが,同じようなライブラリが多すぎ問題である. ということでそういうライブラリの話をしよう. 例によって例のごとく間違っていること書いてあるかもなので報告よろしく. モナド変換子 Haskellで実用的なプログラムを書く上で避けて通れないものの一つにモナド変換子がある.こいつはなにかというと,簡単に言えば,モナドを合成してでかいモナドを作るやつである.人間がおおよそ使うであろうモナド変換子はライブラリで提供しているので,それらを組み合わせてお望みのモナドを作ろうとするわけだが,そこに立ちはだかるのがtransformersとmtlである. transformersとmtl transformersはlift という下位のモナドのアクションをでかいモナドのアクションに持ち上げてくれるメソッドが定義されたMonadTrans

                                                                              Haskell〇〇多すぎ問題 - LugendrePublic
                                                                            • Clean ArchitectureとEffで変更に強いAPIを設計する

                                                                              モジュラモノリスで表現する複雑なドメイン領域と境界 https://speakerdeck.com/showmant/expressing-complex-domain-regions-and-boundaries-with-modular-monoliths PofEAAで考えるSaaSバックエンドの作り方 https://speakerdeck.com/dnskimo/pofeaadekao-erusaasbatukuendofalsezuo-rifang The Clean Architecture https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Freer Monads, More Extensible Effects http://okmij.org/ftp/Haskell/

                                                                                Clean ArchitectureとEffで変更に強いAPIを設計する
                                                                              • 「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog

                                                                                はじめに こんにちは、Google Cloudのオブザーバビリティ/SRE担当者です。このたび私が翻訳しました「実践プロパティベーステスト PropErとErlang/Elixirではじめよう」という書籍がラムダノート社より去る11月1日に出版されました。書店ならびに各社オンラインストアでご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう 作者:Fred HebertラムダノートAmazon 実践プロパティベーステスト ― PropErとErlang/Elixirではじめようwww.lambdanote.com 電子書籍についてはラムダノート社のECサイトよりご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう(電子書籍のみ)www.lambdanote.com 「実践プロパティベ

                                                                                  「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog
                                                                                • 最小共通祖先を求めるアルゴリズムの形式検証 | Wantedly Engineer Blog

                                                                                  競技プログラミングには概念を知っておかないと解きようがない、いわゆる覚えゲーのような問題が存在します。典型的な例が 10^9+7 といった素数で割った余りを求めろといったもので、普段業務で日常的に素数で割った余りを求めている人でもなければ、割り算がしたければフェルマーの小定理や拡張ユークリッドの互除法を使えば良いと直ぐには思い付けないのではないでしょうか。 最小共通祖先も覚えゲーで必要な概念の一種と言えます。これは読んで字のごとく、与えられた根付き木の下で2頂点に共通する祖先のうち、最も根から遠い頂点を指す概念で、例えば木の2頂点が与えられて、頂点間の経路について何かを求めろといった問題で威力を発揮することが多いです。これを用いて解ける例を挙げるとすると次の問題でしょうか。 https://atcoder.jp/contests/abc014/tasks/abc014_4 最小共通祖先を求

                                                                                    最小共通祖先を求めるアルゴリズムの形式検証 | Wantedly Engineer Blog