Pull to refresh

Разработка web-приложений на языке Common Lisp (часть вторая)

Reading time 5 min
Views 3.8K
Website development *Emacs *
Данный обзор является небольшим путеводителем для тех, решился (или решается) доверить этому чудесному языку будущее своего стартапа. Несмотря на то, что основной акцент будет ставиться на web-разработке, я постараюсь осветить также и более общие темы, так или иначе связанные с Common Lisp. Материал почерпнут из собственного опыта разработки web-сервиса AlterMoby.

Вторая часть этого обзора будет посвящена базовому конфигурированию Lisp-среды. Будет описана установка простой Lisp-системы. Кроме того, вкратце рассмотрим систему управления зависимостями ASDF.
image
Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Comments 29

Настоящий веб-сайт на Common Lisp за 9 шагов

Reading time 7 min
Views 11K
Website development *

Введение





Эта вводная статья предназначена для желающих попробовать применить Common Lisp в задачах веб-программирования. Я не буду останавливаться на преимуществах этого языка, за меня это сделал ababo в своем вводном посте Разработка web-приложений на языке Common Lisp (часть первая)

Я занимаюсь вопросами разработки веб-приложений на Common Lisp немногим более года и сделал на Common Lisp крупный интернет-магазин, что, как мне кажется, предупредит возражения тех, кто считает, что лисп бесполезен для коммерческого применения.

Сегодня моя задача — рассказать в подробностях о применяемом мной способе развертывания всей необходимой инфраструктуры. Используя эту статью как пошаговое руководство внимательный читатель сможет развернуть свой собственный сайт на лиспе.

Возможно мои подходы не идеальны — в таком случае я буду рад конструктивной критике — пожалуйста, не стесняйтесь если вам что-то не нравится — одной из целей написания этой статьи было исправление собственных ошибок.

Для тех, кто любит проматывать скучные процедуры установки — в конце статьи размещена небольшая вкусность, которая, возможно, расширит ваш взгляд на веб-программирование, если до этого момента вы не имели дела с лиспом. Ищите по ключевым словам SLIME и SWANK :)
Читать дальше →
Total votes 76: ↑66 and ↓10 +56
Comments 53

Настройка SBCL и среды разработки SLIME под Windows. Пошаговое руководство

Reading time 9 min
Views 20K
Lisp *Emacs *
В данной статье я подробно опишу как установить и настроить SBCL и окружение для продуктивной разработки под Windows.

Вообще, изначально это была небольшая заметка для коллеги по планируемому мной проекту по анализу и визуализации кода и текстовых данных, но я решил её доработать и превратить в полноценную статью, так как я мало видел руководств подобного рода относительно лиспа, особенно на русском, и особенно касающихся Windows.

Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 4

Common Lisp IDE

Reading time 5 min
Views 65K
Website development *Programming *Lisp *Functional Programming *Emacs *

Доброго времени суток, уважаемый читатель!
Перед каждым новичком в мире языка программирования Common Lisp
возникает проблема выбора среды разработки — Integrated Development Environment (далее, IDE).

Существует большое количество IDE для Common Lisp. Перечислим некоторые, самые распространенные, из них:

Для Знатоков
Знатоки могут возразить относительно последних двух пунктов списка.
Ведь, казалось бы, Lispbox = Emacs + Slime?!
Но, если внимательно посмотреть на сайт Lispbox, то, под ссылками для скачивания пакета, Вы увидите:
Last updated: February 6, 2011.

В данной статье я подробно расскажу как установить и настроить кроссплатформенную среду разработки для Common Lisp, как скачивать и устанавливать дополнительные библиотеки при помощи quicklisp — менеджера пакетов Common Lisp. Будет много полезных ссылок на ресурсы и материалы по языку.
Речь пойдет о связке GNU Emacs & Slime.
Если Вас интересует Common Lisp, Вам нужна кроссплатформенная, мощная, интерактивная Common Lisp IDE с блэкджеком и дамами дебаггером и дизассемблером (внезапно!), то, прошу под кат…

Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 14

Использование Lisp в продакшене

Reading time 9 min
Views 25K
Programming *Lisp *
Translation
В Grammarly основа нашего бизнеса — центральный языковой движок — написан на Common Lisp. Сейчас движок обрабатывает более чем тысячу предложений в секунду, масштабируется горизонтально и надежно служит нам в продакшене почти 3 года.

Мы заметили, что почти нет постов о развертывании Lisp софта в современной облачной инфраструктуре, поэтому мы решили, что поделиться нашим опытом будет хорошей идеей. Рантайм и среда программирования Lisp'а предоставляют несколько уникальных, немного непривычных, возможностей для поддержки продакшн систем (для нетерпеливых — они описаны в последней части).

Wut Lisp?!!




Вопреки распространенному мнению, Lisp это невероятно практичный язык для создания продакшн систем. Вобще говоря, вокруг нас много Lisp-систем: когда вы ищите авиа-билет на Hipmunk или едете в метро в Лондоне, используются Lisp-программы.
Читать дальше →
Total votes 40: ↑35 and ↓5 +30
Comments 11

Common Lisp SDL2 туториал

Reading time 4 min
Views 14K
Programming *Lisp *Game development *
Tutorial
SDL2 — отличная библиотека, но туториалов по ней не очень много.
Common Lisp — отличный язык, но статей по нему катастрофически мало.
Думаю этого вполне достаточно, для того чтобы написать этот цикл статей.

Почему я выбрал общелисп? Что ж, на вкус и цвет как говорится.
Впрочем, причины есть:

Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 31

Неудобно редактировать ERb/EEx шаблоны? Попробуйте Slim/Slime

Reading time 2 min
Views 5.2K
Website development *Ruby *Programming *HTML *Elixir/Phoenix *

ERb — стандартный язык разметки в мире Ruby. Это html со вставками на Ruby. В мире Elixir ту же роль выполняет EEx. Такой же синтаксис, только вместо Ruby — Elixir. Вот как это выглядит:


<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок</title>
    <meta name="keywords" content="template <%= language_name %>">
    <meta name="author" content="<%= user_name %>">
  </head>
  <body>
    <h1 class="page-header"><%= page_header %></h1>
    <div id="content">
      <p><%= page_content %></p>
      Дополнительный текст.
    </div>
  </body>
</html>

То же самое можно написать в 1.5 раза короче без потери читаемости.

Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 13