Как стать автором
Обновить
-21
0

Пользователь

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

Реставрация 100-летнего фильма с помощью ИИ

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

Генеральный директор проекта neuro.love Денис Ширяев поделился удачными практиками и алгоритмами для восстановления и улучшения качества старых фильмов. Для самостоятельных экспериментов требуются базовые знания Abode Premiere или After Effects, но результат того стоит. Подробности — под катом.

Читать далее
Всего голосов 28: ↑26 и ↓2+24
Комментарии19

Фильтрация по динамическим атрибутам

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


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


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

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

Яндекс выложил в опенсорс YDB

Время на прочтение16 мин
Количество просмотров140K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



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

В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.
Читать дальше →
Всего голосов 335: ↑332 и ↓3+329
Комментарии135

Старый компьютер, Windows XP, 512 Мб оперативки, Firefox и интернет

Уровень сложностиСредний
Время на прочтение127 мин
Количество просмотров319K
Несмотря на пройденное время, многие по прежнему ещё пользуются Windows XP. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows XP или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

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

— Firefox
— Дополнения к браузеру
— Драйверы
— WindowsXP
— BIOS
— Советы по аппаратной части
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии936

Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

Время на прочтение11 мин
Количество просмотров167K
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

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

В результате, скрепя сердце, я решил выложить всё начистоту и рассказать всему миру о том, как я в последние несколько лет воровал имена пользователей, пароли и номера кредитных карт с самых разных сайтов. Возможно, вы — администратор или разработчик одного из них.
Читать дальше →
Всего голосов 319: ↑312 и ↓7+305
Комментарии325

Как накормить мозг программиста… или feed your brain

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

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
Читать дальше →
Всего голосов 213: ↑163 и ↓50+113
Комментарии145

Как аналитика помогает нашей IT компании получать крупные контракты из SEO (Google USA)

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

Крупные контракты на кастомную разработку для американского бизнеса, которые приходят к нам из SEO, позволили нам, IT аутсорсинговой компанией с 300 сотрудниками, покрыться небольшим жирком. Он дает нам возможность инвестировать в разработку аналитических инструментов для собственных нужд и настраивать масштабируемый процесс лидогенерации. Началось все с меня как технического сеошника, продолжается созданием маркетинговой команды под меня и под мою методологию. Раз в это инвестирует руководитель B2B компании в сфере разработки ПО на заказ, это работает на западном рынке, и это можно масштабировать, то может и вам будет это интересно?

Подсмотреть методологию
Всего голосов 8: ↑7 и ↓1+6
Комментарии15

Как мы автоматизировали маркетинг Perekrestok.ru

Время на прочтение6 мин
Количество просмотров5K
В мае 2020 года онлайн-супермаркет «Перекресток» принимал 11 тысяч заказов в день или 7,6 заказов в минуту, а ведь история этого направления началась всего 3 года назад — в апреле 2017. Приход Перекрестка в онлайн стал частью цифровой трансформации нашего бизнеса: мы хотели лучше понимать своих клиентов и подстраиваться под их предпочтения (которые склонны меняться, и это надо учитывать). Поэтому e-commerce было решено выделить в самостоятельное направление, а из привычного онлайн-супермаркета создать полноценный интернет-магазин под зонтичным брендом. И, конечно, особое место в таком процессе занимает автоматизация, в том числе прямых коммуникаций с клиентами. К концу прошлого года автоматические рассылки приносили чуть меньше половины дохода директ-маркетинга, письма открывал каждый пятый получатель, а самое конверсионное письмо (Брошенная корзина с промокодом) приводило к покупке в одном случае из 12.


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

Паспортный контроль, или Как сжать полтора гигабайта до 42 мегабайт

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

Однажды, в качестве тестового задания на позицию PHP разработчика была предложена задача реализации сервиса проверки номеров паспортов граждан РФ на предмет нахождения в списке недействительных. Текст задания был лаконичным: «Пользовательская база 10 миллионов, время ответа 1 миллисекунда, аптайм 99%».

Не густо, но попробуем сделать из этого конфетку.

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

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

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

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

Читать далее
Всего голосов 244: ↑241 и ↓3+238
Комментарии369

Сравниваем PHP FPM, PHP PPM, Nginx Unit, React PHP и RoadRunner

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


Тестирование производилось с помощью Yandex Tank.
В качестве приложения использовались Symfony 4 и PHP 7.2.
Целью являлось сравнение характеристик сервисов при разных нагрузках и нахождение оптимального варианта.
Для удобства все собрано в docker-контейнеры и поднимается с помощью docker-compose.
Под катом много таблиц и графиков.
Читать дальше →
Всего голосов 72: ↑67 и ↓5+62
Комментарии46

Подборка статей о машинном обучении: кейсы, гайды и исследования за декабрь 2020

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


Последний месяц года нельзя назвать удачным моментом для масштабных анонсов, так как большинство переходит в режим “давайте уже после праздников”, но судя по этой насыщенной подборке в области машинного обучения, и в декабре во всю кипела работа. Поэтому с небольшой задержкой встречайте двенадцатый выпуск дайджеста, в котором мы расскажем о самом важном, что произошло в ML в конце 2020 года.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Mkcert: валидные HTTPS-сертификаты для localhost

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

В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

Традиционно есть два решения.
Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии35

Управленческие инструменты: 5 вопросов для прояснения целей или для чего нужен BMW X5?

Время на прочтение7 мин
Количество просмотров113K
Давным давно в одной из компаний, лидере мирового производства микропроцессоров, меня однажды поразила менеджерская напасть. Решил, знаете ли, заняться развитием сотрудников. (Периодически, такое с менеджерами случается, да.)

Подхожу к своему сотруднику — назовем его Серега:

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

— Сань, ну голова варит уже не очень, возраст… (Серега старше меня на 3 года) Поэтому, наверное, в менеджерскую.


Ну, в менеджерскую — так в менеджерскую. Я ж на тот момент был менеджер опытный, уже 4 года опыта! Энергии много, желания помочь людям — через край!

Короче, Серега стал моим заместителем, начал посещать всякие тренинги. Взял в управление какой-то мощный студенческий проект, там ребята что-то делали.

А кончилось все тем, что пришлось нам с Серегой расставаться. Как так получилось, где Серега в итоге реализовал себя, и какой правильный управленческий инструмент я мог бы тогда применить — об этом сегодня и поговорим.

Заодно поговорим, что делать, если вы обнаружили себя и/или своих сотрудников в квадрате C в статье:

Читать дальше →
Всего голосов 133: ↑115 и ↓18+97
Комментарии56

Как включить 3D-звук в играх в Windows 7/8/10

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

Наверное практически всем известно, что с выходом Windows Vista ещё в 2007 году, а в след за ней и во всех последующих версиях Windows звуковой API DirectSound3D был удален из Windows, вместо DirectSound и DirectSound3D стали использоваться новые API XAudio2 и X3DAudio. Вследствие чего в старых играх стали недоступны звуковые спецэффекты ЕАХ(звуковые эффекты окружающей среды). В этой статье я расскажу, как вернуть тот самый DirectSound3D/EAX во все старые игры, которые поддерживают данные технологии играя на Windows 7/8/10. Конечно, опытные геймеры всё это знают, но возможно кому-то статья будет полезна.

Старые игры не ушли на свалку истории, наоборот они пользуются огромным спросом, как у пользователей старшего поколения, так и у младшего. Старые игры лучше смотрятся на современных мониторах с высоким разрешением, для многих игр выходят моды улучшающие текстуры и шейдеры, но вот со звуком поначалу не повезло. С выходом следующего поколения Windows Vista, вслед за Windows ХР, разработчики Microsoft сочли, что DirectSound3D морально устарел — он имел ограничение в 6-канальный звук, не поддерживал сжатие звука, был процессорно зависимым и поэтому ему пришел на смену XAudio2/X3DAudio. А так как технология ЕАХ компании Creative была не самостоятельным API, как был в своё время A3D от компании Aureal, а всего лишь расширением DirectSound3D — звуковые карты компании Creative оказались за бортом. Если не использовать специальные программные врапперы, то играя на Windows 7/8/10 в старых играх пункты меню включающие EAX будут не активны. А без EAX звук в играх будет не таким сочным, объемным, позиционируемым.
Всего голосов 51: ↑51 и ↓0+51
Комментарии50

Скулятчер

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

Сижу я вчера спокойно, как водится никого особо не трогаю. Тут с двух разных контактов, почти одновременно присылают ссылку на небезызвестный твит про JSON из SQL. Одно из сообщений выглядело так:



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

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

Реализация бизнес-логики в MySQL

Время на прочтение23 мин
Количество просмотров24K
Привет Хабр! Хочу рассказать в статье мой опыт реализации бизнес логики (БЛ) в MySQL.

Есть разные мнения насчёт вопроса стоит ли хранить БЛ в базе. Я много лет работаю с Oracle и философия Oracle подразумевает, что БЛ в БД это Best Practices. Приведу пару цитат Тома Кайта:

Tom Kyte. Effective Oracle by Design
If the database does something, odds are that it does it better, faster and cheaper, that you could do it yourself
Том Кайт. Oracle для профессионалов.
Прежде чем начать, хотелось бы объяснить вам мой подход к разработке. Я предпочитаю решать большинство проблем на уровне СУБД. Если что-то можно сделать в СУБД, я так и сделаю. [...] Мой подход состоит в том, чтобы делать в СУБД все, что возможно. [...]
При разработке приложений баз данных я использую очень простую мантру:

  • если можно, сделай это с помощью одного оператора SQL;
  • если это нельзя сделать с помощью одного оператора SQL, сделай это в PL/SQL;
  • если это нельзя сделать в PL/SQL, попытайся использовать хранимую процедуру на языке Java;
  • если это нельзя сделать в Java, сделай это в виде внешней процедуры на языке C;
  • если это нельзя реализовать в виде внешней процедуры на языке C, надо серьезно подумать, зачем это вообще делать...

В то же время в среде web-разработчиков приходится слышать мнения, что БЛ в БД это чуть ли не антипаттерн. Но я не буду останавливаться на вопросе стоит ли реализовывать БЛ в БД. Пусть каждый решает сам. Тем, кто хочет посмотреть, что у меня получилось в свете не столь обширного (по сравнению с Oracle) инструментария MySQL, добро пожаловать под кат.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии46

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel

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


В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего.

В этой статье я хотел бы поделиться результатами тестирования производительности обеих библиотек и показать, как с помощью минимальных изменений в коде можно добиться 3-5 прироста производительности (на синтетический тестах!).
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии1

Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS

Время на прочтение4 мин
Количество просмотров64K
Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.



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

Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
Читать дальше →
Всего голосов 79: ↑69 и ↓10+59
Комментарии38

Разработка гибридных PHP/Go приложений с использованием RoadRunner

Время на прочтение18 мин
Количество просмотров23K
Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы, конечно, не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медленное, но мы можем дать ему вторую жизнь гибридизацией. Чтобы ускорить — демонизируем и оптимизируем утечки памяти, чтобы добиться большей производительности — внедрим собственный сервер РНР-приложений RoadRunner на Golang, чтобы добавить гибкости — упростим PHP-код, расширим стек и разделим ответственность между сервером и приложением. По сути, заставим наше приложение работать, как если бы мы писали его на Java или другом языке.

Благодаря гибридизации ранее медленное приложение перестало страдать 502 ошибками под нагрузками, уменьшилось среднее время ответа на запросы, производительность увеличилась, а деплой и сборка стали проще за счет унификации приложения и избавления от лишней обвязки в виде nginx + php-fpm.


Антон Титов (Lachezis) — технический директор и соучредитель SpiralScout LLC с опытом активной коммерческой разработки на PHP в 12 лет. Последние несколько лет активно внедряет Golang в стек разработки компании. Об одном из примеров Антон рассказал на PHP Russia 2019.
Всего голосов 46: ↑44 и ↓2+42
Комментарии3
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность