Как стать автором
Обновить
36
0
Леонард Киндай @Kinday

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

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

Почему я не люблю Apple

Время на прочтение2 мин
Количество просмотров4K
Тут нужно почувствовать тонкую грань между «apple» и «продукцией apple». Я люблю продукцию Эппл, я считаю, что айфон — один из лучших телефонов, а айпод — лучший плеер. Но политика компании — это просто ужас. О ней можно много говорить, но вот два основных фактора, которые отталкивают меня от Apple.

1. Закрытость. Я считаю очевидным то, что открытые платформы и свободное программное обеспечение — необходимый этап эволюции как технологий, так и общества в целом. Apple же максимально закрыт. Свои компьютеры, свои системы, свои правила. Ну пусть, выпустили телефон, дали SDK, дали удобный онлайн-магазин, спасибо! Только теперь не нужно диктовать, какие программы можно ставить на мой телефон, а какие нельзя. Не хотите продавать неугодные программы через свой магазин? Без проблем! Дайте только нормальный путь установки программ в обход магазина!

Ладно, черт с вами, путь сами найдем. Во, нашли! Джейлбрейк придется делать! Ну ладно, мы же ничего не разбираем и не ломаем. Упс! Теперь оказывается мы потеряли гарантию!

Что-то не работает в новом апдейте OS X? Выход у тебя только один — жди следующего.

Представьте себе, что в один прекрасный день вы купили себе отличную, красивую, дорогую машину. Все круто, только пара ньюансов. Разбирать/чинить/модифицировать вы не можете. Хотите поставить нестандартную магнитолу? Ставьте, бог вам судья, только гарантия на машину пропадает. Хотите взять классные кожаные сиденья и перенести в свою старую Хонду? Такое вам даже бог не простит, это уже нарушение закона!

2. У меня такое ощущение, что тактика Apple такова — выпускать хорошие продукты и девайсы с заниженными возможностями. Чтобы через два года после выхода iPhone, который тогда имел веб-браузер, революционный интерфейс, youtube и прочие вкусности, в следующей версии прошивки добавить наконец copy&paste. Выпустить телефон и плеер, являющиеся карманными компьютерами, но запретить ставить не них программы, а потом, со временем, открыть, наконец, магазин… Выпустить операционную систему и допиливать ее апдейтами. Тут и там я слышу возмущенные возгласы обновившихся до последней версии Snow Leopard юзеров: то отвалилось, это не работает. И остается лишь что?.. Правильно, ждать апдейта. Или от разработчиков софта или от разработчиков ОСи. Если вспомнить сравнение с автомобилем, то на ум приходит ситуация, когда на официальном автосервисе производителя вашей машины вам поставили новые колеса, и магнитола в салоне перестала работать.
Всего голосов 448: ↑282 и ↓166+116
Комментарии310

Минималистичный платформер «Green-gray world: not for loosers»

Время на прочтение1 мин
Количество просмотров1K
Небольшой минималистичный платформер, который сможет пройти до конца далеко не каждый. Хардкорность уровней иногда зашкаливает, поэтому готовьтесь к тому, что ваши руки будут болеть, а нервишки шалить от постоянного переигрывания уровней.

Ссылка на игру: www.kongregate.com/games/Flashist/green-gray-world-not-for-loosers

Скриншоты игры:

image
Читать дальше →
Всего голосов 58: ↑43 и ↓15+28
Комментарии81

TOP-10 Flash-игр

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

Сегодня уже можно :)



1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
Читать дальше →
Всего голосов 125: ↑88 и ↓37+51
Комментарии114

Как написать отличную статью и завоевать умы

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

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

В данной статье мне хотелось бы предложить несколько вариантов того, как стоит создавать статьи, как их подавать и как поддерживать жизнь своей статьи.
Читать дальше →
Всего голосов 131: ↑96 и ↓35+61
Комментарии77

oDesk (Upwork). Мой опыт за полтора года

Время на прочтение12 мин
Количество просмотров445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Всего голосов 192: ↑185 и ↓7+178
Комментарии321

10 самых распространённых ошибок при программировании на JavaScript

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


Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.

На первый взгляд, этот язык может показаться довольно простым. Встраивание в веб-страницу базового функционала JavaScript — это не проблема для любого опытного разработчика, даже если он ранее не сталкивался с этим языком. Однако это обманчивое впечатление, поскольку JavaScript гораздо сложнее, мощнее и чувствительнее к нюансам, чем кажется поначалу. Немало тонкостей в этом языке приводит к большому количеству распространённых ошибок. Сегодня мы рассмотрим некоторые из них. На эти ошибки нужно обратить особое внимание, если вы хотите отлично программировать на JavaScript.
Читать дальше →
Всего голосов 205: ↑176 и ↓29+147
Комментарии127

Малоизвестные функции в WordPress

Время на прочтение3 мин
Количество просмотров18K
Случалось ли с вами, что во время разбора кода стороннего плагина или темы, вы находили довольно полезную стандартную функцию, о которой раньше не знали? В такие моменты любой разработчик ощущает чувство собственной ничтожности, вспоминая какие велосипеды он городил в предыдущих проектах.

Дабы уменьшить количество расстройств, я решил описать несколько малоизвестных, но весьма полезных функций:

make_clickable
Находит в тексте ссылки и делает их кликабельными.
Пример:
$string = "This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .";
echo make_clickable( $string ); 


popuplinks
Добавляет target='_blank' rel='external' всем ссылкам в тексте.
Пример:
$string = "This is a long text that contains some links like <a href='http://www.wordpress.org'>http://www.wordpress.org</a> and <a href='http://www.wordpress.com'>http://www.wordpress.com</a> .";
echo popuplinks( $string ); 


wp_list_pluck
Достает определенные поля из коллекции.
Пример:
$posts = get_posts();
$ids = wp_list_pluck( $posts, 'ID' ); // [1, 2, 3, ...]


antispambot
Преобразовывает адреса электронной почты в символы HTML, для защиты от спам-ботов.
Пример:
$email = 'example@email.com';
echo '<a href="mailto:' . antispambot( $email ) . '">' . antispambot( $email ) . '</a>';

Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии8

Ускоряем Nginx за 5 минут

Время на прочтение5 мин
Количество просмотров287K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь
Всего голосов 203: ↑138 и ↓65+73
Комментарии127

Кеширование FastCGI-запросов в nginx

Время на прочтение2 мин
Количество просмотров28K
Доброе утро, Хабр!

В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии27

Проекты на WordPress: советы по оптимизации

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

Сегодня Wordpress является одной из самых популярных CMS. Задуманная изначально как движок для блогов, сегодня она используется для самых разных типов сайтов, в частности, для новостных порталов и интернет-СМИ. На Wordpress работают корпоративные веб-сайты, образовательные и развлекательные порталы.

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

Подробных инструкций по установке и настройке Wordpress в Интернете опубликовано немало. В этой статье мы бы хотели затронуть вопросы, которым в большинстве публикаций о Wordpress не уделяется достаточно внимания. Мы расскажем о том, как оптимизировать работу сайтов на Wordpress, а также дадим ряд рекомендаций по повышению уровня безопасности и стабильности работы. Во всех примерах используется Ubuntu 12.04.
Читать дальше →
Всего голосов 64: ↑51 и ↓13+38
Комментарии70

Оптимизации WordPress. Конкурс «ВПС на год за лучшие идеи!»

Время на прочтение9 мин
Количество просмотров28K
По данным HackerTarget.com 20.9% сайтов из списка Alexa (104 684 из 500 000) работают на CMS WordPress. Из небольшого движка для блогов WordPress вырос в универсальную платформу для разработки сайтов, породив целую экосистему.

Компания Aberdeen Group провела исследование, согласно которому увеличение времени загрузки сайта на 1 секунду имеет следующие последствия:
  • уменьшение количества просмотров страницы на 11%;
  • снижение удовлетворенности покупателей на 16%;
  • снижение рейта конверсии посетителей в покупателей на 7%.

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

В этой статье мы затронем тему оптимизации WordPress. Для лучшего раскрытия темы в будущих статьях мы проводим конкурс: пришлите нам рекомендации по оптимизации WordPress, не вошедшие в эту статью. Автору наиболее полных и полезных советов по оптимизации будет предоставлена VPS 1024 на год. В конце статьи ссылка на регистрацию бесплатной Cloud VPS для экспериментов с оптимизацией WordPress.

Тестирование производительности WordPress до оптимизаций


Давайте определим время загрузки сайта. Для тестирования воспользуемся сервисом GTMetrix.

Infobox GTMetrix VPS

Получено время загрузки страницы по сети 2.62 секунды.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии16

Приводим в порядок css-код. Опыт Яндекса

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

Я работаю над фронтендом огромного проекта — поисковой выдачи Яндекса. И у нас, как и у любого другого большого веб-проекта, есть огромное количество css-кода и немаленькая команда, которая с ним взаимодействует.

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



Но несмотря на то, что все пишут код по-разному, у нас в репозитории идеальный порядок: css-код полностью консистентен, и прекрасно выглядит. Весь.

Как мы этого добились, можно прочитать под катом.
Читать дальше →
Всего голосов 174: ↑169 и ↓5+164
Комментарии70

10 главных выводов, которые я сделал за Год Изучения Продуктивности

