Pull to refresh
7
0
Маслов Александр @drakmail

SRE

Send message

Различные методы загрузки ассоциаций в Ruby on Rails

Reading time3 min
Views42K
Rails предоставляют нам 4 различных способа загрузки ассоциаций: preload, eager_load, includes и joins. Рассмотрим каждый из них:

Preload


Этот метод загружает ассоциации в отдельном запросе:
User.preload(:posts).to_a

# =>
SELECT "users".* FROM "users"
SELECT "posts".* FROM "posts"  WHERE "posts"."user_id" IN (1)

Т.к. preload всегда создает два отдельных запроса, то мы не можем использовать таблицу posts в условии выборки:
User.preload(:posts).where("posts.desc='ruby is awesome'")

# =>
SQLite3::SQLException: no such column: posts.desc:
SELECT "users".* FROM "users"  WHERE (posts.desc='ruby is awesome')

А таблицу users – можем:
User.preload(:posts).where("users.name='Neeraj'")

# =>
SELECT "users".* FROM "users"  WHERE (users.name='Neeraj')
SELECT "posts".* FROM "posts"  WHERE "posts"."user_id" IN (3)

Читать дальше →

Определение пола по ФИО – когда точность действительно важна

Reading time7 min
Views44K
Некоторое время назад меня заинтересовала задача определения пола человека по его ФИО. В тот момент я работал в области медицинского страхования, где эта проблема была действительно актуальна – расходы на одного застрахованного, а значит и тарифы, по которым людей принимали на страхование, в зависимости от пола клиента, могли отличаться в несколько раз. Большая часть договоров – корпоративные, застрахованные являются сотрудниками работодателя.

Мы никогда не видели большинство из них в глаза, все, что мы имели – списки застрахованных, где пол иногда был указан (с большим количеством ошибок), но чаще – не указан вообще. Большинство компаний имеют свою специфику работы и профессиональные традиции, в силу чего, в их коллективах преобладают люди одного пола. Даже небольшая ошибка могла сделать потенциально прибыльный договор убыточным (или наоборот, но на такое, по странному стечению обстоятельств, случалось с нашими клиентами гораздо реже). В целом, при объеме портфеля договоров в несколько миллиардов, и характерном количестве ошибок около процента, цена корректного определения пола по ФИО была в районе нескольких десятков миллионов.
Читать дальше →

Бесплатные панели управления хостингом. Красивое совершенство

Reading time4 min
Views45K
Не так давно нами была запущена услуга облачных VPS. За счет полного root-доступа к виртуальному серверу и своей небольшой стоимости она стала довольно популярной среди наших клиентов. Кто-то переезжал на облачные VPS с виртуального хостинга, так как клиентам было важно иметь именно доступ суперпользователя, а кто-то хотел использовать своим выделенный IP-адрес и не делить его с недобросовестными соседями.

Даже были такие пользователи, которые съезжали на виртуальные облачные серверы с недорогих «дедиков», так как в условиях жесткой экономии приходилось как-то пытаться сохранить проекты от закрытия и продолжать быть постоянно онлайн.



Если говорить о большинстве наших услуг хостинга, то в стоимость практически всех из них включена лицензия панели управления ISPmanager, чего не скажешь про облачные VPS. Учитывая цену данных виртуальных серверов — это и не удивительно. Но многие наши клиенты хотели и вместе с такой бюджетной услугой иметь возможность использовать удобную панель управления хостингом, но при этом мало кто готов был оплатить лицензию разработки той же компании ISPsystem — ISPmanager, которая довольно популярна в рунете. Здесь их позицию понять можно, и после того как обращения в нашу поддержку по данному вопросу участились — мы решили составить свой обзор бесплатных панелей управления хостингом. Те, кому это интересно — милости просим под хабракат…
Читать дальше →

400 потрясающих бесплатных сервисов

Reading time16 min
Views726K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →

«Темная лошадка» Wildberries обскакала участников рейтинга 50 самых быстрорастущих компаний в России

Reading time2 min
Views7.8K
Интернет-магазин Wildberries, компания «Яндекс» и интернет-ретейлер «Юлмарт» вошли в рейтинг 50 самых быстрорастущих компаний в России по версии РБК.

Новый рейтинг быстрорастущих российских компаний учитывает финансовые результаты за 2011–2014 годы. Рассматривались зарегистрированные ранее 2011 года компании из базы СПАРК-Интерфакс и рейтинга РБК 500. Их ежегодный рост выручки должен быть не менее 20% с 2012 по 2014 год. Их выручка должна составлять не менее 1 миллиарда рублей в 2011 году и не менее 3 миллиардов рублей в 2014 году. Чтобы попасть в рейтинг, компания должна быть частной или доля частных акционеров в ней должна составлять не менее 50%, пишет Firrma.

«Юлмарт» занимает 8 место в рейтинге. Выручка ретейлера в 2014 году составила 50,1 миллиарда рублей по сравнению 11,2 миллиарда рублей в 2011 году. «Яндекс» занимает 31 строчку рейтинга. Его выручка в 2014 году составила 50,8 миллиарда рублей по сравнению с 20 миллиардами рублей в 2011 году.

Под номером 2 в рейтинге расположился интернет-магазин Wildberries. Руководитель компании Татьяна Бакальчук обычно держится в тени, да и сам ретейлер, мягко говоря, не избалован вниманием СМИ. Тем не менее, по данным Alexa.com, в категории «Покупки» он занимает седьмое место по аудитории в мировом зачете и стабильно первое — в российском. Его ближайший конкурент, Lamoda.ru, занимает 15-е место в мире и 2-е — в России.
Читать дальше →

Хостинг Кафе

Reading time5 min
Views8.5K
Сегодня я хочу представить Хостинг Кафе. Этот домен-бренд объединяет в себе 6 различных сайтов, которые связаны с хостинговой тематикой:

  • VDS.menu — поиск виртуальных серверов
  • SHARED.menu — поиск виртуального хостинга
  • DEDICATED.menu — поиск выделенных серверов (в разработке)
  • HTTPS.menu — поиск SSL сертификатов
  • BACKUP.menu — поиск места для хранения резервных копий
  • LICENSE.menu — поиск лицензий на панели управления (в разработке)



На данный момент работают все проекты, кроме DEDICATED.menu и LICENSE.menu. Информация о VDS.menu и SHARED.menu уже размещалась на Хабре. Став владельцем этих двух сайтов, я решил максимально вдохнуть в них жизнь. В дополнение к этим двум сайтам прилагался домен dedicated.menu. После долгих раздумий, было принято решение объединить эти три домена под единым брендом HOSTING.cafe — кафе, в котором есть различные меню хостинговой тематики. В довесок к уже имеющимся доменам были приобретены HTTPS.menu, BACKUP.menu, LICENSE.menu.

За последнее время была проделана довольно большая работа по улучшению уже существующих сайтов и разработке новых.
Читать дальше →

Посмотрите, на что вы скидывались: вышел трейлер «28 панфиловцев»

Reading time1 min
Views27K
Фильм, собиравший деньги на съёмки с помощью одной из самых успешных краудфандинговых кампаний в истории России (и немногих краудфандинговых кампаний на съёмки кино в мире вообще) наконец-то выпустил трейлер, очень тепло встреченный на киноресурсах:


Читать дальше →

Ещё раз про семь основных методологий разработки

Reading time8 min
Views1.1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →

Договорные модели разработки ПО

Reading time5 min
Views11K
Как юристы в сфере ИТ, мы готовим договоры на создание ПО как для разработчиков, так и для заказчиков. В договоре необходимо учесть особенности различных моделей разработки ПО, выделить возникающие в связи с этим риски клиента и постараться их нивелировать.

Сегодня мы рассмотрим наиболее популярные условия заказной разработки ПО с точки зрения распределения рисков между заказчиком и исполнителем и дадим рекомендации по их снижению на уровне договора.

Любая из указанных ниже моделей разработки ПО может быть реализована на базе нашего рамочного договора с приложениями в соответствующей модификации.

1. Договор с фиксированной ценой (Fixed Price)


Условия применения. Применяется в стандартных проектах с понятными решениями и требованиями, поддающимися детализации. Требования к результату выносятся в отдельное техническое задание. Фиксируются сроки выполнения работ и их стоимость.

Преимущества для заказчика. Понятный бюджет при определенных требованиях к результату.

Риски заказчика. Сложность изменения требований к продукту в процессе его разработки. В результате такие условия плохо подходят к разработке нестандартного ПО и сложных систем.
Читать дальше →

Введение в RapidMiner

Reading time7 min
Views60K
RapidMiner logoНа данный момент существует много компаний нуждающихся в системах аналитики, но дороговизна и чрезмерная сложность данного ПО в большинстве случаев вынуждает отказаться от идеи построения собственной аналитической системы в пользу простого всем известного экселя. Также дополнительные расходы на обучение сотрудников, поддерживание дорогих систем хранения данных и т.д. И тут на помощь могут прийти Open Source решения — их не так много, но есть очень достойное ПО, одним из которых которых является RapidMiner.
Читать дальше →

С 0 до 1. Разбираемся с Redux

Reading time9 min
Views331K
Когда вышла версия 1.0 Redux, я решил потратить немного времени на серию рассказов о моем опыте работы с ним. Недавно я должен был выбрать “реализацию Flux” для клиентского приложения и до сих пор с удовольствием работаю с Redux.

Почему Redux?


Redux позиционирует себя как предсказуемый контейнер состояния (state) для JavaScript приложений. Редакс вдохновлен Flux и Elm. Если вы раньше использовали Flux, я советую прочитать, что Redux имеет с ним общего в разделе "Предшественники" новой (отличной!) документации.

Redux предлагает думать о приложении, как о начальном состоянии модифицируемом последовательностью действий (actions), что я считаю действительно хорошим подходом для сложных веб-приложений, открывающим много возможностей.
Читать дальше →

Почему я ставлю на Elixir

Reading time6 min
Views77K
6 лет я создавал приложения на языке Ruby и фреймворке Rails. Я щупал всякие новые языки программирования по мере их выхода, но Elixir – первый из них, который меня действительно увлёк.

В своё время Ruby уделал всех


Язык Ruby и фреймворк Rails полностью поменяли способ создания веб-приложений. Они дали начало религии ценностей для сообщества программистов. Они первые предложили идею, согласно которой инструменты программиста должны быть оптимизированы для продуктивной и радостной разработки.

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

image

Ruby прошёл путь от скромного положения невразумительного языка до одного из самых популярных языков, в основном из-за фреймворка Rails и огромного лидерского потенциала таких людей, как DHH, Wycats, Aaron Patterson, Jose Valim и множества других. Но периодически, и тут и там начинают вылезать артефакты, оставшиеся из-за такого скромного старта языка.

Убегающая память


Зед Шо [Zed Shaw] в посте "Rails – это гетто" разглагольствует на тему проблем со сборкой мусора, из-за которых первые приложения на Rails перезапускались каждые 4 минуты.

Один из самых популярных серверов для Rails сегодня – это unicorn. Моё веб-приложение – это приложение для Rails, оно довольно простое, по сравнению с другими приложениями, которые я разрабатывал. Я перенёс его на сервер с 512 Мб памяти, и после нескольких дней работы мой unicorn съел всю доступную память и приложение начало тормозить.

Решение? unicorn-worker-killer. Не слишком отличается от более ранних решений.
Читать дальше →

Утилиты для контроля состояния SSD-дисков на Mac

Reading time6 min
Views148K
image Привет, Geektimes! Описывать преимущества SSD или твердотельного накопителя над HDD нет смысла – кто ценит быстрый запуск операционной системы, отсутствие шума и низкое энергопотребление, наверняка уже успел обзавестись таким диском. Но на этом приключения с SSD не заканчиваются: подобно автомобилю или даже смартфону данный накопитель требует бережного обращения и ухода. Поэтому периодически за ним нужно следить.

Если вы установите Vector или другой твердотельный накопитель от OCZ вместо HDD (или совместно с ним) на Mac, сделать это можно будет довольно просто – производитель предлагает собственную утилиту SSD Guru, которая позволяет поддерживать диски в надлежащем состоянии (о ней мы уже подробно писали в блоге). Однако и сторонние разработчики не спят – многие давно выпустили на рынок собственные решения, заслуживающие пристального внимания. О них мы и поговорим.
Читать дальше →

Взгляд изнутри на удаленную разработку, или почему программирование — процесс не линейный

Reading time4 min
Views7.1K
Давно сюда не писал. Но за последнее время на тостере уже в который раз спрашивают, как контролировать работу удаленного разработчика.

Что ж, я — тот самый удаленный разработчик. Удаленнее некуда.

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

Палю тему.
Читать дальше →

Установка неподписанных программ на устройства с iOS 9 без Jailbreak

Reading time3 min
Views118K
Дорого дня, уважаемые хабражители!

Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



Осторожно! Много картинок!
Читать дальше →

Автоматизация приема безналичных платежей, опыт небольшой компании

Reading time3 min
Views11K

Мы занимаемся разработкой различных решений на 1С, и у нас есть небольшой интернет магазин, в котором мы продаем различное ПО и оборудование. Т.к. мы нацелены на B2B, то самый частый вариант оплаты в интернет магазине — это выставление счета для безналичной оплаты.
И все было стандартно, у нас есть специально выделенный человек — главный бухгалтер, который каждое утро проверял платежи, разносил их в 1С-ку, а интернет магазин выполнял отгрузку. Иногда, главный бухгалтер брала отгул, и проверять банк приходилось мне, а в один день она сообщила, что уходит в декрет, и я понял, надо срочно что-то делать.

А делать надо было автоматизацию обработки входящих платежных поручений, чтобы она никак не зависела от человека, ну или почти не зависела.
Читать дальше →

LinkedIn заплатит $13 млн за «перегибы» в рассылке приглашений от имени пользователей

Reading time2 min
Views9.1K
Согласно групповому иску против социальной сети LinkedIn, ее сервис рассылает сразу несколько приглашений вступить в сеть от имени пользователей их без разрешения. В результате разбирательства LinkedIn признала свои действия противоправными и согласилась выплатить $13 миллионов в качестве компенсации.

Истцы были недовольны работой функции Add Connections (Добавить контакты). Эта функция предназначена на автоматического приглашения в LinkedIn пользователей из списка контактов электронной почты. Получается, что социальная сеть сама использовала эту функцию в целях популяризации LinkedIn. А истцы замечали высланные от их имени приглашения уже по факту, когда остановить процесс было уже невозможно.
Читать дальше →

Scrum. Из хаоса к порядку и высокой продуктивности

Reading time8 min
Views26K
Про то, что такое Scrum и с чем его едят написаны миллионы статей. Однако большинство из них предполагают, что до скрама существует некий вакуум, либо наоборот жесткая среда с ведением процессов по PMBOK и др. Множество авторов пишут про «нулевой спринт» в начинающимся проекте, про подбор идеальной команды, про выбор длины спринта, однако в свое время я не нашел большого количества статей про внедрение Agile методологий в существующую среду, в которой до этого не было методологий, но уже были сложившиеся традиции.

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

Под катом длинная реальная история внедрения Scrum в процес разработки, который переживал не лучшие времена. Надеюсь эта история будет вам интересна и, возможно, поможет вам решиться или решить какие-то проблемы.
Читать дальше →

Flux в картинках

Reading time5 min
Views50K
Нам в Хекслете нравится ReactJS и Flux. Нам кажется, что это правильное направления развития. Мы любим функциональное программирование и чистые функции, и когда сложные архитектуры упрощаются за счет подходов, связанных с ними — это круто. По Реакту уже есть немало ресурсов в интернете, в том числе наш практический курс по React JS. Последний урок в этом курсе называется «Однонаправленное распространение данных», и там мы подходим к интересной теме, которая лежит в основе архитектуры Flux.

Flux это паттерн распространения даных в приложении. Flux и React выросли в стенах Фейсбука вместе. Многие используют их одновременно, но ничто не мешает использовать их по отдельности. Они были созданы для решения конкретной проблемы в Фейсбуке.

Мы используем React и Flux в своей браузерной среде разработки Hexlet IDE (она в опен-сорсе), в которой учащиеся выполняют практические задания. Flux одновременно очень популярен и очень непонятен для многих в мире веба. Сегодняшний перевод — попытка объяснить Flux на пальцах (ну, то есть картинках).

Проблема


Вначале нужно понять, какую проблему решает Flux.


Читать дальше →

Два стартапа из нового набора акселератора ФРИИ отказались от стартовых инвестиций фонда

Reading time4 min
Views9.3K
В мае Фонд развития интернет-инициатив (ФРИИ) открыл седьмой набор стартапов в программу акселерации. В итоге было отобрано 24 проекта.

Стартапы работают на площадке ФРИИ уже неделю. В 22 компании фонд вложит по 800 тысяч рублей, а также профинансирует участие в программе акселерации в размере 600 тысяч рублей. За это стартапы должны отдать 7% своего бизнеса фонду.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity