Как стать автором
Обновить
142
0.1
Виктор @TyVik

Full-stack developer

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

Большая шпаргалка по Rust. 2/2

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



Hello world!


Представляю вашему вниманию вторую часть большой шпаргалки по Rust.


Первая часть.


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


Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить 😉


Также настоятельно рекомендуется хотя бы по диагонали прочитать замечательный Учебник по Rust (на русском языке).

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

Практическое руководство по Rust. 2/4

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



Hello world!


Представляю вашему вниманию вторую часть практического руководства по Rust.



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


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

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

Event Loop. Мифы и реальность

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

В сети есть довольно большое количество публикаций про Event loop и как он работает. Новые статьи появляются на популярных ресурсах и по сей день, в том числе на Хабре. Однако, к сожалению, далеко не вся информация, представленная в этих материалах является проверенной или достоверной. В связи с чем, само понятие обросло рядом мифов и догадок. Порой, даже опытному разработчику требуется немало внимания и опыта, чтобы понять, где истина, а где, чистой воды, вымысел.

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

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

Бесплатные курсы для изучения искусственного интеллекта в 2024 году

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


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

Множество ресурсов предлагают высококачественное обучение, а также множество открытых материалов и учебных пособий.

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

Таким образом, обучение через бесплатные ресурсы вполне реально и эффективно, особенно при наличии мотивации и самостоятельности в учебном процессе.

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

Начнем!

Читать далее
Всего голосов 18: ↑11 и ↓7+4
Комментарии5

Памятка РП. Микросервисная архитектура

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

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

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

Анализ безопасности Wi-Fi: атаки на WPA2-Personal / Enterprise и методология взлома WPA3

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

Подробное исследование методологии взлома протоколов WPA2-Personal / Enterprise и WPA3: какие атаки и уязвимости существуют, и какой инструментарий применяется для их эксплуатации.

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

Автоматизируем сборку и деплой приложения в GitLab CI/CD: подробное руководство с примерами

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

При разработке приложений рано или поздно наступает момент, когда заниматься развёртыванием вручную становится затратно и неудобно. Как следствие на помощь приходит автоматизация этого процесса с помощью специально настроенных пайплайнов непрерывной интеграции и непрерывной доставки (Continuous Integration & Continuous Delivery — CI/CD). Для разных систем управления репозиториями исходного кода существуют свои способы настройки CI/CD.

В этой статье мы рассмотрим, как использовать GitLab для организации автоматической сборки и деплоя приложения в кластер Kubernetes. Сам кластер работает под управлением Deckhouse Kubernetes Platform, а автоматизировать процесс будем с помощью werf — Open Source CLI-утилиты, организующей полный цикл доставки приложения в Kubernetes и использующей Git как единый источник истины для состояния приложения, развёрнутого в кластере.

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии17

Что ты такое, dhclient?

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

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. 

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables.

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

Начать погружение
Всего голосов 223: ↑222 и ↓1+221
Комментарии61

Серьги из матрицы светодиодов

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

Изначально я представлял LED Industrial Piercing [перевод на Хабре] как проект, специально рассчитанный на использование светодиодов 0201. В конечном итоге они оказались совершенно не нужны. Светодиоды 0201 слишком малы! Очевидно, я должен был двинуться глубже, поэтому целью нового проекта стало размещение как можно большего их количества на поверхности серёжки-гвоздика.

Читать далее
Всего голосов 95: ↑94 и ↓1+93
Комментарии21

«Захватить флаги!»: решаем задачи с DiceCTF 2024 Quals

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

Привет, Хабр! В начале февраля команда DiceGang провела квалификацию DiceCTF 2024 Quals. Это был Jeopardy-турнир длительностью 48 часов. Он состоял всего из пяти направлений: crypto, misc, pwn, rev и web. Как специалисту по информационной безопасности, мне нравится участвовать в подобных мероприятиях. Под катом расскажу, как я решил несколько задач из последней категории.

Дисклеймер: данный материал не обучает хакингу и взлому и не призывает к совершению противозаконных действий. Все описанное ниже лишь демонстрирует, какие пробелы в безопасности встречаются в реальных веб-приложениях. И предупреждает, на что нужно обратить внимание при разработке программного обеспечения.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии0

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

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

Если у вас есть большая система, состоящая из множества микросервисов, то вы наверняка задавались вопросом: «Что сделать, чтобы архитектурная схема всей системы была всегда на 100% актуальной?».

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

Чтобы решить проблему мы автоматизировали отрисовку схем опираясь на метаданные IT-систем. Мы создали отдельный микросервис, который этим занимается и назвали его «Architect». О том как это происходит и как работает Architect я расскажу в этой статье, а также дам несколько советов, которые помогут внедрить то же самое у вас в компании.

Читать далее
Всего голосов 31: ↑28 и ↓3+25
Комментарии24

Где изучать Linux в 2024. Бесплатные курсы, книги и ресурсы

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

В настоящее время существует множество бесплатных ресурсов, которые предлагают уроки по Linux, от курсов до университетских программ, что делает эту ОС доступной для широкого круга людей. Знание Linux может открыть двери к различным IT‑профессиям, таким как системный администратор, разработчик, инженер по безопасности, этичный хакер, DevOps инженер и другие. Зарплаты таких специалистов высоки, спрос на кадров знающих Linux ожидается и в будущем.

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

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

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

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

Привет, Хабр!

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Всего голосов 216: ↑214 и ↓2+212
Комментарии77

Теория игр за 15 минут

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

Многие из вас, я уверен, слышали о теории игр в какой-то момент своей жизни. Если вы хотите выглядеть умным и произвести впечатление на свою девушку — просто упомяните «игру с нулевой суммой» или «эволюционную стратегию», и ваши шансы отвести её домой сегодня вечером только что подскочили на 50%. Или вы можете использовать теорию игр, чтобы принимать решения в инвестировании своих денег (чтобы их полностью потерять и разориться) или, например решая, на какой девушке жениться (что также очень вероятно вас разорит). Как видите, это очень полезная теория.

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

Читать далее
Всего голосов 109: ↑106 и ↓3+103
Комментарии27

Как самостоятельно избавиться от тревоги и беспокойства: техники самопомощи

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

«Уже семь часов, а она должна была вернуться в шесть. Что случилось? Неужели что-то ужасное?» – тревога гудит в голове и рисует самые ужасные варианты. Как избавиться от тревоги и научиться не переживать без толку. Разбираем способы помочь себе самостоятельно: они помогут от сильной тревоги, тревожных мыслей и привнесут в жизнь больше радости и спокойствия.

Читать далее
Всего голосов 44: ↑37 и ↓7+30
Комментарии10

Правда и мифы об энтропии. Как работает второй закон термодинамики?

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

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

Читать далее
Всего голосов 81: ↑77 и ↓4+73
Комментарии111

Как организовать систему оплаты в компаниях, занимающихся разработкой

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

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

Сложность чёткого определения должностей заключается в том, что люди пытаются обмануть систему (всегда заявляя, что они заслуживают новой должности/повышения зарплаты). Я наблюдал, как для борьбы с этим организации создают всё более длинные определения, позволяющие избегать пограничных случаев. Постепенно определения начинают занимать несколько страниц и перестают умещаться в головах. В процессе сложности системы соблюдение её правил ослабевает, а потом люди просто перестают им следовать. Я считаю, что есть более правильный путь, поэтому предлагаю следующее:

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

Эта философия сильна и наделяет свободой. Неважно, если вы сотрудник, вносящий индивидуальный вклад (individual contributor, IC), занимаетесь техническим руководством или управлением командой. Важно то, насколько ваш вклад влияет на прибыль бизнеса.

В этом посте предлагается многоуровневая система, которую можно применять к IC, техническим руководителям и руководителям команд.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии7

Синхронизация локальных изменений с docker/kubernetes контейнером

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

Салют!

Хочу рассказать вам про такие замечательные инструменты как docker compose(быть точнее про новую возможность watch), skaffold, tilt.

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

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

Как стать VPN провайдером за один вечер

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

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат
Всего голосов 71: ↑70 и ↓1+69
Комментарии142

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

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

Привет, Хабр)

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

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Всего голосов 125: ↑122 и ↓3+119
Комментарии7

Информация

В рейтинге
3 146-й
Откуда
Краснодар, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность