Search
Write a publication
Pull to refresh
17
0.2
Send message

«Безопасность» Госуслуг: пока кто-то развенчивает мифы, вот вам реальность

Reading time5 min
Views100K

А вы знали, что электронная подпись юридического лица дает возможность заходить на "Госуслуги" частного лица и .... делать почти все, что угодно (в рамках возможностей ЛК), например, смотреть личные данные (недвижимость, обращения, заявления, налоги) и т. п.?

А что в Ваш личный кабинет на Госуслугах можно зайти даже по заблокированной подписи? Тоже не знали? Тогда подробности под катом.

Читать далее

Девиации и разветвление личности: как лечить?

Reading time18 min
Views5.9K

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

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

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

Читать далее

Как я написал алгоритм сортировки, который быстрее std::sort. Часть 1

Reading time14 min
Views22K

Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)

В наши дни сказать, что изобрёл алгоритм сортировки, который на 30% быстрее того, что считают эталонным, это значит — сделать довольно смелое заявление. Я, к сожалению, вынужден сделать ещё более смелое заявление. Дело в том, что я создал алгоритм сортировки, который, для многих вариантов входных данных, вдвое быстрее std::sort. И, за исключением сортировки специально созданных входных последовательностей, на которых алгоритм упирается в свой худший случай, он всегда быстрее std::sort. (А когда появляются данные, приводящие к худшему случаю алгоритма, я эту ситуацию детектирую и автоматически перехожу на std::sort).

Почему я сказал: «…к сожалению, вынужден…»? Вероятно из-за того, что мне, скорее всего, предстоит нелёгкое дело убеждения читателя в том, что я действительно увеличил скорость сортировки в два раза. Поэтому материал, который я начинаю писать, вполне может получиться достаточно длинным. Но весь мой код открыт — это значит, что вы можете попробовать мои наработки на данных, характерных для вашей сферы деятельности. Поэтому я могу убедить вас в достоинствах моего алгоритма с помощью массы аргументов и результатов измерений. А ещё вы можете просто попробовать алгоритм самостоятельно.

Учитывая то, о чём я писал в моём прошлом материале, это, конечно, вариант поразрядной сортировки (radix sort). То есть — его временная сложность ниже, чем O(n log n). Вот два основных направления, по которым я усовершенствовал базовый алгоритм:

Читать далее

Краткое содержание предыдущих серий

Reading time29 min
Views1.5K

Долго ли коротко ли, а блогу Zyxel на Хабре исполнилось 3 года. За это время у нас появилось 2700 подписчиков, каждому из которых огромная благодарность за поддержку. Мы много о чем писали. Порой минусили вы нас нещадно, мы плакали тихонько в сторонке, но дело это не кинули.

Тут собраны как туториалы, так около-индустриальные статьи, посвященные вопросам развития сетей и связи вообще. Часто в комментариях к статьям, у нас в телеге или по почте вы спрашиваете: как настроить VPN или WiFi, как сделать то, как делать сё… Поэтому решили подготовить дайджест, содержание всего блога за 3 года. Помотайте, посмотрите, сохраните в закладках. Вдруг пригодится…

С наступающим 2022 годом и всего самого лучшего!

Стартанули еще в доковидные времена — 4 октября 2017 года:
Читать дальше →

Польская нотация или как легко распарсить алгебраическое выражение

Reading time6 min
Views100K

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

Читать далее

Книга «Изучаем C# через разработку игр на Unity. 5-е издание»

Reading time9 min
Views34K
image Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля изучить программирование на C# без зубодробительных терминов и непонятной логики программирования, причем процесс изучения сопровождается созданием простой игры на Unity.

В пятом издании изложены последние версии всех современных функций C# на примерах из игрового движка Unity, а также добавлена новая глава о промежуточных типах коллекций. Вы начнете с основ программирования и языка C#, узнаете основные концепции программирования на С#, включая переменные, классы и объектно-ориентированное программирование. Освоив программирование на C#, переключитесь непосредственно на разработку игр на Unity и узнаете, как написать сценарий простой игры на C#. На протяжении всей книги описываются лучшие практики программирования, которые помогут вам вывести свои навыки Unity и C# на новый уровень. В результате вы сможете использовать язык C # для создания собственных реальных проектов игр на Unity.
Читать дальше →

Как работает цикл заказа такси в Яндекс Go. История вопроса

Reading time9 min
Views35K
Меня зовут Илья, я отвечаю за инфраструктуру пользовательских продуктов в Яндекс Go. Мы строим цикл заказа такси — процессы, происходящие под капотом после того, как пользователь нажимает «Заказать». Поиск машины, назначение водителя, изменение адреса, оплата поездки — всё это части цикла. Ещё мы делаем инфраструктуру создания циклов, которая используется в Еде, Лавке, Доставке и других направлениях внутри Яндекса.

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

Как всё начиналось


В 2011 году мы запустили сервис заказа такси. В первой реализации в бэкенде был endpoint /create-order, внутри которого мы создавали заказ, искали ближайшую машину и отправляли заказ водителю (кстати, если вы не знали о том, как устроен поиск водителя, то обязательно почитайте).


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

Детектирование и оценка сбоев

Reading time11 min
Views5.7K

Поговорим про инциденты и инцидент-менеджмент. Буквально погрузимся в них, разберём основные черты и характер. Рассмотрим типовые ситуации из моего опыта, как этот процесс работает в Авито, как мы измеряем наши инциденты, как их фиксируем, какие есть тонкие моменты и каких результатов мы в этом добились.

Меня зовут Дмитрий Химион, я работаю в компании Авито и в последнее время занимаюсь механизмом, который автоматизировано детектирует деградации продуктов Авито, определяет потери и собирает информацию по сбоям.

Читать далее

P2P протоколы обмена данными

Reading time9 min
Views41K

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

В данной статье я проведу небольшой обзор P2P(пиринговых) файлообменных протоколов, Napster, Gnutella и BitTorrent. В этой последовательности они появились, и каждый был вдохновлён предыдущим, взял от него лучшее и добавил своё. Каждый из этих протоколов в своё время был прорывом в обмене файлами.

Читать далее

Топ-10 ошибок в C++ проектах за 2021 год

Reading time9 min
Views12K

На улице мороз, ёлка наряжена, мандарины разложены. Дело идёт к Новому году, а значит — время рассмотреть самые интересные срабатывания, найденные C++ анализатором PVS-Studio в 2021 году.

Читать далее

11½ практических советов дизайн-лиду, или «Не ходите по моим граблям»

Reading time8 min
Views4K

Привет, меня зовут Костя, и я руковожу дизайном в Агиме.

В декабре я устроил эксперимент: опубликовал в Linkedin пост с предложением бесплатной консультации. Откликнулось несколько ребят, с которыми мы неплохо поболтали.

В этих беседах мы затронули некоторые боли и проблемы, которые я тоже в свое время пережил. Судя по всему, они вполне типичны. И решения вполне очевидны, если об этом подумать. Но, если ты молодой неопытный тимлид, когда тебе думать? Работать же нннада!

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

Итак, теперь ты тимлид, и тебе стоит знать, что...

Читать далее

Как обучить джунов QA за 3 дня (сборник материалов)

Reading time5 min
Views174K

Чему нужно обучить junior QA, чтобы он начал приносить пользу проекту? Конечно, было бы здорово «всему и сразу», но это может затянуться надолго. А вот с основами тестирования можно познакомить буквально за пару-тройку дней. Особенно если это фулл-тайм дни (рабочее время).

Я обучаю новичков больше 6 лет, больше тысячи людей выпустила, книгу вот написала. И на опыте студентов вижу, что «план-минимум» на самом деле небольшой.

Если перед вами стоит задача «завтра выйдут два джуниора, обучи их», начните с основ. Один из вариантов: 

дали посмотреть видео или прочитать статьи;

собрались вместе в переговорке или зуме, обсудили;

дали ДЗ на закрепление материала;

через три дня получили более-менее адекватного джуна, профит!

В этом посте я собрала ссылки в помощь по каждой теме:

видео — варианты из публичного доступа. Выбираете то, что больше по душе, отдаете падаванам;

статьи — даете как дополнительный материал.

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

Читать далее

Почему в IT все равны, или Обесценивание высшего образования

Reading time14 min
Views37K

IT — великий уравнитель. Здесь в одной команде могут работать бывшие: учитель физики, социолог, выпускник колледжа по специальности «Сварочное производство», сотрудник НИИ, медбрат и слушатель онлайн-курса «Основы Python за 6 недель» Хорошо ли это?

С одной стороны да — у нас тут классовое равенство, когда человек без образования может получать больше, чем бывший кандидат наук, и все такое. С другой — а почему так получается? Не считая того, что люди буквально бегут от работы «за еду» к работе с перспективами, это то, что IT-компании чаще всего не смотрят  в диплом и не ищут там хоть что-то связанное с «Информационными технологиями». Этому способствует как дефицит кадров, так и понимание, что текущее высшее образование давно ничему не учит. Поэтому в одном ряду и стоят выпускники факультета «Прикладной информатики», «Фармацевтики», обладатели дипломов ПТУ и средней школы.

Читать далее

JetBrains и Питерская Вышка приглашают на вторую школу по практическому программированию

Reading time3 min
Views4.8K

Школа по практическому программированию и анализу данных ориентирована на учащихся 10 и 11 класса, которые углубленно занимаются математикой и информатикой и собираются поступать в топовые вузы. 

Школа пройдет в два этапа. Первый включается в себя продвинутый курс по алгоритмам и обзорные лекции по C++, машинному обучению и биоинформатике. Второй этап будет посвящен работе над практическими проектами под руководством представителей индустрии и студентов-старшекурсников.

Подробнее о программе, кураторах и датах рассказываем в посте. Если заинтересовались, не откладывайте в долгий ящик: регистрация продлится до 26 декабря.

Узнать подробности

Будущее коммуникаций между людьми. Модель эволюции связей. Виртуальные друзья и сообщества

Reading time37 min
Views4.5K

Модель информационного обмена между людьми с появлением интернета, социальных сетей и мессенджеров претерпела коренные изменения. Человечество проделало путь от информационного голода с обменом информацией через книги и встречи до информационного переедания всего за 30 лет. И эволюция развития коммуникаций еще не закончена. Мы еще только в середине пути. В данной работе смоделирована дальнейшая эволюция виртуализации отношений и обмена информацией между людьми. Все типы отношений (родные, друзья, знакомые, подписчики и т.п) структурированы в двух координатах – интересы и уровень помощи в принятии решений. Показано направление развития социальных сетей в будущем. Приведены конкретные рекомендации по развитию ИТ-продуктов для организации сообществ и развития нетворкинга.

Читать далее

Введение в моделирование знаний

Reading time25 min
Views4.5K

Статья является переводом поста "Introduction to Knowledge Modeling" с сайта makhfi.com сделанным с молчаливого согласия автора (запрос по-честному отправлен на почту Pejman Makhfi 30.11.2021).

Получение ценной практической информации из данных была задачей наших компьютеров в течение последних пятидесяти лет в эпоху, которую метко назвали «веком информации». Тем не менее, в 21 веке в центре внимания будет уход от компьютера как простого поставщика базовой информации. Компьютеры ближайшего будущего будут использоваться для извлечения знаний из информации.

Технологии «эпохи знаний» переносят наше внимание с индивидуальных, изолированных информационных систем и хранилищ на расширенный обмен и совместное использование информации с целью расширения объема и глубины знаний, доступных отдельным лицам и видам деятельности.

Объем мирового рынка домашних интеллектуальных компьютерных устройств в 2020 году составил 801,5 млн штук

Но что такое интеллект? Концепция интеллекта основана на четырех фундаментальных принципах, которые включают: данные, информацию, знания и мудрость (также известные как интеллект).

