Pull to refresh
2
0
Tlesk @Tlesk

User

Send message

Новая Главная портала Mail.Ru

Reading time10 min
Views44K
Думаю, многие из вас хоть раз видели старую главную страницу Mail.Ru, которая довольно долго не менялась. Поэтому для общего понимания, небольшая преамбула: технический апдейт, о котором пойдет речь в этом посте, стал возможен после внутренних изменений в компании.



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

Кластерные и «обычные» индексы MySQL (InnoDB)

Reading time5 min
Views142K
Все мы помним хрестоматийное объяснение «что такое индексы в БД и как они облегчают задачи поиска нужных строк». Уверен, у большинства из вас перед глазами встаёт нечто подобное:

Некластерный индекс

И сразу становится очевидно, насколько меньше данных нужно перелопатить для поиска двух-трёх нужных строк. Гениально. Просто. Понятно.

И лично мне всегда казалось, что улучшать эту схему некуда… Пока я не познакомился с кластерными индексами. Оказалось, что всё не так уж радужно с «обычными» индексами.

Итак, что же такое кластерный индекс, чем он лучше некластерного, и как с ним обстоит дело у MySQL.
Читать дальше →

Использование классов в JavaScript

Reading time11 min
Views39K
Методы создания классов на JavaScript уже не раз обсуждались по всему рунету и на хабре в том числе, я решил найти немного иной подход к созданию классов, приближенный к реальным классам. Одно важное отличие от других реализаций описанных во многих статьях, это возможность создавать аксессоры (setter's/getter's). Которые будут работать не только в современных браузерах, но и в долгоживущем IE ниже 9-ой версии. Об этом читайте ниже.

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

Геймдизайнерам об игроках или как программировать игроков?

Reading time7 min
Views13K

Вступление 1.



Много думал и анализировал информацию на тему разработки игр. И чтобы не потерять, а так же поделиться с людьми, получить подсказки, советы и комментарии — решил оформить и выложить статью. На сегодняшний день “геймдизайн” все больше обретает очертания некой науки, требующей особого подхода и изучения. К сожалению, в общем доступе находится очень мало структурированной информации. Что касается иностранных авторов, имеющих большой опыт и ряд успешных проектов — зачастую их труды так и не попадают на прилавки отечественных магазинов. А изучить их в оригинале многим мешает языковой барьер.
В данной ситуации спасением служат статьи, где люди делятся впечатлениям и личным опытом по разработке игр. Эти статьи не только и не столько доносят до читателей новую информацию, сколько подают ее в новом свете, позволяя более четко осознать и отобразить в жизнь.

Вступление 2



Хочу отметить, что на написание материала оказало влияние выступление на Sociality Rocks 2011 Henric Suuronen — руководитель студии Wooga, разработчика Bubble Island и других хитов. Особого внимания заслуживает статья Андрея Плахова “Геймдизайнерам о программистах или как программировать программистов”. По аналогии с той статьей возникла мысль, что программировать можно и пользователей тоже. Программировать их модель поведения, чтобы их развлекать и извлекать нужные нам ценности — платежи, удержание в игре, привлечение новых игроков. И одним из инструментов удержания служит набор функций в приложении, который можно условно назвать игровым циклом. Об этом мы и поговорим далее

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

Стартует новый набор в Школу анализа данных Яндекса

Reading time2 min
Views14K
Сегодня, 10 апреля, стартовал очередной, уже шестой, набор в Школу анализа данных Яндекса. В этом году и сроки, и правила поступления в Школу немного поменялись, и обо всех изменениях мы хотим рассказать подробнее.



1. Отделения «Анализ данных» и «Computer science» в Москве
В предыдущие годы поступление на эти отделения было двухэтапным: заочное онлайн-тестирование и очное собеседование с преподавателями Школы.

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

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

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

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

Meteor — Новый способ создания приложений

Reading time2 min
Views23K
Meteor представляет собой набор новых технологий для быстрого создания высококачественных веб-приложений, с которым справятся не только опытные разработчики но даже и новички.

Чистый JavaScript.


Пишите всё приложение полностью на чистом JavaScript. Все API, доступны на клиенте и на сервере — в том числе API базы данных! — Так что один код может легко работать на клиенте и на сервере.

Живые обновления страниц.


Просто напишите ваши шаблоны. Они автоматически обновляются при изменении данных. Meteor поддерживает любой язык шаблонов.

Чистая, мощная синхронизация данных.


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

Полезные ссылки для изучения CSS анимации

Reading time3 min
Views24K
Мы начали наблюдать много экспериментов над CSS3 анимацией и статьи о ней в 2011-м, но тогда поддержка этой анимации была ограничена браузерами на вебките. В середине 2011-го Firefox 5 тоже получил эту поддержку, а также мы можем ожидать ее в следующей реинкарнации Internet Explorer (10), поэтому сейчас идеальное время, чтобы разобраться с синтаксисом @keyframes (покадровой анимации). Этот пост предлагает краткий обзор 10-ти статей, в которых объясняется, как использовать это клевое CSS3 свойство, с примерами и демками.


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

Почему я ненавижу фреймворки

Reading time4 min
Views70K
Я собираюсь сделать Java-веб-приложение (да, это будет Java, по некоторым причинам, которые сейчас озвучивать не хочу). В процессе работы, я оцениваю кучу J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container фреймворков.

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

Давайте представим, что я решил сделать шкафчик для специй.
Читать дальше →

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

Reading time6 min
Views452K

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

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост

Go for IT. Часть первая

Reading time5 min
Views12K

Неуловимый Go.


Помните анекдот про неуловимого Джо? Именно восклицанием «Да кому он нужен!», прозвучавшим в форме вопроса "ЗАЧЕМ?", был встречен на Хабре релиз первой стабильной версии GO 1.

Именно на этот вопрос я хочу ответить циклом статей, оформленных в необычном для Хабра формате — в виде пошаговой совместной разработки действующего веб-проекта — с живым обсуждением и добавлением функционала. А чтобы вдвойне оправдать внесение цикла ещё и в хаб «Высокая производительность», мы поставим перед собой задачу создать не просто «хомяка», а проект, который наглядно продемонстрирует habri et orbi способность выдерживать значительные естественные нагрузки.

Вместо аперитива: реализация простейшего динамического веб-приложения на языке Go работает в 5-20 раз быстрее аналогичной Python-реализации. И всего в два раза уступает скорости отдачи статики Nginx-ом.

В рамках этого проекта, помимо самого языка Go, мы косвенно затронем и другие (относительно новые) технологии веб-разработки — HTML5, CSS3, Redis, MongoDB. Также я постараюсь вытащить из закутков долговременной памяти некоторые из трюков в области безопасности и экономии на спичках, коих накопилось много за полтора десятка лет работы в этой области. Устраивайтесь поудобнее, запасайтесь терпением и кофе — под катом «много букв», а ведь это только вводная часть :)
Читать дальше →

Автоматизируем социальную активность вашего интернет стартапа с помощью ifttt.com

Reading time5 min
Views5.3K

Начнём с описания ifttt.com



ifttt.com — это очень перспективный стартап, который в двух словах: Lets You Hack Together Web Apps, Without Coding Skills. Если детальнее, то это сервис позволяющий пользователям, без погружения в API огромного количества сервисов и каких либо знаний о разработке\языках программирования смешивать и автоматизировать различную активность друг с другом. В начале 2012 года получили посевные инвестиции в размере $1.5M.

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

ifttt main screen
Экран задач выглядит так

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

Скринкасты в линуксе, личный опыт

Reading time4 min
Views10K
openshot
Чуть больше года назад я публиковал здесь на хабре скринкасты. Недавно вышел последний и хотелось поделится опытом создания скринкастов под линуксом.
Читать дальше →

Образование в вузе и за его пределами: взгляд с кафедры

Reading time8 min
Views15K
Последние две недели были особенно плодотворны темами, посвящёнными изучению IT в школе, в университете и самостоятельно. Интересен разброс мнений: от «обязательно идите в вуз, впитывайте знания, получайте корочку» до «ничему вас там не научат, лучше идите в индустрию и учитесь у старших коллег». Как действующий университетский преподаватель я, конечно, буду ратовать за вузовское образование, но с большими дополнениями и оговорками. Именно этим дополнениям и оговоркам хочется посвятить отдельную статью, надеюсь, небесполезную для интересующихся школьников и студентов, и способствующую целостному взгляду на образовательный процесс в нашей любимой области.
Читать дальше →

Креативные сайты с нестандартными элементами

Reading time3 min
Views63K
Последнее время все чаще можно встретить сайты с необычным дизайном и функциональностью, увидев которые, можно залипнуть на некоторое время. Увидев такие, у меня рука непроизвольно тянется к f12, чтобы открыть firebug и посмотреть, как же реализован тот или иной компонент. Таким образом можно открыть для себя интересные техники и в будущем реализовать их на своих проектах. Некоторые из них стали доступны с приходом новых технологий, например таких, как CSS 3 — то, что раньше было реализовано на флеше, теперь можно воплотить с помощью строк кода в таблице стилей. Дизайнеры тоже не теряют времени, создавая новые тренды и все плотнее взаимодействуя с верстальщиками. В этой статье я хотел бы показать 15 сайтов, которые так или иначе удивили и порадовали меня. Возможно, кого-то они вдохновят на собственный шедевр



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

«Та самая цель» в разработке на заказ

Reading time8 min
Views10K
Недавно я дочитал роман Эли Голдрата «Та самая цель». В силу привычки извлекать из всего пользу, мне захотелось применить знания его Теории Ограничений в условиях нашей компании, занимающейся разработкой программного обеспечения на заказ. В этой статье я попытаюсь кратко изложить основные идеи из книги, а затем сделать выводы в условиях своей предметной области. Буду рад если кто-то заинтересуется романом, ибо он того стоит. Указания на ошибки в моих объективных и логически безупречных рассуждениях тоже приветствуются.

Определение цели



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

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

jQuery File Upload

Reading time2 min
Views183K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

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

Запись разговоров на Android

Reading time3 min
Views316K
Я думаю, довольно многим хочется иметь возможность записывать собственные телефонные разговоры на своём смартфоне за 20 тысяч рублей. Задача вроде бы банальная, и вроде бы API Android’а позволяют это делать. Но почему запись не работает почти на всех устройствах без всяких шаманств и танцев с бубном?

Закон


Всё дело в том, что в некоторых странах запись является нелегальной и производители не тратят время на добавление такой возможности. Но как же быть тем, кто живёт в странах, где записывать разговоры не запрещено. Например, в России нет запрета на запись собственных телефонных разговоров, даже не нужно предупреждать собеседника о записи. Только прослушивать записи ваших разговоров имеете право только вы, т.е. если вы дадите прослушать запись третьему лицу, то это будет расцениваться, как нарушение 23-й статьи Конституции РФ.

Телефон


В некоторых устройствах ядро не содержит нужного драйвера, в некоторых устройствах запись отключена в системных библиотеках. Поэтому на этих телефонах запись не работает ни в одной из десятков программ в Market’e. Оно и не удивительно, ибо все они пишут разговоры одним и тем же способом. Но на некоторых телефонах запись работает без всяких танцев с бубном, например, на Samsung Galaxy S II. Но не на каждой прошивке, например, на Android 4 ICS запись уже не работает, видимо, Samsung посчитал, что пользователям она не нужна и убрал её.
Читать дальше →

КартонБот v1.0 — утилизируем картон с пользой для мозга

Reading time6 min
Views30K
Количество попыток собрать робота у меня – не счесть. Но, то материалов не хватало, то навыков их обработки, то каких-то узлов, то знаний, как все эти штуки связать вместе. Если знакома такая ситуация – я постараюсь рассказать свой опыт сборки робота из подручных материалов и каких-то узлов купленных на eBay.
image
Робот обошелся мне в 35$ и два дня отпуска, но восторг, испытанный от его первых движений, стоил намного больше. Если заинтересованы – прошу под кат (много картинок).
Читать дальше →

Как выбрать момент для отправки письма

Reading time3 min
Views72K
Знаете ли вы, что письмо потенциальному клиенту с коммерческим предложением лучше всего отправлять с полудня и до трёх часов дня, лучший день для приглашения на вечеринку — пятница, а рекламные рассылки интернет-магазинов лучше всего делать с 19 и до 22 часов?

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

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



Под катом — расшифровка данных и материал о выборе времени для отправки в течение дня.

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

Tinyicon — счетчик в favicon на js

Reading time1 min
Views4.2K
Tinyicon это небольшая библиотека для манипуляции с favicon сайта для передачи информации о новых событиях. Для браузеров не поддерживающих canvas счетчик отображается в title страницы.

image

Примеры и ссылки инсайд

Information

Rating
Does not participate
Registered
Activity