После нескольких месяцев перерыва мы снова в курсе наших сессий «Разговор с экспертами» . На этом утреннем заседании мы поговорили обо всем, что касается Синатры, с Дарреном Джонсом — автором последней книги (вышедшей вчера) в нашей новой серии « Jump Start Sinatra» и Константином Хаазе — экспертом-рецензентом этой книги. Это была веселая и неформальная сессия, большинство участников были новичками в этой теме. Если вы пропустили это, не бойтесь … ниже приведен список ресурсов, которые вышли из чата, а также полная расшифровка.
Ресурсы, связанные с сессией:
Даррен отвечает на вопросы Синатры (связанные с книгой или нет) здесь .
Хорошо, тогда мы можем начать. Для тех, кто не знает, @ daz4126 — автор Jump Start Sinatra, а @rkh — эксперт-рецензент. Они сегодня эксперты. Итак, каковы ваши интересы в Синатре. Кто-нибудь уже пользователь?
Джордж
Я работаю на Рундавоо. Живу в Лос-Анджелесе. Разработка Sinatra API.
srpsco
Кто-нибудь еще уже начал читать книгу?
HAWK
Что вы думаете об этом @srpsco
daz4126
Привет, народ!
RKH
И @ daz4126 здесь. 🙂
nicksh
Я еще не использовал Синатру
molona
У меня не было времени, чтобы начать книгу, но я с нетерпением жду этого
nicksh
но это круто
ServerSt …
Мне интересно, если абстракция Синатры вредит развитию?
RKH
@ServerStorm как ты имеешь ввиду?
srpsco
@HAWK Пока все хорошо, я только 1/3 сделал
daz4126
@serverStorm, что за абстракции?
ServerSt …
Поскольку вы не работаете с RAILS напрямую, что произойдет, если что-то сломается, вы можете легко отладить его в Sinatra или вам нужно углубиться в RAILS для этого?
@HAWK Я думаю сделать обзор для dzone, когда я закончу
RKH
@ServerStorm Синатра не стоит на вершине Rails.
Джордж
У меня есть вопрос. Я хотел бы разработать Sinatra API для фондовой биржи. Я полагаю, что большинство существующих бирж используют C ++ / C # / Java. Практично ли разрабатывать API большого объема в Синатре?
daz4126
@serverStorm Вам вообще не нужно использовать Rails, Sinatra использует только Rack и Ruby
HAWK
Звучит здорово @srpsco — если вы в Твиттере, обязательно напишите нам в Твиттере ссылку
nicksh
@ Джордж Я думаю, что Синатра для более простых приложений
ServerSt …
Ну ладно тогда у меня есть чему поучиться;)
Джордж
Может ли он масштабироваться до миллионов запросов в секунду?
srpsco
@HAWK сделает
daz4126
Спасибо @srpsco!
RKH
@ Джордж Масштабируемость на самом деле не вопрос языка или структуры.
Это больше об архитектуре
alme1304
Мне очень любопытно, что такое Синатра, но я еще не успел начать учиться. Будет ли Синатра эквивалентом Codeigniter PHP? насколько вес и свободы идут?
RKH
@ Джордж Я знаю, что приложения Sinatra имеют время отклика менее 24 мс.
Джордж
Практично ли создавать архитектуру, которая поддерживает такой API-интерфейс Sinatra?
daz4126
Я думаю, что вы могли бы написать такого рода вещи в Синатре, это будет зависеть от API, используемого фондовыми биржами, к которым вы подключались
ServerSt …
Каковы основные преимущества Sinatra по сравнению с конкурирующими системами?
srpsco
@ alme1304 Я думаю, что это ближе к Laravel
Джордж
Я создаю обмен. Другие люди подключаются к нему с помощью REST.
HAWK
Я прыгну сюда и сообщу, что в конце сеанса я раздам несколько бесплатных экземпляров книги Даррена людям, которые задают замечательные вопросы.
daz4126
@ alme1304 Синатра намного легче, чем CodeIgniter
Code Igniter основан на Rails
HAWK
Добро пожаловать @Hiro — мы только что начали. Не стесняйтесь задавать вопросы в любое время или просто скрываться, если хотите!
МИБ
Сложно ли запустить его в Windows?
RKH
@mib совсем нет, используя «Ruby Installer», на самом деле довольно легко запустить его в Windows.
Просто попробовал это несколько дней назад.
nicksh
Винда такая каша ..
но да, должно быть легко
RKH
@Hiro Asari?
Хиро
@HAWK спасибо
Хиро
@rkh Да, сэр.
molona
Как насчет безопасности? Не слишком ли сложно обеспечить безопасность с помощью Синатры? Я бы предположил, что он имеет функции для хеширования и все такое
Джордж
Даррен здесь? У вас есть ответ на мой вопрос?
nicksh
@molona хороший вопрос
alme1304
@srpsco, и, как происходит развертывание, как оно работает, нужно ли использовать что-то вроде heroku или более широкий выбор вариантов развертывания по сравнению с железнодорожным транспортом?
RKH
@molona, в отличие от Rails и т. д., Sinatra — это только HTTP, но она обеспечивает механизмы безопасности из коробки.
alme1304
рельсы *
daz4126
@serverStorm Sinatra на самом деле не фреймворк, это DSL (предметно-ориентированный язык). Его сила в его гибкости — вы можете выбрать, как построить архитектуру вашего приложения
daz4126
Я на этом Джордж!
daz4126
Если вы используете REST API, вы легко сможете создать его с помощью Sinatra.
RKH
@ alme1304 все, что может запускать рельсы, может запускать sinatra, есть широкий выбор, и вам просто нужно запустить ruby.
ServerSt …
Использует ли он ООП соглашения или процедурные или оба?
molona
Благодарность
watjen
Я очень мало знаю о Синатре. Управляет ли он сессиями и файлами cookie?
srpsco
@ alme1304 Heroku — это вариант, который очень прост, но это можно сделать с помощью vps, aws. Я также думаю, что Engine Engine предлагает поддержку
daz4126
@watjen да Синатра обрабатывает сессии и куки для вас. Это описано в книге
RKH
@ServerStorm внутренне, это объектно-ориентированный, и вы можете легко написать полностью объектно-ориентированные приложения, но DSL является обманчивым
ServerSt …
Спасибо вам
nicksh
Не забудьте Appfog
HAWK
Добро пожаловать @ Dorthe. Не стесняйтесь задавать вопросы, если у вас есть.
ServerSt …
может быть, я могу научиться говорить по-английски сегодня 🙁
daz4126
Да, в настоящее время есть множество вариантов развертывания, все, что поддерживает Ruby
nicksh
@ServerStorm Вы говорите по-французски?
ServerSt …
Да, некоторые, но я должен быть носителем английского языка, это просто не очень хорошо в настоящее время
Хиро
Могу ли я подключить PaaS, над которым я работаю? 😉
daz4126
ха-ха
Dorthe
Tx — я ничего не знаю о синатре — было просто любопытно
RKH
(@Hiro из RedHat и из команды JRuby)
molona
Я предполагаю, что даже если ему не нужны Rails, он тоже подойдет для Rails? или я слишком много предполагаю?
HAWK
@ Dorthe Sweet — не стесняйтесь скрываться тогда!
nicksh
@haWK разрешено ли размещать оффтоп ссылки?
RKH
@molona отлично работает с рельсами
molona
@ ServerStorm … ты все еще говоришь по-английски лучше, чем я: D
ServerSt …
Знаете ли вы о каких-либо крупных коммерческих проектах, которые были разработаны с использованием Sinatra?
HAWK
@nicksh Да — это довольно неформально. Я могу редактировать их из стенограммы, хотя
RKH
@molona github — это одно рельсовое приложение и ~ 30 приложений sinatra, все работают в одном процессе
molona
и нет, я не говорю по-французски: p
RKH
@ServerStorm да, много
daz4126
@dorthe Sinatra — это язык, специфичный для предметной области, который позволяет создавать веб-приложения на Ruby, помогая подключаться к HTTP.
ааа. Я новичок в Руби, но я думаю, чтобы получить книгу сайта
watjen
Будет ли приложение Sinatra работать на Passenger?
daz4126
@serverStorm определенно просто текстовый редактор! Я использую Gedit
nicksh
@ServerStorm Я предпочитаю Sublime Text 2 для всего
RKH
@ServerStorm Я использую textmate, для него есть пакет, вы также можете использовать RubyMine IDE.
nicksh
Gedit также хорош с плагинами
RKH
@watjen да
ServerSt …
Я использую затмение, но я уверен, что оно тоже будет работать 🙂
RKH
наверное
daz4126
@serverStorm должен делать
RKH
Одно время я использовал NetBeans для разработки Sinatra.
ServerSt …
Как долго Синатра был вокруг?
RKH
с 2007 года
daz4126
Вы можете создавать приложения в одном файле, чтобы вы могли даже использовать … (шок ужас) … блокнот !!!
nicksh
(страшная музыка)
molona
Привет! Я использую Блокнот… ++: p
nicksh
Хотя бы Notepad ++
daz4126
Он действительно пришел в себя с тех пор, как @rkh начал поддерживать его
ServerSt …
Реально ли втиснуть все в один файл?
daz4126
Был основан Блейком Мизерани (из Heroku)
RKH
Среди компаний, использующих Sinatra, Apple, BBC, GitHub, LinkedIn, Houghtbot и многие другие.
Greg-Tek …
2 моих любимых приложения для dev — это PHPStorm (хотя время от времени немного излишне (читай как медленно), но в последнее время я получаю удовольствие от работы в Sublime Text 2
ServerSt …
Хорошая работа рх!
daz4126
@serverStorm не для больших приложений, но здорово сделать это для маленьких демонстраций
Dorthe
Можно ли составить краткое руководство по началу работы — майбо выложили на странице Facebook
RKH
@ServerStorm спасибо
daz4126
получить ‘/’ сделать
«Привет, мир»
конец
Это ваше основное приложение
HAWK
Ничего себе — даже я мог сделать это;)
daz4126
Для начала … установите Ruby, установите гем Sinatra
molona
Кажется, «Hello World» — единственное приложение, которое я научился писать на любом языке программирования: p
daz4126
сохранить строки выше как hello.rb
RKH
если у вас установлена достойная версия ruby, вы также можете запустить ее в командной строке: ruby -rsinatra -e «get (‘/’) {‘Hello World’}»
daz4126
затем введите hello.rb в терминал / консоль
@Molona ха-ха, то же самое здесь для меня со многими языками
ServerSt …
Если вы рассматривали возможность создания одного и того же небольшого приложения в ASP.NET, Symphony, Node.js с использованием Coffee Script и Sinatra, будет ли цикл разработки быстрее, медленнее? Кодовая база самая маленькая?
@serverStorm некоторые из них являются языками (например, ruby), а некоторые являются фреймворками, поэтому их нелегко сравнить
molona
@ рк спасибо. Отличный ресурс: D
alme1304
Существует ли набор стандартов или рекомендаций сообщества при разработке приложений или у всех разные методы?
daz4126
@ alme1304 отличный вопрос!
RKH
Между прочим, есть много клонов синатры на других языках.
daz4126
Нет никаких стандартов — это хорошо и плохо!
nicksh
Экспресс Node.JS похож на Синатру?
RKH
да
daz4126
Хотя легко построить архитектуру MVC с использованием Sinatra (как в Rails)
ServerSt …
Да, я просто пытаюсь понять, какие преимущества он имеет по сравнению с другими вариантами фреймворка на других языках. Я знаю, что это загруженный вопрос, но никогда не писал строки в Синатре, это правильный вопрос
RKH
@nicksh express был написан бывшим участником sinatra
и вдохновлен этим
daz4126
Преимущества в том, что разработка очень быстрая, и вы можете выбрать, как она изложена
molona
Я задаюсь вопросом о ресурсах … книга кажется хорошей отправной точкой, но где можно было бы найти больше примеров / расширенной информации?
ServerSt …
Спасибо даз
daz4126
Существует также минимальное количество суеты и настройки, когда вы начинаете
RKH
@ServerStorm простота, безопасность, зрелость
ServerSt …
здорово
RKH
некоторые крупные компании используют его, потому что они могут сделать полный обзор безопасности за неделю или меньше
Еще одна вещь, которая мне действительно нравится в Sinatra, это то, что вы можете видеть, что происходит больше … там происходит меньше магии, так что вы получаете больше контроля над поведением своего приложения.
HAWK
Я соберу все эти ресурсы в пост на sitepoint.com вместе с расшифровкой, позже сегодня
RKH
@ServerStorm MongoMapper также имеет API, аналогичный DataMapper, который используется для общения с базами данных SQL в книге.
nicksh
Как мне заставить его работать на порту 80?
RKH
-p 80
daz4126
ruby main.rb -p 80
ServerSt …
Да, я хорошо знаком с различными шаблонами базы данных, поэтому я с нетерпением жду этого в книге
molona
@ daz4126 ты хочешь сказать, что Синатру легче отлаживать?
RKH
наверное с судо
Dorthe
TX Hawk
daz4126
@molona не обязательно … это зависит от вашего кода!
nicksh
@rkh все еще работает на 4567
daz4126
Но у вас больше есть представление о том, как все в вашем приложении совмещается, поэтому, если вы хотите что-то изменить, вы знаете, как это работает.
HAWK
Welcome @ guido2004 и @richybailey — не стесняйтесь прыгать в любое время
Наши эксперты — @ daz4126 и @rkh
daz4126
@richybailey привет друг!
nicksh
Кстати, я люблю начать и остановить сообщения Синатры
@nicksh Вы уже видели страницу отсутствующую и страницы с ошибками?
RKH
@nicksh странно, у меня работает
nicksh
нет
guido200 …
Привет всем
HAWK
@nicksh Это весело!
nicksh
Хаха круто
molona
@ guido2004
Здравствуй
srpsco
@ Daz4126 Я видел в книге, что вы использовали URL-адрес типа «что / время / есть / это / в /: число / часы», вы бы делали это в производстве, где не было бы много промежуточных URL?
guido200 …
привет молона 🙂
molona
добро пожаловать в мир Синатры: p
ServerSt …
@ guido2004
Здравствуй
nicksh
@ daz4126 ошибка страницы удивительна: D
guido200 …
привет серверная буря
daz4126
@srpsco, вероятно, нет (если я не связался с ним напрямую), это было просто для демонстрации именованных параметров
@nicksh это здорово, не правда ли … вы можете сделать свой собственный действительно легко, хотя
ServerSt …
Да спой мне песню guido2004, Синатра здесь: 0
srpsco
@ daz4126 спасибо просто хотел уточнить
daz4126
@nicksh not_found {«Эта страница отсутствует»}
nicksh
Вау круто
daz4126
Вот как вы делаете свои собственные недостающие страницы
Как мне запустить приложение Sinatra на сервере под управлением Apache?
RKH
@watjen с пассажиром (он же mod_ruby)
который в основном будет работать так же, как mod_php
ServerSt …
Как NGINX поддерживает Sinatra?
RKH
ах, modrails это имя
srpsco
@watjen вы также можете настроить прокси для перенаправления на порт sinatra
molona
Я думал о том же вопросе @serverStorm
richybai …
Привет, даз. Привет всем. Я злоумышленник, потому что я использую .net, но поскольку daz пытался преобразовать меня, я подумал, что увижу, что сообщество думает о Синатре по сравнению с альтернативами.
watjen
круто
nicksh
Кстати, как мне передать аргументы / параметры?
daz4126
@nicksh к чему?
nicksh
Я имею в виду доступ к материалу из URL
ServerSt …
Я использую C #, Node.js, PHP
daz4126
@nicksh для URL ‘/ привет /: имя’
RKH
@nicksh: это то, что вы используете параметры для
daz4126
Вы можете получить доступ к той части URL, которая говорит: name, используя params [: name]
nicksh
Благодарность
daz4126
Это называется именованным параметром
nicksh
ой
HAWK
Добро пожаловать @headmin и @sebastien
daz4126
Так что вы могли бы сделать
get ‘/ hello /: name’ do
RKH
Кстати, для всех не носителей языка (таких как я), официальная документация Синатра была переведена на 10 различных языков, кроме английского
@richybailey Sinatra проще, чем большинство других альтернатив, и позволяет вам более практично подходить к созданию приложения
molona
Здорово. Приятно видеть, что документация тоже на испанском… ведь это лучший язык в мире (по крайней мере, для меня, потому что это то, что я говорю лучше всего: p)
headmin
сегодня немного поздно и прочту образец синтапры, кроме того, что таится здесь …
требовать "синатра" комплект: порт, 80 получить "/" сделать "Ахой мир!" конец получить "/ привет /: имя" сделать "Здравствуйте, # {params [: name]}" конец not_found do "Ваш порт не вымыт!" конец
daz4126
@rkh ты не предлагал переводить!
molona
@serverStorm Танки: D
daz4126
@nicksh хорошая работа!
RKH
@ daz4126 Я даже не перевел readme, другие люди так делают;)
molona
Спасибо я имел ввиду
daz4126
@ ркх … ты такой ленивый;)
srpsco
@nick «Ваш порт…» выглядит так, будто вы готовы говорить как пиратский день
nicksh
Кстати, если кому-то интересно, вот моя учетная запись GitHub https://github.com/shvelo, возможно, я скоро выложу некоторый код Синатры
daz4126
@nicksh определенно хотел бы видеть твит, когда вы делаете @ daz4126
HAWK
У нас осталось 15 минут до сессии, поэтому, если у вас есть какие-либо вопросы без ответов, сейчас самое время их получить.
nicksh
@ srpsco Да, я
@ daz4126 конечно
daz4126
@nicksh и @srpsco не стесняйтесь переводить книгу на пиратский язык 🙂
ServerSt …
Есть ли еще дорожная карта развития языка? Если да, то как часто будут обновляться фреймворки?
nicksh
@ daz4126 хорошая идея!
daz4126
@richybailey … и вы можете использовать Ruby с Синатрой
ServerSt …
обновленный
daz4126
@serverStorm atm Sinatra просто получает дополнительные обновления, потому что она в основном делает то, что ей нужно делать
watjen
Есть ли в Sinatra встроенная поддержка реляционного отображения объектов? Или мне нужно установить что-то вроде ActiveRecord?
srpsco
спасибо за то, что Синатра поет, что заставило эту цигу, мускулистого муравья думать, что она может сдвинуть каучуковое дерево
RKH
@watjen вам нужно что-то установить, но это действительно легко
daz4126
@watjen нет, вам нужно установить любую ORM, которую вы хотите использовать
nicksh
@ daz4126 Могу ли я продать перевод? : D
ServerSt …
Спасибо @ daz4126
daz4126
@nicksh, конечно … 50% роялти!
Dorthe
@hawk Можете ли вы поставить лучшую ссылку на то, где я могу установить ruby в посте сайта с другими материалами этой сессии
nicksh
Уже нужно уходить
поздно
daz4126
@serverStorm Если вы посмотрите на кодовую базу Sinatra, вы увидите наиболее близкий к идеальному коду код, который я когда-либо видел. Он в основном делает все, что нужно, и ничего больше.
HAWK
@ Dorthe Не совсем уверен, что я понимаю ваш вопрос. Лучшая ссылка, где вы можете установить Ruby?
ServerSt …
ты на Linux, Mac или Windows?
Dorthe
да
HAWK
Прежде чем идти @nicksh
daz4126
Рад слышать от вас @nicksh, надеюсь, поймать вас в Twitter
Dorthe
окна
HAWK
Я думаю, что ваши усилия сегодня определенно принесли вам бесплатную копию книги Даррена (если у вас ее еще нет)?
nicksh
ох и кстати мой твиттер дескриптор @ shvelo96
нет я не
srpsco
@ Daz4126 Есть ли у вас какие-либо рекомендации о том, когда следует использовать промежуточное ПО для гемов и стоек и как вы можете использовать свои собственные?
nicksh
Вау, спасибо
ServerSt …
Спасибо @nicksh
daz4126
@serverStorm… и большинство обновлений Sinatra в основном исправляют ошибки или реализуют что-то новое (например, запросы PATCH)
nicksh
Добро пожаловать, увидимся
RKH
Промежуточное ПО для стойки @srpsco — это то, что код, а то, как вы его устанавливаете. большинство промежуточного программного обеспечения стойки — драгоценный камень.
daz4126
@nicksh увидимся
ServerSt …
Хорошо @ daz4126
Благодарность
Dorthe
Благодарность
HAWK
Есть ли вопросы, на которые у людей нет достаточных ответов?
molona
я думаю, что у меня будет серьезное чтение в эти выходные 🙂
daz4126
@srpsco Я всегда люблю кататься самостоятельно (много веселья и обучения)… но для производства вам обычно безопаснее использовать уже существующий драгоценный камень
дайте мне знать, как вы попали на @molona
Dorthe
@molona — я тоже
daz4126
то же самое @dorthe
ServerSt …
Я все, поэтому я торги Благодаря @rkh и @ daz4126
ServerSt …
и @mibsrpsco
HAWK
Увидимся Стив.
daz4126
@serverStorm спасибо за все вопросы, поймаю вас в Twitter
molona
@ daz4126 Конечно … Я действительно с нетерпением жду этого. Никогда не пробовал Rube, и я думаю, это хороший повод начать
ServerSt …
Да, я буду изучать Синатру более подробно и начну с вашей книги, спасибо!
Dorthe
было приятно присоединиться к этой сессии
ServerSt …
до свидания
daz4126
@molona — это очень весело, а Sinatra поможет вам быстро приступить к созданию приложений.
Сложно ли портировать приложение rails на Sinatra?
daz4126
@ Джордж был ответ о запасах API хорошо для вас?
srpsco
@ daz4126 Спасибо за ваше время, и серия постов myway очень помогла мне, когда я изучал Синатру (примерно в то же время, когда вы писали посты.
daz4126
@ srpsco вау, приятно это слышать
RKH
@watjen зависит от приложения, но, как правило, нет, мы сделали это
daz4126
Я надеюсь, я скоро вернусь онлайн!
watjen
красивый
RKH
так как оба используют стойку и рубин, многие части действительно похожи
HAWK
Последний звонок для вопросов, прежде чем я освободил наших экспертов …
molona
@ daz4126 В такой день было бы больше «незнакомцев в ночи»… это ночное время вокруг этих районов, и в конце концов большинство из нас никогда не встречались: p
daz4126
@molona … о боже … : о
RKH
«Лучшая месть это огромный успех.»
molona
Я тоже иду спать. Это было здорово. Спасибо, что ответили на мои вопросы (здесь и на форуме). Я ценю ваше время (ваше тоже @rkh)
@rkh LOL
RKH
за что бы мстить, но это хорошая цитата Синатры
Dorthe
@Molona хороший. Я наблюдаю за игрой в гандбол в Испании 🙂
daz4126
@rkh отличная цитата, не слышал раньше
RKH
@Molona уверен, что вещь
daz4126
@ Dorthe Я никогда не понимал, что такое гандбол!
@rkh нужно попытаться получить эту цитату на сайте или в базе кода где-то;)
HAWK
Ну вот и заверните мои друзья. Я хотел бы сказать огромное спасибо Даррену и Константину за их время.
daz4126
нет проблем, это было очень весело!
HAWK
Не стесняйтесь оставаться здесь сколько угодно и общаться, но модерации не будет (для чего это стоит).
daz4126
Я подожду немного, пока я жду, чтобы приготовить еду 🙂
RKH
Мне нужно скоро уйти, поздний ужин для меня.
HAWK
Отлично. Я должен бежать, потому что у меня нытье дети, которые печалились, но увидимся в киберпространстве.
daz4126
@рк ты это заслужил: D
HAWK
Я выложу стенограмму позже сегодня.
daz4126
@HAWK NP, скоро поймать тебя
Dorthe
@ ястреб увидимся
RKH
@ daz4126 спасибо … но ты написал книгу: D
daz4126
@rkh с большой помощью … и вы поддерживаете Синатру!