Pull to refresh
4
0
Vamp @Vamp

User

Send message

Практическое руководство по Unicode'изации

Reading time16 min
Views28K


Мы, наконец, это сделали! Долгое время позорное наследие CP1251 раздражало разработчиков, наводило на мысли о том, что, как же так? Эпоха Unicode уже давно наступила, а мы все еще используем однобайтовую кодировку и расставляем в разных местах костыли для совместимости с внешними системами. Но причина тому была достаточно рациональная: перевести на Unicode большой проект, в который развился Мой Мир, очень трудоемко. Мы оценивали это в полгода и не были готовы тратить столько ресурсов на фичу, которая не принесет русскоязычной аудитории существенной пользы.

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

Разумеется, первое, что было необходимо для интернационализации проекта, это начать принимать, передавать, обрабатывать и хранить данные в UTF-8. Процедура эта для большого проекта непростая и длительная, по пути нам пришлось решить несколько достаточно интересных задач, про которые мы постараемся рассказать.
Читать дальше →

Поиск на сайте своими руками

Reading time15 min
Views198K


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

Верстка email рассылок от А до Я для чайников

Reading time9 min
Views414K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →

Переходим на HTTPS на Nginx: шпаргалка

Reading time3 min
Views162K
Уже второй раз сталкиваюсь с задачей «поставь https на наш сервер» от моего босса, поэтому решил сделать для самого себя шпаргалку, а заодно и для всех остальных. Итак, ситуация следующая: к нам пришел босс и заявил, что ему нужен https. Под катом я напишу 5 простых шагов, как все сделать буквально за час. Приступим.
Читать дальше →

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views317K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

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

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

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.

Оборудование помещения для прослушивания музыки

Reading time9 min
Views41K
image

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

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

Что такое CRM-системы и как их правильно выбирать?

Reading time20 min
Views1.1M

Введение


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

Подходы к контролю доступа: RBAC vs. ABAC

Reading time5 min
Views187K
В этой теме хотелось бы познакомить читателей с относительно новым подходом к контролю доступа под названием Attribute-based access control. Знакомство будет происходить на примере сравнения с популярным нынче Role-based access control.
Читать дальше →

Дайджест полезных статьей для начинающих предпринимателей

Reading time2 min
Views40K


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

Как самостоятельно зарегистрировать ООО

Reading time7 min
Views52K
Всем привет! Сегодня мы расскажем о том, как самостоятельно зарегистрировать ООО.

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

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



Инструкция по самостоятельной регистрации ООО от «Я люблю ИП»

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

CloudFlare + nginx = кешируем всё на бесплатном плане

Reading time2 min
Views58K

В бесплатной версии Cloudflare все замечательно (ей-богу сказка!), но список кешируемых форматов файлов весьма ограничен.
К счастью кеширование всего подряд (до 512 Мб на файл) можно настроить в одно два действия.

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

Удобное удаленное управление консолью linux из-под Windows

Reading time5 min
Views70K
Итак, друзья, некоторое подмножество нас (людей) так или иначе испытавает необходимость удаленного управления компьютером (как правило, сервером) на linux (способ может сработать и в BSD, и в Mac OS X, но я не пробовал) при помощи ssh. Другое подмножество использует Windows в качестве ОС на основной рабочей машине. К пересечению этих подмножеств обращена моя статья.

Полезности, ради которых затевается всё вселье:
1. Сохранение подключения при обрыве связи. Этот пункт для меня самый важный и сыграл решающую роль в том, чтобы взяться за настройку такой системы. Дело в том, что я живу в общежитии с очень-очень нестабильным интернетом, и обрывы связи у меня (в плохие дни) могут происходить поминутно. А putty требует последовательности действий, чтобы переподключиться каждый раз
2. Сохранение сессии, включая текущую директорию, историю команд и вывода. Зачастую, единственной задачей при подключении к серверу стоит: зайти в одну и ту же директорию и написать git pull. Чтобы каждый раз не вспоминать путь к этой директории, нужно сохранение сессии
3. Терминал поддерживает вкладки. Самое главное, что данный терминал можно использовать также и для cmd, и для PS, и для git bash консоли. Поэтому не придется держать несколько разных терминалов открытыми.
4. Плюсы tmux: многооконность в одной сессии и split

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

Минкультуры РФ хочет обязать провайдеров связи отслеживать «пиратку»

Reading time1 min
Views56K


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

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

«Плотность времени» (с) Н.А.Козырев

Reading time9 min
Views169K
Эпиграф:
— А чем вам не нравится Второй Закон Термодинамики?
— Ну, хотя бы тем, что Больцман повесился. И сын Циолковского тоже.
ответ приписывают Н.Козыреву

Кто такой Николай Александрович Козырев?
— обладатель «алмазной звезды» Международной Академии Астронавтики (МАА) — высочайшей награды среди астрономов (только двое советских граждан имели такую награду — Ю.Гагарин и Н.Козырев).
— автор теории протяженных звёздных атмосфер
— автор теории солнечных пятен
— создатель «Несимметричной причинной механики» одной из интереснейших научных теорий о свойствах времени.

О последнем пункте и пойдет речь.
Читать дальше →

Способность

Reading time8 min
Views5.4K

— Единственный сын, и тот эсби1, — пилила Эвана жена, — а все ты, со своим маниакальным эгоизмом. Если бы ты не был настолько влюблён в свои гены, он бы уже творил.

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

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

Соседи. Питер и Верден — если их назвать альтернативной семьей или альтернативными мужчинами — серьёзного штрафа и публичных извинений не избежать. Нет, они не подадут в суд — с принудительным введением амерцев2 в подобной рутине отпала необходимость. «В современном обществе подобные выходки недопустимы» — скажет Судья. «Правительство заботится о культурном равновесии граждан» — скажет Пристав. И Судья и Пристав — роботы, которые следуют высшему закону, сформировавшемуся за века. На них нельзя повлиять, нельзя им объяснить. Впрочем, если назвать их бесчувственными машинами, штрафа не избежать.

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

Избавься от никчемности

Reading time3 min
Views2.6K
image

Благодаря им вы покажетесь популярным, а ваш материал магическим образом распространится в социальных сетях — кнопки лайк, ретвит и +1 занимают важное место почти на любой странице во Всемирной Паутине. Таким образом, почти каждый крупный сайт и мировой бренд бесплатно рекламирует Твиттер и Фэйсбук. Но работают ли эти кнопки на самом деле? Сложно сказать. Что известно точно — эти магические кнопки рекламируют их собственные бренды. И то, что благодаря им вы можете выглядеть немного отчаявшимся. Не слишком отчаявшимся, но самую малость.
Читать дальше →

Карьерный рост в ИТ глазами карьериста

Reading time4 min
Views5.2K
Вступление

Целевой аудиторией являются молодые специалисты, которые только начинают свой путь в сфере ИТ. Хочется помочь людям обойти ошибки, которые допустил сам в процессе карьерного роста. А так же получить конструктивную критику от других хабра-пользователей.
image

* картинка взята с этого сайта
Читать дальше →

Очень быстрый и эффективный способ расслабления глаз

Reading time4 min
Views416K

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →

Готовимся к ядерной войне

Reading time3 min
Views12K
image

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

Вырыть бункер, установить туда системы очистки воздуха, запастись едой и водой…
Но дьявол, как известно, в мелочах.
Читать дальше →

Information

Rating
4,785-th
Registered
Activity