Pull to refresh
0
0
Сергей @Chelyuk

User

Send message

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

Reading time2 min
Views1.4M

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

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

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Хакаем CAN шину авто. Мобильное приложение вместо панели приборов

Reading time7 min
Views114K

Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.

По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.

Как телефон взаимодействует с автомобилем
Total votes 109: ↑109 and ↓0+109
Comments123

Король умер! Да здравствует король! История процессоров поколения Intel Pentium II

Reading time18 min
Views29K

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

На смену ему пришел Pentium II — процессор с очень последовательным именем, но Первому он являлся родственником весьма дальним, а вот «императору» семейства x86, Pentium Pro, напротив, — ближайшим, можно сказать, «любимым племянником».

Эта статья продолжает цикл статей об истории процессоров и платформ для них, начатый рассказами о Pentium Pro и Pentium (часть 1 и часть 2). Сегодня мы вспомним о процессорах, давших начало «золотому веку» Intel: недолгому затишью перед ожесточенной битвой, когда большинство конкурентов сворачивали свою деятельность, стартапы не выживали, а AMD, после очередного поражения, только собиралась с силами, чтобы нанести ответный удар. Итак, приступим!
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments50

Один совет, благодаря которому я успешно прошёл несколько собеседований

Reading time6 min
Views175K
— Что вы скажете, если я попрошу вас разработать сервис, который обрабатывает тысячи запросов в секунду с минимальной задержкой?

— Хм… Я скажу, что у вас в компании возникла такая проблема. Но у вас нет идей и вы обсуждаете её на собеседованиях с кандидатами :)

Именно так я ответил, когда мне впервые задали вопрос по архитектуре. Мы хорошо посмеялись. Но потом интервьюер всё-таки заставил меня спроектировать сервис.
Читать дальше →
Total votes 85: ↑79 and ↓6+95
Comments222

Руководство: Cucumber + Java

Reading time14 min
Views260K
К сожалению, нет магической формулы для разработки высококачественного программного обеспечения, но очевидно, что тестирование улучшает его качество, а автоматизация тестирования улучшает качество самого тестирования.

В данной статье мы рассмотрим один из самых популярных фреймворков для автоматизации тестирования с использованием BDD-подхода – Cucumber. Также посмотрим, как он работает и какие средства предоставляет.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments5

История ошибки 2000 года

Reading time13 min
Views27K
В конце девяностых мир переживал за компьютерные системы, которые обещали вот-вот отказать. Эксперты запугивали, что при наступлении 2000 года софт не сможет корректно обработать дату, и мир погрузится в хаос: отключатся платёжные системы, биржи встанут, откажет любая электроника. В реальности новый век наступил без каких-либо проблем, переживания оказались напрасны.

Именно так ошибку 2000 года восприняло общественное сознание. К примеру, британский политик-брекзитёр заявил, что опасения о влиянии роли Брекзита на экономику похожи на панику бага Y2K.

Об ошибке тысячелетия забыли почти сразу после наступления 2000 года. Даже в непрофильных изданиях месяцами обсуждали баг Y2K, но уже в первые дни нового года внимание к теме угасло. Завораживающая смена числа с 1999 на 2000 не создала катастроф, которыми так пугали. Скептики объявили, что деньги на устранение бага потратили впустую.

Происходящее за кулисами важнее представлений неспециалистов. Градус общественной паники действительно ушёл выше уровня, которого заслуживала ситуация. Реальная опасность компьютерных сбоев по всему миру 1 января 2000 года существовала и требовала вмешательства разработчиков ПО. Целые отделы программистов годами устраняли проблему Y2K.
Total votes 35: ↑34 and ↓1+51
Comments27

Жизнь под давлением: как устроены водонапорные башни

Reading time10 min
Views68K
Этим летом в городе Слободском Кировской области частнику продали местную достопримечательность — водонапорную башню, которую больше ста лет назад возвел знаменитый вятский архитектор Иван Чарушин. В советское время в ней располагались магазины, а в начале 2000-х работало местное телевидение. Новый владелец планирует открыть там музей, а часть помещений перепрофилировать под гостиничные номера.

Таких сооружений по всей России очень много. Водонапорные башни можно найти и в больших городах — Москве, Екатеринбурге, Санкт-Петербурге, и в деревнях. Многие из них до сих пор выполняют свое прямое назначение. А этот пост о том, как они работают, какие типы башен бывают, ну и еще немного про судьбу Слободской.

Читать дальше →
Total votes 68: ↑65 and ↓3+88
Comments74

Скрам умер. Да здравствует канбан

Reading time7 min
Views53K
Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные встречи, планирование, ретроспективные совещания, спринты и так далее. В конце концов, я пользовался на практике тем, чему меня учили.



Но через несколько лет я начал кое-что замечать: в последние дни спринта все бросаются доделывать всё то, чем занимались в предыдущие две недели, стремясь избежать переноса задач на будущее. Часто те, кто так поступали, брали на себя ненужный риск.

Почему? Разве какие-то задачи не могут подождать до следующей недели? Так ли важно доделать абсолютно всё до выходных? Нет, не так уж это и важно. А всё это происходит из-за того, что «Переносы задач — это плохо».
Читать дальше →
Total votes 58: ↑48 and ↓10+62
Comments106

5 современных альтернатив старым инструментам командной строки Linux

Reading time6 min
Views51K
Используя более современные альтернативы наряду со старыми инструментами командной строки, можно получить больше удовольствия и даже повысить производительность труда.



В повседневной работе в Linux / Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов. Некоторые из этих инструментов существуют уже давно. Например, top появился в 1984 году, а первый релиз du датируется 1971 годом.

За прошедшие годы эти инструменты были модернизированы и портированы на разные системы, но в целом далеко не ушли от своих первых версий, их внешний вид и usability также сильно не изменились.

Это отличные инструменты, которые необходимы многим системным администраторам. Однако сообщество разработало альтернативные инструменты, которые предлагают дополнительные преимущества. Некоторые из них просто имеют современный красивый интерфейс, а другие значительно улучшают удобство использования. В этом переводе расскажем о пяти альтернативах стандартным инструментам командной строки Linux.
Читать дальше →
Total votes 59: ↑51 and ↓8+67
Comments106

Переезд в Иннополис

Reading time18 min
Views196K


В 2017 году мы с семьёй переехали в Иннополис.

За 3 года жизни эйфория прошла и сформировалось какое-то устойчивое мнение об этом городе.

Я уверен, что статью будут читать в том числе и жители этого города, поэтому давайте сразу договоримся, что это мой личный взгляд и опыт — он может отличаться от вашего в любую сторону.

Меня никто не просил писать эту статью и тем более не платил за неё. В общем, это не заказная «приезжайте к нам, у нас тут классно». Пишу всё так, как вижу своими глазами.
Читать дальше →
Total votes 171: ↑165 and ↓6+200
Comments480

Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо

Reading time13 min
Views22K
Здравствуйте!

На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема.

Поэтому я решил поделиться с вами собственным решением, которое было ранее реализовано мной и обладает:

  • Низким уровнем вхождения и простотой кода (для понимания/отладки другим сотрудником)
  • Простые скрипты ROS не создают никакой нагрузки и работают даже на hAP Lite
  • Масштабируемость – возможность подключения большого количества VPN-шлюзов с целью снижения нагрузки или географического распределения
  • Возможность использования Mikrotik CHR в качестве VPN-сервера
  • «1хN» – 1 SMS-шлюз на неограниченное количество роутеров с возможностью расширения при росте нагрузки
  • Возможность привязки отдельного роутера к «конкретному» модему (для чего? – об этом позже)
  • Использование всего одного php скрипта на удаленном сервере
  • Не важно какое устройство инициировало VPN-соединение, авторизация по ссылке из SMS
  • Ведение log'а всех авторизаций на сервере (можно вкл/выкл)
  • Увеличение отказоустойчивости и снижение нагрузки системы путем отправки SMS рандомно с нескольких модемов
  • Возможность отправки SMS через платные SMS-шлюзы (в коде на примере smsc.ru)
  • Функция Firewall – доступ только у роутеров занесенных в список (можно вкл/выкл)
  • Новое: Отправка кодов через Synology Chat и Telegram Bot. Причем различным пользователям уведомления могут доставляться по различным каналам.


Если вас интересует данная тематика, сохраните статью в закладки, я буду периодически её обновлять, по мере расширения функционала скрипта.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments41

Zephyr в embedded: опыт использования на STM32F7-Discovery

Reading time6 min
Views19K
image

История о моем опыте использования операционной системы реального времени (ОСРВ) Zephyr для устройства на базе микроконтроллера STM32F7-Discovery.


В статье:


  • Что такое Zephyr и при чем тут Linux?
  • Запуск проекта на STM32. Интересные моменты по работе с драйверами.
  • Фишки этой ОС. Что понравилось, а что нет.
Читать дальше →
Total votes 15: ↑14 and ↓1+21
Comments45

Linux Quest. Поздравляем победителей и рассказываем про решения заданий

Reading time10 min
Views15K


25 марта мы открыли регистрацию на Linux Quest, это Игра для любителей и знатоков операционной системы Linux. Немного статистики: зарегистрировалось на игру 1117 человек, из них 317 — нашли хотя бы один ключ, 241 успешно справились с заданием первого этапа, 123 — второго и 70 прошли третий этап. Сегодня наша игра подошла к концу, и мы поздравляем наших победителей!
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments23

Взлом WPA3: DragonBlood

Reading time4 min
Views22K


Несмотря на то, что новый стандарт WPA3 еще толком не введен в эксплуатацию, недостатки безопасности в этом протоколе позволяют злоумышленникам взломать пароль Wi-Fi.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments4

Короче, сделал столетний блокбастер цветным

Reading time22 min
Views44K

Синопсис

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


верни картинку взад
Читать дальше →
Total votes 162: ↑158 and ↓4+206
Comments73

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain

Reading time8 min
Views8.6K
Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло.

Как эффективно организовать иерархию классов? Как распределить пакеты по проектному дереву? Как сделать так, чтобы забыть о мердж-конфликтах при команде в 10 человек? Эти вопросы всегда стоят при старте новой разработки и на них никогда не хватает времени.

Источник

В этой статье мы описываем структуру классов и организацию кода, которая позволила нам небольшими силами разработать более полутора тысяч end-2-end UI тестов на базе Junit и Selenium для крупной системы федерального значения. Более того, мы ее успешно поддерживаем и постоянно дорабатываем существующие сценарии.

Здесь вы сможете найти практическое описание структуры иерархии базовых классов автотестов, разбиения проекта по функциональной модели java-packages и шаблоны-образцы реальных классов.

Статья будет полезна всем разработчикам, которые разрабатывают автотесты на базе Selenium.
Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments0

В поисках LD_PRELOAD

Reading time12 min
Views25K
Эта заметка была написана в 2014-м году, но я как раз попал под репрессии на хабре и она не увидела свет. За время бана я про неё забыл, а сейчас нашёл в черновиках. Думал было удалить, но авось кому пригодится.



В общем, небольшое пятничное админское чтиво на тему поиска «включенного» LD_PRELOAD.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments9

10 возможностей VS Code, помогающих ускорить работу программиста

Reading time9 min
Views99K
Когда программист попадает в состояние потока, его мысли часто движутся прямо-таки с космической скоростью. Он пишет код так быстро, как только может, прилагая все усилия к тому, чтобы ухватить свои идеи и не дать им растаять в воздухе или затеряться в закоулках новых образов.

Редактор Visual Studio Code (VS Code) стал восходящей звездой вселенной инструментов программирования сразу после того, как появился. Я долго не решалась его попробовать. Причина этого была не в том, что это — просто некий очередной редактор кода. Дело было в том, что вся моя работа была отлично организована в Sublime.

image

Для меня понятия «работа» и «написание кода» — это одно и то же. И, по большому счёту, неважно, каким именно редактором я буду постоянно пользоваться. Но изменения — это всегда нелегко. После того, как я неделю поработала в VS Code, я обнаружила, что моя продуктивность сильно просела. Я сделала за это время меньше, чем сделала бы, пользуйся я чем-то привычным.

Это было так, отчасти, из-за того, что мне нужно было перестроиться, привыкнуть к новым инструментам. Нужно было выяснить то, какие команды мне пригодятся, нужно было запомнить полезные сочетания клавиш, изучить средства навигации по коду. И, вдобавок, надо было разобраться в том, какие расширения редактора мне понадобится установить для того, чтобы облегчить себе жизнь.

В итоге я снова вышла на высокую производительность. Вряд ли я снова затею переход на новый редактор. VS Code — это надёжный и нетребовательный к ресурсам инструмент. Вокруг него собралось мощное сообщество разработчиков расширений. Пожалуй это — одна из лучших разработок Microsoft.

Вот 10 возможностей VS Code, освоение которых помогло мне ускорить работу. Надеюсь, они пригодятся и вам.
Читать дальше →
Total votes 37: ↑25 and ↓12+29
Comments60

Терминальный сервер для админа; Ни единого SSH-разрыва

Reading time8 min
Views57K


Если ваша работа требует держать множество SSH-сессий к разным серверам, вы наверняка знаете, как они легко ломаются при переключении на другой Wi-Fi или при временной потере интернета. Но что, если я скажу вам, что все эти проблемы давно решены и можно забыть про сломанные сессии и постоянные переподключения?

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

Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments63

Правда ли, что внутренние накопители смартфонов лучше любой карты памяти, и когда отправят на пенсию microSD?

Reading time10 min
Views112K
Привет, Гиктаймс! В последние годы производители гаджетов считают, что хороший смартфон — монолитный смартфон. Аккумуляторы перестали быть съёмными, привычные SIM-карты, в их классическом понимании, тоже могут кануть в небытие, а взамен старой доброй microSD производители активно «педалируют» развитие встроенных в смартфоны накопителей. Действительно ли «приколоченные гвоздями» гигабайты настолько быстрые, выгодные и надёжные, или перед нами всего лишь новый виток на пути к «одноразовым» гаджетам?


Total votes 34: ↑32 and ↓2+30
Comments245

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity