Pull to refresh
0
0
Send message

Все способы заработка в интернете (инфографика)

Reading time1 min
Views4.8K
Каждый сегодня делает деньги в интернете… или по крайней мере пытается.

В Fast Company собрали все возможные способы заработка денег в интернете и изобразили их в виде инфографики.

Сколько способов которые показаны здесь, вы активно используете для заработка денег в интернете?
Читать дальше →
Total votes 108: ↑83 and ↓25+58
Comments35

360° музыкальный клип

Reading time1 min
Views2.2K
В рамках рекламы Doritos Late Night был выпущен интересный в техническом плане музыкальный клип. Интересен он тем, что сьёмка ведётся в 360°, и можно двигать мышкой что бы увидеть всё происходящее вокруг.

Клип можно увидеть на youtube, в канале пользователя doritosuk — www.youtube.com/doritosuk
Для просмотра как вы уже наверное догадались, нужен Flash.

Под катом есть несклееная версия.
Читать дальше →
Total votes 85: ↑75 and ↓10+65
Comments71

Экспорт дней рождения из ВКонтакте (работа с OpenAPI)

Reading time2 min
Views30K
imageЛично я не любитель соцсетей, а в особенности — вконтакте, из-за которого у меня было немало времени, потраченного впустую. Собственно поэтому в свое время я решил из него удалиться. Но в определенный момент я понял, что контакт служил не только местом , где можно было с утра до ночи нажимать F5 на странице Новостей для общения, но также сервисом, благодаря которому я мог вовремя узнавать о днях рождения друзей и, таким образом, поддерживать с ними хорошие отношения.

Таким образом, была поставлена задача: экспорт календаря в внешний сервис (в моем случае — Google Calendar). Используется родной API, поэтому все работает быстро и без багов. Кому интересно — прошу под кат.
Читать дальше →
Total votes 81: ↑67 and ↓14+53
Comments69

Книга Чарльза Петцольда “Programming Windows Phone 7” доступна для загрузки

Reading time1 min
Views2.8K
image

Как и было обещано ранее, книга известного автора технических книг Чарльза Петцольда Programming Windows Phone 7 доступна для бесплатной загрузки. Книга представлена в формате .pdf, ее размер составляет 38.6 мегабайт. Кроме того, по ссылке доступны и исходные коды из книги.

Эта книга подробно рассказывает про новую платформу Windows Phone 7 и разработку приложений под нее с помощью технологий Silverlight и XNA. Книга очень большая и содержит более 1000 страниц разбитых на 24 главы.

Пока книга доступна только на английском языке. Однако российское отделение Microsoft уже начало работу по ее переводу для русскоговорящих разработчиков. Еще в сентябре был доступен перевод первых 6 глав этой книги, скачать его можно по этой ссылке. Будем надеяться, что вскоре все тысячестраничное издание будет переведено на русский язык.
UPD: книга по ссылке была обновлена из-за ошибки в верстке, которая не позволяла копировать текст.
Total votes 72: ↑49 and ↓23+26
Comments10

Ethernet термометр на основе Arduino

Reading time5 min
Views139K
Arduino

О цифровых термометрах на основе Arduino было сказано немало. Все они либо подключались к компьютеру, либо выводили температуры сразу на дисплей.
Но мне был нужен уличный термометр, который автономно и отправляет данные на сайт. Итак, приступим.
Читать дальше →
Total votes 76: ↑71 and ↓5+66
Comments96

PHP + BDD = Behat, или сказ о чудо-библиотеке

Reading time8 min
Views40K
Каждый, кто всерьез занимался разработкой на Ruby, знает про замечательный гем Cucumber. Вкратце — это библиотека для автоматизированного тестирования, заточенная под BDD. Подробнее можно почитать в топике хабраюзера dapi, а еще лучше посмотреть подкаст от Райна Бэйтса. Основная прелесть «огурца» состоит в том, что он позволяет писать тесты на понятном человеку языке, и даже не обязательно английском. Выглядит это так:

Feature: Addition 
  In order to avoid silly mistakes 
  As a math idiot 
  I want to be told the sum of two numbers 

  Scenario: Add two numbers 
    Given I have entered 50 into the calculator
      And I have entered 70 into the calculator
     When I press add
     Then The result should be 120 on the scree

Благодаря Cucumber я подсел на BDD на рельсах. Но вот на PHP, с которым приходится работать основную часть времени, отношения с BDD как-то не сложились. И в первую очередь из-за отсутствия достойного инструментария. Но однажды судьба завела меня на страницу библиотеки Behat (написанной, кстати говоря, хабраюзером everzet). И на меня свалилось счастье…
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments42

Microsoft Moles

Reading time12 min
Views2.4K
Moles – это легковесный тул от MS Research, который умеет автоматически генерировать заглушки для интерфейсов и виртуальных методов, а также для sealed классов, невиртуальных и статических методов (!), путем генерации кода, которому позднее можно будет подсунуть нужный делегат, вызываемый вместо определенного метода. Первый тип заглушек называется стабы (stubs), а второй – молы (moles). Именно эту штуку я использовал для тестирования асинхронных операций, о которых я рассказывал ранее, но давайте обо всем по порядку.

Stubs



Давайте рассмотрим такой пример. Предположим, что мы понимаем ценность модульных тестов, а также таких принципов, как Dependency Inversion, и других безумно полезных принципов и паттернов (может быть всех остальных принципов S.O.L.I.D., а возможно даже и F.I.R.S.T.). И дело даже не в том, что мы фанаты тестов или дядюшки Боба, а просто потому, что мы знаем, что высокая связность – это плохо. Поэтому мы стараемся в разумных пределах уменьшить зависимости путем выделения интерфейсов с последующим «инжектом» их в конструкторы классов или в методы, которым эти интерфейсы необходимы для выполнения своих задач.

Читать дальше →
Total votes 61: ↑43 and ↓18+25
Comments11

76 новых материалов на русском

Reading time3 min
Views1.6K
image

Недавно был снова обновлен центр по Internet Explorer на MSDN. Были добавлены 76 статей и книг, посвященных следующим темам:



Полный список материалов со ссылками под катом
Читать дальше →
Total votes 62: ↑46 and ↓16+30
Comments11

Watir: простой парсинг сложных сайтов

Reading time4 min
Views51K
imageКаждый, кто пишет парсеры, знает, что можно распарсить сто сайтов, а на сто-первом застрять на несколько дней. Структура очередного отмороженного сайта может быть сколь угодно сложной, и, когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.

Грубо говоря, проблема в том, что в браузере работает javascript, а на сервере его нет. Нужно либо писать интерпретатор js на одном из серверных языков (jParser и jTokenizer), либо ставить на сервер браузер, посылать в него запросы и вытаскивать итоговое dom-дерево.

В древности в таких случаях мы строили свой велосипед: на отдельной машине запускали браузер, в нем js, который постоянно стучался на сервер и получал от него задания (джобы), сам сайт грузился в iframe, а скрипт извне отправлял dom-дерево ифрейма обратно на сервер.

Сейчас появились более продвинутые средства — xulrunner (crowbar) и watir. Первый — безголовый firefox. У crowbar есть даже ff-плагин для визуального выделения нужных данных, который генерит специальный парсер-js-код, однако там не поддерживаются cookies, а допиливать неохота. Watir позиционируется разработчиками как средство отладки, но мы будем его использовать по прямому назначению и в качестве примера вытащим какие-нибудь данные с сайта travelocity.com.

Читать дальше →
Total votes 79: ↑65 and ↓14+51
Comments74

OpenID, OAuth и другие плюшки

Reading time10 min
Views24K

Зачем нужен OpenID



Вот бывает так, заходишь на сайт любимый, а там ссылка на другой сайт, а там статья ну очень интересная и главное – полезная – и хочется добавить комментарий, типа «Молодцы!» и чтобы добавить комментарий, нужно зарегистрироваться, а чтобы зарегистрироваться нужно ввести «Имя», «Фамилия», «Логин», «Email», «Email еще раз», «Пароль», «Снова Пароль», «Прочитал правила и согласен со всем что тут будет происходить» и «Капчу». И жмакаешь «Зарегистрироваться», а тут бац – «Логин» — занят, и поля «Пароль», «Снова Пароль», «Капча» — стерты. Ну вот так. Вводишь другой свой логин (который второй, и не главный и не любимый) и снова пароль, снова снова пароль (постите) и капчу, и бац – всё ок, только забыл снова поставить галку «Прочитал правила...». Ну ладно, прошел еще раз круги ада, на мыло вышло письмо, активировал аккаунт, так, а где там была статья, да и ну их, не молодцы они, ну т.е. молодцы ну и хрен с этим, знают и так.
Проведите эксперимент, в вашей любимой почте сделайте поиск по слову «activate» — вот примерно столько вы регистрировались на сайтах.
А с другой стороны думаешь, а давайте упростим, и делаешь простое добавление комментария: «Имя», «Email», «Сообщение» — причем «Email» можно не вводить. Через 3 месяца заходишь, а там – СПАМ! Ладно, почистил – и ноль эффекта, спам продолжает, добавил капчу – ну вроде ок, но потом снова как-то они ее обходят. И внимание(!) – вводим регистрацию… Ой!
Но есть (УРА!) – OpenID.
Читать дальше →
Total votes 79: ↑67 and ↓12+55
Comments21

Конфетки для Валерки

Reading time3 min
Views3.5K
конфеткаВы никогда не сталкивались с проблемой как объяснить человеку, неиспорченному общением с железным другом, азы программирования?

Так уж получилось, что мы, работая в компании ГдеЭтотДом (я и anei), относительно часто ходим обедать в МуМу. Остаток от обеда обычно представляет собой фирменную конфетку. Которую мы не едим — вот такое несоответствие типов.

Но мы нашли выход, скармливая их Валерке.
Я, честно говоря, не знаю, причем тут программирование, Валерка и конфетки, но, в общем, однажды…
Подходит Александреску к Валерке и говорит:
Читать дальше →
Total votes 245: ↑201 and ↓44+157
Comments208

Hg Init: Часть 2. Основы Mercurial

Reading time7 min
Views230K
Это вторая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Возможно, вы захотите прочитать и первую часть «Переобучение для пользователей Subversion».

Даже если вы работаете в одиночку, то вам стоит использовать Mercurial. Так вы сможете получить все прелести контроля версий. Эта часть покажет насколько просто добавить каталог в Mercurial, чтобы с легкостью отслеживать предыдущие версии.

Часть 2. Основы Mercurial



Mercurial — это система контроля версий. Разработчики используют ее для администрирования исходного кода. У нее два основных назначения:
  1. Она хранит все предыдущие версии каждого файла
  2. Она может объединить разные версии вашего кода, то есть сотрудники могут независимо работать над кодом и затем объединять свои изменения


Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments66

Hg Init: Часть 1. Переобучение для пользователей Subversion

Reading time9 min
Views123K
Hg Init: Учебное пособие по Mercurial.


Mercurial — это современная распределенная система контроля версий с открытым кодом. Эта система — заманчивая замена для более ранних систем вроде Subversion. В этом простом учебном пособии в шести частях Джоэль Спольски (Joel Spolsky) рассказывает о ключевых принципах Mercurial.

Если вы использовали Subversion, то Mercurial будет непонятным. Эта часть рассказывает о главных отличиях при работе с Mercurial. Если вы никогда не использовали Subversion, то можете просто пропустить эту часть.

Часть 1. Переобучение для пользователей Subversion


В каком же я был смятении, когда программисты в моей компании решили сменить Subversion на Mercurial!

Для начала, я начал приводить всевозможные тупые причины, по которым нам не надо ничего менять. «Мы должны хранить репозиторий на центральном сервере, так безопаснее», — сказал я. Знаете что? Я был неправ. При работе с Mercurial у каждого разработчика на жестком диске хранится полная копия репозитория. Это, на самом деле, безопаснее. В любом случае, почти в каждой команде, использующей Mercurial, центральный репозиторий тоже существует. И вы можете делать резервное копирование этого репозитория со всей необходимой одержимостью. А еще можете устроить трехступенчатую защиту с Сайлонами, Штурмовиками и прелестными лабрадудлами или что там требует ваш IT-отдел.

Читать дальше →
Total votes 119: ↑116 and ↓3+113
Comments125

Видео с HighLoad++ в Mail.Ru: чего изволите?

Reading time1 min
Views5.2K
Дорогие коллеги!

26 и 28 октября в Mail.Ru прошли дни HighLoad ++. Как всегда, мы облегчили жизнь нашим многочисленным разработчикам высоконагруженных проектов, избавив их от необходимости выезжать в полном составе на конференцию.

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

Выбирайте, голосуйте!

Stoyan Stefanov (Yahoo) — Progressive Downloads and Rendering
Joe Damato — Performance tweaks and tools for Linux
Bruce Momjian (PostgreSQL) — Building Global Teams Like Postgres
James Golick — Scaling to Hundreds of Millions of Requests: What Worked and What Didn't
Константин Осипов (Oracle) — MySQL проблемы роста (о проблемах роста проекта и его команды)
Юрий Ковалев (Performance Lab) — Нагрузочное тестирование без границ
Петр Зайцев — Диагностика и исправление проблем производительности MySQL
Total votes 67: ↑39 and ↓28+11
Comments29

PushButton Engine Lesson #1: настройка FlashDevelop

Reading time5 min
Views8.2K

Вступительное слово



image

В ходе Flash разработок часто приходится выполнять однотипные задачи. Разработка Flash-игр не является исключением, поэтому мне захотелось найти какой-нибудь фреймворк или набор классов, которые помогли бы мне упростить и ускорить процесс разработки. Немного изучив текущий «рынок» игровых фреймворков, я остановил своё внимание на PushButton Engine (PBE).
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments45

Краткая история компьютерной иконографии

Reading time5 min
Views8.8K
Краткая история компьютерной иконографии

С семидесятых годов прошлого века самые обычные компьютерные иконки прошли долгий и тернистый путь. Эта статья – попытка собрать коллекцию иконок, иллюстрирующую развитие компьютерной иконографии. И хотя в период с 1981-го по 2010-ый год существовало множество различных операционных систем с графическим интерфейсом, были выбраны лишь самые значимые, оказавшие наибольшее влияние на современный дизайн иконок.

История в картинках
Total votes 140: ↑130 and ↓10+120
Comments135

Information

Rating
Does not participate
Location
Ивано-Франковск, Ивано-Франковская обл., Украина
Date of birth
Registered
Activity