Search
Write a publication
Pull to refresh
186
157.5
Никита Цаплин @ntsaplin

2.3.5 Математическое и программное обеспечение

Send message

Осциллограф в браузере

Reading time4 min
Views16K

Отрисовка графиков в реальном времени




Одно время я работал в компании, которая разрабатывала бесконтактные датчики, как на фото. И при установке этих датчиков, надо было правильно сориентировать антенну (белая штука на фото). И выглядело это так: один человек на объекте, где-то в Сибири, на морозе крутит антенну, а другой в Питере, в офисе, не видит того человека, но видит графики на мониторе. И вот они как слепой с глухим пытаются поставить антенну, один по графикам, по телефону говорит, что надо антенну повернуть, а другой пытается понять в какую сторону её крутить. Звучит как бред, правда? Но так и было.

Когда я это всё увидел, понял, что получать графики надо локально и прямо здесь и сейчас наблюдать всю картину, чтобы один и тот же человек видел сигнал и крутил антенну. И понял: надо пилить веб-интерфейс для этой железки. Опыта веб-разработки ноль, значит заодно и поучимся.

Наш первый ЦОД в советском убежище: особенности вычислений в бункере

Reading time7 min
Views28K

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

Тогда нам казалось, что место выбрано идеально. Мы знали, что Uptime Institute не даёт свои Tier-уровни подземным сооружениям, но это нас не останавливало. Угроза там в том, что бункер создаёт единую нерезервируемую точку отказа: всё может затопить разом. Поэтому мы начали с того, что сделали дополнительную гидроизоляцию по метро-технологиям, пробуривая отверстия в бетоне и заливая туда специальный состав, проникающий в бетон и заполняющий его поры.

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

Почему именно убежище? Ответ прост: это было идеальное место с доступом к электрическим мощностям завода, близко к оптоволоконным магистралям на MSK-IX и MSK-X. А ещё не было конкуренции за место, потому что вряд ли кто-то захотел бы для себя такой офис или склад. Ну и три контура охраны, поскольку завод всё ещё непростой, что в перспективе позволяло очень легко хранить персональные данные.
Читать дальше →

NETSCAPE: Хроника взлетов и падений

Reading time13 min
Views11K


У каждого из нас есть любимый браузер. Кто-то привык к Chrome с его синхронизацией «избранного» и сохраненных паролей через сервисы Google, кому-то ближе Opera со встроенным VPN, позволяющим без проблем заглядывать на LinkedIn, Rutracker и тысячи других заблокированных сайтов. Маководы традиционно пользуются Safari, есть своя армия поклонников и у «огнелиса» с его широчайшим ассортиментом всевозможных плагинов. Но еще два с небольшим десятка лет назад выбирать было, в общем-то, не из чего. В составе Microsoft Windows 9x/NT4 имелся Internet Explorer, конкуренцию которому составлял браузер под названием Nescape Navigator, получивший в юзерской среде ласковое прозвище «Нетшкаф». Сегодняшний вечер воспоминаний посвящен истории этой легендарной программы.
Читать дальше →

Автоматизация DevOps

Reading time5 min
Views8.2K
Возникает такое ощущение, что в наши дни термин «DevOps» понимают очень по-разному. Я, являясь DevOps-экспертом в OutSystems, отвечаю на вопрос о том, что такое DevOps, говоря, что это — механизм, ускоряющий доведение до потребителей полезных возможностей программ. Это — нечто большее, чем некий навык, или должность, или инструмент. DevOps — это парадигма, меняющая производственную культуру в сфере разработки ПО.

Главное тут — ускорение процесса доставки изменений программ в продакшн-окружение и усиление возможностей циклов обратной связи в конвейере подготовки новых версий программ к работе. Это позволяет быстро, ещё на стадии разработки, узнавать о проблемах, и быстро их исправлять. Именно поэтому можно обратить внимание на то, что такие понятия, как «CI/CD» и «автоматизация тестирования» тесно связаны с DevOps.



Но DevOps — это ещё и улучшение взаимодействия между разработчиками и другими специалистами. Это — ликвидация организационной разобщённности. Это — открытие пути для инноваций через эксперименты и возможность измерить воздействие каждого изменения кода на бизнес. А значит — возможность действовать с учётом результатов подобных измерений.

Недавно я рассказывал об автоматизации DevOps на TechTalk. Если вас интересует эта тема — предлагаю вам взглянуть на мою статью.
Читать дальше →

Мы обновляем маркетплейс: расскажите нам, как лучше?

Reading time5 min
Views3.7K


В этом году мы поставили себе амбициозные цели по улучшению продукта.

Некоторые задачи требуют серьезной подготовки, по ним мы собираем обратную связь от пользователей: приглашаем в офис разработчиков, сисадминов, руководителей команд, специалистов по Kubernetes.

В некоторых — выдаем серверы в ответ за фидбек, как например было со студентами Blurred Education. У нас очень насыщенные чаты с обсуждением UI/UX, беклог обучающих статей в справочник и большие планы по улучшению пользовательского опыта.

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

Как внести свой вклад в маркетплейс RUVDS и что за это будет, мы покажем на примере нашего нового образа, подготовленного нашим клиентом takeziGitLab

Читать дальше →

Горячая четвёрка умирающих языков программирования

Reading time4 min
Views98K
Я занимался поиском лучших языков программирования 2020 года и наткнулся на страницы, на которых шла речь о языках, теряющих популярность. Я программист, и я понимаю, что любому программисту крайне важно знать о том, какие технологии являются актуальными, а какие — нет.

Каждый программист — это писатель.

Серкан Лейлек


Я, после того, как насмотрелся на отчёты о языках программирования, теряющих актуальность, выбрал 4 языка, которые, как я полагаю, уже не стоят того, чтобы их изучали. Я, ради подкрепления своих выводов, прибегну к некоторым показателям популярности языков. В частности, речь идёт об индексе PYPL (PopularitY of Programming Language Index, индекс популярности языков программирования), о данных Google Trends и о некоторых сведениях, которые можно найти на платформе YouTube.


Фрагмент рейтинга PYPL (источник)

Платформа YouTube использовалась мной в качестве источника данных о перспективности языков программирования через оценку популярности видеоуроков по соответствующим языкам.

Хочу отметить, что анализ рейтингов языков программирования способен оказать большую помощь тому, кто планирует построить карьеру в сфере информационных технологий. Дело в том, что эти рейтинги позволяют выбирать языки, которые стоит учить, а правильный выбор языка может оказать огромное влияние на профессиональный путь программиста.

Но хватит предисловий. Поговорим об умирающих языках программирования.
Читать дальше →

Железо проекта: как мы строили комнату с хакерским квестом

Reading time10 min
Views7.4K

Пару недель назад мы провели онлайн-квест для хакеров: построили комнату, которую заполнили умными устройствами и запустили из нее YouTube-трансляцию. Игроки могли управлять IoT-девайсами с сайта игры; целью было найти запрятанное в комнате оружие (мощную лазерную указку), хакнуть его и устроить в комнате короткое замыкание.

Чтобы добавить остросюжетности, мы поставили в комнате шредер, в который загрузили 200 000 рублей: шредер съедал по купюре в час. Выиграв игру, можно было остановить шредер и забрать все оставшиеся деньги.

Мы уже рассказывали прохождение игры, а также как был сделан бекенд проекта. Пришло время рассказать про хардвар и как он собирался.


Было очень много запросов показать момент уборки комнаты — показываем, как мы ее разбираем

Как создавался бекенд хакерской игры про уничтожение сервера

Reading time6 min
Views7.8K

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

Всего у бекенда игры было 6 архитектурных единиц, которые мы и разберём в этой статье:

  1. Бекенд игровых сущностей, которые отвечали за игровые механизмы
  2. Шина обмена данных бекенда и площадки на VPS
  3. Транслятор из запросов бекенда (игровых элементов) на ардуино и железо на площадке
  4. Ардуино, которая занималась управлением релешками, получала команды с транслятора и делала фактическую работу
  5. Фактические устройства: вентилятор, гирлянды, торшеры и прочее
  6. Фронтенд — сам сайт Сокола, с которого игроки управляли устройствами

Давайте пройдёмся по каждой из них.
Читать дальше →

Кто остановил шредер или как нужно было проходить квест с уничтожением сервера

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

Результаты превзошли все наши ожидания: участники не просто приняли участие, а быстро организовались в слаженное коммьюнити из 620 человек в дискорде, которое буквально штурмом взяло квест за двое суток без перерыва на сон.

Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях

Reading time15 min
Views114K
Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседованиях. Многие жалуются на то, что задачи на алгоритмы — это нечто из области теории, имеющей слабое отношение к настоящей работе. Такой взгляд на вещи, определённо, распространился после того, как Макс Хауэлл, автор Homebrew, опубликовал твит о том, что произошло с ним на собеседовании в Google:

Google: 90% наших инженеров пользуются программой, которую вы написали (Homebrew), но вы не можете инвертировать бинарное дерево на доске, поэтому — прощайте.

Хотя и у меня никогда не возникало нужды в инверсии бинарного дерева, я сталкивался с примерами реального использования структур данных и алгоритмов в повседневной работе, когда трудился в Skype/Microsoft, Skyscanner и Uber. Сюда входило написание кода и принятие решений, основанное на особенностях структур данных и алгоритмов. Но соответствующие знания я, по большей части, использовал для того чтобы понять то, как созданы некие системы, и то, почему они созданы именно так. Знание соответствующих концепций упрощает понимание архитектуры и реализации систем, в которых эти концепции используются.



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

Вы просили подсказку? Мы ее вам дадим

Reading time1 min
Views17K
UPD ЛАЗЕР ВЗЛОМАН!

Гиря, летящая в аквариум на сервер, его уничтожение, короткое замыкание и пожар через полтора часа, отсчет пошел. Enjoy the show!



Присоединиться к зрителям можно в дискорде.

Вы далеко зашли и отгадали почти все загадки, но остановились на самом простом и одновременно самом сложном.

Хакните и остановите шредер, в который загружено 200к, устройте короткое замыкание и пожар

Reading time1 min
Views58K
Сыграем в игру?

image

Вам наверное интересно, где вы окажетесь, кликнув на ссылку? Мы скажем вам где.

Это трансляция из офиса веб-студии Сокол, предоставляющей услуги подкроватного хостинга. Комната наполнена iot-устройствами, которые полностью управляются с сайта компании.

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

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

Там же вы видите, как меняется комната под управлением умных устройств. Вокруг вас спрятаны подсказки, которые помогут вам выйти победителями.

С Днём системного администратора, друзья

Reading time13 min
Views18K
Сегодня не просто пятница, а последняя пятница июля, а это значит, что ближе к вечеру небольшие группы в масках подсети с плётками из патчкорда и котами под мышкой ринутся приставать к гражданам с вопросами: «А ты на Powershell писал?», «А ты оптику тянул?» и кричать «За ЛВС!». Но это в параллельной вселенной, а на планете Земля ребята по всему миру тихо откроют пиво или лимонад, шепнут серверу «Не падай, бро» и… продолжат работать. Потому что без них не будут работать ЦОДы, серверные, бизнес-кластеры, вычислительные сети, Интернет, IP-телефония и этот ваш 1С. Ничего без них не будет. Системные администраторы, это всё о вас! И этот пост тоже для вас.

Читать дальше →

Сравниваем подсистемы WSL 1 и WSL 2. Стоит ли переходить?

Reading time4 min
Views34K


В этой заметке в стиле «мысли вслух» автор хотел бы сравнить WSL первой и второй версии, благо опыт общения имеется.
Читать дальше →

Теплое ламповое интернет-радио

Reading time10 min
Views38K

Это самая долгосрочная поделка в моей жизни. От идеи до конечной реализации, так чтобы ей можно было пользоваться, прошло 12 лет! За это время произошло колоссальное количество событий: переезды, рождения, смерти, но идея была со мной и ни смотря ни на что, я её доделал. И хочу рассказать о путях, терниях, чаяниях, которые сопровождали данную поделку и что из этого в результате получилось.

Vue.js для начинающих, урок 3: условный рендеринг

Reading time4 min
Views26K
Продолжаем наш учебный курс по Vue, которые порекомендовала Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь).

На третьем уроке речь пойдёт об условном рендеринге. О том, как выводить что-либо на странице только в том случае, если выполняется какое-то условие.

Читать дальше →

Разблокируем интернет с помощью Mikrotik и VPN: подробный туториал

Reading time3 min
Views156K

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

В качестве VPN я выбрал SoftEther: он настолько же прост в настройке как и RRAS и такой же быстрый. На стороне VPN сервера включил Secure NAT, других настроек не проводилось.

В качестве альтернативы рассматривал RRAS, но Mikrotik не умеет с ним работать.  Соединение устанавливается, VPN работает, но поддерживать соединение без постоянных реконнектов и ошибок в логе Mikrotik не умеет.

Настройка производилась на примере RB3011UiAS-RM на прошивке версии 6.46.11.
Теперь по порядку, что и зачем.
Читать дальше →

Выбор VPS. Битва хостингов

Reading time9 min
Views21K
Знаете, что заметила наша небольшая команда? Если какое-то время назад, буквально в январе, мы выбирали IT-инфраструктуру весьма халатно, то сейчас отношение сильно поменялось. Ресурсов реально меньше (никому не верьте, в ИТ тоже!) и хочется уже получить не первый софт/хостинг/приложение с красивым сайтом, а надёжное, удобное, классное решение за разумные, адекватные деньги. А это, при всей широте выбора, та ещё проблема. Нам понадобился хостинг и… мы поняли, что выбрать его не так просто. Мы попали во власть известной дилеммы: «надёжный, недорогой, удобный — выбери любые два признака». Выкладываем результаты своего поиска на Хабре с робкой надеждой, что наши муки и тесты кому-то пригодятся. Читайте, пользуйтесь, советуйте! Ну и это… давайте все выплывем ) 


Читать дальше →

Как убрать назойливое предупреждение о сертификате для RDP

Reading time2 min
Views24K

Привет Хабр, это супер короткое и простое руководство для новичков о том, как подключаться по RDP по доменному имени, чтобы не вылезало назойливое предупреждение о сертификате, подписанным самим сервером. Нам понадобится WinAcme и домен.

Все, кто хоть раз пользовался RDP, видели эту надпись.


В руководстве приведены готовые команды для пущего удобства. Скопировал, вставил и заработало.
Читать дальше →

Новичкам фондового рынка: честный разговор об акциях

Reading time17 min
Views139K
Телеграмму накатал:

«Шлите денег — отбатрачу,
Я их все прохохотал».

/В.Высоцкий/


Тот, кто впервые выходит на фондовый рынок как частный инвестор, сразу думает о двух активах: акциях и валюте. Эти инструменты кажутся простыми и прозрачными. Но если бы всё было так просто, эту статью писал бы долларовый миллионер для долларовых миллионеров. Акции — инструмент коварный и крайне непростой, он требует профессионального подхода и не прощает ошибок. Это уже далеко не те случаи, которые показывают в захватывающих фильмах про биржевиков XX века — это фондовый рынок 2020. Даже первый шаг должен быть очень серьёзным.


Источник
Читать дальше →

Information

Rating
54-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity