Как стать автором
Обновить
4
0
Евгений Карпель @kspshnik

Начинающий frontend-developer

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

Сложно о простом. Канальный уровень (L2) модели OSI

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


Приветствую, коллеги! Меня зовут ProstoKirReal, и сегодня мы продолжим изучение модели OSI, обсудив канальный уровень (L2). Этот уровень играет ключевую роль в обеспечении надежной передачи данных в локальных сетях.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+26
Комментарии9

Метрики, которые действительно имеют значение

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

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

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

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

Заблуждения программистов о времени

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

Музей-скансен эпохи Средневековья в Дании в режиме обычной работы (слева) ставит целью воссоздать повседневную жизнь города на стыке XIV и XV веков. Для съёмок фильма (справа) он «погрязнел»

Для киносъёмок в музей под открытым небом Middelaldercentret внесли несколько изменений. Вместо аккуратной каменной улицы развели неприятную кашицу из грязи, не самые роскошные стеклянные окна прикрыли досками и развесили везде выцветшее тряпьё. Здания как следует измазали чем-то коричневым, кое-где зачем-то перемешав субстанцию с соломой. В случайное здание воткнули факел, а не попытались изобразить лучину или фонарь.

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

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

Попытки собрать заблуждения про время и часовые пояса на Хабре уже были шесть и десять лет назад. Но без контрпримеров не так интересно.

Заблуждение 1. В сутках 24 часа или 86 400 секунд


Иногда и кое-где стрелки часов переводят, создавая сутки длиной в 23 и 25 часов — всё очевидно. Будет неплохо углубиться в случаи поэкзотичней.
Читать дальше →
Всего голосов 152: ↑145 и ↓7+177
Комментарии313

Как в 2024 выложить приложение в Apple Store и Google Play

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

Публикация приложений в сторах сейчас непростой процесс. Из-за санкций появилось много неизвестности с регистрацией и оплатой аккаунтов. При этом информация о том, как решить те или иные проблемы в этом процессе, которая есть в интернете, противоречива. Так как я этот процесс недавно успешно прошел, делюсь инструкцией, как в 2024 выложить приложение в App Store и Google Play.

Я занимаюсь мобильной разработкой начиная с 2015 года, прошел путь от рядового разработчика до позиции Technical Product Owner в компании Выберу.ру.  Для меня процесс регистрации в сторах — это типовая задача, но санкции добавили несколько нюансов. Эта статья представляет роадмап по публикации приложения с советами и рекомендациями для ускорения этого процесса.

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

Профилирование: что использовать для сбора информации о работе программы под Linux

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

Представим ситуацию: вы молодой и перспективный специалист инжиниринга производительности, который устроился в крупную IT-компанию. Ваша задача — выполнить оптимизацию определенного продукта, который должен заработать быстрее. Вы почитали об этом проекте, поняли, в чем основная суть, и даже запустили нагрузочные тесты, показывающие потенциал роста. Какой будет ваш первый шаг для поиска узких мест? Конечно, сперва стоит заняться профилированием приложения, чтобы обнаружить код, исполнение которого занимает больше всего времени. Но какой профилировщик использовать для первого осмотра? Давайте попробуем в этом разобраться.

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

Больше
Всего голосов 11: ↑10 и ↓1+10
Комментарии1

JavaScript: структуры данных и алгоритмы. Часть 2

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


Привет, друзья!


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



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


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

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

Алгоритм Тарьяна для поиска минимального набора уравнений

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

Дана система, состоящая из большого количества уравнений (необязательно линейных), где вам необходимо найти всего лишь несколько переменных. Как это сделать эффективно? Какой минимальный набор уравнений вам потребуется? В этой статье мы обсудим графовое представление систем уравнений, применим алгоритм Тарьяна и формализуем процесс на Python.

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

Летнее чтение на английском: список книг по уровням и советы методистов

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

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

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

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

10 лет с солнечной электростанцией

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

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

Читать далее
Всего голосов 97: ↑94 и ↓3+113
Комментарии276

Секретная китайская плата инфракрасного датчика периметра

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


Привет, Хабр! Можно ли обмануть инфракрасный датчик периметра, если посветить на его фотоприёмник инфракрасным фонариком? — Нет, потому что охранный излучатель не просто вырабатывает инфракрасный луч, но модулирует его яркость особым образом.

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

Этот радиоконструктор представляет особенный интерес, так как без доработки плата является неработоспособной. Причина проблемы состоит на этот раз не в ошибке принципиальной схемы или токоведущих дорожек на плате, а в интерференции между двумя функциональными узлами устройства.
Приступаем к исследованию!
Всего голосов 36: ↑35 и ↓1+45
Комментарии15

Who are you, Platform Engineering. Часть 2: типовая архитектура, варианты и примеры реализации IDP

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


В докладе Gartner методология Platform Engineering определена в качестве одного из стратегических технологических трендов на 2024 год, что свидетельствует о дальнейшем эволюционном развитии подходов DevOps. Несмотря на это, для многих компаний Platform Engineering и Internal Development Platform (IDP) как один из примеров реализации прохода до сих остается «черным ящиком». 
Читать дальше →
Всего голосов 26: ↑26 и ↓0+30
Комментарии6

Who are you, Platform Engineering: разбираемся с одним из главных технологических трендов. Часть 1

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


Platform Engineering — один из главных технологических трендов 2024 года. По оценке Gartner, к 2026 году 80% компаний, занимающихся разработкой, будут иметь внутренние платформенные сервисы и команды для повышения эффективности разработки. 

Мы в VK Cloud предлагаем Dev Platform — платформу для разработки, которой смогут пользоваться другие компании. В серии статей о методологии  Platform Engineering и создании Internal Development Platform (IDP), мы поделимся своим подходом построения платформенных решений, расскажем о сложностях и о том, почему даже правильный подбор компонентов и архитектурных решений для IDP — не панацея.

В первом материале серии начнем с базы — остановимся на трудностях повышения эффективности команд разработки, разберем, что такое Platform Engineering и Internal Development Platform, что дает внедрение комплексных платформ и какие могут быть сложности.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+22
Комментарии0

Как ломаются большие системы и как их траблшутить — инсайты из интенсива ШАДа Яндекса

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

Привет, меня зовут Руслан Савченко, я руководитель службы разработки динамических таблиц в Yandex Infrastructure и преподаватель в Школе анализа данных. Сегодня я поделюсь актуальными инсайтами о том, как ломаются большие системы и как их траблшутить. Думаю, это будет полезно разработчикам и студентам, которые интересуются Site Reliability Engineering. Вообще, мало где сейчас обучают SRE, хотя в индустрии такие задачи очень востребованы.

В основе статьи — материалы SRE Week, открытого интенсива ШАДа по работе с большими нагруженными системами.

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

Что такое SWOT-анализ и чем он полезен в проектах

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

SWOT-анализ — метод стратегического планирования. Он представляет собой анализ четырёх групп факторов, которые влияют на компанию/проект: сильные стороны (strengths), слабые стороны (weaknesses), возможности (opportunities) и угрозы (threats).

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

Насколько быстр Javascript? Симулируем 20 миллионов частиц

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

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.

Читать далее
Всего голосов 101: ↑100 и ↓1+123
Комментарии32

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi

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

В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять автоматикой или другими устройствами, когда 2G/3G/4G и даже GPRS не позволяет это делать из за удалённости/помех или по иным причинам и важно обеспечить высокую надёжность управления.

Это третья статья данного цикла и из первой статьи вы узнали, как с помощью упомянутого модуля обмениваться данными между микрокомпьютером Repka Pi с JSON-сервисом, доступным в интернете, по каналу GPRS. Вторая статья рассматривает такой обмен глубже, на уровне AT-команд, передаваемых в модуль через UART.

Теперь настала очередь рассказать об отправке и приеме коротких текстовых сообщений SMS (Short Message Service). Этот канал передачи данных пригодится, например, в тех случаях, если в месте расположения вашего оборудования недоступен ни WiFi, ни GPRS.

Сообщения SMS можно передавать в текстовом режиме, а также в так называемом режиме PDU (Protocol Data Unit). В первом случае длина сообщения не может превышать 160 байт, и в нем не должно быть символов кириллицы. Пользоваться режимом PDU сложнее, но в нем нет этих недостатков.

Далее мы рассмотрим работу в обоих режимах как с помощью Python и библиотеки RoverConnect, так и через AT-команды.

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

Читать далее
Всего голосов 10: ↑9 и ↓1+12
Комментарии8

Who are you, Platform Engineering. Часть 3: знакомство с Dev Platform

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

Внутренние платформы разработки (Internal Development Platform, IDP), как один из артефактовпримеров реализации платформенного подхода (Platform Engineering) становятся важной точкой роста для многих компаний, занимающихся разработкой: помогают унифицировать стек, снизить не целевую нагрузку на команды, увеличить ускорить time-to-market. Поэтому многие компании начинают двигаться в сторону создания развертывания своих IDP. 

Мы продолжаем серию статей о Platform Engineering и Internal Development Platform (IDP). В первом и втором материалах цикла мы уже рассмотрели базовую теорию, познакомились с типовой архитектурой IDP и вариантами реализации. А в этой статье остановимся на обзоре Dev Platform, разрабатываемой командой VK Cloud.

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

Векторные базы данных: простым языком про устройство и принцип работы

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

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

Читать далее
Всего голосов 30: ↑29 и ↓1+35
Комментарии16

Стреляем себе в ногу из localStorage

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

Все фронтендеры любят localStorage — в него можно прикопать данные без всяких баз и серверов. Но из localStorage можно отлично обстрелять себе ногу. сегодня расскажу про 6 встроенных пулеметов и презентую библиотеку banditstash, которая нежно, но настойчиво прикрывает ваши ножки.

Читать далее
Всего голосов 23: ↑21 и ↓2+24
Комментарии16

JavaScript: структуры данных и алгоритмы. Часть 1

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


Привет, друзья!


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



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


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+17
Комментарии1
1
23 ...

Информация

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

Специализация

Frontend Developer, Fullstack Developer
Junior
Git
Python
OOP
MongoDB
React
NestJS