Pull to refresh
2
Shishka @Shishkaread⁠-⁠only

ИТ

Send message

Как Rust меняет мышление разработчика

Level of difficultyEasy
Reading time9 min
Views50K
Я страшно ненавижу C++. Обычно я люблю программирование, но каждый проект, с которым я имел дело на C++, ощущался как монотонная рутина. В январе 2023 года я пошёл по пути изучения Rust, поэтому теперь могу сказать, что знаю язык системного программирования, который действительно люблю использовать.

Первый стабильный релиз Rust появился в 2015 году, и каждый год, начиная с 2016, он признаётся в Stack Overflow’s Annual Developer Survey самым любимым языком (в 2023 году эта категория называется «обожаемый»). Почему же разработчики, ощутившие вкус Rust, не могут отказаться от его использования? Похоже, в мире прогремевших наследников C/C++ репутация растёт только у Rust. Как же этот язык, появившийся на сцене меньше десятка лет назад, стал настолько популярным?

Ржавый красный краб Феррис по версии Midjourney

Кривая обучения оказалась крутой. Я нашёл многое, что мне нравится в Rust, но постоянно попадал в его ловушки. Однако в конечном счёте именно препятствия и проблемы, с которыми столкнулся, я научился любить больше всего.

Я начну историю с разговора о том, что легко полюбить — со среды Rust, управления пакетами и документации. Затем я расскажу о системе типов и типажах (trait). Далее я поведаю о тех возможностях тестирования и test driven development, которые становятся возможными благодаря Rust. Наконец, мы обсудим самую запутанную и сбивающую с толку часть — одержимость Rust тем, кто какой переменной владеет.
Читать дальше →

Совмещаем социнженерию и технический пентест

Level of difficultyEasy
Reading time5 min
Views2.8K

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

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

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

Читать далее

Превращаем обычный электросчетчик в умный: продолжаем осваивать Samsung SmartThings

Level of difficultyHard
Reading time9 min
Views36K

Вам не кажется, что вручную переписывать цифры с ЖК-экрана на электросчетчике каждый месяц - это немного странное занятие? Все слышали про умные электросчетчики, но не все готовы заплатить несколько тысяч (а счетчик с дистанционным снятием показаний стоит как минимум 15000 рублей). И не факт, что этот электросчетчик нормально встроится в вашу экосистему умного дома, скорее всего там будет свое собственное закрытое приложение.

Как насчет старого доброго DIY? Давайте сделаем свой собственный умный электросчетчик с подключением к любой платформе, которую захотим. И делать мы это будем максимально мягкими методами, без вскрытия корпуса самого счетчика.

Расскажем, как мы подключили электросчетчик «Меркурий» к ESP32 двумя разными способами (через встроенные интерфейсы RS-485 и оптопорт), соединили по Wi-Fi с платформой Samsung Smart Things и получили возможность записывать статистику энергопотребления в реальном времени чтобы оптимизировать свои траты на электроэнергию.

Читать далее

Майнд-карта успешной физической трансформации. Питание. Тренировки. Мотивация

Reading time7 min
Views11K

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

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

Успехов тебе!

Читать далее

50 вопросов для опроса клиентов для вашего вдохновения

Reading time6 min
Views17K

Знаете ли вы, что ваши клиенты действительно думают о вашей компании? Что они ожидают от вашего продукта или услуги? Эти вопросы не риторические. Ответы на них могут существенно повлиять на вашу стратегию продаж, маркетинга и даже разработки продукта.

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

Читать далее

Как устроен PassMark. Воспроизводим тесты из машинного кода

Level of difficultyMedium
Reading time11 min
Views5K

На сегодняшний день существуют сотни программ для оценки производительности вычислительных устройств, но абсолютным лидером среди них несомненно является PassMark - "Industry standard benchmarking since 1998", - как его позиционирует сам разработчик, и вдобавок предоставляющего обширную публичную базу оценок производительности разнообразных устройств по всему миру для возможности их сравнения между собой. Все это делает PassMark выбором №1 для всех, кто не только желает оценить производительность своего устройства, но и сравнить его с любым другим устройством в мире.

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

Читать далее

Windows 11 спустя два года все еще безнадежно проигрывает «десятке». Почему?

Reading time4 min
Views119K
image

Никогда такого не было и вот опять. Этой фразой можно охарактеризовать медленную популяризацию Windows 11 — многие пользователи, которые покупают ноутбуки или десктопы с 11 версией ОС, возвращаются на Windows 10. Ну а кто сидит на «десятке», крайне неохотно переходят на новую версию операционной системы. Новую согласно порядковому номеру, так-то она уже новинкой вряд ли может считаться. О причинах происходящего — под катом.
Читать дальше →

far2l в Ubuntu 23.10

Level of difficultyEasy
Reading time4 min
Views28K

Ура! В новой версии Ubuntu, наконец-то, можно установить Far Manager (far2l) самым обычным sudo apt install far2l — прямо из коробки, без всяких ppa и кастомных сборок! Под катом — немного подробностей, а также обычный дайджест новостей проекта за прошедшее время.

Читать далее

Анализ вакансий ИТ в Москве: системное администрирование, 2023г

Level of difficultyEasy
Reading time15 min
Views9.9K

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

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

Читать далее

Магия внедрения сервисного подхода DevOps. Часть 1. Развиваем культуру коммуникации и разработки в компании

Level of difficultyEasy
Reading time13 min
Views6.3K

Всем доброе утро! С Вами Крылов Александр, и сегодня я расскажу Вам про занимательную магию сервисного подхода DevOps, или как можно двигать культуру коммуникации в компании.

Вопросы и аудитория

Прежде чем начинать рассказ, следует ответить на вопрос, чем внедрение “DevOps as service” может быть полезно для компании? Какую пользу это внедрение может принести? И что так же не маловажно – кому это будет полезно?

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

Читать далее

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

Level of difficultyMedium
Reading time4 min
Views2.8K

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

Что рекомендуется сразу сделать в компании на начальном этапе? Собрать топ-менеджмент и определить вместе с ними приоритеты цифровизации, понять, на каком участке возникнет больше проблем по оцифровке, на каком меньше, из-за чего могут быть сложности, в чём риски. Например, блок по бюджетированию уже успешно автоматизирован, там всё хорошо, а на складе учёт ведётся «на коленке», значит, тут придётся перестраивать и отлаживать многие процессы, что понравится не всем работникам.  

Если это крупная компания, и у неё большой объём бизнес-процессов, то один человек (даже самый главный) всё необходимое знать о предприятии не может. Поэтому ему, в первую очередь, необходимо определить круг своих доверенных лиц на проекте и назначить, кто за какой раздел учёта будет отвечать. Таких людей в проектах цифровизации могут называть по-разному. Например, если предприятие выбрало методологию Scrum для управления проектом цифровой трансформации, то участников команды, которая будет представлять интересы заказчика во время разработки, называют Product Owner. Среди вариантов наименований: продакт-менеджер или владелец продукта. Это определенная роль в проекте — ответственный сотрудник, кто будет принимать готовый продукт от исполнителей, кто компетентен в том или ином процессе, кто будет выдвигать требования к этому продукту, каким он должен быть.

Читать далее

Погружение в контейнеризацию

Reading time11 min
Views26K

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

Читать далее

BadUSB: Эксперименты с Arduino и Flipper Zero

Level of difficultyEasy
Reading time9 min
Views15K

Часть 1. Arduino

Если верить Википедии, BadUSB — класс хакерских атак, основанный на уязвимости USB устройств. Благодаря отсутствию защиты от перепрошивки в некоторых USB‑устройствах, злоумышленник может видоизменить или полностью заменить оригинальную прошивку и заставить устройство имитировать любое другое устройство. BadUSB предназначен для доставки и исполнения вредоносного кода. При этом я бы хотел уточнить, что BadUSB — это атака против USB стека компьютера, который по умолчанию слепо доверяет любому устройству (в том числе и зловредному).

Впервые понятие BadUSB было введено в августе 2014 года, исследователями организации Security Research Labs, Карстеном Нолом и Джейкобом Леллом, которые выступили с докладом «BadUSB — On Accessories that Turn Evil» на конференции BlackHat USA 2014. Данной уязвимости подвержены все устройства с незащищенными USB контроллерами на борту. При этом для успешного проведения данной атаки не требуется наличия особого ПО на компьютере «жертвы», а так же она работает под любыми операционными системами, поддерживающими USB‑HID устройства.

BadUSB — это целое семей­ство атак на USB‑порт, при которых под­клю­чаемое устрой­ство выда­ет себя за дру­гой девайс, нап­ример:

Читать далее

Изучаем веб-сервисы ChatGPT и пробуем программировать

Reading time9 min
Views9.9K


Прямого доступа к сервисам OpenAI в РФ, как известно, нет. Для работы с ChatGPT многие пользуются телеграм-ботами, чаще всего бесплатными. В основном, запросы к ним — непритязательные. Пользователи практикуются в английском и, не раздражая никого пробелами в орфографии, получают списком все свои ошибки. Можно задавать ботам относительно простые вопросы.

Но, боты, в подавляющем большинстве работают на версии GPT3.5, возможности которой ограничены. Поэтому даже на хороший, но не релевантный запрос можно получить очень странный ответ, который начинается чем-то вроде «Да, я просто языковая модель и не могу сделать того, что вы от меня хотите...» и т. д. Нельзя забывать и о том, что телеграм-бот едва ли сможет хранить контекст, размером более 4000 токенов.

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

ГЕОМЕТРИЯ ЗВУКА

Reading time5 min
Views11K

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

[Читать на английском]

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

GitFlow процесс

Level of difficultyEasy
Reading time6 min
Views107K

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

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

Читать далее

А где же звук, или почему дистрибутив Ubuntu может не звучать «из коробки»

Level of difficultyEasy
Reading time3 min
Views30K

Данная статья написана в помощь пользователям Ubuntu (Lu.., Xu.., Ku.. и прочих derivatives) которые столкнулись с отсутствием звука или проблемами с другим оборудованием на достаточно свежем «железе». Это статья не перевод, а попытка обобщить и показать путь. Если оборудование есть, оно может должно работать.

Читать далее

Отправка и обработка HTTP запросов в PostgreSQL

Level of difficultyMedium
Reading time7 min
Views24K

Эта статья о том как отправлять и обрабатывать HTTP-запросы непосредственно из/в PostgreSQL. Автор расскажет о том, что такое асинхронное уведомление в PostgreSQL, и наглядно продемонстрирует, как с его помощью можно взаимодействовать с внешними системами из самой СУБД.

Читать далее

Хакни своё следующее интервью с помощью Generative AI

Level of difficultyMedium
Reading time6 min
Views17K

А Вы когда‑то задумывались о том, как классно было бы хакнуть собеседование? Создать себе цифрового помощника, который ответит на все вопросы интервьюера.

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

Читать далее

Архитектура Android. Понятно и подробно

Level of difficultyMedium
Reading time15 min
Views33K

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

Читать правила

Information

Rating
Does not participate
Location
Макеевка, Донецкая обл., Украина
Date of birth
Registered
Activity