Найти в Дзене
Строим отчеты на SQL
Disclaimer: SQL позволяет собирать данные множеством способов, если считаете что приведенные в статье запросы можно улучшить, оставьте соответсвующий комментарий :) P.S. в статье запросы написаны на postgresql Итак, для начала ознакомимся с предметной областью У нас есть маленький магазичник, но довольно проходной, потому что торгует всем, начиная от ПИВА и заканчивая ВОДКОЙ… Владельцу понадобилось узнать, сколько людей заходит в магазин и в какое время, чтобы скоординировать смены кассиров и поставки...
135 читали · 6 лет назад
Макросы в Elixir для взрослых
Данная статья является продолжением предыдущей. На этот раз мы на примерах рассмотрим директиву use и магический метод __using__, магический, потому что подобные методы с двумя подчеркиваниями используют в Питоне, называя магическими. Довольно часто мы пишем use GenServer, или require Logger, давайте разберемся в чем же разница? Различие между require и use Если объяснять на пальцах, то use расширяет модуль, в котором он используется: дополняет его методами и зависимостями, описанными в __using__, поэтому может возникнуть конфликт имен...
6 лет назад
Макросы в Elixir для маленьких
Данная статья рассчитана на тех, кто уже немного познакомился с метапрограммированием в эликсире, но так и не понял, где же применять и творить магию. Повторим: quote и unquote Выражения в эликсире представляют собой кортежи. Эти кортежи состоят из трех частей: название функции, метаданные и аргументы функции. Например блок указанный ниже вернет список кортежей для каждого выражения, для List.last, для пайплайна и для Enum.sum. quote — возвращает внутренние структуры выражений unquote — разворачивает...
6 лет назад
Elixir и ошибки новичков
В Эликсире много возможностей для эффективного написания кода. Новички, осваивая язык, проникаются его различными возможностями и начинают их применять повсеместно. В статье речь пойдет про перегрузку функций с паттернматчингом аргументов Эликсир позволяет осуществлять перегрузку функций, как, например, Java. Достаточно объявить две одноименные функции в одном модуле, например, рекурсивный обход коллекции с умножением каждого элемента на 2. Разберем еще один пример: создадим функцию, которая сортирует разные типы данных, в данном случае — list и tuple...
6 лет назад
Графовая база данных Neo4j
Содержание История происхождения графов Среди жителей Кёнигсберга (нынешний Калиниград) была распространена такая загадка: как пройти по всем городским мостам через реку, не проходя ни по одному из них дважды. Многие пытались решить эту задачу как теоретически, так и практически, во время прогулок. Впрочем, доказать или опровергнуть возможность существования такого маршрута никто не мог. Решил задачку Леонард Эйлер, сформулировав ряд правил и доказав, что пройти по мостам, не повторяясь, невозможно...
1522 читали · 6 лет назад
Как составить резюме
На примере трудоустройства в ИТ и личного опыта дам пару советов, как сделать свое резюме привлекательным. Мне довелось пройти множество собеседований, как с одной, так и с другой стороны. Как соискатель, я получал много отказов, пока не применил ряд практик, о которых расскажу ниже Немного о резюме Резюме играет ключевую роль в поиске работы, это «одежка», по которой встречают Резюме́ (от фр. résumé «сводка») – документ, содержащий информацию о навыках, опыте работы, образовании, и другую относящуюся...
6 лет назад
Ruby: CLI Gem, публикация на rubygems
В предыдущей статье мы написали небольшой гем для вычисления чисел Фибоначчи. В этой статье мы дработаем его в CLI приложение, немного доработаем исходный код, чтобы ускорить подсчет чисел Фибоначчи и опубликуем все это дело на rubygems. Для начала в корневой папке гема создадим новую папку. Назовем её exe. В этой папке создадим файл для вызова из консоли, обычно имя файла совпадает с именем гема. Предоставим этому файлу права на исполнение, чтобы мы смогли запускать его: chmod +x exe/fib В файле...
6 лет назад
Ruby — Разработка Gem’а
Данная статья рассчитана на тех, кому интересен язык Ruby, и хочется создать собственный Gem. Условные обозначения: • gem — гем В данной статье мы создадим гем расчета чисел Фибоначчи. Прежде всего необходимо установить bundler, он все подготовит для разработки собственного гема: bash> gem install bundler После установки вводим команду: bundle gem <имя_разрабатываего_гема> Для создания гема bundler предложит: Рассмотрим созданный bandler’ом каркас поподробней: bin/console — запуск ruby консоли с...
6 лет назад