Как стать автором
Обновить
0
0
n4k4m1sh1 @n4k4m1sh1

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

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

Эффективное использование Github

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

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


Содержание



Читать дальше →
Всего голосов 149: ↑148 и ↓1+147
Комментарии38

NB-IoT: узкая полоса – широкие перспективы

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


Тема «Интернета вещей» (IoT) становится одной из самых популярных в последнее время. По данным Международного энергетического агентства (International Energy Agency), объем этого рынка к 2020 году составит триллионы долларов: в мире будет более 14 млрд подключенных IoT-устройств, при том что людей, пользующихся Интернетом, будет всего около 3,5 млрд. Для подключения устройств «Интернета вещей» могут использоваться как проводные, так и беспроводные технологии. В данной статье мы сосредоточимся на перспективах мобильных операторов на IoT-рынке и более подробно остановимся на возможностях технологии NB-IoT.

Многие мобильные операторы создали специальные IoT/M2M-подразделения, чтобы обслуживать растущее число компаний, внедряющих мобильные IoT-решения. Ряд крупных операторов приобрели нишевые компании, чтобы обслуживать более широкую часть цепочки создания стоимости IoT-решений. По мере роста рынка становится очевидным, что для многих вариантов использования таких решений существующие сотовые технологии недостаточны в силу ограниченного покрытия, высокой стоимости оконечных устройств и малого срока службы их элементов питания.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Esp8266 управление через интернет по протоколу MQTT

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

Всем привет! В этой статье будет подробно рассказано и показано как буквально за 20 минут свободного времени настроить дистанционное управление модулем esp8266 с помощью приложения на Android по протоколу MQTT.

Идея дистанционного управления и мониторинга всегда будоражила умы увлеченных в электронике и программировании людей. Ведь возможность в любой момент времени получить или отправить нужные данные, не зависимо от своего местоположения, дает широкие возможности. В своих прошлых статьях ( Статья 1 и Статья 2) я пытался рассмотреть несколько доступных и относительно простых вариантах реализации дистанционного управления микроконтроллерами через интернет. Однако время и весь мир не стоит на месте – прогресс продолжает свое неумолимое движение вперед. За это небольшое время приобрел широкую популярность модуль esp8266 который благодаря низкой цене и встроенному wi-fi стал одним из основных составляющих «Умного дома».
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии15

Подсказываем реквизиты компаний по данным ФНС РФ и бесплатно ищем дубли

Время на прочтение1 мин
Количество просмотров9.5K
DaData.ru автоматически исправляет ошибки в адресах, ФИО и телефонах. Находит и объединяет одинаковых клиентов в базе. Помогает быстро ввести адрес и ФИО покупателя, а также и реквизиты компании на форме заказа. Есть API и javascript-виджет.

В предыдущем выпуске Дадата помогала бороться с дублями. А сейчас мы снова причинили добро:
  • бесплатно находим дубликаты в файлах до 100 записей;
  • снизили стоимость сервиса дедупликации до 5-10 копеек за запись;
  • подключили актуальные справочники налоговой службы в подсказках по компаниям.


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

Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»

Время на прочтение14 мин
Количество просмотров56K
«Когда я только начинала работать в этой сфере, все это было для нас как Дикий Запад — мы были первооткрывателями неизведанных земель. Никто нас ничему не учил» Маргарет Гамильтон.



Это Маргарет. Она пишет код хорошо. Делайте как Маргарет.

А еще:
  • программист-самоучка;
  • написала код для навигационного компьютера программы «Аполлон»;
  • когда американцы ступили на поверхность Луны ей был 31 год;
  • Маргарет НЕ автор термина «software engineering»;
  • часто брала на работу 4х-летнюю дочку;
  • дочка помогла найти баг в программе.

Под руководством Маргарет Гамильтон писались программы для бортового компьютера КА Аполлон. В один из самых ответственных моментов миссии Аполлон 11 именно работа Маргарет и ее команды предотвратила возможный срыв высадки на Луну. За три минуты до прилунения сработало несколько аварийных сигнальных устройств. Компьютер был перегруженн входящими данными – в стыковочной радарной системе произошло непроизвольное обновление счетчика, что привело к запросу на выполнение компьютером большего числа операций, чем он был способен обработать. Благодаря устойчивой архитектуре компьютер продолжил свою работу: в разработке бортового ПО использовался подход асинхронного исполнения (asynchronous executive). Процессы с высоким приоритетом (критичные для прилунения) могли прервать низкоприоритетные процессы.
Всего голосов 64: ↑57 и ↓7+50
Комментарии34

На Archive.org теперь можно запускать старые DOS-вирусы

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


На Archive.org открылась коллекция старых вирусов — The Malware Museum. Там можно найти и запустить зловреды даже эпохи DOS, то есть 80-90-х гг.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии25

Рекурентная нейронная сеть в 10 строчек кода оценила отзывы зрителей нового эпизода “Звездных войн”

Время на прочтение11 мин
Количество просмотров160K
Hello, Habr! Недавно мы получили от “Известий” заказ на проведение исследования общественного мнения по поводу фильма «Звёздные войны: Пробуждение Силы», премьера которого состоялась 17 декабря. Для этого мы решили провести анализ тональности российского сегмента Twitter по нескольким релевантным хэштегам. Результата от нас ждали всего через 3 дня (и это в самом конце года!), поэтому нам нужен был очень быстрый способ. В интернете мы нашли несколько подобных онлайн-сервисов (среди которых sentiment140 и tweet_viz), но оказалось, что они не работают с русским языком и по каким-то причинам анализируют только маленький процент твитов. Нам помог бы сервис AlchemyAPI, но ограничение в 1000 запросов в сутки нас также не устраивало. Тогда мы решили сделать свой анализатор тональности с блэк-джеком и всем остальным, создав простенькую рекурентную нейронную сеть с памятью. Результаты нашего исследования были использованы в статье “Известий”, опубликованной 3 января.



В этой статье я немного расскажу о такого рода сетях и познакомлю с парой классных инструментов для домашних экспериментов, которые позволят строить нейронные сети любой сложности в несколько строк кода даже школьникам. Добро пожаловать под кат.
Читать дальше →
Всего голосов 82: ↑75 и ↓7+68
Комментарии48

Let’s Encrypt в Plesk-панели

Время на прочтение2 мин
Количество просмотров11K
3 декабря вышел публичный релиз беты Let's Encrypt. Это радостное событие уже освещалось на Хабре. Кратко напомню, эта штука дает возможность установить бесплатный доверенный сертификат на сайт. Помимо бесплатных сертификатов, Let's Encrypt еще инструмент для выписывания, обновления, отзыва сертификатов, что, по задумке авторов, облегчит жизнь системным администраторам.

В этой статье я расскажу об особенностях Let’s Encrypt, о которых не стоит забывать, и о том, как воспользоваться им, если ваш сервер работает под управлением панели Plesk.
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии11

Veeam Backup: миленькие хитрости

Время на прочтение7 мин
Количество просмотров52K
В преддверии Нового года я подумал: а не сделать ли скромный, но очень полезный подарок нашим читателям, рассказав про функции, на которые системные администраторы-пользователи Veeam Backup & Replication обычно не обращают внимания, а про некоторые из них даже и не знают? Так родилась эта статья — о том, как использовать Veeam Backup нестандартным способом.

Начну, пожалуй, с известного многим VeeamZIP.



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

Тонкая настройка ACPI на примере Thinkpad X220

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

Лирика


За прошедшие пару месяцев мне довольно часто приходилось вступать в дискуссии о всевозможных портативных компьютерах: ломать копья в спорах какой производитель лучше и почему, обсуждать совместимость с GNU/Linux и то, как в этой системе настроить ту или иную функцию и, периодически, меня таки просят поделиться конфигами. Под влиянием этих самых обсуждений и родилась данная статья.

Большую часть своего компьютерного стажа я пользуюсь лаптопами так называемой «бизнес серии»: IBM ThinkPad 600, HP-Compaq nc2400, Lenovo ThinkPad X61T, Lenovo ThinkPad X220.



Были кратковременные перерывы, когда приходилось перебиваться абы-чем, то бишь компьютерами потребительского сегмента: Apple ibook G4 и Acer aspire 5112 и именно в эти моменты приходило понимание того, как сильно не хватает таких очевидных и привычных вещей, как трекпоинт и док-станция.

Вот про док-станцию мы сейчас и поговорим.
Всего голосов 24: ↑23 и ↓1+22
Комментарии24

Вы все еще храните 404backup.zip на сервере? Я на 200ДА

Время на прочтение2 мин
Количество просмотров42K
Сумеречными зимними вечерами под песнь вьюги, укутавшись в овечий плед с бокальчиком «яблочной самогонки», я люблю почитывать логи на сервере. Авторизация по ключам упрощает сие, так что если в публичное помещение меня и не пустят, то сервер всегда рад приютить, старый чертяга.

В мире много чего происходит, у кого счастливое 200, кто-то недоуменно смотрит на 301, кто-то царапает похабщину на 403.

Но самый ценных мех — это исследователи. Это те, кто открывает новый для себя мир на основе своих знаний путем проб и 404.
Читать дальше →
Всего голосов 137: ↑125 и ↓12+113
Комментарии79

А был ли who на сервере?

Время на прочтение22 мин
Количество просмотров25K
Тяпница… тринадцатое… всё важное решили оставить на понедельник, а потому сделаю какую-нибудь гадость…
В связи с появивишимся на хабре пересказом статьи решил немного отбалансировать данное руководство. Скрыть своё посещение, конечно, не совсем тривиально, но особых сложностей это не составляет.
Итак, задача:
Войти на сервер, выполнить некие действия и «подмести» за собой.

Здесь и далее считаем, что никаких дополнительных инструментов слежения( за исключением «по умолчанию») в системе не используется и мы знаем пароль root'a.

С чем работаем:

# uname -ori
FreeBSD 10.0-RELEASE GENERIC

# `echo $SHELL` --version
tcsh 6.18.01 (Astron)

Описываемое ниже несколько диссонирует с упоминаемой выше статьей, т.к. оная в первую очередь ориентирована на Linux-пользователей, но общие принципы теже и после перехода во FreeBSD(c 9.0) на хранение данных в utmpx родство стало ближе.

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

Linux-контейнеры: когда контейнеров становится больше

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


В прошлой статье я вкратце рассказал о том, что такое контейнерная виртуализация, LXC в частности, зачем это нужно и как это все по-быстрому настроить.

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

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

Как мы перенесли дисковое пространство сотен филиалов банка в одну СХД в Москве без потери LAN-скоростей на местах

Время на прочтение9 мин
Количество просмотров26K
Дано: банк с дата-центром в Москве и множеством филиалов.

В дата-центре стоит куча x86-машин и серьёзная хайэндовая система хранения данных (СХД). В филиалах реализована сеть с центральным сервером или мини-кластером (+ резервным сервером и low-end хранилищем), с дисковой корзиной. Бекап общих данных делается на ленте (и вечером в сейф) или же на другой сервак рядом с первым. Критичные данные (финансовые транзакции, например), асинхронно реплицируются в центр. На сервере работает Exchange, AD, антивирус, файловый сервер и так далее. Есть ещё данные, которые не являются критичными для банковской сети (это не прямые транзакции), но всё ещё очень важны — например, документы. Они не реплицируются, но иногда бекапятся по ночам, когда филиал не работает. Через полчаса после окончания рабочего дня все сессии гасятся, и начинается большое копирование.


Вот примерно так это было устроено до начала работ

Проблема, конечно, в том, что всё это начинает медленно увеличивать технологический долг. Хорошим решением было бы сделать VDI-доступ (это избавило бы от необходимости держать огромную сервисную команду и сильно облегчило бы администрирование), но VDI требует широких каналов и малых задержек. А это в России не всегда получается элементарно из-за отсутствия магистральной оптики в ряде городов. С каждым месяцем увеличивается количество неприятных «предаварийных» инцидентов, постоянно мешают ограничения железа.

И вот банк решил сделать то, что, вроде бы, дороже по внедрению, если считать напрямую, но сильно упрощает обслуживание серверной инфраструктуры в филиалах и гарантирует сохранность данных филиала: консолидировать все данные в одну центральную СХД. Только не простую, а ещё с умным локальным кэшем.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии12

Управление серверами HP ProLiant через открытые REST API или «iLO на стероидах»

Время на прочтение26 мин
Количество просмотров28K
Вступление от HP: эта публикация написана одним из наших заказчиков, который по долгу службы пожелал остаться анонимным. Все совпадения имён и айпишников считать случайными. Попробовать сделать то же самое можно в любое время в нашем демо-центре в Москве — желающих просим писать в комментарии.

Приветствую. Меня зовут Эдуард, и я системный администратор в небольшой компании, которая аутсорсит администрирование ИТ-инфраструктуры. Кхм… Уже похоже на клуб анонимных кого-то с проблемами? Ну да ладно, одна интересная проблема у нас действительно была, а сегодня мы расскажем, как мы с ней столкнулись, и как случайно её решили.


Для начала немного предыстории. Все же помнят, как весело было админить удалённое железо раньше, лет 5-8 назад? Пишем заявку инженерам в ДЦ, ждём, когда они подключат KVM, настраиваем BIOS/CMOS, выставляем загрузку по сети, ставим систему (это хорошо, если кто-то добрый уже написал генератор preseed/kickstart-файлов, и в ДЦ есть DHCP/PXE сервер). А потом у нас на всех серверах появился ipmi (ну со временем). Ох, как мы радовались первое время!
Читайте под катом как мы открыли для себя управление серверами через открытые API и полюбили их
Всего голосов 19: ↑17 и ↓2+15
Комментарии13

Тестирование в Яндексе. Как сделать отказоустойчивый грид из тысячи браузеров

Время на прочтение7 мин
Количество просмотров41K
Любой специалист, причастный к тестированию веб-приложений, знает, что большинство рутинных действий на сервисах умеет делать фреймворк Selenium. В Яндексе в день выполняются миллионы автотестов, использующих Selenium для работы с браузерами, поэтому нам нужны тысячи различных браузеров, доступных одновременно и 24/7. И вот тут начинается самое интересное.



Selenium с большим количеством браузеров имеет много проблем с масштабированием и отказоустойчивостью. После нескольких попыток у нас получилось элегантное и простое в обслуживании решение, и мы хотим поделиться им с вами. Наш проект gridrouter позволяет организовать отказоустойчивый Selenium-грид из любого количества браузеров. Код выложен в open-source и доступен на Github. Под катом я расскажу, на какие недостатки Selenium мы обращали внимание, как пришли к нашему решению, и объясню, как его настроить.
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии31

Создание загружаемых модулей Zabbix на примере добавления протокола Modbus

Время на прочтение8 мин
Количество просмотров38K
Еще в версии Zabbix 2.2 добавились загружаемые модули, которые позволили расширять на новом уровне возможности системы. «Зачем это нужно?», — спросите вы, ведь запускать внешние скрипты и программы из Zabbix можно было всегда. Конечно, в первую очередь это скорость — модули, как и сам Zabbix, пишутся на C и при правильном подходе работают максимально быстро, в отличие от внешних программ, которые требуется запускать на каждый опрос. Многих может напугать необходимость писать код, но сегодня я хочу показать вам, что все не так уж и сложно.

Для примера, напишем модуль, который позволит Zabbix собирать информацию с устройств, работающих по широко распространённому в мире протоколу промышленной автоматизации — Modbus и снимем при помощи него показания температурных датчиков, а также получим параметры электроэнергии с счетчика Меркурий 230. В конце разместим наш модуль на портале share.zabbix.com, где пользователи могут делиться своими наработками по Zabbix.


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

Фоны старых квестов — методы разработки, секреты, советы

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


Сегодня мы исследуем вопрос разработки фонов «как в старых адвенчурах». Это не совсем то, чего вы от меня ожидали. Однако, очередная часть «Галопа Пикселя» задерживается по двум серьезным причинам. Во-первых, главы посвященные анимации требуют — качественной анимации, иначе они не смогут претендовать на лавры материала обучающего. Во-вторых, «галопу» необходима ещё одна публикация до начала цикла об анимации, который уже находится в разработке. Связано это с тем, что я занимаюсь не только классическим пиксель-артом, но и тем, что выходит за пределы канонических разрешений, и у меня, определенно, есть чем поделиться. К сожалению, такой тип пиксель-арта сейчас более моден, чем классика, если судить по откликам публики.

Давайте, впрочем, вернемся к теме сегодняшней публикации. Считаю это маленьким открытием, и мне непременно нужно поделиться им с теми, кто собирается соединить некоторый отрезок своей жизни с тем, что может называться классической адвенчурой. Быть может это поможет вернуть на рынок игры, которые немного оттеснят «хипстерский пиксель» заменив его на то, что может напомнить времена лучших игр от «Westwood Studios», «Sierra» и «Lucas Arts». Предположу вскользь, что множество художников и так знают это. И, тем не менее — я не заметил публикаций на эту тему. Наша братия не спешит делиться своими секретами, сохраняя некую монополию на собственные открытия.

Я хотел приурочить эту статью к началу разработки собственной адвенчуры. Но кто знает, когда это произойдет? А вам эта информация может помочь уже сейчас. Стоит ли откладывать? Думаю, что нет. Лопаты в руки.


Продолжить копать
Всего голосов 107: ↑103 и ↓4+99
Комментарии59

Apache vs Nginx: практический взгляд

Время на прочтение12 мин
Количество просмотров369K
Apache vs Nginx

Введение


Apache и Nginx — 2 самых широко распространенных веб-сервера с открытым исходным кодом в мире. Вместе они обслуживают более 50% трафика во всем интернете. Оба решения способны работать с разнообразными рабочими нагрузками и взаимодействовать с другими приложениями для реализации полного веб-стека.

Несмотря на то, что у Apache и Nginx много схожих качеств, их нельзя рассматривать как полностью взаимозаменямые решения. Каждый из них имеет собственные преимущества и важно понимать какой веб-сервер выбрать в какой ситуации. В этой статье описано то, как каждый из этих веб-серверов ведет себя при различных условиях.
Читать дальше →
Всего голосов 89: ↑69 и ↓20+49
Комментарии184

Как я, в итоге, написал новую RTOS, протестированную и стабильную

Время на прочтение40 мин
Количество просмотров83K
Я работаю со встраиваемыми системами в течение нескольких лет: наша компания разрабатывает и производит бортовые компьютеры для автомобилей, зарядные устройства, и т.д.

image


Процессоры, используемые в наших продуктах — это, в основном, 16- и 32-битные микроконтроллеры Microchip, имеющие RAM от 8 до 32 кБ, и ROM от 128 до 512 кБ, без MMU. Иногда, для самых простых устройств, используются еще более скромные 8-битные чипы.

Очевидно, что у нас нет (разумных) шансов использовать ядро Linux. Так что нам нужна какая-нибудь RTOS (Real-Time Operating System). Находятся даже люди, которые не используют никаких ОС в микроконтроллерах, но я не считаю это хорошей практикой: если железо позволяет мне использовать ОС, я ее использую.

Несколько лет назад, когда мы переходили с 8-битников на более мощные 16-битные микроконтроллеры, мои коллеги, которые были гораздо более опытными, чем я, рекомендовали вытесняющюю RTOS TNKernel. Так что это — та ОС, которую я использовал в разных проектах в течение пары лет.

Не то, чтобы я был очень доволен ею: например, в ней нет таймеров. И она не позволяет потоку ждать сообщения сразу из нескольких очередей. И в ней нет программного контроля переполнения стека (это действительно напрягало). Но она работала, так что я продолжал ее использовать.
Читать дальше →
Всего голосов 162: ↑161 и ↓1+160
Комментарии61

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность