Как стать автором
Обновить
-24
0
Николай Захаров @lytican

PHP-backend

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

PHPStorm + XDebug + Docker

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

Ещё одна статья на избитую тему? Да! Потому что за два часа поиска не нашёл ни одной, по которой можно было пройтись от и до и получить работающее окружение.

Шагов, на самом деле, немного, все очень простые, нужно лишь...

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

Создание Web components на Vue 3

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

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

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

Приложения в Kubernetes: быстрый запуск Kafka с KRaft

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

Сегодня у нас будет возможность установить Kafka с одной из самых простых конфигураций. Эта установка не оптимизирована для производственных сред, но идеально подходит для быстрой и локальной разработки.

Apache Kafka — это фреймворк, реализующий программную шину, использующую потоковую обработку. Это программная платформа с открытым исходным кодом, разработанная Apache Software Foundation и написанная на Scala и Java. Проект направлен на предоставление унифицированной платформы с высокой пропускной способностью и малой задержкой для обработки потоков данных в реальном времени.
Иными же словами распределенная система обмена сообщениями между серверными приложениями в режиме реального времени.

Эта установка Kafka использует проект ранней версии под названием Apache Kafka Raft (KRaft). Это проект, в котором устранена зависимость от ZooKeeper.

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

Знай сложности алгоритмов

Время на прочтение2 мин
Количество просмотров1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16+280
Комментарии99

Как я за один заход хакнул половину американских сетей фастфуда

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

Консоль бодро оповестила меня о завершении работы скрипта. Его задача заключалась в поиске учётных данных для доступа к Firebase, которые лежали в открытом доступе и принадлежали одному из сотен недавно появившихся ИИ‑стартапов.

Скрипт шёл по общедоступному списку сайтов с использованием домена верхнего уровня .ai. Программа парсила данные сайтов (и любые.js‑бандлы, на которые находила ссылки) в поиске переменных, которые обычно используются для настройки подключения к Firebase.

Читать далее
Всего голосов 42: ↑25 и ↓17+21
Комментарии16

PHP на стероидах: Swoole in production

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

Представьте себе ситуацию, большой маркетплейс, 60 тыс. посетителей в сутки (600 тыс. просмотров) и это только веб, а с мобильного приложения, плюс еще 100 тыс уникальных посетителей. С точки зрения HTTP API запросов к PHP бекенду - это порядка 13 млн. запросов (в пиковых нагрузках ~300-400 RPS). И это всё (PHP only) обрабатывает сервер с 8 vCPU (ядрами) и 32 Gb RAM и самое главное, что сервер практически не напрягается (см. КДПВ).

Как это возможно?
Всего голосов 45: ↑45 и ↓0+45
Комментарии16

Вывод чётких изображений на экранах с высокой плотностью пикселей

Время на прочтение11 мин
Количество просмотров12K
Много лет тому назад существовали мониторы с разными разрешениями, а после того, как индустрия перешагнула отметку в 1024x768, экраны, с увеличением разрешения, становились больше.

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

Далее, в 2010 году, вышел iPhone 4 (ёшкин кот, 11 лет назад), разрешение его экрана составляло 640x960. А в iPhone 3 имелся экран почти такого же размера, но с разрешением 320x480. Разрешение выросло вдвое, а физический размер экрана остался примерно таким же, как раньше. В результате вдвое выросла плотность пикселей экрана.



Нельзя было, без изменений, запускать старые приложения на новых экранах, так как нечто вроде текстов и кнопок выглядело бы слишком маленьким. Поэтому компания Apple удвоила (Прим.: справедливости ради, в 4 раза) размеры всех экранных элементов. 1 логический пиксель превратился в 2 физических пикселя.

В веб-разработке соотношение логических и физических пикселей известно как DPR (Device Pixel Ratio). DPR iPhone 4 равняется 2 (иногда такие экраны называют «2x-экранами» или «2dppx-экранами»).

Теперь, немного коснувшись истории, перейдём к более современным вещам.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

Диаграмма Сэнкей (Sankey diagram) на Python

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

В этой статье рассмотрим, как пошагово создать диаграмму Сэнкей - от загрузки и генерирования необходимых данных до сохранения полученной диаграммы. Используемые инструменты - python, pandas и plotly.

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

«Группа смерти» изнутри: люди, которые играют в опасные игры

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


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

Сегодня мы попробуем увидеть происходящее глазами рядовых участников — не тех, для кого в конечном итоге все кончилось плохо, а того подавляющего большинства, которое играло, а потом продолжило жить.
Читать дальше →
Всего голосов 267: ↑256 и ↓11+321
Комментарии348

Собираем, парсим и отдаём логи с помощью Logstash

Время на прочтение10 мин
Количество просмотров288K
Приветствую.

Так уж сложилось, что по долгу работы мне приходится много времени уделять логам. Это и участие в выработке правил и политик сбора/хранения/использования логов, это и разбор разных инцидентов и обнаружение аномалий. За сутки наши программы, сервисы и серверы генерируют ОЧЕНЬ большое количество логов. И потребность копания в логах растёт постоянно.
Мне довелось поработать с коммерческими лог-менеджмент продуктами типа ArcSight, RSA Envision, Q1 Labs. У этих продуктов есть как плюсы, так и минусы. Но в статье речь пойдёт не о них.
Речь будет о Logstash.

Что же такое Logstash? Зачем он нужен? Что он умеет?
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии13

Kibana-мать или Зачем вам вообще нужны логи?

Время на прочтение9 мин
Количество просмотров241K
Вы можете сказать, что “иногда бывает нужно...” Но на самом деле, вы хотите всегда видеть, что у вас в логах, через графический интерфейс. Это позволяет:

  • Облегчить жизнь разработчикам и сисадминам, время которых просто жалко и дорого тратить на написание grep-конвейеров и парсеров под каждый отдельный случай.
  • Предоставить доступ к информации, содержащейся в логах, умеренно-продвинутым пользователям — менеджерам и техподдержке.
  • И видеть динамику и тенденции появления залогированых событий (например, ошибок).

Так что сегодня вновь поговорим о стэке ELK (Elasticsearch+Logstash+Kibana).
Но на этот раз — в условиях json-логов!

Такой use case обещает наполнить вашу жизнь совершенно новыми красками и заставит испытать полную гамму чувств.


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

Как программировать если совсем не хочется? План спасения на случай перегорания или дедлайна

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


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

Читать дальше →
Всего голосов 39: ↑35 и ↓4+40
Комментарии55

Цвет в современных фильмах

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

Всем привет, меня зовут Денис. Я работаю художником по свету (Lighting Artist) в игровой индустрии. Часто читаю Хабр просто потому что интересно и вот сегодня увидел статью Дефицит цветов в современных фильмах которая меня немного ошарашила. Ведь в кино существуют целые отделы композитинга, которые занимаются цветокоррекцией изображения, чтобы конечный результат выглядел красиво, а также вызывал определённые эмоции. Поэтому меня сильно удивило, что кто-то видит в этом отрицательную сторону.

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

Давайте разбираться, почему же в кино цветовая палитра сводится к нескольким конкретным цветам, а не представляет полный спектр. Хочу заметить, что всё нижеупомянутое применимо и к современным играм.
Читать дальше →
Всего голосов 244: ↑239 и ↓5+321
Комментарии286

Взгляд в прошлое. Технология 18 века

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

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

У меня родилась идея провести ретроспективу и создать что-то совсем забытое, чтобы окунуться в этот «древний», несовершенный мир, который, на мой взгляд, пропитан «инженерной»романтикой. Энергия пара. Вот что дало технический рывок. Именно этот вид энергии продвинул человечество на новый уровень, и именно эта технология стала основой индустриального технологического взрыва.
Всего голосов 84: ↑82 и ↓2+110
Комментарии120

Дипфейк видео по одному кадру

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


пример работы First Order Motion Model


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

Читать дальше →
Всего голосов 5: ↑4 и ↓1+8
Комментарии5

Как мы сделали не blockchain

Время на прочтение7 мин
Количество просмотров19K
Как с помощью smart-contract мы построили систему отбора лучших технологических проектов в ИТ МТС? И в какие «ловушки» мы попали, но смогли выбраться, доказав в итоге, что вести распределенный реестр на мобильных устройствах возможно!



Для чего понадобилась система на основе blockchain?


Начнем с самого начала. В МТС есть давняя традиция – выбирать лучший технологический проект, сделанный за год, и награждать его команду. Команда получает призы, уважение и славу. За долгие годы победителями становились различные проекты: от высоконагруженных телеком-систем до систем искусственного интеллекта.

Выборы лучшего проекта всегда происходили в несколько этапов:

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

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

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

Исследуем электромагнитные поля с помощью SDR приемника и OpenCV

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


SDR-приемник, даже самый дешёвый, является весьма высокочувствительным приборчиком. Если добавить к нему специальную антенну и OpenCV, то можно будет не только привычно слушать эфир, но и посмотреть на распределение электромагнитных полей в пространстве. О таком интересном применении и пойдет речь в данной статье. Внимание! Под катом много картинок и анимации!
Читать дальше →
Всего голосов 78: ↑77 и ↓1+100
Комментарии28

Как Лиза Швец ушла из Microsoft и убедила всех, что пиццерия может быть ИТ-компанией

Время на прочтение7 мин
Количество просмотров33K
imageФото: Лиза Швец/Facebook

Лиза Швец начала свою карьеру на кабельном заводе, работала продавцом в небольшом магазинчике в Орле, а спустя несколько лет попала в Microsoft. Сейчас она работает над ИТ-брендом «Додо Пиццы». Перед ней стоит амбициозная задача — доказать, что «Додо Пицца» не только про еду, а про разработку и технологии. На следующей неделе Лизе 30, и мы решили вместе с ней подвести небольшие итоги ее карьерного пути и рассказать вам эту историю.
Всего голосов 89: ↑48 и ↓41+35
Комментарии243

Как стать лучшим в мире в какой-то нише

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


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


Давайте подумаем, что нужно, чтобы стать игроком НБА. Большинство профессиональных баскетболистов оттачивали мастерство практически с младенчества. Годы бесконечных тренировок, сборов и игр помогли им отработать различные важные в этом спорте навыки: броски, ведение мяча, пасы, защита и так далее.

Как вы можете себе представить, вероятность стать игроком НБА очень низкая: всего есть 30 команд по 15 игроков в каждой, что дает в общей сложности около 450 человек — не так уж много, особенно если учесть, что в молодежный баскетбол играет более полумиллиона ребят. Несложные подсчеты показывают, что меньше чем один из тысячи становится профессионалом.

image
Источник: Томас Пуэйо

Так что давайте будем реалистами: вы не попадете в НБА, не станете ни президентом, ни величайшим писателем в мире, ни лучшим шахматистом, ни самым искусным оратором. Вы никогда не станете лучшим в мире в каком-либо конкретном навыке: всегда найдется кто-то, кто выкладывается больше, у кого лучше генетические данные, кому больше везет (или всё сразу).

image
Большинство людей (в синей области) слабо владеют конкретным навыком. Если немного постараться, вы быстро попадете в 10% лучших (зеленая область). Но как только вы присоединились к этой элите, двигаться дальше становится всё сложнее, потому что ваши конкуренты всё чаще — люди, глубоко преданные этому делу.

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

Переведено в Alconost
Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии115

Раздаем файлы с Google Drive посредством nginx

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

Предыстория


Так уж случилось, что нужно мне было где-то хранить более 1.5тб данных, да еще и обеспечить возможность скачивания их обычными пользователями по прямой ссылке. Поскольку традиционно такие объемы памяти идут уже на VDS, стоимость аренды которых не слишком вкладывается в бюджет проекта из категории «от нечего делать», а из исходных данных у меня был VPS 400GB SSD, куда при всем желании 1.5тб картинок без lossless сжатия поместить не удастся.

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии25
1
23 ...

Информация

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