Pull to refresh
0
0
Send message

Оптическая компенсация

Reading time3 min
Views77K


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

Такой подход казался мне логичным, но он оказался неверным.

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

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

Давайте взглянем на небольшое количество показательных примеров.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments29

Университет MIT выложил бесплатно лекции в Сеть

Reading time1 min
Views151K


Один из лучших технологических вузов мира опубликовал большинство своих обучающих курсов, лекций и семинаров в интернете на отдельном ресурсе.

Есть аудио и видео-курсы, поиск по каталогу, по номеру курса, по наименованию дисциплины, все предметы и степень сложности разделены в отдельные рубрики.
Читать дальше →
Total votes 157: ↑116 and ↓41+75
Comments40

30 чудных библиотек для PHP программистов

Reading time6 min
Views105K
Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать дальше →
Total votes 71: ↑60 and ↓11+49
Comments18

MVC и Модель 2. Знания и обязанности компонентов

Reading time13 min
Views51K
Долгое время я изучал паттерн MVC. Больше полутора лет прошло с тех пор, как я впервые с ним познакомился и в течение всего этого времени я никак не мог упорядочить в своей голове зоны ответственности трех составляющих паттерн компонентов.

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

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

Я решил собрать всю недостающую информацию в одном месте. Это и стало причиной для написания статьи.

tl;dr: читаем итог. Остальных прошу устроиться поудобнее.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments23

Лекции Технопарка. 1 семестр. Алгоритмы и структуры данных

Reading time2 min
Views166K
Очередной пост в рамках нашего цикла лекций Технопарка. В этот раз мы предлагаем вашему вниманию курс, посвящённый алгоритмам и структурам данных. Автор курса — Степан Мацкевич, сотрудник компании ABBYY.

Лекция 1. Основы


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


Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments14

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Reading time29 min
Views107K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

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



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →
Total votes 96: ↑79 and ↓17+62
Comments37

12 игр, которые обучают детей программированию

Reading time10 min
Views288K


Программирование сейчас очень популярно. По всему миру 36 миллионов детей принимают участие в мероприятиях движения «Час программирования». Цель этих мероприятий – помочь детям стать активными, а не пассивными пользователями технологий, а также получить знания, которые в будущем могут помочь устроиться на хорошую работу в нашем все более и более техническом мире.

Даже если ваши дети не хотят в будущем зарабатывать на жизнь программированием, базовое понимание принципов программирования развивает мышление и, в дальнейшем, ребенок лучше справляется с решением возникающих задач. Билл Гейтс когда-то сказал: «Если вы учитесь создавать программы, это развивает ваш разум, помогает вам лучше мыслить и создает образ восприятия вещей. В целом, я думаю, что человеку это будет полезно вне зависимости от сферы его деятельности».

Такие платформы, как Scratch и Alice позволяют детям (и взрослым) создавать собственные игры и анимации, используя упрощенные методы программирования. Однако не всем детям это интересно. И вот для таких детей существует множество игр, которые обучают базовым принципам программирования в веселой и доступной форме.

Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments32

Как мы объясняли детям, кто такой программист

Reading time7 min
Views73K

Он волосат, небрит и очень программист

@bobuk показал человека-паука и сказал, что айтишники спасают человечество. Потому что помогают решать проблемы. И ещё в качестве примера привёл Леонардо да Винчи с его вертолётом. Дети вертолёт не запомнили, но прыжки человека-паука на экране оценили. И ещё все узнали Нотча, написавшего Майнкрафт практически в одну харю.

Но давайте-ка я начну сначала и расскажу, что привело нас к открытию исходников игры «Такси», пришиванию пуговиц к сосискам и рассказу целой толпе детей про сложную и опасную профессию программиста.
Читать дальше →
Total votes 83: ↑73 and ↓10+63
Comments41

Шаблон Excel для домашней бухгалтерии

Reading time3 min
Views428K
image

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

Данный шаблон не претендует на 100% охват всей задачи, но может послужить хорошей базой для тех, кто решит пойти данным путем.
Читать дальше →
Total votes 30: ↑23 and ↓7+16
Comments41

Технологическая сингулярность, как событие неизбежное

Reading time9 min
Views146K


Думаю, многие, читающие эти строчки, на сегодняшний день видят, что прогресс с каждым днем ускоряется. Еще в начале XX века многие не верили в самолеты и думали, что «завтра будет сегодня». Эта тенденция в обществе была всегда и наблюдается сейчас. Завтра будет сегодня. В принципе, это простое эмпирическое наблюдение, однако если сравнить то, что было год назад, и что есть сегодня, становится виден этот прогресс. Если бы наблюдатель провел такое наблюдение в начале XIX века, очевидный прогресс он вряд ли бы увидел, разве что попал бы в переломный момент. Сейчас же различные научные достижения, мелкие и большие, происходят каждый день. Интернет стал катализатором этого процесса. Свободный обмен информацией объединил ученых со всего мира и лишил одной из главных проблем — повторного изобретения, чем часто страдал прошлый век. Конечно, сейчас данная проблема наверняка сохраняется из-за секретности некоторых государственных программ, однако такие проекты — это капля в море тысяч энтузиастов. Разумеется, сейчас наблюдаются не лучшие тенденции государственного контроля, но я, пожалуй, буду обсуждать в макромасштабе и не буду разбирать такие детали.

Уже вот 49 лет как выполняется закон Мура, а Intel готовит нам новые техпроцессы и новые подходы. Разрабатываются параллельно квантовые компьютеры, ДНК-компьютеры, нейронные сети… Все это произошло буквально за 30 лет.

Все неизбежно указывает на дальнейшее ускорение прогресса и движение к некой точке — технологической сингулярности.
Под катом я рассмотрю некоторые возможные сценарии этого процесса.
Total votes 124: ↑97 and ↓27+70
Comments228

Региональное Интернет-СМИ: Часть 1. С чего начать

Reading time5 min
Views18K
В 2007 году мы с другом решили открыть свою интернет-газету. Ни он, ни я, журналистами не являлись, в СМИ никогда не работали, какого-то специфического опыта у нас не было, поэтому все делалось методом проб и ошибок.

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

Сразу хочу сказать, что наш путь — один из многих, наверное можно действовать иначе и… ну в общем вы поняли.
Перейти к сути
Total votes 35: ↑31 and ↓4+27
Comments40

Папа, а почему на ноль делить нельзя?

Reading time6 min
Views238K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Total votes 262: ↑192 and ↓70+122
Comments281

Как мы ускоряли Drupal Commerce

Reading time5 min
Views28K
photo's author: Corrie...Disclamer: если все, о чем написано далее, покажется для вас «детским лепетом» и совсем уж очевидными вещами, будем рады поработать с вами :)

Предыстория: около года назад наша небольшая, но гордая веб-студия получила заказ на разработку интернет-магазина printer38.ru. А так как мы специализируемся на CMS Drupal, в качестве модуля интернет-магазина решили использовать Drupal Commerce.

Тех, кому интересно, почему загрузка одной страницы каталога занимала у нас 5 минут, и как нам удалось это побороть, прошу пожаловать под кат.
Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments74

Сравнение юзабилити современных браузеров со старой Оперой

Reading time6 min
Views129K

Эта статья — немного воспоминаний о богатом функционале старой Оперы. Но в ней хочу собрать вещи, которые были уникальны для старой Оперы. До сих пор у меня установлена Opera 12, которую рука не поднимается удалить, хотя я и не пользуюсь уже ей.

Старая Опера была для меня почти эталоном браузера. В ней было реализовано столько прекрасных вещей, которых почему-то нет в современных браузерах, что порой диву даёшься — почему такие светлые идеи никто больше не реализовывает.

Чуть больше года назад компания Opera объявила, что они делают новый браузер на основе форка Chromium от Google (Blink).

Прошёл год, но от того User Experience, который был раньше, Опера ой как далеко, жалкий младший брат Chrome. Даже относительно молодой Яндекс.Браузер развивается куда стремительнее и имеет своё лицо. Я буду сравнивать старую Opera с Chrome, как представителем браузеров на WebKit и Blink, и Firefox. И прошу учесть, что это, всё-таки, моё личное мнение.

Осторожно, много картинок
Читать дальше →
Total votes 265: ↑239 and ↓26+213
Comments410

Reedy – Скорочтение, которое действительно можно использовать

Reading time9 min
Views244K
Reedy – продвинутая реализация технологии скоростного чтения

В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
Подробности
Total votes 201: ↑195 and ↓6+189
Comments136

Прокачиваем Google Tasks с помощью стороннего сервиса: повторяющиеся задачи, совместный доступ, уведомления о сроках и другие возможности

Reading time14 min
Views61K
Недавно на Хабре мы публиковали небольшой обзор системы управления задачами, над которой работаем. Одна из ее возможностей — односторонняя и двусторонняя синхронизация с Google Tasks. Настроив ее, можно существенно расширить возможности по работе с вашими задачами в Google Tasks, к примеру, достаточно быстро реализовав следующие «плюшки»:
  • создание задач в Google Tasks по почте (причем каждая задача имеет свой адрес и можно отсылать подзадачи к любой задаче)
  • сделать повторяющиеся задачи в Google Tasks (к примеру, каждый вторник будет возникать задача «Проверить операции по карте»)
  • запланировать будущие задачи (т.е. они появятся в Google Tasks в нужную дату)
  • уведомлять о приближении срока (даты завершения, due date) задачи из Google Tasks по почте (один или несколько раз)
  • через некоторое время (к примеру, неделю) удалять уже выполненную задачу
  • предоставить доступ к своим задачам другим пользователям Google Tasks (грубо говоря, расшарить свой список, подробнее ниже)

image

Реализация всего этого сделана через синхронизацию с нашим сервисом, т.е. мы не говорим о каких-то «хаках» или недокументированных возможностях Google Tasks, а реализуем их через обработку ваших задач у нас. Поэтому если вы не согласны доверить ваши тасклисты сторонним сайтам, то наше решение не для вас.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments12

Мой удобный дом

Reading time14 min
Views309K
Относительно недавно здесь был текст про домашнюю автоматику, а в комментариях один товарищ высказал идею, о которой я тоже думаю очень-очень давно. Суть в том, что автоматика должна работать так, чтобы этого, по возможности, вообще не было заметно.

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →
Total votes 161: ↑160 and ↓1+159
Comments97

Поиск VPS — обновленная версия

Reading time5 min
Views112K
Незадолго до нового года я представил Хабру свой сервис поиска виртуальных серверов Поиск VPS. За эти два месяца на сайте произошёл ряд изменений, включая расширение списка параметров для ещё более удобного выбора и сравнения серверов, о которых я сегодня расскажу.



Первое и самое существенное нововведение — это появление новых параметров поиска и возможность выбора нескольких пунктов одновременно.

  • Тип жесткого диска (sata, sas, ssd)
  • Операционные системы, которые можно установить на виртуальный сервер
  • Способы оплаты, которые поддерживает хостер
  • Наличие бесплатной панели управления сервером (ISPmanager, cPanel, DirectAdmin, Plesk Panel)
  • Тип администрирования, который идет в комплекте в VPS
  • Возможность поддержки IPv6

Читать дальше →
Total votes 105: ↑103 and ↓2+101
Comments106

Умный дом. Конкретная реализация

Reading time4 min
Views116K
Добрый день, уважаемое сообщество!
В своих предыдущих статьях я рассказывал о том, как делаю у себя умный дом. С тех пор прошло уже достаточно большое количество времени и я достаточно серьезно продвинулся как в оборудовании, так и в софте. Думаю, что эту очередную статью можно смело называть «Умный дом v3» :)
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments37

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity