Как стать автором
Обновить
23
0
Александр Тарасов @Could

Разработка програмного обеспечения

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

Система оплаты проезда общественного транспорта Москвы

Время на прочтение8 мин
Количество просмотров182K
image
Предыстория
В далёком 2005 году, когда я был ещё мелким ребёнком, я впервые увидел такую вещь как «Социальная карта москвича» Смотря на то как пенсионеры прикладывают её при проходе через турникеты наземного транспорта и метрополитена, я стал задумываться над тем, как же работает вся эта система. Но в детстве у меня не было возможности этим заняться. Позже, когда я уже сам начал зарабатывать деньги, я решил всерьёз приступить к изучению системы оплаты проезда в общественном транспорте.

RFID
Конечно же я начал с поиска в гугле и без особых усилий нашёл название данной — RFID (Radio Frequency IDentification) или в переводе на русский Радиочастотная Идентификация. Прочитав статью на википедии, я понял что метки (карты) делятся на 3 диапазона работы, Метки диапазона LF (125—134 кГц), Метки диапазона HF (13,56 МГц), Метки диапазона UHF (860—960 МГц). В общественном транспорте используются метки второго диапазона — HF.
Читать дальше →
Всего голосов 155: ↑145 и ↓10+135
Комментарии167

Джон Резиг: Пишите код каждый день

Время на прочтение5 мин
Количество просмотров129K
Прошлой осенью работа над моими побочными проектами зашла в тупик: я практически не продвигался вперёд и у меня никак не получалось делать больше, не принося в жертву свою основную работу в Khan Academy.

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

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

Услышав о невероятном эксперименте Дженнифер Девальт, которая решила изучить программирование, создав 180 сайтов за 180 дней, я отважился испробовать сходную тактику: работать над побочными проектами каждый день.

image
Иллюстрация Стивена Резига
Читать дальше →
Всего голосов 196: ↑183 и ↓13+170
Комментарии56

Впечатления от сорокá дней ежедневной работы над открытым исходным кодом на Гитхабе

Время на прочтение4 мин
Количество просмотров39K
Утром 1 октября 2013 года календарь проделанной работы над открытым исходным кодом, расположенный на моей гитхабовской странице, выглядел вот как:

[скриншот календаря]

Это не было простой случайностью. Я нарочно решил (руководствуясь GTD-соображениями) достаточно долгое время стараться каждый день чего-нибудь делать на Гитхабе, а затем (если дело пойдёт) поделиться на Хабрахабре наиболее ценными впечатлениями от именно такой манеры работы (назовём её, скажем, calendar-driven development), когда впечатления накопятся.

И поделяюсь.

Читать дальше →
Всего голосов 69: ↑54 и ↓15+39
Комментарии43

Новый набор в Школу анализа данных Яндекса и разбор вступительного экзамена

Время на прочтение7 мин
Количество просмотров80K
16 апреля открылся новый набор в Школу анализа данных Яндекса, который продлится до 15 мая. В этом посте я хочу рассказать вам, как сложилась судьба тех, кто уже закончил ШАД, а также впервые публично разберу все задания нашего письменного вступительного экзамена. Как всегда, желающим надо будет заполнить анкету и выполнить задание на сайте Школы, сдать письменный экзамен и пройти собеседование.

Кстати, если у вас есть знакомые или их дети, которым рано идти в ШАД, но которые подают надежды, расскажите им о факультете Computer Science, который открывается в этом году в Высшей школе экономики при участии Яндекса. Во многом он будет расти из Школы анализа данных, но в неё мы принимаем студентов и выпускников. Поэтому если вы абитуриент, то приходите 27 апреля на презентацию этого факультета, где ректор НИУ ВШЭ Ярослав Кузьминов и сооснователь Яндекса Аркадий Волож расскажут о нём все подробности. Мы всех приглашаем.

Истории: одна о гуглере и одна — о сотруднике Яндекса

С момента создания ШАД её закончили 260 специалистов в области computer science. Мы попросили двух выпускников Школы рассказать о том, что им дало обучение в ней, и дать несколько советов тем, кто решил поступать.

Андрей Петров, разработчик в мюнхенском офисе Google.
imageКогда я был студентом, у меня сложилась иллюзия, что программировать я уже умею, а Computer Science — это просто. Действительно, ведь я создавал сайты с динамическим контентом, писал игры, получал призы на олимпиадах и без проблем сдавал экзамены в университете. Однако это было лишь хобби, а я был любителем. Чтобы начать путь профессионала, я пошёл в школу Яндекса.
Читать дальше →
Всего голосов 62: ↑55 и ↓7+48
Комментарии34

Нагрузочное тестирование «по-быстренькому»

Время на прочтение3 мин
Количество просмотров211K
Может кому будет интересно как «по-быстрому» провести нагрузочное тестирование своего веб-приложения.
Подробности под катом
Читать дальше →
Всего голосов 86: ↑82 и ↓4+78
Комментарии40

Как программисту из России поступить в Стенфордский Университет в Калифорнии

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

И снова с вами Американская Бизнес-ассоциация Русскоговорящих Профессионалов AmBAR и проект о предпринимателях из Кремниевой долины SiliconNews.ru Чтобы разнообразить посты про Кремниевую долину, мы будем периодически публиковать истории гостей Кремниевой долины — зачем они сюда едут и каков их опыт. Сегодня рассказывает свою историю Дмитрий, опытный программист из Москвы и выпускник МГУ, который задался целью поступить в один из лучших университетов мира — Стенфорд. Возможно, кому-то его опыт будет интересен и полезен, а кто-то, наоборот, сможет дополнить или что-то посоветовать.

Привет, я программист из Москвы, выпускник МГУ, это моя вторая попытка поступить в топовый университет мира – Стенфорд. Ниже я опишу свой опыт поступления, ошибки первой попытки и всё, что я узнал. Заодно, я был бы признателен советам знающих людей и любой помощи в этом направлении.

Начну с того, что с самого начала меня привлекала бизнес-карьера, и, поработав разработчиком достаточное время, я стал искать дальнейшие перспективы развития. Поскольку у меня был интерес к стартапам, как наверное у многих читающих эту статью, я задался целью выжать из этого интереса максимальный результат. И идея поступить в университет, который находится в сердце Кремниевой долины и на передовой современной технологической тусовки, пришлась как нельзя кстати.
Читать дальше →
Всего голосов 49: ↑36 и ↓13+23
Комментарии11

Релиз KPHP и движков

Время на прочтение6 мин
Количество просмотров164K
Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

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

В связи с этим под катом вас ждет более подробный рассказ о внутреннем устройстве ВКонтакте и тех инструментах, которые сегодня стали доступны opensource-сообществу.


Читать дальше →
Всего голосов 323: ↑311 и ↓12+299
Комментарии159

Google Calendar, как бесплатный СМС гейт

Время на прочтение4 мин
Количество просмотров67K
Вы знали, что google календарь может отправлять СМС напоминания? Скорее всего, да. Я сам этим пользуюсь постоянно. А знали ли вы, что с помощью таких напоминаний можно сделать себе СМС оповещения? А вот можно. Эдакий персональный бесплатный СМС гейт. Я об этом когда-то давно читал, но тогда мне это нужно не было. Недавно понадобилось отправлять СМС оповещения от железки аля умный дом и я вспомнил об этом способе. Вспомнил, нашел готовый django модуль, реализующий его, и подключил к своему сайту. Работает! На все у меня ушло где-то пол часа. Но обо всем по порядку.
Читать дальше →
Всего голосов 59: ↑49 и ↓10+39
Комментарии51

Обзор бесплатных сервисов для веб-разработки

Время на прочтение4 мин
Количество просмотров143K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Всего голосов 157: ↑136 и ↓21+115
Комментарии113

О сортировке контента на основе оценок пользователей: Часть 2

Время на прочтение5 мин
Количество просмотров10K
Прошлая статья привлекла большой интерес. И даже, на некоторое время, стала лучшей за 24 часа. У меня появилось несколько идей и на часть вопросов в комментариях нужно ответить более развернуто.
image

Читать дальше →
Всего голосов 67: ↑52 и ↓15+37
Комментарии36

Шпаргалка по Redis

Время на прочтение8 мин
Количество просмотров378K
Про Redis (официальный сайт, материалы на Хабре) написано много, но мне до сего дня не хватало материала, который послужил бы шпаргалкой по его практическому использованию, а так же справочником по базовым теоретическим моментам. Постараюсь заполнить этот пробел в богатой базе знаний Хабра.

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

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

Ключи


Redis — хранилище данных в формате «ключ-значение». Факты о ключах:
  • Ключи в Redis — бинарно-безопасные (binary safe) строки.
  • Слишком длинные ключи — плохая идея, не только из-за занимаемой памяти, но так же и в связи с увеличением времени поиска определенного ключа в множестве в связи с дорогостоящим сравнением.
  • Хорошая идея — придерживаться схемы при построении ключей: «object-type:id:field».


Типы данных Redis


  • Строки (strings). Базовый тип данных Redis. Строки в Redis бинарно-безопасны, могут использоваться так же как числа, ограничены размером 512 Мб.
  • Списки (lists). Классические списки строк, упорядоченные в порядке вставки, которая возможна как со стороны головы, так и со стороны хвоста списка. Максимальное количество элементов — 232 — 1.
  • Множества (sets). Множества строк в математическом понимании: не упорядочены, поддерживают операции вставки, проверки вхождения элемента, пересечения и разницы множеств. Максимальное количество элементов — 232 — 1.
  • Хеш-таблицы (hashes). Классические хеш-таблицы или ассоциативные массивы. Максимальное количество пар «ключ-значение» — 232 — 1.
  • Упорядоченные множества (sorted sets). Упорядоченное множество отличается от обычного тем, что его элементы упорядочены по особому параметру «score».

Про типы данных Redis есть отдельная хорошая статья: «Структуры данных, используемые в Redis».
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии16

Hardkernel ODROID-XU миникомпьютер на Exynos5 Octa (big.LITTLE Cortex-A15). Личные впечатления

Время на прочтение6 мин
Количество просмотров65K
Как многие, кто интересуется этой темой, знают, компания Hardkernel, специализирующаяся на выпуске мини-компьютеров бренда ODROID на ARM SoC Samsung, недавно анонсировала новую плату ODROID-XU.
Плата построена вокруг Exynos5 Octa Cortex-A15 с технологией big.LITTLE. Это самый быстрый SoC на данный момент из доступных в виде готовых решений, хоть и не самый быстрый из анонсированных.
Это практически единственная плата на рынке которую можно называть мини-компьютером, а не development board. Потому что она выполнена в миниатюрном форм-факторе, а не лопатой, и заключена в какой-никакой, но корпус. Довольно удобно не только для разработчиков, но вполне подходит и для энтузиастов, жаждущих компактных домашних компьютерных систем.

image

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

Читать дальше →
Всего голосов 67: ↑57 и ↓10+47
Комментарии79

Web API с помощью Django REST framework

Время на прочтение4 мин
Количество просмотров158K
Веб-cервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (XML, JSON и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.

Одним из подходов создания веб сервиса является rest.
Rest (сокр. англ. Representational State Transfer, «передача состояния представления») — стиль построения архитектуры распределенного приложения. Данные в REST должны передаваться в виде небольшого количества стандартных форматов (например HTML, XML, JSON). Сетевой протокол (как и HTTP) должен поддерживать кэширование, не должен зависеть от сетевого слоя, не должен сохранять информацию о состоянии между парами «запрос-ответ». Утверждается, что такой подход обеспечивает масштабируемость системы и позволяет ей эволюционировать с новыми требованиями.

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

Настраиваем свой первый VDS сервер в роли веб-сервера

Время на прочтение14 мин
Количество просмотров52K
Добрый день.

Так уж сложилось, что последнее время пришлось достаточно часто менять VDS провайдеров, и каждый раз приходится заново настраивать систему, поэтому решил написать краткий конспект по настройке. Все нижеописанное корректно работает на ОС Linux Ubuntu server 12.04 LTS. В этой статье я опишу как установить и произвести первичную настройку nginx+apache2, eaccelerator, memcached, fure-ftpd, php, mysql, phpmyadmin а также панели управления игровыми серверами — open game panel.
Читать дальше →
Всего голосов 99: ↑67 и ↓32+35
Комментарии87

Радиопередатчик из Raspberry Pi и куска провода

Время на прочтение1 мин
Количество просмотров164K
Теперь каждый может сделать из своего Raspberry Pi неплохой FM передатчик. Для этого не нужно каких-то особых умений или деталей, всё, что вам понадобится — кусок провода длиной примерно в 20см.


Читать дальше →
Всего голосов 72: ↑61 и ↓11+50
Комментарии93

[Перевод] Современный веб-разработчик, или 6 вещей, которые вы должны знать, чтобы выжить

Время на прочтение4 мин
Количество просмотров97K
Это статья об изменениях, которые произошли в мире веб-разработки. Я наблюдаю огромное количество веб-разработчиков, которые буквально застряли в устаревших технологиях, особенно в мире .NET. Если вы еще не начали совершенствовать свои навыки, и адаптироваться к изменяющимся трендам, вы должны начинать уже сегодня.
Читать дальше →
Всего голосов 169: ↑132 и ↓37+95
Комментарии90

Удивительно простой, но красивый CSS-эффект

Время на прочтение4 мин
Количество просмотров67K
Наткнулся на очень простой в реализации, но интересный rollover-эффект для кнопок на CSS. Автор — некий японец ksk1015.



Демонстрация эффекта и процесс написания.
Читать дальше →
Всего голосов 141: ↑130 и ↓11+119
Комментарии31

Как заинтересовать зарубежного работодателя

Время на прочтение3 мин
Количество просмотров59K
В моём прошлом посте про поступление в магистратуру без бакалавриата читатели очень интересовались как перебраться в Европу без диплома.

Итак, мне 26 лет, я веб-разработчик в Берлине и я никогда не учился в университете.
5 составляющих успеха
Всего голосов 123: ↑109 и ↓14+95
Комментарии113

Простой способ защиты от классического HTTP DDoS

Время на прочтение5 мин
Количество просмотров35K
Данное решение позволяет вычислять любых ботов, за исключением тех, которые полностью имитируют работу браузера.

Как это работает


Бот запрашивает страницу, например habrahabr.ru/search. Бот не умеет загружать вместе со страницей картинки, скрипты, css и пр. Значит в логе будет отображен запрос к /search/ и всё.
Если на habrahabr.ru/search заходит живой человек через браузер, то вместе с /search/ в лог попадет множество картинок, скриптов, css и пр.
Читать дальше →
Всего голосов 113: ↑71 и ↓42+29
Комментарии109

Недорогая альтернатива Arduino. Дадим шанс?

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

TI LaunchPad MSP-EXP430G2


Что это?


Недавно мне довелось наткнуться на отладочную плату TI LauchPad MSP-EXP430G2. Похоже, что плата достаточно активно позиционируется как альтернатива другим МК такого же уровня как Arduino.
Интересно?
Всего голосов 49: ↑36 и ↓13+23
Комментарии99

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность