Как стать автором
Обновить
-12
0
Юрий @YChebotaev

Фронтенд разработчик

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

Восхитительная теория [якорных] баз данных от Ларса Рённбека

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

Обнаружил серию статей по принципам организации информации и базам данных от математика из Стокгольмского университета и с энтузиазмом перевожу. Моя уверенность в том, что реляционки с 3-й формой нормализации - лучшее, что придумало человечество, резко убавилась... Я бы назвал это "субъективной теорией информации", автор называет "Transitional modeling", но обычно это применяется под названием "якорная модель данных"...

Читать далее
Всего голосов 10: ↑7.5 и ↓2.5+5
Комментарии21

Программисты всё вымирают и вымирают

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

Да вымереть не могут.

Откуда это всё пошло? Чем так условные «программисты» не угодили? И почему именно программисты?

Читать далее
Всего голосов 397: ↑385 и ↓12+373
Комментарии583

Начало работы с Axum — самым популярным веб-фреймворком Rust

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


Когда дело доходит до выбора серверного веб-фреймворка в экосистеме Rust, можно запутаться из-за большого количества вариантов. В прошлом, лидером по популярности был Rocket, но сейчас за первенство сражаются Axum и actix-web, и Axum все больше набирает обороты. В этой статье мы немного погрузимся в Axum — веб-фреймворк для создания REST API на Rust, разрабатываемый командой Tokio. Он прост в использовании и хорошо совместим с Tower — надежной библиотекой для создания модульных компонентов сетевых приложений.


В этой статье мы подробно рассмотрим, как использовать Axum для создания веб-сервиса. Кроме того, мы рассмотрим изменения, которые произошли в версии 0.7.

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

15 тривиальных фактов о правильной работе с протоколом HTTP

Время на прочтение7 мин
Количество просмотров233K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Всего голосов 191: ↑186 и ↓5+181
Комментарии120

Исследование вовлечённости сотрудников через опросы

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

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

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

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

Детальный React. Реконсиляция, рендеры, Fiber, виртуальное дерево

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

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

На момент написания статьи, последняя стабильная версия React 18.2.0. За 10 лет разработчики Facebook проделали колосальный объем работы, было реализовано много фич и сделано не мало оптимизаций. За эти годы, так же, происходили и кардинальные архитектурные изменения. Очевидно, одной статьи мало, чтобы покрыть всю механику React, поэтому, данная публикация станет первой в серии статей о внутреннем устройстве React. Здесь мы познакомимся с основными сущностями и архитектурными решениями.

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

Виза цифрового кочевника Испания 2024: как получить Digital Nomad Visa

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

Содержание

1. Кто такие цифровые кочевники?

2. Условия: кто может получить визу цифрового кочевника

3. Требования к претенденту на получение визы цифрового кочевника

4. Срок действия и продление

5. Документы для подачи на Digital Nomad Visa

6. Документы для подачи для членов семьи

7. Пошаговый гайд получения Номад Визы

8. Время рассмотрения заявки на испанскую визу цифрового кочевника

9. Какие налоги надо будет платить цифровым кочевникам в Испании

10. Как сейчас подать документы на получение Digital Nomad Visa в Испании

11. Еще немного про новый закон о стартапах в Испании

12. Ответы на распространенные вопросы о визе цифрового кочевника

13. Заключение

14. Ссылки на полезные ресурсы

Читать далее
Всего голосов 24: ↑11 и ↓13-2
Комментарии12

Разоблачаем Эффект Даннинга-Крюгера. Статистический артефакт, пример автокорреляции

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

Слышали ли вы об «эффекте Даннинга-Крюгера»? Это (очевидная) тенденция неквалифицированных людей переоценивать свою компетентность. Обнаруженный в 1999 году психологами Джастином Крюгером и Дэвидом Даннингом эффект с тех пор стал очень знаменитым.

И вы понимаете почему.

Это слишком сочная идея, чтобы не быть правдой. Все «знают», что идиоты, как правило, не осознают своего идиотизма. Или, как выразился Джон Клиз...

Разоблачаем популярный миф
Всего голосов 118: ↑104 и ↓14+90
Комментарии82

Черная пятница в издательстве «Питер»

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

Добрый день, Хаброжители!

Настало время больших скидок, подробности внутри…
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

Баланс и кривая интереса в казуальных играх

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

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

В этой статье я расскажу, как реализовал баланс для своей мобильной игры в жанре Match-2.

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

Event Propagation: фазы погружения (capturing) и всплытия (bubbling)

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

Что такое пропагация?

Пропогация события — от английского «распространение» — это процесс возникновения, перемещения и обработки события внутри DOM.

Это одно из фундаментальных свойств поведения Document Object Model, зная которое, вы сможете лучше манипулировать поведением события.

Фазы распространения

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

Распространение события начинается с объекта окна (window). Потом собитие переходит к документу (document), затем к телу (document.body) и так к элементу, который вызвал событие (target). Путь от объекта окна до элемента триггера — это первый этап распространения, которое называется погружение (capturing).

Затем начинается фаза всплытия (bubbling), на которой как раз и происходит «дефолтное» слушание событий документом.

Наглядно это можно видеть на схеме:

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

Мысли о Zig и Rust

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

Этот пост будет довольно сумбурным. Несколько месяцев назад я написал Hard Mode Rust, исследуя стиль программирования allocation-conscious. В последовавшей дискуссии @jamii упомянул TigerBeetle — распределённую быструю и маленькую базу данных, написанную на Zig в схожем стиле. И теперь я после шести лет работы с Rust пишу на основной работе на Zig. В этом посте я вкратце объясню, почему так получилось. Подчеркну, что это не уравновешенное и тщательное сравнение двух языков. Для этого я ещё не написал свои 100 тысяч строк на Zig. (Если вы ищете ответ на более общий вопрос «что же такое Zig?», то рекомендую пост @jamii).

На самом деле, этот пост будет в основном посвящён не языкам, а стилям написания ПО (однако вам очень поможет знание Rust и Zig). Итак, давайте приступим.
Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии8

Python & Linux: Почему навык змееуста для админа — это мастхев. История о личном опыте

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

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

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

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

Обратное собеседование: какие вопросы задавать компании?

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

Этот текст — перевод репозитория viraptor. Вы можете предложить свои вопросы на английском, в оригинальном репозитории, или на русском — в моём форке, а я постараюсь перевести их и передать автору


Обратное собеседование


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


Если вы задавали вопросы, которых нет в этом списке, отправьте пожалуйста пулл-реквест!

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

Книга «Распределенные системы. Паттерны проектирования»

Время на прочтение10 мин
Количество просмотров14K
image Современный мир попросту немыслим без использования распределенных систем. Даже у простейшего мобильного приложения есть API, через который оно подключается к облачному хранилищу. Однако проектирование распределенных систем до сих пор остается искусством, а не точной наукой. Необходимость подвести под нее серьезный базис назрела давно, и, если вы хотите обрести уверенность в создании, поддержке и эксплуатации распределенных систем — начните с этой книги!

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

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

Engineering Assessment: как измерить техническое состояние проекта?

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

Улучшить можно то, что можно измерить. Это главный тезис измерения. Мы измеряем, чтобы улучшать. Мы хотим улучшать код, инженерку. Для этого нужно код измерять. Как?

Сегодня я расскажу о метриках на самом низком уровне создания IT-продуктов. О тех метриках, которые находятся на уровне инженерки, на уровне программистов и QA. Упор сделан на те метрики, которые зависят от человеческого фактора, которые не измерить автоматическими инструментами. Работая над несколькими проектами и наблюдая за десятком других как Agile-тренеры, мы выработали 9 метрик, которые описывают текущее состояние системы с точки зрения инженерки. В динамике они помогают мгновенно реагировать, если что-то идет не так.

Если тема заинтересовала, добро пожаловать под кат.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии10

Правильная работа с датой и временем

Время на прочтение12 мин
Количество просмотров145K
Практически все проекты сталкиваются с проблемами, вызванными неправильной обработкой и хранением даты и времени. Даже если проект используется в одном часовом поясе, все равно после перехода на зимнее/летнее время можно получить неприятные неожиданности. При этом мало кто озадачивается реализацией правильного механизма со старта, потому что кажется, что с этим проблем быть не может, так как все тривиально. К сожалению, в последствии реальность показывает, что это не так.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии29

Data Driven Realtime Rule Engine в Wargaming: анализ данных. Часть 2

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

Блок RAW Data Collection описан в первой статье и представляет собой набор из standalone-адаптеров.
В основе следующих двух лежит параллельная потоковая обработка данных. В качестве фреймворка используется Spark Streaming. Почему именно он? Было решено, что стоит использовать единый дистрибутив Hadoop – Cloudera, который из коробки включает в себя Spark, HBase и Kafka. К тому же в компании на тот момент уже имелась экспертиза по Spark.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии7

Кто вы, пишущие на Gherkin? Или корнишон в поисках целевой аудитории

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

Сценарий: Определение причин слабой распространенности Gherkin
  Допустим я решил разобраться, почему Gherkin используется небольшим количеством команд
  Когда начал анализ причин
  Тогда понял, что неверно выбрана целевая аудитория


Не так давно среди моих знакомых возник вопрос: “Зачем Gherkin?”. Причем вопрос был поставлен не как вброс на лопате, а чтобы понять его применимость.

Старт обсуждению дал kuntashov в G+ заметкой со следующим содержанием (сюда я привожу сухой остаток, совсем немного подкорректированный мной):
Gherkin был создан, чтобы сценарии использования можно было редактировать как нарратив (повествование), т.е. “почти на человеческом языке” в простой, лаконичной форме и доступном формате. Т.е. назначение формата было — быть в первую очередь лицом к не-технарям, но при этом сохранить более-менее достаточную формальность, чтобы можно было автоматически обрабатывать.

При этом бизнес-аналитики или любые другие конечные пользователи не очень хотят читать и тем более редактировать сценарии на Gherkin. Таким образом создание feature файлов перекладывается на плечи разработчика, для которого Gherkin — дополнительный и, возможно, лишний слой абстракции. Как мы знаем, “абстракции текут” и дополнительный слой только увеличивает вероятность “протечки”.

Может все же использовать языки, которые больше повернуты лицом к программистам?

Если есть желание совместно разобраться в полезности Gherkin и для кого он предназначен, добро пожаловать под кат.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии23

21 бесплатный учебный ресурс для разработчиков игр

Время на прочтение8 мин
Количество просмотров134K
В интернете полным-полно создателей контента, и каждый хочет привлечь к себе внимание. Но, как ни странно, хороший учебный ресурс найти нелегко, а бесплатный – еще сложнее. Мы публикуем перевод материала, в котором автор собрал ссылки на самые авторитетные и полезные обучающие площадки.


Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии7
1

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность