Как стать автором
Обновить
2
0.1

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

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

35+ бесплатных ресурсов для начинающих разработчиков С++

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров35K

Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.

Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разработчик С++», а с недавнего времени — разработчиком в Positive Technologies. В этой статье мы с вместе с Практикумом собрали леĸции, ĸниги, курсы и всяĸое таĸое, чтобы шансов выстрелить себе в ногу самостоятельно было меньше :) По C++ существуют и другие подборĸи, но, ĸ удивлению, на Хабре их всего две.

Читать далее
Всего голосов 26: ↑25 и ↓1+27
Комментарии19

Основные типы распределений вероятностей в примерах

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров27K

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

Читать далее
Всего голосов 58: ↑58 и ↓0+58
Комментарии11

Тестирование без моков: язык паттернов. Часть 2

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

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

Читать далее
Всего голосов 15: ↑13 и ↓2+15
Комментарии1

Как сайты обнаруживают ботов по TLS

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров7.5K

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

Читать далее
Всего голосов 20: ↑19 и ↓1+21
Комментарии6

Как оформлять текст в игровых интерфейсах

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

Статья про приёмы, упрощающее восприятие текста игроками и про особенности работы с текстом на игровых проектах.

Читать далее
Всего голосов 19: ↑18 и ↓1+19
Комментарии6

Популярные конфигурационные опции для работы с git

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

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

o    «В принципе, никто этим не пользуется»

o    «Этой опцией пользуется 80% аудитории, стоит ознакомиться»

o    «У этой опции предусмотрено 6 возможных значений, но в реальной практике применяется всего 2 из них».

Так что я решила спросить пользователей Mastodon, какие у них любимые опции конфигурации git:

А какие опции git config вы больше всего любите выставлять? В настоящее время у меня в ~/.gitconfig установлены только git config push.autosetupremote true и git config init.defaultBranch main, вот интересуюсь, а что выставляют другие люди.

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

Далее перечислю их по порядку, при этом (очень примерно) попытаюсь начать с наиболее популярных.

Все описанные опции документированы на странице man git-config, а также на этой странице.

Читать далее
Всего голосов 28: ↑27 и ↓1+38
Комментарии15

От потери к вдохновению: история развития стартапа

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.4K

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

Идея создания продукта зародилась после серии смертей друзей. Все эти люди умерли в возрасте чуть за свои 55 лет, не имея серьезных проблем со здоровьем (по крайней мере, ничего такого, о чем они бы знали). Смерть всех была связана с сердечно-сосудистыми заболеваниями. Но то, что эти смерти можно было предотвратить, стало понятно после прочтения книги "9 шагов на пути к вечной жизни", написанной совместно с футурологом Google.

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

Таким образом, начались поиски решений, в том числе различных платформ, мобильных приложений и надежных источников информации. Я была одной из первых пользователей и поддерживала приложение Lifext с самого его появления на хабре. Наверное, как и многие я следила за публикациями Open Longevity и общалась с некоторыми его участниками. А в 2018 году у нас появился первый прототип продукта, который мы использовали сами и предоставляли своей семье. Затем прототип передавался по кругу друзей и знакомых, пока не попал к замечательному врачу. И это стало тем переворотом, с которого и началась разработка продукта. 

Читать далее
Всего голосов 16: ↑13 и ↓3+13
Комментарии9

Как переехать в Европу стартаперам и IT-специалистам

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров11K

Как переехать в Европу без Digital Nomad?

Краткий обзор на 34 визовые программы в Европе для айти-специалистов и предпринимателей, которые ведут к ПМЖ и гражданству.

Читать далее
Всего голосов 17: ↑11 и ↓6+7
Комментарии24

Модульность в Java 9

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

Основным нововведением Java 9 было именно введение модульности. Про эту фичу было много разговоров, дата релиза несколько раз переносилась, чтобы допилить все должным образом. В этом посте речь пойдет о том, что дает механизм модулей, и чего полезного Java 9 принесла в целом. Основой для поста послужил доклад моего коллеги — Сергея Малькевича.



Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии3

Пожалуй, это одно из самых вредных и коварных убеждений

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров29K

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

Читать далее
Всего голосов 131: ↑61 и ↓70+7
Комментарии249

История одного наследства: как я с помощью OSINT и социальной инженерии заскамил скамера

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров27K

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

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

Читать далее
Всего голосов 42: ↑38 и ↓4+43
Комментарии13

Shellinabox — если вдруг заблокируют SSH

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

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

Читать далее
Всего голосов 13: ↑10 и ↓3+11
Комментарии13

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров504K

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

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

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

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии310

Вопросы по SQL, которые часто задают на собеседовании. Часть 1

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

SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков.

Читать далее
Всего голосов 29: ↑25 и ↓4+22
Комментарии24

Windows — причина медленного интернета

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров113K

Если вы столкнулись с «особой» проблемой медленного интернета и никакие танцы с бубном вам не помогают, то это статья для вас.

Провайдер, роутер, интернет-кабели, rg-45, обжимка, cat5e, порты, драйвера, программы уменьшающие скорость, утилиты, вирусы, настройки сетевого адаптера — это не какие-то страшные слова, на самом деле это всё не причина замедления интернета. В случае, если вы прошли всю эту цепочку и ничего не изменилось, тогда читайте дальше.

В этой статье я поделюсь своим «интересным» опытом, как я искал решение проблемы и о том, что Windows можно починить и не переустанавливать.

Читать далее
Всего голосов 138: ↑132 и ↓6+155
Комментарии316

Пишем интерактивный виджет

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.6K

Виджеты в новом обличии появились в 2020 году вместе с выходом iOS 14 (HomeScreen widgets). За это время Apple выпустила больше семейств виджетов, а также добавила их на LockScreen в iPhone и iPad. Но интерактивность появилась впервые в iOS 17.

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

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии6

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Уровень сложностиСложный
Время на прочтение29 мин
Количество просмотров95K

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

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

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

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Всего голосов 233: ↑231 и ↓2+294
Комментарии91

Какие вопросы я задаю на собеседовании QA Junior+

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров52K

Привет Хабр! Меня зовут Иван, сегодня поговорим о вопросах на собеседованиях Джуну+ (от 6 месяцев работы) и узнаем как ответить на них не как ChatGPT. Я как инженер по ручному и автоматизированному тестированию провожу собеседования на роль Junior+ QA (с дальнейшим ростом в автоматизаторы). Делюсь своим списком вопросов и ответов, которые я ожидаю услышать.

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

База для Junior QA

1. Что такое тестирование?

Сравнение ожидаемого результата с фактическим результатом ПО. Тестирование это не поиск багов!

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

Подготовиться к собесу
Всего голосов 15: ↑13 и ↓2+14
Комментарии17

Иероглифы — хаос или система? Разбираемся из чего они состоят, как работают и в чём их сила

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров43K

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

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

Заходите, будет интересно
Всего голосов 112: ↑111 и ↓1+148
Комментарии183

CG Charger BQ: как TP4056, только на стероидах (BQ25895)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров15K


Сегодня на нашем операционном столе очередное гениальное изобретение компании ClimateGuard — девайс под не менее гениальным названием CG Charger BQ. Расшифровке того, что же всё-таки скрывается под этими загадочными буквами BQ (что означают буквы CG постоянные читатели моего блога уже знают) и посвящена эта статья.

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

Правда для осмысленной работы с BQ25895 вам понадобятся пара высших образований в Computer Science (смайл) и… эта статья…
Читать дальше →
Всего голосов 42: ↑41 и ↓1+55
Комментарии41

Информация

В рейтинге
3 107-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность