Как стать автором
Обновить
0
0
Pulik @Pulik

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

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

Яндекс убивает бизнес, или будьте осторожны с блоком #main

Время на прочтение3 мин
Количество просмотров67K
UPD 16.03.2016: Новая версия аддона больше не убивает!

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

Суть в том, что пару месяцев назад нам стали поступать запросы от пользователей, с жалобой, что они не могут разместить объявление на сайте, потому что футер наезжает на кнопку «добавить», со скриншотами, типа таких:



Казалось бы, просто поехала верстка, футер стал наезжать на контент, при чем тут Яндекс?
При чем же здесь Яндекс?
Всего голосов 131: ↑110 и ↓21+89
Комментарии102

Кризис ожирения сайтов

Время на прочтение30 мин
Количество просмотров123K
Примечание переводчика: визит под кат этого поста означает большие объёмы потреблённого трафика. И это иронично, если учесть поднятую тему. Но всё сразу встаёт на свои места, если помнить, что в оригинале это было выступление в прошлом ноябре в Сиднее длиной почти в час. Чтение поста занимает куда меньше времени. В форме видеозаписи (1280×720) речь занимает два гигабайта. Пост же занимает всего лишь 12 МиБ. Рекомендуется просмотр на широких мониторах.



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

Выступление совсем не об этом. Я хотел бы поговорить об этом общественном кризисе здоровья, этом ожирении сайтов. Отличные дизайнеры, которые задумываются о вебе как я или даже больше, почему-то делают страницы, которые становятся больше. Речь пойдёт о текстовых в своей основе сайтах, которые по каким-то непостижимым причинам с каждым годом становятся всё больше и больше.
Читать дальше →
Всего голосов 97: ↑93 и ↓4+89
Комментарии124

Долгая история про локализацию даты без года в PHP

Время на прочтение12 мин
Количество просмотров16K
Давайте начнём с простой задачки — вывести локализованную дату: там должен быть день, полное название месяца на языке локали и полный год. В наше время это действительно очень просто. В PHP есть своё i18n-расширение intl, которое входит в ядро с версии 5.3. И в этом intl есть класс IntlDateFormatter, у которого в свою очередь предопределено несколько форматов. Используем его LONG формат.

<?php

foreach (['en_US', 'ru_RU', 'es_ES', 'fa_IR'] as $locale) {
    $formatter = new IntlDateFormatter(
        $locale, 
        IntlDateFormatter::LONG, 
        IntlDateFormatter::NONE, 
        'Europe/Moscow'
    );
    echo $formatter->format(1455111783), PHP_EOL;
}

Результат:

February 10, 2016
10 февраля 2016 г.
10 de febrero de 2016
۱۰ ﻑﻭﺭیﻩٔ ۲۰۱۶ ﻡ. // вот тут вообще-то RTL-текст, но я хз как это правильно оформить

Пока неплохо. А теперь давайте слегка изменим условия: «вывести локализованную дату: там должен быть день и полное название месяца на языке локали». То есть, мы не хотим отображать год.
Казалось бы, ерунда. Но есть нюанс...
Всего голосов 37: ↑37 и ↓0+37
Комментарии40

Ральф Баер: «Видеоигры, я ваш отец!»

Время на прочтение6 мин
Количество просмотров23K
«I can never thank Ralph enough for what he gave to me and everyone else.» Steve Wozniak, Co-founder Apple Computers


Ральф Баер сконструировал первый световой меч пистолет.

Год 1951. Баер работал старшим инженером в оборонной компании Loral Electronics, он разрабатывал аналоговый компьютер для радарных установок. Знания в этой области очень пригодились ему при работе над видеоиграми. Одной из задач, была разработка модели черно-белого телевизора.

В то время только все компании по производству электроники пытались освоить этот перспективный рынок. Работая над телеприемником, Баер подумал, а почему бы не сделать в нем нечто, отличающее его от творений конкурентов: например, специальный канал, работающий на частоте телевизионных каналов 3 или 4 (в те времена они были не заняты). Этот канал Баер назвал LP (Let’s Play!), и на нем телезритель мог… поиграть в интерактивные игры.

Мыслями о телеканале LP, записанными в тетради в линейку карандашом, Баер поделился со своим боссом – старшим инженером Loral Сэмом Лецкоф, который и поручил Баеру создать «лучший в мире телевизор». В ответ он услышал бюрократическое: «Забудь про это, парень. Просто сделай этот чертов телевизор. Мы и так дико выбились из графика». Концепция видеоигр ждала своего часа 15 лет.
Всего голосов 26: ↑23 и ↓3+20
Комментарии3

Векторная графика бесплатно — подборка сайтов

Время на прочтение3 мин
Количество просмотров426K
У векторной графики много преимуществ. В отличие от растровых, векторные изображения более гибкие, легко масштабируются, сохраняют качество и т.д. Ниже представлена подборка веб-ресурсов с бесплатными векторными иконками, символами и картинками.

1. Freepik


www.freepik.com

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



Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии3

Как новые руководители разрушают доверенные им компании

Время на прочтение26 мин
Количество просмотров401K
Эта статья – о рисках смены руководства в больших компаниях и характерных явлениях при попытках игнорировать закон эффективного управления собственностью:
Эффективно управлять можно только той собственностью, которую мог бы создать сам.
Кто не может создать, – будет только разрушать!
И.А. Дедюхова, Кодекс Хамурапи
Картинка для привлечения внимания читателей из поколений Y и Z:


Краткое содержание


Новый директор себе в подчиненные и советники пригласит своих «проверенных людей». Увеличение штата топ-менеджеров в условиях фиксированного ФОТ повлечет за собой сокращение рядовых сотрудников на значительный процент.
Новый директор в первую очередь будет сокращать те подразделения, работу которых он не понимает. Под прессом психологического давления руководители этих подразделений возмут на себя обязательства самостоятельно разработать планы по сокращению и принять на себя все риски их реализации.
Сокращения пройдут под флагом повышения эффективности, но для «непонятных директору» подразделений не смогут сформулировать критерии этой эффективности, кроме «минимизации затрат». Цель по минимизации затрат без дополнительных обоснованных ограничений – это цель по уничтожению, и не имеет отношения к настоящей оптимизации.
Отсекая непонятные ему части компании (выводя в аутсорс и т.п.), директор попытается превратить компанию в ту, работу которой он полностью способен понять, которой он в полной мере способен управлять.
Проблему нехватки знаний в технической области новый директор и его команда компенсируют «помощью» от западных консалтинговых компаний. Это приведет к ситуации внешнего управления, причем без всякой ответственности за диктуемые извне решения.
Внешняя и внутренняя отчетность о работе компании до самого конца не будет показывать никаких признаков проблем, т.к. тому, кто принес плохие вести не выдают премию, а рубят голову.


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

9 секретов онлайн-платежей. Часть 2: регулярные платежи

Время на прочтение6 мин
Количество просмотров25K
imageНеважно, что вы продаете онлайн, сегодня принимать платежи по банковским картам – это правило «хорошего тона». Однако, в зависимости от типа бизнеса, который вы введете в Интернете, можно не только соблюсти правила, но и настроить прием платежей максимально эффективно и «выжать» из своего сайта максимум прибыли.

В сегодняшнем выпуске, втором из цикла «9 секретов онлайн-платежей», мы расскажем, почему регулярные платежи, которые называют еще «автоплатежами» и «рекуррентными платежами», так важны для любого онлайн-бизнеса, как их воспринимают пользователи, чем заинтересовать и как с помощью них удержать клиента на вашем сайте. Данная серия, посвященная поэтапной настройке платежей на сайте и в мобильных приложениях, содержит восьмилетний опыт работы команды PayOnline, подключившей оплату для более 3 000 интернет-магазинов и сервисов.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии3

Где и у кого учиться робототехнике, управлению большими данными, качественной разработке ПО

Время на прочтение1 мин
Количество просмотров25K
Мы собрали в одном месте все созданные совместно с ПостНаукой краткие обучающие видеоматериалы от профессоров Университета Иннополис.


Если темы вам интересны, добро пожаловать под кат.
Смотреть видео
Всего голосов 18: ↑15 и ↓3+12
Комментарии7

Почему технический долг — это хорошо

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

То же самое относится к техническому долгу. Бесчисленное множество статей в интернете рассказывают, как от него избавиться или хотя бы уменьшить. Все эти статьи показывают технический долг каким-то монстром, которого надо избегать. А если не получилось – то бороться изо всех сил.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии21

Правила хорошего тона при написании плагина на jQuery

Время на прочтение7 мин
Количество просмотров32K
Правила хорошего тона при написании плагина на jQueryЯ написал уйму плагинов на jQuery. Если посмотреть код всех плагинов, сортируя их по дате публикации на github, то можно проследить эволюцию кода. Ни в одном из этих плагинов не соблюдены все рекомендации, которые будут описаны ниже. Все что будет описано, лишь мой личный опыт, накопленный от проекта к проекту.
Писать расширения на jQuery довольно просто, но если хотите узнать как написать их так, чтобы потом их было просто поддерживать и расширять, добро пожаловать под кат.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии36

Архитектура чистого кода и разработка через тестирование в PHP

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

Перевод статьи Vitalij Mik Clean Code Architecture and Test Driven Development in PHP

Понятие «архитектура чистого кода» (Clean Code Architecture) ввел Роберт Мартин в блоге 8light. Смысл понятия в том, чтобы создавать архитектуру, которая не зависела бы от внешнего воздействия. Ваша бизнес-логика не должна быть объединена с фреймворком, базой данных или самим вебом. Подобная независимость даёт ряд преимуществ. К примеру, при разработке вы сможете откладывать какие-то технические решения, например выбор фреймворка, движка/поставщика БД. Также вы сможете легко переключаться между разными реализациями и сравнивать их. Но самое важное преимущество такого подхода — ваши тесты будут выполняться быстрее.

Просто подумайте об этом. Вы действительно хотите пройти роутинг, подгрузить абстрактный уровень базы данных или какое-нибудь ORM-колдовство? Или просто выполнить какой-то код, чтобы проверить (assert) те или иные результаты?
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии38

Часы на ПЛИС Lattice

Время на прочтение19 мин
Количество просмотров34K
Некоторое время назад, хаброжитель DmitrySpb79 написал статьи о создании электронных часов. В них он рассмотрел источники точного времени, а так-же элементную базу для создания электронных часов. Были упомянуты Arduino, STM, Raspberry PI, ESP8266, но совсем забыли про ПЛИС.

Давайте заполним этот небольшой пробел. Узнаем, на сколько просто сделать часы на ПЛИС и какие аппаратные ресурсы для этого потребуются. К тому же, мне подарили микросхему ПЛИС очень малого объема — 64 макроячейки. Это ПЛИС LC4064v фирмы Lattice с которыми я до этого никогда не работал. Я думаю, будет интересно!

Цели:

  • попытаться уместить логику работы часов в ПЛИС малого размера (64 макроячейки);
  • освоить статическую либо динамическую светодиодную индикацию на ПЛИС для вывода времени;
  • собрать кучу граблей, связанных с самостоятельной разработкой схем и получить новый опыт;
  • освоить новую среду разработки и программирования для ПЛИС фирмы Lattice, оценить сложность перехода

Меня ожидает несколько очень приятных вечеров, посвященных разработке на ПЛИС!

Добро пожаловать под кат!
Всего голосов 31: ↑31 и ↓0+31
Комментарии13

Все способы вертикального выравнивания в CSS

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

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии20

Тестируем вёрстку правильно

Время на прочтение8 мин
Количество просмотров106K
Makeup — инструмент для комфортного ручного регрессионного тестирования вёрстки

Что не так с тестированием вёрстки


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

Проблема тестирования вёрстки в том, что только живой человек может сказать, хорошо свёрстан блок на странице или нет. Поэтому чаще всего мы тестируем HTML и CSS вручную: проверяем, как будет вести себя блок, если в нем будет слишком много (или слишком мало) текста или дочерних элементов; смотрим, чтобы все возможные варианты отображения блока смотрелись корректно; помним о том, как блоки должны адаптироваться к разным устройствам и разрешениям экрана.
Можем ли мы перестать делать это руками?
Всего голосов 35: ↑33 и ↓2+31
Комментарии31

Axure 7 для начинающих за 100 минут

Время на прочтение2 мин
Количество просмотров73K
Axure — инструмент для создания интерактивных прототипов сайтов и мобильных приложений. Навыков работы с ним часто требуют работодатели, ищущие проектировщика интерфейсов или UX&UI-дизайнера. В России это почти что отраслевой стандарт. Axure 7 — последняя версия программы. Восьмая версия сейчас в бете.

В одной школе интернет-технологий (не упоминаю, чтобы не сочли за рекламу) с мая 2015 года я рассказываю начинающим дизайнерам об Axure 7. В течение 3 часов (минус небольшой перерыв) объясняю, как работают те возможности программы, которые нужны мне для большинства проектов. И закрепляю знания практикой.

Примерная структура занятия:
  • Примеры прототипов;
  • Виджеты, их настройка и расстановка по холсту с помощью сетки, направляющих и выравнивания;
  • Мастера;
  • Динамические панели;
  • Создание интерактива (ивенты, экшены, кейсы, условия);
  • Под конец: способы передачи прототипа заказчику, свойства страниц, стили.

Начинающим тяжело усвоить столько информации, но это базовые вещи для тех, кто с акшурой уже работает. Для улучшения учебного процесса (и чтобы не скучать, рассказывая одно и то же) я перевёл теоретическую часть в формат видео.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

UART и с чем его едят

Время на прочтение10 мин
Количество просмотров892K
После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

image
Роутер превращается в компьютер, если к нему по UART подключить клавиатуру и дисплей

От телеграфа к COM-порту


Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известен из семейства UART протокол RS-232 (в народе – COM-порт, тот самый который стоит у тебя в компе). Это, наверное, самый древний компьютерный интерфейс. Он дожил до наших дней и не потерял своей актуальности.

Надо сказать, что изначально интерфейс УАПП появился в США как средство для передачи телеграфных сообщений, и рабочих бит там было пять (как в азбуке Морзе). Для передачи использовались механические устройства. Потом появились компьютеры, и коды ASCII, которые потребовали семь бит. В начале 60-х на смену пришла всем известная 8-битная таблица ASCII, и тогда формат передачи стал занимать полноценный байт, плюс управляющие три бита.
Читать дальше →
Всего голосов 198: ↑192 и ↓6+186
Комментарии97

Я веб-разработчик и уже 10 дней не могу написать простейшее приложение

Время на прочтение6 мин
Количество просмотров139K
Предлагаю вашему вниманию перевод статьи "I’m a web developer and I’ve been stuck with the simplest app for the last 10 days".

От переводчика: мнение автора местами частично, или полностью, не совпадает с моим, но вопрос поднимается, как мне кажется, правильный. Рекомендую почитать комментарии в блоге автора.

В основном я занимаюсь full-stack web-разработкой. Периодически пишу бэкенд на Python или Ruby, иногда работаю с C#. Еще я пишу консольные утилиты на C++ и Node.js. Мне нравится Closure, я познакомился с web много лет назад, когда писал на Perl и PHP, а первые годы профессиональной разработки посвятил программированию на Java.

Когда я впервые встретился с Javascript, он в основном использовался для того, чтобы добавить на страничку "Текущее время". Это были девяностые, когда все хотели приправить свои странички так, чтобы пользователи могли оценить, как это клево: текущий день недели выводится динамически. А спустя какое-то время оказывалось, что Javascript может гораздо больше, и мы получаем полностью динамический HTML — DHTML!

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

Десять дней назад я решил сделать небольшое SPA для себя — маленькая утилита, потенциальный pet-project. Работы дня на два-три. А последние полгода я работал над десктопным проектом на C#. Это была довольно скучная программулина для управления рабочими процессами: webservice-бэкенд и winforms на фронте.
Читать дальше →
Всего голосов 139: ↑132 и ↓7+125
Комментарии148

Почему я больше не использую MVC-фреймворки

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


Уважаемые хабравчане.

Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в gitter.

Вы можете пообщаться с ним лично в следующих чатах:
https://gitter.im/jdubray/sam
https://gitter.im/jdubray/sam-examples
https://gitter.im/jdubray/sam-architecture

Также автор статьи разместил примеры кода здесь: https://bitbucket.org/snippets/jdubray/

По поводу кода он оставил следующий комментарий:
I don't code for a living, so I am not the best developer, but people can get a sense of how the pattern works and that you can do the exact same thing as React + Redux + Relay with plain JavaScript functions, no need for all these bloated library (and of course you don't need GraphQL).
Читать дальше →
Всего голосов 78: ↑67 и ↓11+56
Комментарии254

Работа с устройствами USB в Android

Время на прочтение5 мин
Количество просмотров79K
В недавней статье на Geektimes в комментариях возник вопрос о поддержке в ОС Android периферии, подключенной к шине USB. Действительно, большинство вендорского ПО, к примеру, для работы с принтерами и МФУ, поддерживает только подключение по сети. Однако это не означает, что в самой ОС Android нет такой возможности — это означает лишь то, что большинство устройств не имеют полноценного USB хоста, и далеко не все имеют поддержку OTG. По сети же могут работать абсолютно все без исключения.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии5

Реверс-инжиниринг и замедление «Казаков»

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


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

  1. Искусственно загрузить ядро процессора, на котором запущена игра
  2. Запускать игру в виртуальной машине с ограниченными ресурсами
  3. Играть не по локальной сети, а по интернету — там задержки побольше
4. Только дизассемблинг, только хардкор!
Всего голосов 84: ↑81 и ↓3+78
Комментарии29

Информация

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