Узнать больше

Новая эра российской микроэлектроники: представлен процессор Baikal-S

Reading time3 min
Views68K

На прошедшей неделе достаточно незаметно для прессы произошло эпохальное событие в истории российской микроэлектроники – 15 декабря на ежегодной конференции компании Байкал Электроникс был представлен процессор серверного класса Baikal-S. Пока широкая общественность бурно обсуждала отчёт о тестировании Сбербанком серверов на базе Эльбрус-8С, смакуя различные детали этой горячей истории, люди, чуть более погруженные в индустрию, с нетерпением ждали анонса Baikal-S.

Почему так? Чем же так эпохален этот процессор?

Может быть, он безоговорочно рвёт на тестах конкурентов из Intel/AMD, заставляя менеджеров данных компаний лихорадочно учить кириллицу? Нет, это вполне себе «средненький» серверный процессор уровне Intel Xeon Gold 6148 или того же злополучного Intel Xeon Gold 6230.

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

В чём же тогда уникальность данного процессора, в чём прорыв, спросит читатель? Ответ очень прост – именно в том, что это первый в новейшей истории России конкурентноспособный general-purpose high performance CPU. Причём конкурентноспособный во всех смыслах – по цене, по производительности, по потребляемой мощности. Никаких уникальностей и «аналоговнет». Просто хороший чип, способный достойно соревноваться с конкурентами, с понятными рыночной нишей и перспективами. На конференции Baikal-S был назван (абсолютно верно на мой взгляд) «рабочей лошадкой». Это та самая «рабочая лошадка», которая в состоянии заменить сотни тысяч и миллионы процессоров уровня Xeon, работающих сейчас в датацентрах и на предприятиях всей России(и не только). И сделать это так, чтобы слово «импортозамещение» вызывало у людей не ухмылку и чувство неполноценности, а гордость за страну.

Читать далее

Большой Взрыв и песочные часы или куда на самом деле течет время

Reading time10 min
Views40K

Как я уже неоднократно упоминал ранее в этом блоге (например, здесь и здесь), мне довелось перевести с английского несколько весьма достойных научно-популярных книг, что во многом продолжало мои естественнонаучные интересы, а в чем-то и сформировало их. Надеюсь, что когда-нибудь здесь появится и пост с обзором важнейших книг в моем переводе. Здесь же упомяну о последней на настоящий момент научно-популярной работе, переведенной для издательства «Питер» — это были «Квантовые миры» Шона Кэрролла, где автор, развивая ранее сформулированные им идеи о природе времени, доступно излагает суть и подоплеку многомировой интерпретации квантовой механики. Идея бесконечного множества миров (вместе с фактором одного очень яркого знакомства, случившегося на исходе перевода книги Кэрролла) также, наконец, подвигла меня прочесть три основных романа из серии «Тёмные начала» Филиппа Пулмана и задуматься: почему при очевидной популярности теорий, допускающих множество невидимых пространственных измерений, время считается строго одномерным? Есть ли физический смысл в том, что и временных измерений может быть не одно, а, например, два?

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

Читать далее

Пастух больших данных: как мы используем Azure Data Factory в качестве единого сервиса для задачи миграции

Reading time3 min
Views3.9K

Многие в ходе проектов сталкиваются с проблемой импорта большого количества данных из источников в облако. Традиционно вопрос решается с помощью различных инструментов, таких как Microsoft SQL Server Integration Services, Oracle data Integrator, средствами СУБД или кастомных разработок. Мы в ГК «КОРУС Консалтинг» много работаем с облачной средой Microsoft Azure. В этой статье хочу поделиться нашим опытом использования Azure Data Factory в качестве единого сервиса для задачи миграции больших объемов данных.

Azure Data Factory позволяет производить интеграцию из разных источников данных с помощью одного инструмента, а также имеет более 400 встроенных коннекторов к внешним источникам. И больше не надо ломать голову и писать их с нуля.

Читать далее

Information

Rating
3,861-st
Registered
Activity

Specialization

Specialist
SQL