Время на прочтение9 мин
Количество просмотров192K
Предисловие переводчика: В мире написано столько книг по личной эффективности и тайм-менеджменту, что берясь за этот перевод я безусловно задавал себе вопрос: «А есть ли здесь вообще что-то новое, ради чего эту статью стоит переводить, и главное читать»? Сначала мне казалось, что я ответил на этот вопрос «да», однако реальность оказалась несколько сложнее. 

Сейчас я думаю, что сказать что-то новое человеку, который прочитал хотя бы 2-3 книги по тайм-менеджменту и личной эффективности практически невозможно. Однако существует огромная пропасть между тему, что люди знают, и тем, что люди делают. Поэтому если у вас уже есть какой-то багаж знаний по личной эффективности, я советую вместо вопроса «это что-то, чего я не знаю?» задавать другие вопросы:

1. Согласен ли я с написанным?
2. Если да, поступаю ли я так?
3. Если нет, почему и что я могу сделать чтобы начать поступать правильно? 

Уверен, так статья принесет вам гораздо больше пользы.

Должен сказать, что я с огромным удовольствиям ходил по ссылкам в этой статье, особенно по тем, которые описывают эксперименты Криса (такие как переключение между 90-часовой и 20-часовой рабочими неделями). Поэтому я принял решение сохранить все эти ссылки в переведенной статье.

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

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

Приятного чтения!
Читать дальше →
Всего голосов 79: ↑70 и ↓9+61
Комментарии68

Ускоряем Wordpress

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

Wordpress в стандартной установке довольно медленный. По умолчанию движок не использует некоторые возможности современного Веба для значительного своего ускорения. Существует целая куча плагинов для оптимизации Wordpress'a. Давайте наведем в них порядок и проведем капитальную оптимизацию.
Читать дальше →
Всего голосов 54: ↑37 и ↓17+20
Комментарии27

Основы репликации в MySQL

Время на прочтение10 мин
Количество просмотров329K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии44

Дюжина дизайнерских косяков

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


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

Спустя время я выделил несколько неочевидных вещей, на которые старался обращать внимание, и в большинстве случаев находил ошибки. Получился небольшой чеклист. Очень полезный как для самопроверки, так и для проверки чужого дизайна. Им с вами и спешу поделиться:
Читать дальше →
Всего голосов 225: ↑210 и ↓15+195
Комментарии140

250 строк кода, распознающих дату на русском языке

Время на прочтение2 мин
Количество просмотров47K
Около года назад мне понадобилось распознавать даты в тексте, который вводят пользователи. Пришлось немного разобраться в регулярных выражениях и написать функцию, на вход которой поступает текстовая строка, а в результате получается распознанная дата.



Пример и код в jsFiddle.
Читать дальше →
Всего голосов 120: ↑115 и ↓5+110
Комментарии77

Пишем single-page web application framework в 60 строках кода

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

В качестве предисловия



Веб-дизайнерский народ в последнее время распробовал single page web applications. Что оправдано во многих случаях.
Но явно ошибочно считать что single page web application не сделать без чего-то типа AngularJS, Ember и прочих Knockouts.
Во всяком случае если вам нужно сделать нечто простое типа To-do списка совершенно не обязательно тащить на клиент килобайты мега-фреймворка. На самом деле килобайты трафика это пол беды. Основная цена, скажем AngularJS, в том что он, как любой универсальный data binding механизм, создает значительную run-time нагрузку.

Эта статья про то как в 60 строках кода + jQuery/Zepto сделать простой app framework котрый можно расширять под свои нужды и без лишних сущностей в нагрузку.

Постановка задачи



Наш framework должен ...:

  1. … поддерживать routing, т.е. должна быть возможность сказать в деклартивной модели: «этот вот url hash должен быть показан в этом view».
  2. Должна быть возможность динамической загрузки разных view. Какие-то части нашего приложения могут быть либо тяжелы для начальной загрузки, либо не нужны, например, для незалогиненного пользователя.
  3. Должна быть возможность динамической загрузки скриптов. По причинам изложенным в п. 2
  4. Наше приложение будет поддерживать browsing history — кнопка «назад» в браузере должна показывать предыдущую страницу и т.д.
  5. Ну и все это должно быть компактным и расширяемым как того будет требовать логика нашего приложения.


Пример того что мы хотим получить



Приложение Bootstrap'нутый список контактов — содержит сам список, карточку — детали контакта и некую панель управления (dashboard). Что будет на той панели нам не важно — знаем что что-то будет и ладно.

Personas demo

Поехали
Всего голосов 75: ↑57 и ↓18+39
Комментарии55

Информация

В рейтинге
Не участвует
Откуда
Гомель, Гомельская обл., Беларусь
Дата рождения
Зарегистрирован
Активность