TECH PLAY

Lisp」に関連する技術ブログ

41 件中 16 - 30 件目
これは、FORCIA Advent Calendar 2021の11日目の記事です。 こんにちは! 旅行プラットフォーム部エンジニアの恒川です。 今年10月に入社し、毎日JavaScriptを書いています。 この記事では、JavaScriptのsymbolから始めて、「名前衝突」をキーワードに、それを利用したLispプログラムまで紹介したいと思います。 JavaScriptのsymbol symbolはES2015で追加されたプリミティブです。プリミティブとはメソッドを持たないデータのことで、42、"Br
ISID X イノベーション 本部の山下です。 このポストは 電通国際情報サービス Advent Calendar 2021 の11日目のポストです。 中途入社したばかりで右も左も分からないのですが、楽しそうな企画ですので参加させていただくことにしました! 今回は自分が普段よく使っている プログラミング言語 「 Common Lisp 」の紹介記事を書かせていただきます。 はじめに 皆さん、 Common Lisp という プログラミング言語 をご存じでしょうか? 「括弧が多い」と有名な Lisp の方言
ISID X イノベーション 本部の山下です。 このポストは 電通国際情報サービス Advent Calendar 2021 の11日目のポストです。 中途入社したばかりで右も左も分からないのですが、楽しそうな企画ですので参加させていただくことにしました! 今回は自分が普段よく使っている プログラミング言語 「 Common Lisp 」の紹介記事を書かせていただきます。 はじめに 皆さん、 Common Lisp という プログラミング言語 をご存じでしょうか? 「括弧が多い」と有名な Lisp の方言
Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自
こんにちは!SPEEDA開発の岩見です。普段は業務でKotlinやClojureなどのJVM言語によく触れています。 今回TypeScriptを使ってテスト駆動開発(以下TDD)を実践する機会があり、良い勉強になったなと感じたので記事を書くことにしました。この記事では、TypeScriptとJestというテストフレームワークを用いてTDDをやってみる、というところまでを簡単にまとめています。 これからTypeScriptやJestに触れる方、TypeScriptは使ったことがあるが自動テストやTDDにはあ
今日は。 SPEEDA を開発している濱口です。 前回の続きです。 以下の通り、今回も設計の段階的な進化に沿った忠実な写経ができたと思います。 ダックを見逃す 問題を悪化させる ダックを見つける 概要としては、依存関係でがんじがらめになった設計を、ダックタイプを使って柔軟性のあるものに変える、というものです。 ハイライトだけ抜粋します。 ↓これが、 "依存しまくりの恐ろしい分岐" Trip >> prepare: preparers [ preparers do: [ :preparer | prepar
今日は。 SPEEDA を開発している濱口です。 前回の続きですが、この章にはコードが出てこないため、 前回までのようないわゆる写経にはなりませんでした。 そもそも、この章の趣旨のひとつとして、コードを書かずシーケンス図を用いることで かんたんにインタフェースの可能性を探索できる、というのもあります。 今回は、著者の主張とは逸れますが、 テストコードを書きながらインタフェースの可能性を探索する、ということを試しました。 そこで、少し Smalltalk のコードが出てきます。 すこしの Smalltalk
はじめに こんにちは、itoken1013です。暑い毎日が続きますね! 今回紹介するのは、実務でも個人開発でもオススメのHeroku(ヘロク)の基礎的な使い方になります。 Herokuを使うことで、開発したWEBアプリケーションを手軽に公開することができます。 この記事ではHerokuの概要を説明した後、簡単な公開(デプロイ)の手順を紹介することで、初心者でもHerokuを使った開発者に入門できる内容となっています。 今回の記事を参考に、ステイホーム中の スキルアップ を進めていただければ幸いです! はじ
こんにちは、技術広報の syoeshin です。 当社 ラク スの開発では様々ツールを使ってますが テキストエディタ を使用するケースも多く 若手もベテランも自分に合う テキストエディタ ”マイ・エディタ” を愛用してます。 テキストエディタ って種類が多くて ・結局どれを選ぶか? ・となりのあの人は何を使っているか? 気になりますよね。 そこで、今回は当社の若手からベテランにまで 普段愛用している テキストエディタ ーと おすすめポイントを聞きました。 質問:「愛用のエディタは何ですか?」 当社調査結果
今日は。 SPEEDA を開発している濱口です。 前回の続きです。趣旨も同じ。 『オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方』のサンプルコードを Ruby から Smalltalk に翻訳しながら読み進めることで、ただの写経をアクティブな学びにし、 いろいろな道草、発見をしながら楽しもう、というものです。 前回も触れましたが、やはり自分のコードとクラスライブラリの境界が無く、よいお手本がすぐに手に入るのがよいです。 わざわざドキュメントを紐解いたり、グ
こんにちは、株式会社 ラク スで横断的にITエンジニアの育成や、技術推進、採用促進などを行っている開発管理課に所属している鈴木( @moomooya )です。 今回は dev.to で人気記事になっていた「 The 25 most recommended programming books of all-time. (史上最もおすすめされているプログラミング本【25選】)」を紹介したいと思います。 注:本記事は2020年2月18日に Pierre 氏がdev.toに投稿した The 25 most rec
今日は。 SPEEDA を開発している濱口です。 前回はテスト駆動開発(TDD)を習得するためのハンズオンを行いましたが、今回はオブジェクト指向設計(OOD)です。 SPEEDA は複雑なビジネスロジックから成っており、開発では複雑で多くのコミュニケーションが発生します。 開発チームでは gauge などのツールを使い e2e テストが仕様を語るようにしたり、ペアプロを徹底したり、すべてが流れるようにしたり...等々の様々な工夫を行っています。 コードや設計もコミュニケーションのひとつだと捉えると、実際に
FORCIAアドベントカレンダー2019 18日目の記事です。 こんにちは。アドベントカレンダー18日目の記事を担当させて頂きます、エンジニアの澤田です。 普段の業務ではJavaScript やPython などでプログラムを書くことが多いですが、今回はあえて、普段使用していない関数型プログラミング言語Haskell に触れてみつつ、以前から興味があったメタプログラミングを実際にやってみようと思います。 Haskell にはメタプログラミングを行うためのTemplate Haskellという言語拡張があり
こんにちは、開発部SREの田島です。私達のチームでは、JP1というツールをワークフローエンジンとして利用しています。JP1のジョブの監視は今まで外部にお願いしていましたが、異常が発生してからすぐ連絡してもらうことができない等の問題がありました。そこでJP1の機能とClojureで作成したスクリプトを組み合わせて異常検知の仕組みを作成しました。本記事ではJP1を使っている背景、並びに異常検知の仕組みをどのように実現したかについてご紹介します。 背景 JP1利用の背景 冒頭でも紹介しましたが私達のチームでは日
今日は。 SPEEDAの開発をやっている濱口です。 SPEEDA開発チームではテスト駆動開発(TDD)、ペアプログラミングを徹底しています。 だからなのか、『テスト駆動開発』はすごく楽しく読めました。 今回ハンズオンを行った「第I部 多国通貨」でも、ペアプロをしながら著者が語りかけてくるような感じで、 読者側も、著者の意図をひとつずつ理解しながら読み進めていけるようになっています。 有意義なハンズオンを、より有意義にしたい 古くてあたらしい言語(環境)、Smalltalkにふれたい Smalltalkでは