Как стать автором
Обновить
22
0
Vasili Kachalko @dreamfall

Пользователь

Отправить сообщение

Pull request'ы на GitHub или Как мне внести изменения в чужой проект

Время на прочтение6 мин
Количество просмотров507K
По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub'а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:
Pull request'ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Говоря своим языком: Посылая pull request, вы говорите автору изначального репозитория (и всем заинтересованным лицам): «Смотрите, что я сделал, не хотите ли принять мои изменения и влить их в проект?»
Читать дальше, но теперь уже обо всём по порядку
Всего голосов 84: ↑80 и ↓4+76
Комментарии31

Инструкция для начинающих музыкантов

Время на прочтение6 мин
Количество просмотров46K

Или как заработать на собственной музыке


Хабр читают разные люди, из разных социальных слоев, разных сфер деятельности и разных увлечений. Возможно этот материал будет полезен многим начинающим музыкантам. Много раз мне писали и многократно приходится сталкиваться с просьбами заняться продюсерингом молодых, начинающих и не опытных музыкантов. В этой статье я расскажу как заняться продвижением своих творений с минимальными вложениями и максимальной отдачей. Иначе говоря, расскажу начинающим музыкантам о том, как можно лично заняться продюсерингом без привлечения сторонних компаний.

Заранее предупреждаю, текста много, читать придется внимательно.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии8

Faye как способ не задолбать свой сервер

Время на прочтение3 мин
Количество просмотров12K
Здравствуйте, хабралюди. Сегодня я хочу рассказать о том, как в одном из наших проектов мы снизили количество запросов на сервер на пару порядков за счет использования технологии Comet.

Суть проблемы: веб-приложение для службы такси, диспетчера работают удаленно (из дома, из офиса и т.п.). Перед каждым — список заказов. Состояние заказов может измениться в любой момент — водитель взял заказ, водитель отказался, клиент отказался, другой диспетчер завел новый заказ. Очень важно чтобы диспетчер видел картину практически в реальном времени, поскольку в час пик звонки идут один за другим без перерыва. Вначале это было сделано через вызывающийся периодически (setTimeout) AJAX запрос, который получив с сервера отрендеренный список текущих запросов заменял содержимое div'а. Для 1-2 разработчиков, и пары тестеров это казалось нормальной идеей — 1-2 запроса в секунду не сильно напрягали. По результатам компромисса между актуальностью и снижением нагрузки на сервер определились что будем дергать сервер раз в 3 секунды.
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии25

Регулярные выражения для валидации распространенных видов данных

Время на прочтение2 мин
Количество просмотров493K
Для проверки текстовых полей на валидность обычно используют регулярные выражения. Существует несколько наиболе распространенных видов таких даных, как например номер кредитки, дата в определенном формате и т. д. На сайте html5pattern.com собирается коллекция регулярных выражений для таких данных (там это позиционируется, как возможное содержимое html5-атрибута pattern у inpit-элементов, но эти регулярные выражения можно использовать и для привычной валидации с помощью javascript). Актуальные для российской аудитории примеры, вместе с соответствующими регулярными выражениями вы можете посмотреть под катом.
Читать дальше →
Всего голосов 133: ↑97 и ↓36+61
Комментарии66

Резервное копирование Rails проектов без затей

Время на прочтение3 мин
Количество просмотров4.5K
Как известно, люди делятся на тех кто еще не делает резервных копий, тех кто уже делает, и тех кто уже делает и проверяет возможность восстановления

К счастью, 20 минут назад, когда кривой админ рецепт Capistrano напрочь снес на «боевом» сервере каталог с загруженными картинками из статей юзеров, я уже относился к категории делающих бэкапы. Вот, заодно и проверил.

А делаем мы резервные копии через gem backup

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии16

10 способов улучшить свои навыки программирования

Время на прочтение4 мин
Количество просмотров88K

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Всего голосов 239: ↑227 и ↓12+215
Комментарии96

Работаем с jQuery Templates

Время на прочтение20 мин
Количество просмотров139K

Введение


Плагин jQuery Templates – это «движок шаблонов», работающий на стороне клиента как расширение jQuery.

Этот плагин помогает показать в браузере данные, которые находятся в объектах и массивах JavaScript, избавляя вас от рутинных операций по созданию HTML-кода, экранированию специальных символов и т.п. Кроме того, он обладает очень интересными возможностями – например, позволяет обновлять созданный с его помощью HTML-код при изменении исходных данных.

Разумеется, jQuery Templates – не единственный и не первый «движок шаблонов», но у него есть большое преимущество перед альтернативными вариантами – поддержка со стороны jQuery Team. Это позволяет нам не бояться того, что этот плагин окажется заброшенным, и различные проблемы, возникающие при выходе новых версий браузеров, придется решать своими силами.

В этой статье я расскажу об основных возможностях jQuery Templates и продемонстрирую его работу в различных сценариях, а в последующих статьях я расскажу о функциях, не вошедших в основной код плагина (jQuery Templates Plus) и о расширении языка шаблонов.

Читать дальше →
Всего голосов 201: ↑197 и ↓4+193
Комментарии67

Как правильно считать чужие деньги

Время на прочтение3 мин
Количество просмотров2.4K
Для рельс уже написан миллион и один туториал про то, что делать, если вдруг приходится писать приложение, которое работает с деньгами.

Обычно все сводится к советам не использовать Float, использовать Decimal, транзакции там всякие и прочее. И в большей части случаев этих советов вполне достаточно для того, чтобы разработчик чувствовал себя сухо и комфортно.

А сталкивались ли вы с ситуацией, когда, скажем, приложение должно обслуживать жителей более чем одной страны?

Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии17

Видео с конференции RailsClub'Moscow (30 апреля 2011г.)

Время на прочтение1 мин
Количество просмотров1.2K
1. Галинский Дмитрий «Генерация PDF и ODF»
В лекции идёт речь об инструментах для генерации отчётов, счетов и форм для печати в формате PDF. Лектор рассматривает преимущества и недостатки разных инструментов, приводит примеры их использования.

2. Руденко Андрей «Эффективное %s с ZMQ»
ZMQ — что, как и зачем оно вам надо.

3. Моисеев Сергей «Пакетная обработка в RoR»
Пакетная обработка, на примере Сервиса по массовой обработке большого количества книг. Книги из Pdf в SWF, с поддержкой выделения и копирования из полученных книг текста. Очень часто книги были в виде картинок, вставленных в pdf, только для того чтобы соблюсти последовательность страниц.
Система из программ print2flash (для печати нескольких книг сразу). Всё под win окружением.

4. Бараблин Михаил «Rvm и наши серверы»
Как работать с Ruby, gem и не болеть.

5. Лазурейкис Павел «Интеграция RoR-приложений с социальными сетями»
Виджеты для Вконтакта, использование OmniAuth, Devise+OmniAuth

6. Карпунин Дмитрий «Front-end Rails-приложений»
Front-end Rails-приложений основанный на БЭМ (Блок, Элемент, Модификатор), семантическая вёрстка, IE6, Применение БЭМ на практике, Структура стилей.

Приятного просмотра.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии8

Топологическая сортировка

Время на прочтение3 мин
Количество просмотров142K
Топологическая сортировка (Topological sort) — один из основных алгоритмов на графах, который применяется для решения множества более сложных задач.
Задача топологической сортировки графа состоит в следующем: указать такой линейный порядок на его вершинах, чтобы любое ребро вело от вершины с меньшим номером к вершине с большим номером. Очевидно, что если в графе есть циклы, то такого порядка не существует.
Ориентированной сетью (или просто сетью) называют бесконтурный ориентированный граф. В задачах подобного плана рассматриваются только конечные сети.
image
↑ Пример ориентированного неотсортированного графа, к которому применима топологическая сортировка
Далее про алгоритм, реализацию и применение..
Всего голосов 72: ↑62 и ↓10+52
Комментарии27

Связка rvm + Rails + Nginx + Unicorn или деплоим рельсы правильно

Время на прочтение9 мин
Количество просмотров55K
Целью данной заметки я ставлю в подробностях описать организацию сервера для Rails приложений в самой популярной на данный момент связке: rvm + Rails + Nginx + Unicorn. К написанию статьи побудило отсутствие полной пошаговой документации по этой связке, понятной не только ядреным профессионалам этой области. Далее я попытаюсь подробно, шаг за шагом, описать идеологически правильный процесс организации сервера для обслуживания нескольких Rails приложений (на примере одного) — если у вас есть абсолютная уверенность в том, что на подопытной машине никогда не будет работать более одного приложения — настройка может быть существенно короче и проще. Хочу предупредить, что тонкости, касающиеся работы приложения под высокой нагрузкой в статье не описываются, т.к. цель ставилась иная — заставить работать приложение в связке и сократить количество конфликтов с другими приложениями до минимума.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии135

Используйте бандлер вместо практики rvm gemset per project

Время на прочтение1 мин
Количество просмотров7.6K
Наша команда долгое время использовала известную практику rvm gemset per project. Однако, после работы с пакетным менеджером nodejs мы поняли, что гораздо удобнее складывать зависимости в папку проекта (дефолт для нодовского пакетного менеджера).

Немного покопавшись в документации бандлера я обнаружил, что тоже самое можно сделать и на его основе.
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии32

Еще одно Canvas руководство [1]: Canvas элемент, прямоугольники, пути

Время на прочтение5 мин
Количество просмотров19K

Зачем еще одно руководство?


Потому что большинство уже существующих руководств рассматривают только основы, а все остальное приходится собирать по кусочкам поэтому я решил написать сжатое, полное руководство по canvas для программистов (а то часто пишут для простых людей которые изучают попутно и программирование).
Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии29
2

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность