Pull to refresh
3
0.7
Send message

Дорожная карта навыков разработчика на C++

Level of difficultyMedium
Reading time16 min
Views73K

Джеймс Гослинг как-то сказал, что Java — это C++, из которого убрали все пистолеты, ножи и дубинки, однако практика показывает, что «ножи и дубинки» становятся классным инструментом в руках опытных разработчиков. В общем, немалая часть проклятий в адрес C++ объясняется элементарным «вы просто не умеете его готовить». Мы в «Лаборатории Касперского» умеем готовить «плюсы» и поэтому любим их. C++ — низкоуровневый язык, который позволяет работать с железом и писать быстрый код и при этом содержит массу возможностей. В экосистеме «плюсов» куча проработанных паттернов, best practices и готовых библиотек под разные задачи. Язык динамично развивается — но сохраняет обратную совместимость. 

В этом посте мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в С++-разработке.

Отправляемся

Отменить нельзя продолжить

Level of difficultyMedium
Reading time7 min
Views12K

Как описать асинхронную цепочку запросов и не сломать всё? Просто? Не думаю!

Я автор менеджера состояния Reatom и сегодня хочу вам рассказать про главную киллер-фичу redux-saga и rxjs и как теперь её можно получить проще, а так же про грядущие изменения в стандарте ECMAScript.

Речь пойдёт об автоматической отмене конкурентных асинхронных цепочек — обязательном свойстве при работе с любым REST API и другими более общими асинхронными последовательными операциями.
Читать дальше →

Как на самом деле работает Async/Await в C# (Часть 2)

Level of difficultyHard
Reading time7 min
Views17K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views240K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее

Нестабильный Wi-Fi? MikroTik покупай, частоту на нём автоматом меняй

Level of difficultyMedium
Reading time17 min
Views46K

В настоящее время интерференция наиболее актуальна для диапазона 2.4 ГГц, который перенасыщен работой вездесущих точек доступа. В статье я рассмотрел, какие возможности по исследованию радиочастотного спектра имеются на борту RouterOS, сформулировал рекомендации по выбору рабочей частоты точки доступа, работающей в сети без контроллера, а также предложил авторскую реализацию её автоматической смены. Предыстория такова, что ко мне обратилась компания Coffee Cup, у которой имеется сеть точек продаж формата кофе с собой, размещённых в разнокалиберных торговых центрах различных городов. Для работы кассового оборудования жизненно необходима работа Wi-Fi именно в диапазоне 2.4 ГГц, который, как следует ожидать, сильно зашумлён даже в огромных ТРЦ. Проблема оказалась настолько острой, что периодически устройства не могли нормально выйти в интернет, войдя в пике попыток переподключений к точке доступа. Вот в этом контексте и будет идти повествование, с отвлечением на моделирование других ситуаций.
Читать дальше →

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

Reading time20 min
Views437K

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском - куцая и устаревшая, а на русском ее нет вообще.

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

Читать далее

Архитектор в ИТ — он как философ. Все вопросы и решения может подвергнуть сомнению

Level of difficultyMedium
Reading time8 min
Views5.9K

Уважаемые читатели, эта статья будет для вас полезна, если:

Вы являетесь действующим архитектором ИТ и вам необходима дискуссия с коллегами о роли архитектора;

Вы хотите стать архитектором, но еще не осознали, кто это;

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

Вы не владеете английским, но давно хотели прочитать книгу западного автора по архитектуре;

И в целом если вы интересующийся современными веяниями ИТ, а именно архитектура является популярным запросом от работодателей в виду растущих масштабов автоматизации.

Читать далее

Физическая активность и ее влияние на здоровье человека

Reading time17 min
Views45K
Привет, дорогой читатель!

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

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

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

Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний

Level of difficultyEasy
Reading time9 min
Views63K

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

Читать далее

Как рассказать о новом функционале и провести демо на английском языке

Level of difficultyEasy
Reading time4 min
Views3.4K

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

Предлагаю рассмотреть аутентичные материалы. Меня заинтересовало короткое видео с Томасом Эзаном, Андроид инженером-разработчиком в компании Гугл.  В недавней презентации каналу Android Developers он демонстрирует возможности нового программного пакета TensorFlow Lite и применение интерпретатора API в библиотеке машинного обучения. Разберем это видео с точки зрения структуры, грамматики и интересной лексики.

Читать далее

Reddit для программистов

Level of difficultyEasy
Reading time14 min
Views14K

Эта статья посвящена одной популярной и активной площадке на просторах Интернета — Reddit. Кто не в курсе, Reddit — это платформа, где сосуществуют тысячи сообществ по интересам. Мы любим Reddit за честность, открытость и любознательность её пользователей. Если вы программист, особенно начинающий, и ещё не слышали про Reddit — эта статья обязательна для прочтения. А если сисадмин? Для вас тоже найдётся сабреддит! В этой статье мы собрали сабреддиты для всех-всех, каким-либо образом связанных с IT-индустрией. Даже для наших любимых HR! Что же такое Reddit?

Читать далее

Когда переподключения ускоряют работу по сети. Разбираемся с быстродействием TCP-сокетов

Level of difficultyMedium
Reading time7 min
Views10K

При написании предыдущей статьи я наткнулся на странный эффект с производительностью TCP-сокетов. При попытке отправить пачку запросов через сокет оказалось, что выгоднее заново устанавливать TCP-соединение после каждого запроса, а не переиспользовать его. Исследованию причин этого эффекта (а заодно и поиску способов от него избавиться) и посвящена эта статья.

Читать далее

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views28K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →

Я нашёл 213 уязвимостей безопасности в кодовой базе при помощи GPT-3

Reading time9 min
Views10K

«Меня удручает ваш уровень кибербезопасности»

Краткая сводка: GPT-3 обнаружила 213 уязвимостей безопасности в git-репозитории. Для сравнения: один из лучших коммерческих инструментов на рынке (разработанный респектабельной компанией, которая занимается кибербезопасностью) нашёл лишь 99 проблем; впрочем, этот инструмент предоставляет контекст в более структурированном формате. После ручной проверки случайной выборки 50 из 213 уязвимостей, выявленных GPT-3, только одна оказалась ложноположительной. У обоих инструментов было много ложноотрицательных результатов.
Читать дальше →

Terraform: от незнания к best practices

Level of difficultyMedium
Reading time47 min
Views41K

Всем привет! Меня зовут Виктор, я DevOps‑инженер компании Nixys, которая помогает другим компаниям внедрять в их IT‑решения передовые практики DevOps, MLOps и DevSecOps.

Сегодня я приглашаю вас вместе со мной пройти путь «от незнания к best practices» в работе с Terraform. Этот материал подготовлен для серии наших одноименных видеороликов на YouTube, но мы решили дополнить его и предложить вам более детальное описание процесса в этой статье.

Не забывайте следить за нашими обновлениями на YouTube, Habr и подписывайтесь на наш Telegram‑канал DevOps FM — мы всегда рады новым друзьям. Начнём?

Читать далее

Разбираемся в асинхронности: где полезно, а где — нет?

Reading time14 min
Views42K

Привет! Меня зовут Артём, я backend-разработчик в отделе спецпроектов KTS. Я занимаюсь проектами, где повсеместно используется асинхронное программирование, и веду курсы по нему в нашей школе Metaclass.

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

Читать далее

Как настроить простой DNS-сервер для локальной сети

Reading time4 min
Views110K

Если вы впервые столкнулись с необходимостью поднять DNS-сервер для локальной сети под Linux, то эта статья – для вас. Преимущество предлагаемого способа – простота: сервер можно настроить буквально за несколько минут. Но этот способ, скорее всего, не подойдёт для продакшн серверов.

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

Читать далее

Какие документы сопровождают работу нормального фрилансера

Reading time6 min
Views6.3K

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

Читать далее

Если хоть раз мечтал написать crack или keygen

Reading time6 min
Views21K

Дня 3 назад заглянул на сайт crackmes.one попробовать силы во взломе защит. Просто наугад взялся за "hitTman's Kolay One!": просто по оценке Difficulty: 2.0 и Quality: 4.0. Не примитивно, но и не слишком сложно.

Оказалось, форма ввода пароля с подсказкой: текст кнопки "submit password" после нажатия меняется на число. Если попробовать разные символы пароля, заметно, что для одних и тех же символов число не меняется. Очевидно, пароль подается в хеш-функцию, а ее результат попадает на кнопку. Пробуя пары символов, легко узнать что число на кнопке - сумма чисел для символов пароля.

Читать далее

Абсолютно бесплатный VPN с бесплатного VPS

Reading time3 min
Views229K

Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.

Читать далее

Information

Rating
2,872-nd
Registered
Activity