Search
Write a publication
Pull to refresh
1
0
Send message

Теория цвета в цифрах

Reading time3 min
Views203K
Разные люди могут по-разному представлять один и тот же цвет по его названию. Например голубой цвет может на самом деле быть цветом морской волны или небесным. Гораздо точнее цвет определяется шестнадцатеричным кодом, всего существует 16777216 комбинаций. Поэтому дизайнеру может быть полезно распознавать цвет, просто взглянув на его hex-код.

Основы


Начнем с простого: рассмотрим обычный hex-код, где каждая из трех пар цифр контролирует один из цветов RGB — красный, зеленый, синий. Числа могут принимать значения цифр от 0 до 9 и букв от A до F.

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

Абсолютное горизонтальное и вертикальное центрирование

Reading time5 min
Views317K
Сколько уже было сломано копий о задачу выравнивания элементов на странице. Предлагаю вашему вниманию перевод отличной статьи с решением этой проблемы от Стефана Шоу (Stephen Shaw) для Smashing Magazine — Absolute Horizontal And Vertical Centering In CSS.

Все мы знали о margin: 0 auto; для горизонтального центрирования, но margin: auto; не работало для вертикального. Это можно легко исправить, просто задав высоту и применив следующие стили:

.Absolute-Center {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}

Я не первый, кто предложил это решение, однако такой подход редко применяется при вертикальном выравнивании. В комментариях к статье How to Center Anything With CSS Simon ссылается на пример jsFiddle, где приводится отличное решение для вертикального центрирования. Вот еще несколько источников на эту тему.

Рассмотрим способ поближе.
Читать дальше →

Руководство по магическим методам в Питоне

Reading time28 min
Views646K
Это перевод 1.17 версии руководства от Rafe Kettler.


Содержание


  1. Вступление
  2. Конструирование и инициализация
  3. Переопределение операторов на произвольных классах
  4. Представление своих классов
  5. Контроль доступа к атрибутам
  6. Создание произвольных последовательностей
  7. Отражение
  8. Вызываемые объекты
  9. Менеджеры контекста
  10. Абстрактные базовые классы
  11. Построение дескрипторов
  12. Копирование
  13. Использование модуля pickle на своих объектах
  14. Заключение
  15. Приложение 1: Как вызывать магические методы
  16. Приложение 2: Изменения в Питоне 3


Вступление


Что такое магические методы? Они всё в объектно-ориентированном Питоне. Это специальные методы, с помощью которых вы можете добавить в ваши классы «магию». Они всегда обрамлены двумя нижними подчеркиваниями (например, __init__ или __lt__). Ещё, они не так хорошо документированны, как хотелось бы. Все магические методы описаны в документации, но весьма беспорядочно и почти безо всякой организации. Поэтому, чтобы исправить то, что я воспринимаю как недостаток документации Питона, я собираюсь предоставить больше информации о магических методах, написанной на понятном языке и обильно снабжённой примерами. Надеюсь, это руководство вам понравится. Используйте его как обучающий материал, памятку или полное описание. Я просто постарался как можно понятнее описать магические методы.
Читать дальше

Альтернативные крестики-нолики

Reading time3 min
Views92K
Однажды на пикнике я заметил математиков, толпящихся возле игры, интереса к которой я ожидал меньше всего: крестики-нолики.

Вы могли и сами заметить, что игра крестики-нолики смертельно скучна. В ней нет места творческой идее или внезапному озарению. Хорошие игроки всегда играют вничью. Игра неизбежно идёт примерно так:



Но математики на пикнике играли в более изощренную версию игры. В каждой из клеток на квадратном поле они нарисовали поле поменьше:
Читать дальше →

Обзор Sony Xperia U

Reading time5 min
Views57K


Sony Xperia U – третья по счёту модель в серии NXT линейки Xperia 2012 года, попавшая на обзор в редакцию этого блога, и самая, пожалуй, легкомысленная из них. Sony представляет Xperia U как компактный равзлекательный смартфон. Внешне его отличают цветные сменные панели и расцветающая всеми цветами радуги подсветка, которые изрядно разбавляют строгость родовых черт смартфонов этой серии. А на борту – экран с высоким разрешением и мощный двухъядерный процессор. И всё это – за весьма скромную цену. В общем, должно быть интересно. Посмотрим?
Читать дальше →

Разработка web API

Reading time9 min
Views291K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

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

Опубликованы исходные коды платформы онлайн-обучения edX

Reading time1 min
Views24K


1 июня был открыт доступ к репозиториям с исходными кодами платформы онлайн-обучения edX, основанной Массачусетским технологическим институтом и Гарвардским университетом. Теперь можно не только изучать огромное количество курсов на таких сайтах, как edx.org или coursera.org, но и создать свой собственный портал для дистанционного образования. Похоже, у Moodle появился конкурент.
Читать дальше →

Памятка UX / UI дизайнеру. 19 принципов построения интерфейсов

Reading time3 min
Views203K
Мы продолжаем писать про проектирование сайтов и разработку интерфейсов. На этот раз выделили сразу 19 принципов построения интерфейсов. Эти принципы мы по крупицам собирали на протяжении последних 3х лет работы из разных книг, статей, исследований и, конечно, собственного опыта разработки интерфейсов.

Создание интерфейсов в проектировании больших сайтов – это самый объемный и один из самых важных этапов. Поэтому я отдельно решил выделить принципы и законы проектирования интерфейсов.

  • Принцип KISS. От англ. «keep it short and simple». Интерфейс должен быть простой и понятный, задачи должны решаться минимальным числом действий, все должно быть понятно и очевидно.
  • Не заставляйте думать. Нужно избегать сложных действий, которые заставляют пользователей думать.
  • Убираем очевидное. Не стоит показывать очевидные элементы интерфейса, нужно сосредоточиться только на действительно необходимых вещах.
  • Соотношение сигнал / шум. В каждом интерфейсе есть важные элементы (сигналы) и маловажные или даже бессмысленные для определенной части системы (шум), естественно, нужно концентрироваться на сигналах и избегать шума.
  • Проверенное лучше модного. Не стоит цепляться за моду и делать что-то только потому, что так делают другие, лучше отдать предпочтение проверенным элементам интерфейса.

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

Необыкновенный способ генерации лабиринтов

Reading time6 min
Views87K
В этой статье я расскажу об одном необычном подходе к генерации лабиринтов. Он основан на модели Амари́ нейронной активности коры головного мозга, являющейся непрерывным аналогом нейронных сетей. При определенных условиях она позволяет создавать красивые лабиринты очень сложной формы, подобные тому, что приведен на картинке.

Вас ждет много анализа и немного частных производных. Код прилагается.
Прошу под кат!

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

Сервер отчетов на django

Reading time18 min
Views20K
Доброго времени суток.

Так случилось, что моя работа связана с написанием отчетов.
Этому я посвятил около 8 лет. Отчеты — это глаза бизнес-процесса и информация,
необходимая для принятия оперативных решений.

Вначале наш отдел делал отчеты,
— Принимая задачи по outlook
— Составляя sql-запрос
— Отправляя результаты заказчику в xls
— В лучшем случае, сохраняя sql-код куда-то в папку (а иногда и не сохраняя)

Но это было скучно и неинтересно. Так появилось простейшее приложение на PHP,
в котором каждый отчет был представлен в виде php-файла с одним классом, имеющим единственный (помимо конструктора) метод show()

В таком виде, система прожила 5,5 лет, за которые мной и еще одним человеком было написано более 500 различных отчетов.
В процессе появился опыт и стало понятно, что многое (если не все) сделано не так, да и PHP уже не устраивал.

Сервер отчетов был переписан на django, где была «админка» и код приложения уже не правился.
В процессе работы снова накопилось несколько мыслей,
в итоге сервер был снова переписан.

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

Это рабочий инструмент, который вы можете (если захотите) использовать в работе,
который нам использовать просто нравится.

Итак, поехали

Bootstrap Dropdown Menus Enhancement

Reading time1 min
Views43K
Мне очень нравятся выпадающие меню из Bootstrap. Благодаря простой и понятной семантике их легко и приятно использовать при верстке.

Но для полного счастья мне не хватало некоторой функциональности.

Итак, встречайте расширения Dropdowns

Диалоги о Big Data

Reading time7 min
Views8.7K
-Привет!

-Здоров. Как ты? Жив?

-Держусь. Можно даже сказать, что бодр и весел. Ну что, будем делать заказ? Какие нынче предпочтенья – дорада на гриле или «Биф фингер мит»?

-Даже не знаю. Скорее второе. А как продвигаются дела на фронте продажи решений в сфере ИТ? Успеваете подвозить «железо» на склад? Или уже образовался дефицит, и приходиться давать не больше двух в одни руки?

-Практически. Скоро будем работать в две смены – с утра продаем, вечером грузим (смеется). Был на форуме «Big Data 2013», который проводили «Открытые системы»?

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

CMS Koken для фотогалерей

Reading time3 min
Views69K


Появилась надобность создать сайт с фотогалереей. И пошел искать CMS для сих утех. После некоторого поиска обнаружил неприятную тенденцию. Есть CMS для фотогалерей, но не с современной навигацией, без Lightbox и так далее. Есть красивые HTML шаблоны с всякими вкусностями (например, Gamma Gallery), но без системы управления контентом. Рассматривать Wordpress и др. для сайта только с фотками — слишком накладно. Даже опечалился, но поиск натолкнул на одну новую CMS Koken. После небольшого рассмотрения понял, что это именно то, что мне нужно: первоклассная админка с множеством настроек, и современное отображение галерей. А с напильником так вообще красота получается.
Читать дальше →

Важнейшие $in'ы: производительность MongoDB в диапазонах

Reading time3 min
Views12K
Перевод этой статьи уже есть на хабре, но он ужасен и содержит ложную информацию.

Приветствую, искатели приключений! Путешествуя по территории индексации MongoDB хотя бы некоторое время, вы, возможно, познакомились с таким правилом: если ваш запрос содержит сортировку/порядок (orderby) – добавьте сортируемое поле в конец индекса который используется для запроса.

Во многих случаях когда запрос содержит равенство (то есть поиск конкретного значения, например, {“name”: “Charlie”}) данная мантра бывает весьма полезной.

Запрос

db.drivers.find({"country": {"$in": ["A", "G"]}}).sort({"carsOwned": 1})

Индекс

{"country": 1, "carsOwned": 1}

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

Загадка выпадающего списка «Амазона»

Reading time2 min
Views192K
Бен Кэменс обнаружил, что в выпадающем списке Shop by Department на сайте «Амазон» ховер-эффект происходит очень быстро, абсолютно без какой-либо задержки. Тем самым происходит нарушение старого, выработанного ещё в 90-х годах прошлого века правила: перед отображением пункта подменю необходим так называемый гистерезис, запаздывание.



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

[Опровергнуто] Посылки без отчества не отдаем, или о новых правилах почты России

Reading time2 min
Views197K
Почта России неожиданно серьезно осложнила и без того нелегкую жизнь получателем международных отправлений. Оказывается, с февраля на всех без исключения почтовых отправлениях, получаемых россиянами, должно присутствовать полное ФИО, включая отчество. Проще говоря — если в паспорте у вас есть отчество, то и на посылке оно должно присутствовать, иначе получить его вы не сможете.
Все нормально, посылки без отчества получать можно. Информация — в обновлении в конце топика.

Такая практика уже около года действует для отправлений, отправляемых внутри страны — без указания полного ФИО отправление не принимали к пересылке, но сейчас такие правила стали действовать и в отношении международных малых пакетов.
К сожалению, мне не удалось пока получить номер приказа, который устанавливает эти правила, но в наличии правил может убедиться каждый — позвонив на горячую линию почты России(8-800-2005-888).
А что делать?

Введение в Jasmine

Reading time3 min
Views118K

Программирование на стороне клиента давно стало нормой, а объем JavaScript кода и его сложность постоянно растут. Часто тестирование применяется только на серверной стороне, но при этом не стоит забывать о тестировании клиентского кода. Для тестирования JavaScript как на стороне клиента, так и для Node.js можно с успехом применять Jasmine.

Jasmine это BDD фреймворк (Behavior-Driven Development — Разработка на Основе Поведений) для тестирования JavaScript кода, позаимствовавший многие черты из RSpec.

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

Удачная модель ветвления для Git

Reading time10 min
Views1M
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

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

Counter-Strike 1.6 доступен для Linux

Reading time1 min
Views123K
Свершилось. Событие, которое ждало не одно поколение геймеров — компания Valve выпустила официальную бета-версию легендарной игры Counter-Strike 1.6 для Linux. Этого стоило ожидать, так как несколько дней назад была выпущена Half Life 1, так же бета. Данный релиз не является финальной версией игры, а предназначен больше для тестирования. Все пользователи стима могут установить игру прямо сейчас.

image

Знакомьтесь, Instacode — это как Instagram, только для лучших фрагментов из жизни… исходного кода

Reading time1 min
Views59K
один из шедевров неизвестного программиста
Всем привет. Недавно на просторах интернета наткнулся на очень занимательную вещицу, имя которой Instacode. Чем же занимателен данный сайт — а тем, что он работает по принципу Instagram, только вот изображения генерируются из вашего исходного кода. Не верите? А вы попробуйте. В общем, кому интересно — милости прошу под кат.

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

Information

Rating
Does not participate
Works in
Registered
Activity