Search
Write a publication
Pull to refresh
4
0
trdm @trdm

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

Send message

Как правильно использовать переменные в препроцессорах LESS и SASS

Reading time10 min
Views37K

Правила управления переменными в препроцессорах и методика переопределения настроек


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


Предыстория


В 2014 году в компании начали редизайн проекта и в основу вёрстки мы положили свежий на тот момент Bootstrap 3.0.1. Использовали мы его не как отдельную стороннюю библиотеку, а тесно заинтегрировали с нашим собственным кодом: отредактировали переменные под наш дизайн и компилировали кастомизированный Бутстрап из LESS исходников самостоятельно. Проект оброс собственными модулями, которые использовали бутстраповские переменные и добавляли в файл с настройками свои новые переменные.


В тот момент я думал, что это правильный подход.

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

Защищаем сайт с помощью ZIP-бомб

Reading time3 min
Views90K

Старые методы по-прежнему работают


[Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

Если вы когда-нибудь хостили веб-сайт или администрировали сервер, то наверняка хорошо знаете о плохих людях, которые пытаются сделать разные плохие вещи с вашей собственностью.

Когда я в возрасте 13 лет впервые захостил свою маленькую Linux-коробочку с доступом по SSH, я смотрел логи и каждый день видел IP-адреса (в основном, из Китая и России), которые пытались подключиться к моей сладенькой маленькой коробочке (которая на самом деле была старым ноутом ThinkPad T21 со сломанным дисплеем, жужжавшим под кроватью). Я сообщал эти IP их провайдерам.

На самом деле если у вас Linux-сервер с открытым SSH, то можете сами посмотреть, сколько попыток подключений происходит ежедневно:

grep 'authentication failures' /var/log/auth.log
Читать дальше →

Логическая репликация в PostgreSQL 10

Reading time9 min
Views26K

PG Day’17 продолжает радовать вас авторскими статьями. Сегодня, наш старый друг и бессменный автор провокационных статей о Web-разработке varanio расскажет о логической репликации.


Сначала я хотел назвать статью "Гарри Поттер и философский камень", потому что много лет при сравнении PostgreSQL с MySQL кто-нибудь всегда появлялся и замечал, что в Посгресе нет логической репликации (можно реплицировать только всю базу целиком, причем реплика read only), а в MySQL их целых два вида: statement based и row based.


И если statement based — это бомба замедленного действия с лазерным прицелом в ногу, то row based действительно очень не хватало в PG. Т.е. вопрос репликации — как философский камень у любителей баз.


Точнее, в посгресе всегда можно было использовать slony для того, чтобы, например, реплицировать только одну-две нужных таблицы. Но slony — это хитрое поделие на триггерах, которое работает по принципу: работает — не трогай. Т.е. например, нельзя просто взять и сделать ALTER TABLE ADD COLUMN, это надо делать через специальные механизмы. Если же всё-таки кто-то случайно это сделал, а потом, что еще хуже, через какое-то время в панике вернул как было, то быстро разрулить эту ситуацию может только чёрный маг 80lvl. Помимо slony, начиная с 9.4 стало возможно писать свои расширения для логической репликации через wal, вроде бы, пример такого расширения — pglogical.


Но это всё не то!


Когда я узнал, что в dev-ветку PostgreSQL 10 упал коммит, который позволяет из коробки, без экстеншенов и плагинов, логически реплицировать отдельные таблицы, я решил посмотреть, а как оно там работает.

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

Одинарная или двойная точность?

Reading time6 min
Views80K

Введение


В научных вычислениях мы часто используем числа с плавающей запятой (плавающей точкой). Эта статья представляет собой руководство по выбору правильного представления числа с плавающей запятой. В большинстве языков программирования есть два встроенных вида точности: 32-битная (одинарная точность) и 64-битная (двойная точность). В семействе языков C они известны как float и double, и здесь мы будем использовать именно такие термины. Есть и другие виды точности: half, quad и т. д. Я не буду заострять на них внимание, хотя тоже много споров возникает относительно выбора half vs float или double vs quad. Так что сразу проясним: здесь идёт речь только о 32-битных и 64-битных числах IEEE 754.

Статья также написана для тех из вас, у кого много данных. Если вам требуется несколько чисел тут или там, просто используйте double и не забивайте себе голову!

Статья разбита на две отдельные (но связанные) дискуссии: что использовать для хранения ваших данных и что использовать при вычислениях. Иногда лучше хранить данные во float, а вычисления производить в double.
Читать дальше →

Кассовые аппараты выходят онлайн: налоговая России открыла новый рынок для разработчиков приложений

Reading time5 min
Views10K
Для среднего хабравчанина, возраст которого, по точным вычислениям НЛО, составляет 31 год, мир сейчас совсем не тот, каким был, когда он появился в нём на свет. Телефоны-автоматы с кольцом набора номера, домашние телефоны и телеграф сменили мобильные телефоны. Очереди в кассы сменились временами падающими от перегрузок сайтами. Рыбалку заменили покемоны. Но кассирши как сидели за своими кассами в 1986 году, пробивая чеки, так и сидят. Они обросли терминалами, мы — бесконтактными платежами, но суть не поменялась. Рутина, не менявшаяся более ста лет. Пока не настал XXI век.

image

В России он, похоже, начинается в этом году — потому что с 2017 года все кассовые аппараты в нашей стране оснащаются обязательным выходом в интернет. О том, как это случилось, что это значит, и почему JS, Java, Kotlin и серверным разработчикам пора разминать пальцы и продувать клавиатуры — в этой статье.
Читать дальше →

Онлайн-кассы: первые итоги

Reading time4 min
Views45K
Итак, ФЗ №54 скоро вступит на полную мощь, а пока лишь 30% онлайн-предпринимателей смогли выполнить его условия (да и то, не все из них — в полном объёме). Если говорить точнее: то из примерно 1 200 000 касс, которые должны пройти перерегистрацию, прошли её — 420 000.

Во-первых, о затратах: очень многие утверждают, что малый (а особенно — микро) бизнес никак не пострадает от новаций. Но так ли это?


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

Обратный звонок или чат — какой инструмент продает эффективнее

Reading time3 min
Views4.8K
Наша компания достаточно популярна как на рынке онлайн-консультов (RedHelper) так и обратных звонков (RedConnect). Недавно мы провели исследование, в котором выяснили в каких категориях сайтов больше обращений клиентов через чат, а где посетители предпочитают заказать обратный звонок. Ниже я расскажу о том, какой инструмент превращения посетителя в клиента работает лучше и в каких условиях.

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



График роста платных клиентов онлайн-консультанта RedHelper
Читать дальше →

Работа веб-проекта в условиях нестабильного подключения

Reading time5 min
Views26K
Здравствуйте, меня зовут Александр Зеленин, я веб разработчик. Сегодня хочу рассказать, как могут работать сайты в условиях нестабильного подключения как и обещал. Проще говоря, что делать если отключили интернет, а деньги зарабатывать надо.

Рассмотрим 3 примера: интернет-магазин, кинотеатр и онлайн-плеер. Для магазина и кинотеатра так же идет разделение на 2 части — что делать на стороне пользователя и на стороне оператора/продавца.
Так что делать при потере коннекта?

Обзор платежных агрегаторов для приема платежей

Reading time24 min
Views344K
image Если вы владелец интернет-магазина и хотите, чтобы покупатель мог оплатить товары удобным ему способом, у вас есть два пути: подключать и настраивать оплату для каждой платежной системы отдельно — мучиться с интеграцией, подписанием договоров… либо сделать все быстро и без лишней волокиты — воспользоваться услугами компании, которая является платежным агрегатором. При выборе последнего варианта вам понадобится подписать всего один договор, а ваш покупатель сможет выбрать удобный ему способ оплаты из десятков доступных. Это и оффлайн способы, и электронные кошельки и, конечно же, оплата банковской картой. Платежных агрегаторов множество.

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

Чем же платежные агрегаторы отличаются друг от друга, и на что стоит обратить внимание?


Каждую компанию было решено рассмотреть по десяти параметрам. Ниже приведено детальное описание параметра и почему на это стоит обратить внимание.
Читать дальше →

Мое дело — Онлайн-бухгалтерия для индивидуальных предпринимателей

Reading time2 min
Views3.9K


Привет!

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

Нашей целью было сделать бухгалтерию доступной для любого человека — поэтому мы сконцентрировались на небольшом сегменте рынка — индивидуальные предприниматели на 6%-ной упрощенке, работающие без кассы. Это позволило сделать сервис очень простым и понятным — без бухгалтерского лексикона, ссылок на нормативные акты и перегрузки ненужной информацией вроде расчета НДС, ЕНВД итд. И, я думаю, у нас это неплохо получилось.

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

«Нам плевать на ваши визитки и стильные сайты...» — Действия, которые не влияют на деньги в кассе

Reading time6 min
Views46K
Красивые визитки, брендированные конверты, красочные буклеты и прочие действия, которые отнимают время и не влияют на деньги в кассе. Типичные ошибки стартапов от идеи до первых продаж. Как не спутать важные действия и второстепенные?



Смотря на другие проекты и анализируя свои, захотелось собрать в одну кучу все типичные мысли и ошибки людей, у которых возникла «гениальная» идея по бизнесу. Не важно в какой отрасли, каждый стартап проходит через одинаковые точки развития. Главная проблема в том, чтобы уметь отличать важные действия от второстепенных. Можно сутками сидеть в офисе, поднимать пыль в воздух, решая ненужные задачи, а можно за 1 день сделать недельный результат.
Итак, вот те самые мысли и действия, которые кажутся такими важными, но которые так мало значат в реальности:

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

9 секретов онлайн-платежей. Часть 3: страница выбора способа оплаты

Reading time7 min
Views26K
imageСегодня количество способов онлайн оплаты в Рунете перевалило за сотню: банковские карты, электронные кошельки, счета мобильных, терминалы, интернет-банкинг – и это еще не все. В новом выпуске из серии статей «9 секретов онлайн-платежей» PayOnline, компания, оказывающая услуги по интеграции различных способов оплаты на сайты и в мобильные приложения, поможет вам ответить на два ключевых вопроса: «Что?» (какие способы оплаты нужны вашим клиентам) и «Как?» (как помочь клиенту выбрать платежный инструмент без сложностей и проблем).
Читать дальше →

Интернет-магазин на «1С-Битрикс» и кассы: требования закона 54-ФЗ

Reading time11 min
Views62K


С 1 февраля 2017 года вступили в силу поправки к закону 54-ФЗ о контрольно-кассовой технике.

Эти поправки вносят ряд изменений и новых требований по работе с кассами и кассовыми чеками. О том, как мы адаптировали CMS «1С-Битрикс» под новую редакцию закона, чтобы облегчить жизнь интернет-магазинам, читайте под катом.
Читать дальше →

Государство хочет знать обо всех покупках в магазинах и кафе: разбор нового закона об онлайн-кассах

Reading time9 min
Views52K


Фото: Timo Kuusela, Flickr

Начиная с 1 февраля российские компании и предприниматели больше не могут зарегистрировать в ФНС обычные кассы. Согласно требованиям новой редакции ФЗ-54 необходимо устанавливать онлайн-кассы, которые отправляют данные обо всех продажах в налоговую через интернет. Сегодня мы поговорим о том, что на самом деле меняется — с точки зрения бизнеса, покупателей и технологий.
Читать дальше →

Так ли страшен чёрт или как мы внедряли онлайн-кассу

Reading time10 min
Views69K

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


Онлайн-касса


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

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

Обзор анимации с codepen для страниц загрузки сайта

Reading time14 min
Views27K
Обзор анимации с codepen для страниц загрузки сайта

Программисты проверяют идеи для сайтов на площадках: codepen, jsbin, jsfiddle, cssdesk. Потому что там они мгновенно видят результат написанного кода и могут показать его другим.


Codepen — одна из самых популярных. Там более 500 тыс. готовых решений. Из них половина — хлам: неэффективный код, не работают на планшетах и телефонах, не поддерживают все популярные браузеры. Надо потратить много часов на поиск идеи, которую можно использовать на своем сайте.


Я решил делать подборки полезных решений с codepen. Первую уже выпускал на хабре «Обзор многоуровневых меню». Теперь вторая — «Обзор анимации для страниц загрузки сайта».


Подборку разделил на 3 статьи.


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

Что мешает отечественным программистам повторить успех Цукерберга

Reading time4 min
Views96K
В 90-х если у тебя не было кроссовок Адидас, ты был лохом. В 2000-х если у тебя не было мобильного телефона, ты был лохом. Сейчас если у тебя нет своего стартапа — ты лох.

Статья на похожую тему недавно вышла в украинском Forbes. Автор заметки — Ольга Белькова, народный депутат Украины, бывший партнер бизнес-акселератора Eastlabs. Мне бы хотелось дополнить статью своими комментариями и наблюдениями, так как знаю, что эта тема многих тревожит. Все нижесказанное является моим личным мнением.

Не Цукербергом едины


Первое, на что хотелось бы обратить внимание, это большая зацикленность на успехе Цукерберга, а также создателей Instagram (раньше в качестве таких примеров были Бил Гейтс, Стив Джобс и создатели Google Сергей Брин и Ларри Пейдж). Эти примеры — исключения даже для Кремниевой долины, и не могут служить пособием для подражания.
Читать дальше →

Деобфускация PHP кода

Reading time20 min
Views56K
Деобфускация PHP
Так уж случилось, что на днях мне попался один нужный PHP скрипт, но обфусцированный.
По какой-то причине он никак не работал. Я пишу на PHP достаточно давно, и мне очень нравится отлавливать нестандартные ситуации в скриптах, особенно когда при выполнении в логах нет ошибок, а скрипт просто не выполняет своих предназначенных обязанностей, руки так и чесались расшифровать. Последней каплей стало то, что автора этого скрипта не было в сети, чтобы помочь решить мою проблему. Скрипт кстати куплен моим товарищем, собственно он и попросил помочь.

Цель данной статьи, показать принцип дешифровки, зашифрованных скриптов, чтобы например расшифровать залитый злоумышленником вирус на PHP.

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

GraphicsJS – графическая JavaScript библиотека

Reading time9 min
Views30K


Перевод статьи. Англоязычный оригинал опубликован на SitePoint – "Introducing GraphicsJS, a Powerful Lightweight Graphics Library".

HTML5 – основа основ современного веба. И сегодня, когда встает задача создать интерактивную графику, выбор чаще всего падает на такие технологии, как SVG и Canvas. Flash позабыт, Silverlight – редкая птица, обитающая на задворках веба, и почти никто не помнит сторонние ActiveX и Java-плагины.

Плюсы и минусы SVG и Canvas хорошо известны – в целом все сводится к тому, что для создания интерактивных элементов и работы с ними больше подходит SVG. Это векторный формат, основанный на XML, и, когда изображение загружается на страницу с использованием тега <svg>, каждый его внутренний элемент становится доступен в SVG DOM.

В данной статье я хочу рассказать о GraphicsJS. Это мощная графическая JavaScript-библиотека с открытым исходным кодом, основанная на технологии SVG (VML для старых версий IE). Начну с краткого введения в основы GraphicsJS, а затем проиллюстрирую возможности библиотеки двумя небольшими, но наглядными примерами. Первый из них посвящен изобразительному искусству. Второй покажет, как менее чем за 50 строк кода сделать простую арт-игру в жанре таймкиллера.

Information

Rating
9,095-th
Registered
Activity

Specialization

1C Developer
Middle
From 170,000 ₽