Как стать автором
Обновить
-28
Ivan Soshnikov @soshnikovread⁠-⁠only

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

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

Time Series, метрики и статистика: знакомство с InfluxDB

Время на прочтение10 мин
Количество просмотров87K
InfluxDB

Введение


Любому системному администратору постоянно приходится иметь дело с данными, представленными в форме временных рядов (time series): статистика скачивания файлов, статистика запросов к серверам, данные об использовании системных и аппаратных ресурсов виртуальными машинами…

Чтобы все это хранить и обрабатывать, нужен адекватный и производительный инструмент.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии26

PythonDigest — выпуск номер 100 и другие замечательные новости

Время на прочтение8 мин
Количество просмотров12K
Python жив! С такого громкого заявления хочется начать статью.

На этой неделе вышел 100-тый Python Digest. По такому случаю мы решили подвести итоги работы над дайджестом и рассказать о тенденциях, выявленных в процессе сбора новостей по языку, которому собственно и посвящен дайджест.



В конце 2014 года мы подводили итоги за год. В этот раз мы рассмотрим тенденции за неполные 11 месяцев 2015-года.

Но перед тем как перейдем к тенденциям — расскажем что сделали за (почти) год.

Интересующихся подробностями милости просим под кат.
Подробности
Всего голосов 22: ↑20 и ↓2+18
Комментарии4

Установка и настройка LXC на Debian 8

Время на прочтение4 мин
Количество просмотров27K
На предыдущих версиях Debian я успешно использовал технологию виртуализации OpenVZ. Она меня полностью устраивала, несмотря на наличие некоторых спорных моментов. На Debian 8 Jessie установка этой технологии не шла ни под каким соусом. Позже мои догадки о невозможности существования OpenVZ на Debian 8 и старше нашли свое подтверждение на toster.ru. Там же была предложена альтернатива — LXC, что я и решил попробовать.

Кратко опишу способ установки и настройки LXC на Debian Jessie.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии18

Автоматизация тестирования вебсайта: Pytest, Allure, Selenium + несколько секретных ингредиентов

Время на прочтение5 мин
Количество просмотров19K
Уже больше года у Acronis новый логотип, о том, как он создавался можно прочитать тут. В рамках ребрендинга обновился и сайт www.acronis.com. Для построения сайта мы выбрали CMS Drupal. Сайт получился классный снаружи и непростой внутри: 28 локалей (!), отзывчивый веб-дизайн, карусели, визарды, всплывающие окна… в итоге пришлось задействовать множество различных модулей друпала, некоторые из них кастомизировать и писать собственные. При работе такой динамичной, сложной системы неизбежны ошибки. Их предотвращением и выявлением занимается команда контроля и обеспечения качества вебсайта. В этой статье мы хотим поделиться своим успешным рецептом автоматизации тестирования нашего сайта.


Добро пожаловать под кат!
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Практическое применение FlexBox

Время на прочтение10 мин
Количество просмотров367K
Привет, хабр!

Одним прекрасным вечером, не предвещающим ничего интересного, в наш чатик поступило предложение от автора публикации «Переводим в код 5 действительно полезных шаблонов адаптивной разметки», написанной им весной 2012 года, написать статью-ремейк, но с применением FlexBox и сопутствующим пояснением что и как работает. После некоторой доли сомнений, интерес глубже разобраться в спецификации все таки победил и я благополучно сел верстать те самые примеры. В ходе погружения в эту область стало выясняться множество нюансов, что переросло в нечто большее чем просто переверстать макетики. В общем в данной статье хочу рассказать о такой чудесной спецификации, под названием «CSS Flexible Box Layout Module» и показать некоторые ее интересные особенности и примеры применения. Всех кому интересно, любезно приглашаю под хабракат.
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии38

Тестирование веб-сервиса на Go

Время на прочтение11 мин
Количество просмотров42K
В этой статье хотелось бы поделиться одним из способов простого и удобного интеграционного тестирования http-сервиса, написанного на Go. Интеграционные тесты бывает непросто создавать так, чтобы обходиться без сложных скриптов, но на помощь нам придет Docker, пакет из стандартной библиотеки httptest и билд-теги. Для примера мы будем использовать MySQL базу данных с миграциями, управляемыми пакетом goose. Финальной целью является получить простое и удобное кроссплатформенное интеграционное тестирование простым запуском команды go test, будь это рабочий ноутбук или Continuous Integration сервер.

image
Читать дальше →
Всего голосов 32: ↑22 и ↓10+12
Комментарии33

Чистая архитектура в Go-приложении. Часть 3

Время на прочтение8 мин
Количество просмотров17K
От переводчика: данная статья написана Manuel Kiessling в сентябре 2012 года, как реализация статьи Дядюшки Боба о чистой архитектуре с учетом Go-специфики.



Это третья статья цикла об особенности реализации Чистой Архитектуры в Go. [Часть 1] [Часть 2]
Интерфейсы ...
Всего голосов 19: ↑12 и ↓7+5
Комментарии11

Flexbox для интерфейсов во всей красе: Реализация Tracks (Часть 1)

Время на прочтение7 мин
Количество просмотров15K
Дни ухищрений с float и margin наконец позади, так как сегодня CSS предлагает разработчикам новые улучшенные возможности, которые отлично подходят для деликатных раскладок. Такие функции раскладок, как вертикальное выравнивание, равномерное распределение свободного пространства, управление порядком исходного кода и прочие шаблоны, вроде «липких» футеров, довольно легко воплотить с помощью flexbox.

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

Часть 2
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии1

С чего начать новичку в Go

Время на прочтение2 мин
Количество просмотров160K
Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.
Читать дальше →
Всего голосов 56: ↑50 и ↓6+44
Комментарии50

Пример решения типичной ООП задачи на языке Go

Время на прочтение9 мин
Количество просмотров37K
Недавно попалась на глаза занимательная статья с аналогичным названием о языке Haskell. Автор предлагал читателю проследить за мыслью программиста, решающего типичную ООП задачу но в Хаскеле. Помимо очевидной пользы расширения представлений читателей о том, что ООП — это отнюдь не «классы» и «наследование», подобные статьи полезны для понимания того, как правильно пользоваться языком. Предлагаю читателю решить ту же самую задачу, но на языке Go, в котором ООП тоже реализован непривычно.
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии87

Office Add-Ins для Excel — новые возможности для разработчиков на VBA и VSTO

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

Предыстория


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

В то время, у нас, как у разработчиков, было два способа «расширить» Excel под нетиповые задачи:
  • VBA (Visual Basic for Applications);
  • VSTO (Visual Studio Tools for Office).


Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Написание своего Web-приложения на Go

Время на прочтение6 мин
Количество просмотров37K
Когда я задумался о написании Web приложения с использованием Go, я преследовал лишь желание попробовать нечто новое для себя. В последствии я понял, что Web оболочку можно использовать как кросплатформенную GUI библиотеку, чем и воспользовался в своем проекте[1].
Подробности
Всего голосов 44: ↑40 и ↓4+36
Комментарии22

Некоторые репозитории в помощь изучающим и преподающим Python и машинное обучение

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


Привет сообществу!

Я Юрий Кашницкий, раньше делал здесь обзор некоторых MOOC по компьютерным наукам и искал «выбросы» среди моделей Playboy.

Сейчас я преподаю Python и машинное обучение на факультете компьютерных наук НИУ ВШЭ и в онлайн-курсе сообщества по анализу данных MLClass, а также машинное обучение и анализ больших данных в школе данных одного из российских телеком-операторов.

Почему бы воскресным вечером не поделиться с сообществом материалами по Python и обзором репозиториев по машинному обучению… В первой части будет описание репозитория GitHub с тетрадками IPython по программированию на языке Python. Во второй — пример материала курса «Машинное обучение с помощью Python». В третьей части покажу один из трюков, применяемый участниками соревнований Kaggle, конкретно, Станиславом Семеновым (4 место в текущем мировом рейтинге Kaggle). Наконец, сделаю обзор попавшихся мне классных репозиториев GitHub по программированию, анализу данных и машинному обучению на Python.

Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии11

Разноцветные терминалы

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


В этой публикации я расскажу о некоторых трюках, которые украсят будни любого системного администратора Linux (и не только). Все они связаны с переменной PS1 оболочки bash. Переменная PS1 определяет, как будет выглядеть приглашение для ввода новых команд. И каждый пользователь может переопределять её как пожелает, например, в файле ~/.bashrc (который выполняется при запуске bash и используется для в том числе для конфигурации).

Для начала рассмотрим простой вариант, мой любимый формат командной строки.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии46

STM32, C++ и FreeRTOS. Разработка с нуля. Часть 1

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

Введение


Не так давно мой отдел столкнулся с трудностями поиска новых инженеров программистов для разработки встроенного ПО. Опытным и умным не нравился уровень зарплаты, а молодых просто нет в нашем городе. Поэтому под патронажем нашей доблестной глобальной компании со штаб квартирой где-то в Сент Луисе, мы начали сначала набирать студентов в интернатуру, а потом, решили пойти другим путем и сделать целых два курса по разработке ПО, а уже там самим выбирать самых “толковых” если понадобятся вдруг новые сотрудники. Это намного дешевле и позволяет охватить максимальное количество претендентов.
Немного отступлю от темы, сам я программировал последний раз очень давно, и вообще больше на С#, а последний глобальный проект на микроконтроллере (PIC16 на зыке Си) был сделан в далеком 2007 году.
Поэтому мне предстояло разобраться с современными микроконроллерами, языком С++ и операционной системой реального времени.
Конечно все наши проекты уже сейчас используют ОСРВ и пишутся на С++, но как разработчик я в них не учувствую, а занимаюсь тунеядством управлением проектами разработки такого ПО.

Выбор


Времени у меня на все про все было дано 1 месяц. С начала июня 2015 до начала июля 2015, потому что потом я собирался в отпуск, а после отпуска обычно полно работы. Надо было делать все быстро и четко.
Немного проконсультировавшись с коллегами, выяснил, что модное направление ARM Cortex различные ядра и из доступных отладочных плат можно заказать Olimex STM32P152 которые стоили 25 долларов. Они пришли очень быстро — 6 плат по цене примерно 2000 рублей. Стоит заметить, что эти платы были закуплены нами для университета, где собственно и будет проходить этот курс.
image
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии13

Электронные сигареты: ликбез

Время на прочтение11 мин
Количество просмотров119K
Электронные сигареты набирают всё большую популярность, но, как показывает практика, многие курильщики, решившие избавиться от пагубной привычки и перейти на электронику, разочаровываются в ней. Во-первых они не утоляют никотиновый голод, во-вторых обходятся дорого (хотя где-то слышали, что дешевле), в-третьих — часто ломаются. А всё из-за того, что пробовали они нечто подобное представленному на картинке.
В этом посте я попробую немного рассказать о современном состоянии дел на этом стремительно растущем рынке, что должно помочь сделать выбор. Советов про вред или пользу, за или против не будет. Их полно в сети (например, очень хорошо сказано про это в недавнем посте), кому верить каждый решает сам.
Читать дальше →
Всего голосов 54: ↑43 и ↓11+32
Комментарии219

Arduino + ESP8266 с нуля на примере Wi-Fi термометра, часть первая

Время на прочтение5 мин
Количество просмотров287K
Часть 1. Подготовка ESP8266

Зачем эта статья? На хабре уже есть ряд статей про использование ESP в разных конфигурациях, но почему-то без подробностей о том, как именно все подключается, прошивается и программируется. Типа «я взял ESP, две пальчиковые батарейки, DHT22, закинул в коробку, потряс часик и термометр готов!». В итоге, получается странно: те, кто уже работают с ESP не видят в сделанном ничего необычного, а те, кто хочет научиться — не понимают с чего начать. Поэтому, я решил написать подробную статью о том, как подключается и прошивается ESP, как его связать с Arduino и внешним миром и какие проблемы мне попадались на этом пути. Ссылки на Aliexpress привожу лишь для представления порядка цен и внешнего вида компонентов.

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


Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии85

Python и D

Время на прочтение4 мин
Количество просмотров21K
Доброго времени суток, хабр!

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



Мы будем использовать их вместе!


Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии12

Разработка OS на Go+asm Part 0x00

Время на прочтение3 мин
Количество просмотров27K
Доброго времени суток %username%.

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

Как некоторым известно, я очень люблю язык Go ну, и решил попробовать написать на нем. Что из этого получилось — под хабракатом.

Part 0x00
Part 0x01
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии27

Порт i2cdevlib на STM32 HAL

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

Сильно удивился, когда выяснил, что под STM32 нет такого разнообразия готовых драйверов под разного рода i2c сенсоры, как под Arduino. Те, которые мне удалось найти, были частью какой либо ОС (например, ChubiOS, FreeRTOS, NuttX) и были более POSIX-like. А хотелось писать под HAL :(

Arduino комюнити использует библиотеку i2cdevlib для абстракции от железа при написании драйверов сенсоров. Собственно, делюсь своей работой — порт i2cdevlib на STM32 HAL (pull-request уже отправил), а под катом я расскажу о камушках, которые собрал по пути. Ну и примеры кода будут.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии14

Информация

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