Pull to refresh
0
0
Send message

Методика D.I.Y. проекта. Стратегия выживания

Level of difficultyEasy
Reading time9 min
Views9.7K

Каждый, кто начинал D.I.Y.-проект, помнит душевный подъём вначале, когда ты полон идей и решимости воплотить их в жизнь, а затем угасание энтузиазма, чем дальше, тем больше. И если в коммерческой разработке вероятность достижения целей проекта в срок и в рамках бюджета и так не очень высока, то вероятность завершения D.I.Y.-проекта хоть с каким-нибудь положительным результатом – ещё ниже. Всегда найдётся что-то более срочное, более важное, да и более выгодное тоже, и выделенные на D.I.Y. деньги и время уйдут туда.

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

При этом D.I.Y.-проекты нужны для творческой самореализации, а не для того, чтобы быть как тяжёлый чемодан без ручки, который и нести тяжело, и бросить жалко. И этот рассказ о том, как организовать свой проект так, чтобы, с одной стороны, достичь поставленных целей без каких-либо существенных затрат, а с другой, иметь возможность при необходимости закрыть этот проект без всякого сожаления.
Как это работает
Total votes 72: ↑67 and ↓5+86
Comments25

Структура объекта в JavaScript движках

Reading time23 min
Views8.8K

С точки зрения разработчика, объекты в JavaScript довольно гибкие и понятные. Мы можем добавлять, удалять и изменять свойства объекта по своему усмотрению. Однако мало кто задумывается о том, как объекты хранятся в памяти и обрабатываются JS-движками. Могут ли действия разработчика, прямо или косвенно, оказать влияние на производительность и потребление памяти? Попробуем разобраться во всем этом в этой статье.

Читать далее
Total votes 32: ↑32 and ↓0+33
Comments1

JS. Валидация данных. Пишем свой YUP

Level of difficultyMedium
Reading time7 min
Views5.9K

Создаем TypeScript библиотеку для валидации данных. Поэтапно добавляем основной функционал и типизацию. Делаем основую упор на простоту кода и проиводительность. Как протитип используем yup и zod.

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments24

Монорепозиторий с pnpm и typescript для фронтенда на React и бэкенда на Node.js

Level of difficultyMedium
Reading time3 min
Views6.2K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments9

Нужно ли пересматривать модель open source — обсуждаем ключевые сложности и предложения сообщества

Reading time5 min
Views1.6K

Разработчики открытого программного обеспечения долгое время пытаются «нащупать» баланс между коммерческой жизнеспособностью своих продуктов и идеалами open source. Некоторые решения, такие как переход на запретительные лицензии, вызывают серьезную критику со стороны сообщества. Мы в beeline cloud решили обсудить, что в индустрии думают о сценариях развития открытого программного обеспечения.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments17

Антипаттерны проектирования

Reading time9 min
Views26K

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

Читать далее
Total votes 28: ↑23 and ↓5+21
Comments22

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 1. Подготовка рабочего стенда

Reading time5 min
Views79K

Приветствую тебя, дорогой читатель в самой первой вводной части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

Идеей, побудившей меня к написанию данной серии статей является мое желание поделиться собственным опытом в области тестирования на проникновение в рамках проводимых мной аудитов информационной безопасности финансовых организаций, и попытаться осветить важные, на мой взгляд, ключевые моменты касаемо подхода, инструментов, приемов и методов. Конечно же в сети очень много статей и книг посвященных данной теме (например, замечательная книга Дениела Г. Грэма «Этичный хакинг. Практическое руководство по взлому» или «Kali Linux. Тестирование на проникновение и безопасность» - труд целого коллектива высококлассных специалистов), программы курсов от Offensive Security, EC-Council, но далеко не у всех есть материальные возможности оплачивать дорогостоящие курсы, а в дополнение к учебникам хотелось бы больше практических примеров основанных на чьем-то опыте.

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

Мы будем использовать подход максимально приближенный к сценариям атак проводимых злоумышленниками, а также вдоволь попрактикуемся на отдельных примерах и разберем такие темы как разведка и сбор информации (footprinting), сканирование ресурсов с целью обнаружения известных уязвимостей, применение эксплоитов из базы Metasploit framework для получения доступа к системе, повышение привилегий до уровня root-пользователя за счет уязвимого ПО (privilege escalation), рассмотрим методы социальной инженерии, сетевые атаки канального уровня (MAC-spoofing, ARP-spoofing, DHCP starvation), способы атак на веб-сервера, перехват и анализ трафика с помощью сетевых снифферов и многое другое.

Читать далее
Total votes 24: ↑20 and ↓4+16
Comments31

Клубничная чудо-коробка 2.0. Часть вторая

Reading time15 min
Views30K

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

Читать далее
Total votes 122: ↑120 and ↓2+151
Comments72

Клубничная чудо-коробка 2.0. Первая часть

Reading time12 min
Views24K

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

Читать далее
Total votes 86: ↑83 and ↓3+101
Comments63

Моя клубничная чудо-коробка

Reading time17 min
Views59K

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

Читать далее
Total votes 172: ↑172 and ↓0+172
Comments106

Клубничная чудо-коробка 2.0 всё

Reading time12 min
Views53K

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

Читать далее
Total votes 245: ↑244 and ↓1+307
Comments74

Нельзя просто так взять и распарсить этот JSON на JavaScript

Reading time7 min
Views27K

JSON является одним из очень простых, но в то же время эффективных языков для хранения и передачи данных. Он настолько популярен, что, пожалуй, может считаться самым совместимым форматом представления данных в мире.

Одновременно с этим, JavaScript является одним из наиболее популярных языков программирования и применяется практически везде. Также, нужно понимать, что JSON появился напрямую из JavaScript и эти два языка просто созданы друг для друга.

Но что же может пойти не так, спросите Вы? Просто попробуйте распарсить этот JSON-документ…

Давайте парсить
Total votes 68: ↑63 and ↓5+65
Comments60

Все еще работаете с access token на клиенте? Тогда мы идем к вам

Reading time15 min
Views54K

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

В статье рассмотрим причины необходимости работы с токеном на клиенте веб-приложений, узнаем ,что лучше для хранения токена: localStorage, sessionStorage или cookie без флага HttpOnly (спойлер, ничего из этого), а также посмотрим на меры воздействия, которые можно использовать для снижения риска утечки токена посредством различных уязвимостей.

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

Читать далее
Total votes 37: ↑35 and ↓2+40
Comments40

Как Василий ускорял сборку тестов

Reading time7 min
Views4.1K

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

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

Картина была такая: от старта пайплайна до непосредственного запуска тестов в сервисе проходило в среднем 7,5 минут. Допустим, за рабочий день каждый член команды (разработчик/тестировщик) запускает 3 пайплайна, а людей в команде — 14. Тогда на сборку образа уходит 5 часов 15 минут. 

Василию не подходит.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments3

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time6 min
Views52K

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

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

Читать далее
Total votes 100: ↑93 and ↓7+100
Comments83

Шэрим стейт между хуками в React

Reading time3 min
Views5.3K

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

Читать далее
Total votes 5: ↑2 and ↓3-1
Comments28

Почему стандарты ИСО не публикуют в открытом доступе?

Reading time4 min
Views23K

Основатели ИСО, Лондон, 1946

Международная организация по стандартизации создана в 1946 году для выпуска международных стандартов. Первым из них стало само название организации, которое на всех языках мира звучит одинаково: ИСО.

Стандарты ИСО по всем вопросам — от безопасности дорожного движения и игрушек до надёжной медицинской упаковки — помогают сделать мир более безопасным. Но есть вопрос: почему все стандарты не выкладывают в свободный доступ, хотя эти знания нужны и полезны для общего прогресса человечества?
Читать дальше →
Total votes 34: ↑31 and ↓3+40
Comments78

Внеземные техносигнатуры: научные аспекты поиска

Reading time10 min
Views5.9K

Ещё в июне 2021 года я публиковал пост «Что варится в пекулярных звёздах» — о звёздах с необычным спектром, явно содержащих не только гелий, водород и следы элементов вплоть до железа и никеля, но и более тяжёлые элементы. Именно в тот пост заглянул уважаемый Андрей Курилов @akurilov, написавший замечательный комментарий, который я поставлю прямо под катом к этой статье. Комментарий Курилова подтолкнул меня к долгим размышлениям  о гипотезе «тёмного леса». В дальнейшем я изучил блог этого автора и дозрел до собственного поста об Оумуамуа, в котором словил очередные обвинения в словоблудии и мракобесии от Кьюбертыча. Здорово, что господин Курилов под тем моим постом также высказался. Если вас интересует феномен Оумуамуа — читайте в его блоге, там этому объекту посвящено целых 5 публикаций. Я же сегодня рассмотрю тему техносигнатур — потенциальных маркеров, выдающих существование технологической инопланетной цивилизации. Но сначала — тот самый комментарий.

Читать далее
Total votes 30: ↑29 and ↓1+44
Comments47

Пишем драйвер ядра Linux для неизвестного USB-устройства

Reading time15 min
Views17K
image

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →
Total votes 45: ↑44 and ↓1+57
Comments9

Интерфейсы и протоколы в IoT. Лекция первая

Reading time16 min
Views13K

В этом году меня в очередной раз позвали в Московский институт электроники и математики (МИЭМ) НИУ ВШЭ читать студентам магистратуры (четвёртый курс на наши деньги) департамента электронной инженерии курс «Обеспечение взаимодействия элементов системы IoT, интерфейсы и протоколы».

Когда-то давно я уже читал вводный курс по программированию микроконтроллеров в МИРЭА, от лекций которого остались любезно сделанные вузом видеозаписи (от семинаров не осталось ничего, увы), потом — курс по Интрнету вещей (там было сочетание микроконтроллеров, их программирования и введения в специфику IoT-систем) уже в МИЭМ НИУ ВШЭ, от которого, увы, тоже не осталось никаких публично доступных материалов.

В этот раз хочу исправиться — и выложить, не отходя от кассы, конспекты всех лекций. Объём курса заложен очень приличный — 60 академических часов, собранных в 14 групп занятий, с начала января и по середину июня.

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

Итак, поехали.

Читать далее
Total votes 26: ↑24 and ↓2+28
Comments19

Information

Rating
Does not participate
Registered
Activity