Pull to refresh
-12
0
Юрий @YChebotaev

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

Send message

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

Level of difficultyEasy
Reading time18 min
Views124K

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

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

Читать далее
Total votes 397: ↑385 and ↓12+373
Comments583

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

Level of difficultyMedium
Reading time11 min
Views9.7K


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


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

Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments9

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

Reading time7 min
Views232K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

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



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

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

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

Reading time5 min
Views4.7K

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

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

Читать далее
Total votes 13: ↑7 and ↓6+1
Comments5

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

Level of difficultyHard
Reading time19 min
Views16K

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

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

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments9

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

Level of difficultyEasy
Reading time14 min
Views30K

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Total votes 24: ↑11 and ↓13-2
Comments12

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

Level of difficultyMedium
Reading time12 min
Views26K

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

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

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

Разоблачаем популярный миф
Total votes 118: ↑104 and ↓14+90
Comments81

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

Level of difficultyMedium
Reading time6 min
Views3K

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

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

Читать далее
Total votes 6: ↑3 and ↓30
Comments9

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

Level of difficultyEasy
Reading time4 min
Views3.6K

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

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

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

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

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

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

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

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments1

Мысли о Zig и Rust

Reading time11 min
Views11K

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

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

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

Reading time5 min
Views15K

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

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

Читать далее
Total votes 19: ↑12 and ↓7+5
Comments19

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

Reading time3 min
Views23K

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


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


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


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

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments28

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

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

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

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

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

Reading time6 min
Views7.8K
image

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

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

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

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

Reading time12 min
Views144K
Практически все проекты сталкиваются с проблемами, вызванными неправильной обработкой и хранением даты и времени. Даже если проект используется в одном часовом поясе, все равно после перехода на зимнее/летнее время можно получить неприятные неожиданности. При этом мало кто озадачивается реализацией правильного механизма со старта, потому что кажется, что с этим проблем быть не может, так как все тривиально. К сожалению, в последствии реальность показывает, что это не так.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments29

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

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

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

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

Reading time5 min
Views100K

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


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

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

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

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

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

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

Reading time8 min
Views133K
В интернете полным-полно создателей контента, и каждый хочет привлечь к себе внимание. Но, как ни странно, хороший учебный ресурс найти нелегко, а бесплатный – еще сложнее. Мы публикуем перевод материала, в котором автор собрал ссылки на самые авторитетные и полезные обучающие площадки.


Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments7

60 — это магическое число

Reading time2 min
Views8.1K
Превьюшки бывают четырёх типов:
  1. фиксированные по длине и % по высоте от оригинала
  2. фиксированные по высоте и % по длине от того же оригинала
  3. фиксированные по длине и высоте (с обрезанием части после масштабирования, которая не вписана, например 300х150)
  4. процентный масштаб (25% от оригинала, к примеру)

И каждый, кто создает галерею задается вопросом: «сколько вешат граммов?» «сколько превью разместить по дефолту в галерее?»
Читать дальше →
Total votes 21: ↑13 and ↓8+5
Comments17
1

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity