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

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

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

Делаем dDNS-клиент для DNS Яндекса на MikrotikOS

Время на прочтение4 мин
Количество просмотров26K
Зашёл недавно с другом разговор про DynDNS и подобные сервисы, и я вспомнил что давно хотел реализовать аналог на базе API которое предоставляет Yandex для управления DNS-хостингом. Уже несколько лет я владею чудесной железкой Mikrotik RB750GL и очень хотелось чтобы обновляла запись именно она.
Но до недавнего времени это было не возможно, так как MikroTik умеет скачивать файлы только по HTTP, а API Yandex работает только по HTTPS. И вот зайдя на Wiki Mikrotik увидел заветную запись:
Fetch now supports HTTPS protocol. By default no certificate checks are made, but setting check-certificate to yes enables trust chain validation from local certificate store. CRL checking is never done.

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

Делаем dDNS-клиент для DNS Яндекса

Время на прочтение2 мин
Количество просмотров11K
Залез зачем-то в справку почты для домена яндекса и заметил там Его — долгожданный API DNS.
И захотелось сделать более нативный клиент dDNS, чем всего лишь 2-х месячной давности решение через эмуляцию пользователя.
Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии25

Application Insights для Visual Studio Online — мощный инструмент диагностики в набор разработчика

Время на прочтение10 мин
Количество просмотров15K
Привет! У нас сегодня интересная тема – диагностика и мониторинг приложений. Всегда хочется иметь инструмент, который будет (желательно бесплатно, но если нет – то с ценами приемлемыми):

  • Диагностировать приложение, находящееся в продакшене, и экосистему вокруг него – собирать статистику об исключениях, аптайм, состояние веб-сервера, время ответа, и так далее.
  • Показывать тренды, – как ведут себя пользователи, куда они ходят, что делают, сколько проводят времени, возвращаются ли.
Было много прекрасных средств, но я не нашел объединившее бы все функции, и желательно интегрировавшее весь вышеописанный опыт в экосистему, которая уже есть – мою Visual Studio. Если вам интересен такой новый инструмент – Application Insights – с помощью которого можно не только смотреть, но и загружать, например, файлы для IntelliTrace – велком под кат. Уточняю – это не мегагайд о том, «как сделать», это обзор, поэтому будет много ярких картинок.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии4

Взломать Wi-Fi за 10 часов

Время на прочтение12 мин
Количество просмотров1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


Читать дальше →
Всего голосов 304: ↑294 и ↓10+284
Комментарии164

Страсть к программированию. Глава 23. Будь на своем месте

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

Как менеджер, я могу сказать вам что самый сбивающий с толку работник — это тот, который всегда хочет повышения. Вы наверняка знаете таких: ни один обед с ним не обойдется без разговоров о том, кто продвинется по карьерной лестнице. У него всегда есть какие-нибудь офисные сплетни, которыми он готов поделиться, он всегда обсуждает корпоративную политику, будто бы это сюжетная линия мыльной оперы, к которой он имеет болезненное и греховное пристрастие. Он жалуется на некомпетентность Руководства компании, скрепя зубами выполняет свою работу, с полной уверенностью, что справился бы с работой начальства гораздо лучше, чем они. Они просто слишком глупы, чтобы понять его потенциал.

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

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

Об особенностях внедрения СПО в малом бизнесе

Время на прочтение5 мин
Количество просмотров44K
Добрый день, уважаемое сообщество!

Существует большое количество малых и «маленьких, но гордых» организаций, которые при всей своей простоте вынуждены пользоваться определенной IT инфраструктурой. Хочу поделиться с вами некоторыми выводами по внедрению в них свободного ПО (СПО) и Линукса, которые я вынес для себя на базе многолетнего положительного опыта в этой области.

image


Слепок типичного заказчика



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

1. Организации с количеством компьютеров от 1 до 50 предпочитали использовать проприетарные решения для ОС одной хорошо всем известной заатлантической конторы.
2. Денег на покупку лицензий всегда не было. Предпочитали использовать «пиратчину».
Читать дальше →
Всего голосов 81: ↑58 и ↓23+35
Комментарии161

Почему использование юнит тестов это отличная инвестиция в качественную архитектуру

Время на прочтение7 мин
Количество просмотров21K
На понимание факта, что юнит тесты это не только инструмент борьбы с регрессией в коде, но также и отличная инвестиция в качественную архитектуру меня натолкнул топик, посвященный модульному тестированию в одном англоязычном .net сообществе. Автора топика звали Джонни и он описывал свой первый (и последний) день в компании, занимавшейся разработкой программного обеспечения для предприятий финансового сектора. Джонни претендовал на вакансию разработчика модульных тестов и был расстроен низким качеством кода, который ему вменялось тестировать. Он сравнил увиденный им код со свалкой, набитой объектами, бесконтрольно создающими друг друга в любых непригодных для этого местах. Также он писал, что ему так и не удалось найти в репозитории абстрактные типы данных, код состоял исключительно из туго переплетенных в один клубок реализаций, перекрестно вызывающих друг друга. Джонни, понимая всю бесполезность применения практики модульного тестирования в этой компании, обрисовал ситуацию нанявшему его менеджеру и, отказавшись от дальнейшего сотрудничества, дал напоследок ценный, с его точки зрения, совет. Он посоветовал отправить команду разработчиков на курсы, где бы их смогли научить правильно инстанцировать объекты и пользоваться преимуществами абстрактных типов данных. Я не знаю, последовал ли менеджер совету (думаю, что нет), но если вам интересно, что имел в виду Джонни и как использование практик модульного тестирования может повлиять на качество вашей архитектуры, добро пожаловать под кат, будем разбираться вместе.
Читать дальше →
Всего голосов 41: ↑31 и ↓10+21
Комментарии105

Кроссплатформенное Smart TV приложение в одном экземпляре. Библиотека SmartBox для Samsung, LG, Philips, STB Mag 200/250 и других

Время на прочтение4 мин
Количество просмотров70K
Копаясь в памяти своего неискушённого идеальным миром мозга, я, припоминаю, как два года назад начиналась наша история по разработке приложений для SmartTv. Если коротко, то это был АД!!! богатейший опыт.

image


Однако, хотелось бы получить этот опыт сразу, не наступая на недокументированные грабли, разложенные по всей технологии, и специальные детские грабли разложенные каждым вендором отдельно. Но как говорится «c'est la vie» и нам пришлось пробиваться сквозь тернии к звёздам!

В итоге мы получили кроссплатформенную расширяемую библиотеку для всех SmartTv.
Описание, демки, скрины, видео данной библиотеки
Всего голосов 97: ↑80 и ↓17+63
Комментарии55

Шпаргалка по шаблонам проектирования

Время на прочтение2 мин
Количество просмотров1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии66

Мой удобный дом

Время на прочтение14 мин
Количество просмотров309K
Относительно недавно здесь был текст про домашнюю автоматику, а в комментариях один товарищ высказал идею, о которой я тоже думаю очень-очень давно. Суть в том, что автоматика должна работать так, чтобы этого, по возможности, вообще не было заметно.

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →
Всего голосов 161: ↑160 и ↓1+159
Комментарии97

Пишем, собираем и запускаем HelloWorld для Android в блокноте

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


Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →
Всего голосов 108: ↑97 и ↓11+86
Комментарии42

О чем НЕ говорят разработчики или 7 любимых выражений программистов

Время на прочтение5 мин
Количество просмотров90K
Друзья! Мы все очень любим (или не любим) поговорить о шаблонах проектирования. Лично я их сильно недолюбливаю, т.к. большинство из них достаточно очевидны для более или менее опытного разработчика, а шаблонность мышления еще никому в жизни не помогала.

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

В повседневной жизни я стараюсь не употреблять слово «программист». Оно для меня несет негативный оттенок и сразу вспоминаются 90-е, когда кого только программистами не называли. Они и картриджи у принтеров меняли и бабушкам-бухгалтерам помогали их первый комп осваивать. Помните это нетленное «Ты же программист!»? В общем дискредитировало себя это слово.

Я как-то привык своих людей называть разработчиками (developers) и для меня программист — это эдакий антипод разработчика. Ну и с годами опыта я познал большое количество антипаттернов для хорошего разработчика, пользоваться которыми он должен как можно реже. Чем реже я их слышу, тем я счастливее. Итак, приступаем.

001. А у меня на компе работает


Эта фраза знакома всем, кто хотя бы несколько месяцев работает в индустрии и просто должна быть исключена из лексикона любого разработчика. Чувак, если ты отправляешь на тестирование код, который не работает у тебя на компе, то тебе не место в профессии! По определению у тебя на компе код всегда работает. Разве может быть иначе? А не работает он у тестировщика, клиента, да кого угодно, потому, что ты не учел какие-то нюансы, различия в окружении, данных, погоде на Марсе и твоя задача выяснить, что именно и исправить, а не пытаться сразу откосить и доказать свою невиновность. Нет ничего страшного в том, что ты чего-то не учел. В моей практике бывали случаи учесть которые мог бы только… Да никто не мог бы!

Больше паттернов!
Всего голосов 283: ↑137 и ↓146-9
Комментарии310

Не дразните программиста

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

Вы устали? Хотите выпустить пар? Вам требуется передышка? Предлагаю вам присоединится ко мне, тем более, что на дворе пятница.
Читать дальше →
Всего голосов 424: ↑394 и ↓30+364
Комментарии126

Samba4, Radius и PPTP с использованием MS-CHAP v2

Время на прочтение15 мин
Количество просмотров34K
…У-ф-ф, свершилось. Всё оказалось довольно просто, хотя времени потратить пришлось изрядно, в основном на поиск информации, коей на просторах Интернета (полезной, конечно) – кот наплакал… А уж как она (эта информация) разрознена! Поэтому, решил написать это руководство, основанное на собственном опыте внедрения. Главное, что всё будет собрано в одном месте (кроме, возможно, настроек bind9, но об этом чуть позже).

Итак, задача. Есть сервер с Ubuntu 12.04. Он должен стать:

  • PDC Windows-домена c Active-Directory.
  • Сервером VPN (пусть, например, это будет PPTP, но с обязательной поддержкой MS-CHAP v2 и MPPE-128) с авторизацией на Radius –сервере (для определённости – freeradius).
  • Соответственно – Freeradius-сервером.
  • Терминальным сервером, на котором прозрачно авторизуются пользователи AD.

Приступаем.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии48

STM32 и USB-HID — это просто

Время на прочтение14 мин
Количество просмотров375K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать
Всего голосов 103: ↑101 и ↓2+99
Комментарии105

Debian: производительность PostgreSQL для 1С

Время на прочтение4 мин
Количество просмотров54K
Хотя интернет уже переполнен статьями о «правильной» настройке связки PostgreSQL и 1C 8.2, для подводных камней всегда остается место. При сравнении производительности СУБД PostgreSQL на разных ОС, показатели различаются в разы. Самая большую обиду принесла любимая Ubuntu (человечность). После долгих дней и ночей проведенных за консолью этой ОС, она разочаровала окончательно.

Тормоза PostgreSQL в Ubuntu Server. Что с ними делать? Сколько раз можно наступать на грабли?
Читать дальше →
Всего голосов 34: ↑14 и ↓20-6
Комментарии24

Десктоп в домашнем сервере или «всё-в-одном»

Время на прочтение4 мин
Количество просмотров89K
image
Цель: недорого собрать систему поддерживающую проброс PCI-устройств в виртуальную машину (c IOMMU). Создать полноценное рабочее место, поднять виртуальный маршрутизатор и еще полезные мелочи.
Читать дальше →
Всего голосов 46: ↑37 и ↓9+28
Комментарии40

Домашний сервер «всё-в-одном» — success story

Время на прочтение9 мин
Количество просмотров139K
Жил да был у меня роутер одной хорошей фирмы на букву «Dead». Ну, это с ним, собственно, и случилось.
Посмотрел я на цены новых, на кучу компьютерного хлама в углу, на список подключений на домашнем компе… И понял, что не нужен мне роутер. Соберу свой, с нормальной маршрутизацией, DNS, WINS, i2p, блекджеком и так далее.
Как это было?
Всего голосов 134: ↑110 и ↓24+86
Комментарии87

Внедрение корпоративного Linux в ПриватБанке

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

История


Внедрение Linux в ПриватБанке началось в 2007 году. За это время был пройден большой путь и хотелось бы поделиться с сообществом своим опытом внедрения. На данный момент мы достигли следующих показателей: более 36500 рабочих мест с ОС Linux в 4000 отделений, расположенных в 5 странах.
В 2007 году за основу был взят ASPLinux 11.2. Со временем для альтернативы были выбраны другие дистрибутивы — Fedora, openSUSE, Ubuntu. Позже стала очевидной необходимость создания собственного дистрибутива и системы управления рабочими станциями. Разработка началась в январе 2012 года. Для основы был выбран Ubuntu 12.04 LTS с рабочим окружением Gnome Classic (no effect). Основные аргументы: Ubuntu — самый распространённый десктопный дистрибутив последних лет; обширное комьюнити, где проще найти решение возникающих проблем; именно его в качестве основы внедрения выбрал Google, много примеров внедрения в государственных и муниципальных учреждениях Германии, Франции. Выбор системы управления остановился на Puppet.
В июне 2012 года стартовал переход и к январю 2013 на корпоративную ОС были переведены уже около 95% ПК. Такая скорость перехода обусловлена тем, что сотрудники уже имели опыт работы в Linux.

Основные задачи, которые удалось решить благодаря текущему внедрению:
  • cущественная экономия ресурсов при поддержке ОС на рабочих местах сотрудников;
  • поддержание программного обеспечения в актуальном состоянии;
  • возможность оперативного применения критических обновлений (до 1 часа на всех ПК);
  • cбор и анализ статистической информации о парке ПК и периферии;
  • создание системы проактивной реакции на сбои (Event Manager).

Дальше более детальное описание компонентов нашей реализации.
Читать дальше →
Всего голосов 256: ↑241 и ↓15+226
Комментарии168

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

Время на прочтение8 мин
Количество просмотров24K
О чём расскажет этот пост?
О том, как использовать старый сканер вместе с сервером под Debian для сканирования при нажатии кнопки, да ещё и с автоматической сортировкой.

Зачем это нужно?
Это подходит всем, кого не устраивают завалы бумаги на рабочем месте. К примеру:
  • Школьникам и студентам, тем, у кого актуальна тема груды накопившихся раздаточных материалов в школе, техникуме или университете.
  • Служащим в офисе, у которых таких же бумаг и писем накапливается великое множество
  • Простым людям — для сканирования всяких приходящих писем, счетов и чеков (как известно, чеки имеют свойство выцветать, именно в этом и заключается моя проблема — нужно будет сканировать большое количество чеков, а это не особо удобно)


Как я себе это представляю?
Да очень просто. Положил бумажку в сканер, нажал кнопку, дождался звукового сигнала о конце сканирования и обработки, вынул бумажку, при необходимости — GOTO 10.

И что у меня вышло?
Бесперебойно работающая система, которая также позволяет пакетное сканирование и автоматическую сортировку по папкам, логирование и прочие заморочки — что в скрипт впишешь, то и будет.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии15

Информация

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