Search
Write a publication
Pull to refresh
117
0
Владимир Синельников @onthefly

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

Send message

Хранение php-сессий в Redis с блокировками

Reading time5 min
Views30K
Стандартный механизм хранения данных пользовательских сессий в php — хранение в файлах. Однако при работе приложения на нескольких серверах для балансировки нагрузки, возникает необходимость хранить данные сессий в хранилище, доступном каждому серверу приложения. В этом случае для хранения сессий хорошо подходит Redis.

Наиболее популярное решение — расширение phpredis. Достаточно установить расширение и настроить php.ini и сессии будут автоматически сохраняться в Redis без изменения кода приложений.

Однако такое решение имеет недостаток — отсутствие блокировки сессии.
Читать дальше →

Улучшение производительности PHP 7

Reading time9 min
Views34K


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

В этой статье мы рассмотрим, что изменилось в движке Zend седьмой версии по сравнению с пятой, а также разберёмся, как можно эффективно использовать внутренние оптимизации. В качестве исходной точки возьмём PHP 5.6. Зачастую многое зависит от того, как те или иные вещи написаны и представлены движку. При написании критически важного кода необходимо уделять внимание его производительности. Изменив несколько мелочей, вы можете сильно ускорить работу движка, зачастую без ущерба для других аспектов вроде читабельности кода или управления отладкой. Свои рассуждения я докажу с помощью профилировщика Blackfire.
Читать дальше →

Unity: сжимая сжатое

Reading time5 min
Views29K

Результат: информация о цвете занимает 1/64 от исходной площади при достаточно высоком качестве результата. Тестовое изображение взято с этого сайта.

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

htop и многое другое на пальцах

Reading time26 min
Views328K


На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
Читать дальше →

Как использовать кастомные шрифты в вебе и не сойти с ума

Reading time4 min
Views25K
Бывало ли так, что вы видите на веб-странице картинки и оформление, но не видите текста — он появляется на пару (десятков) секунд позже? Это загружаются кастомные веб-шрифты. Объясняем, почему это происходит и как этого избежать.

Классический вопрос на собеседовании ops-инженеров и программистов: вы написали в адресной строке браузера habr.com и нажали Enter. Что произойдет? (Ответ на 10 страницах)

Ок, мы указали для своего текста font-family: PFRegal, «Times New Roman». Что произойдет?


Браузер посмотрит, есть ли для PFRegal объявление font-face. Если оно есть, то начнется загрузка файла шрифта. Что будут видеть читатели те секунды (десятки секунд на 3G), пока происходит загрузка?
Читать дальше →

Шаблон графика отпусков (или графика обучения или иного графика) в MS Excel файле

Reading time3 min
Views330K
Работаю небольшим руководителем и имею в обязанностях составление и поддержание в актуальном виде графика отпусков своего отдела. Данный график составляется в конце года на следующий год и предоставляется в отдел кадров организации. При этом отдел кадров требует предоставлять его в формате таблицы-списка, но самому мне для работы нужен формат наглядного графика. К тому же в связи с постоянными переносами отпусков сотрудников данный график необходимо поддерживать актуальным.

Не делать ненужную работу и все что можно автоматизировать для меня жизненный принцип. В данной статье хочу поделится опытом создания MS EXCEL файла графика. Возможно полученный шаблон или данный опыт окажется полезным и вам.
Читать дальше →

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

Reading time14 min
Views138K

Эта статья — некраткий конспект книги Роберта Чалдини «Психология убеждения». Будет полезна всем, кто имеет дело с людьми, продажами и бизнесом. Книга настолько полезна, что должна оказаться на полке каждого. Помимо того, что мы хотим влиять на окружающих, очень полезно знать, когда окружающие пытаются повлиять на нас. Внутри вы найдёте множество способов убеждения и, сразу после прочтения, будете с лёгкостью замечать, когда вами пытаются манипулировать.
Читать дальше →

Нативные приложения обречены (часть 1)

Reading time6 min
Views41K
image

Отныне я не буду больше создавать нативные приложения. Все мои приложения в дальнейшем будут прогрессивными веб-приложениями (PWA, Progressive Web Apps). Это такие приложения, которые предназначены для еще более органичной работы на мобильных устройствах, чем нативные приложения.

Что я имею ввиду под «более органичной работой»? Большая часть веб-траффика исходит от мобильных устройств и пользователи устанавливают в среднем от 0 до 3 новых приложений в месяц. Это означает, что люди не тратят много времени на поиск новых приложений в App store, но они проводят много времени в сети, где могут найти и использовать ваше приложение.

Прогрессивные веб-приложения начинают свою работу как любое другое веб-приложение, но когда пользователь возвращается в приложение и показывает (фактом использования), что он заинтересован в более регулярном обращении к приложению, браузеры предложат пользователю установить приложение на свой домашний экран. PWA также могут использовать push-уведомления как и нативные приложения.
Читать дальше →

DMARC: защитите вашу рассылку от подделок

Reading time3 min
Views113K
Сталкивались ли вы с проблемой, что письма от вашего сервиса подделываются с целью вымогательства пароля или других конфиденциальных данных? Ежедневно к пользователям пытаются пробиться тысячи спамерских, фишинговых и мошеннических писем, которые злоумышленники маскируют под сообщения от известных сервисов.

Такие письма причиняют ущерб адресатам, что, в конечном счете, сказывается на репутации как самих добропорядочных сервисов, так и почтовых провайдеров.

Теперь мы даем сервисам, которые ведут свои рассылки, возможность защититься от такого рода подделок с помощью технологии DMARC (dmarc.org), которую мы поддержали первыми среди крупных почтовых сервисов в рунете.



Читать дальше →

Пара распространённых заблуждений про радиоканалы RFID и Wi-Fi (и RFID как точки Wi-Fi)

Reading time7 min
Views43K

RFID-метка для пациентов, чтобы их было видно на карте больницы

— А можете каждому строителю чип в голову вшить?
— Теоретически да, но, может быть, объясните, зачем вам это нужно?
— Они у нас стройматериалы воруют. Прямо во время работ. А так каждого будет видно, куда он там зашёл, куда не надо.

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

А дальше каждый чёртов раз, когда я рассказываю про RFID-решение, люди начинают махать руками и путать эти метки с Wi-Fi, Bluetooth и пассивными резонирующими контурами. Одна из причин — некоторые RFID-метки действительно работают по Wi-Fi 802.11. Давайте расскажу, как это используется на практике в разных странах.
Читать дальше →

Жульничество во «всемирный день шопинга» наглядно

Reading time2 min
Views66K

На этой неделе на Geektimes была публикация со статистическим анализом изменения цены товара на AliExpress во «всемирный день шопинга» 11.11. По ней с честной скидкой продавалась только четверть товаров. А я случайно заглянул туда меньше, чем за сутки до начала распродажи, и заметил сразу несколько способов обмана невнимательных покупателей.
Читать дальше →

Дизайн города, основанный на данных

Reading time5 min
Views26K


Совсем недавно в центре Москвы запустилась новая сеть наземного транспорта «Магистраль». Стоит сразу оговориться — наземный транспорт присутствовал в центральной части города и раньше, только организация маршрутной сети была неудобной и неэффективной. Так что проблема реформы наземного транспорта в центре Москвы назревала давно.

Летом этого года Департамент транспорта Москвы собрал рабочую группу, в которую вошло множество российских и зарубежных экспертов, включая известного транспортного планировщика Джаретта Уокера, который уже успел перекроить наземный транспорт в нескольких десятках городов по всему миру, и компанию Mobility in Chain. Команде Urbica удалось принять участие в той части работы, которая относилась к анализу и визуализации данных.
Читать дальше →

Массовое ограбление покупателей Fix-Price

Reading time3 min
Views139K
Большинство людей думают, что их очень сложно ограбить, но когда грабителям помогает сам магазин — всё становится в разы проще. Я расскажу как толпе школьников удалось обнести клиентов магазина на огромные суммы и как работники магазина этому поспособствовали.

image
Читать дальше →

Как работает Git

Reading time19 min
Views153K
В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

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

Текст разбит на серии команд, работающих с единым проектом. Иногда встречаются наблюдения по поводу структуры данных графа, лежащего в основе Git. Наблюдения иллюстрируют свойство графа и поведение, основанное на нём.

После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
Читать дальше →

Шпаргалка по Flexbox (CSS3 Flexible Box)

Reading time1 min
Views376K
Мне не нова магия Flexbox, но я не часто ее использую, и поэтому после паузы в использовании мне приходится открывать вот этот пост на CSS-Tricks чтобы освежить память.

Я решила создать краткую визуальную шпаргалку по Flexbox для тех случаев освежения памяти после паузы в будущем. Думаю, что у меня получилась шпаргалка, основанная на… шпаргалках.


Читать дальше →

Login или Log in?

Reading time2 min
Views89K


‘Login’ или ‘log in’? Одно слово или два? Это достаточно распространенный вопрос среди тех, кто пишет на английском языке. Давайте разберемся, как же правильно.

Читать дальше →

Музыкальная теория для гиков

Reading time17 min
Views130K
imageКто-то считает музыку уделом избранных талантов, кто-то — набором физических закономерностей. Автор материала делает попытку объяснить знакомые каждому музыкальные термины, такие как тон, интервал, амплитуда, нота, октава, партитура, аккорд и так далее с помощью расчетов и технических обоснований. Ниже перевод оригинального текста.

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

Все остальные правила для меня выглядят совершенно, ну просто абсолютно произвольно. Почему у нас есть 12 нот, но для их обозначения применяются только 7 букв? Откуда взялись знаки при ключе? Почему ни одну статью по музыке в Википедии просто невозможно понять, не прочитав сперва все остальные?
Читать дальше →

Frontend: Разработка и поддержка (+голосование)

Reading time14 min
Views37K


Давайте представим, что вас перевели на новый проект. Или вы сменили работу и о проекте максимум только слышали. Вот вы садитесь за рабочее место, к вам приходит менеджер, жмёт руку и… прямо сходу открывает страницу проекта, тыкает пальцем в монитор и просит вставить «информер о предстоящем событии Х». На этом вы расстаётесь… Что делать? С чего начать? Как создать «информер»? Где найти нужный шаблон? И море других вопросов.

Под катом будет рассказ, как мы стараемся организовать эти процессы, какие инструменты создаём для препарирования SPA. Кроме этого, мы поговорим о технических подробностях реализации Live Coding / Hot Reload и чуток о VirtualDom и React с Angular.

Про безопасность в phpBB

Reading time2 min
Views6.1K
Добрый день друзья! Начну с того что с php и phpbb знаком по той необходимости, что на своем проекте мы используем этот форум, так как не нашли более достойной альтернативы. Помимо периодических обновлений с php я не сталкиваюсь и с особенностями работы этого форума знаком мало.

Недавно случилось страшное — наш сервер с аптаймом чуть меньше года(после последней миграции) перезагрузился. На сервере развернут собственно сайт и форум phpbb 3.0.12.
Читать дальше →

Работа с Big Data при помощи GPU: ускорение работы баз данных в десятки раз

Reading time4 min
Views17K


Уже несколько лет дата-центры многих компаний работают с вычислениями с ускорением на GPU. Наша компания сейчас изучает этот вопрос, поскольку такой тип вычислений становится все более востребованным. Так, вычисления с ускорением на GPU можно (и нужно) использовать для ускорения требовательных к ресурсам приложений, созданных для работы в таких сферах, как глубокое обучение, аналитика и проектирование. Этот метод используют в дата-центрах крупных компаний, в лабораториях научно-исследовательских организациях, на предприятиях.

Благодаря ускорению на GPU работают многие сервисы, обеспечивающие работу нейронных сетей или обрабатывающие данные, поступающие с умных автомобилей. Плюсом такого метода является то, что ресурсоемкая часть приложения, которая требует большой вычислительной мощности, обрабатывается на GPU, а все остальное выполняется на CPU. В последние несколько лет стали появляться комбинированные решения, на основе которых создаются высокоскоростные базы данных. Такие решения стоит использовать, например, для визуализации крупных массивов данных.

Information

Rating
Does not participate
Location
Курск, Курская обл., Россия
Date of birth
Registered
Activity