Pull to refresh
42
0
Винокуров Роман @Chaos_Code

User

Send message

Уроки написания утилитки на $1 000 000

Reading time4 min
Views198K


Осенью 2008 года мы потратили две-три недели свободного от основной работы времени, чтобы написать маленькую утилитку для бэкапа баз данных (MS SQL Server и потом MySQL). Сегодня она приносит нам около $230 000 в год и можно с уверенностью говорить, что суммарно мы заработаем на ней больше $1 000 000.

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

Как сделать 3D шутер на JavaScript за пару дней

Reading time3 min
Views84K
imageВ субботу у меня ближе к полуночи появилось свободное время и жгучее желание сделать игрушку под браузер, забавы ради и увеличения опыта для. С жанром определился довольно быстро: т.к. на MMORPG в этот раз у меня точно не хватило бы времени, я решил делать просто мясорубку. Минут 20 ушло на написание базового кода для управления игроком и его противниками. И тут встал вопрос — 2D или 3D (вернее так: Canvas/SVG или все же полноценный WebGL)?
Читать дальше →

Шпаргалка по верстке для больших и маленьких

Reading time3 min
Views101K
Приветствую!

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

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

Латентность при загрузке веб-страниц

Reading time3 min
Views35K
Пост «Кое-что о весе страницы» вызвал у меня желание написать маленькое дополнение. Многие замечают, что оптимизация размера веб-страниц становится менее актуальной в связи с увеличением пропускных способностей каналов. Рано или поздно все будут сидеть на гигабите, и будет совершенно неважно, весит ваша страница 100Кб или 250. Возможно, так оно и будет. Однако помимо скорости канала есть и другой параметр — задержка или латентность. И если пропускная способность каналов с развитием технологий может вырасти ещё очень сильно, то у латентности существует физический предел: это скорость света в оптоволокне — около 200 тысяч километров в секунду.

Хотя эта скорость очень велика, но всё же недостаточно, чтобы о ней забывать, ведь и планета у нас немаленькая. Wolfram Alpha не зря выдаёт на запросы по расстоянию время прохождения этого расстояния светом в волокне. Пусть у вас стоит сервер в Токио, а клиент пришёл из Рио-де-Жанейро. Если даже эти два города соединить оптоволокном по кратчайшей траектории на поверхности Земли, свет будет идти 86.7 мс.
Читать дальше →

Webshell.io — командная строка для интернета

Reading time1 min
Views14K
Webshell.io предназначен для создания прототипов и мэшапов на основе JavaScript API различных веб-сервисов. Что-то вроде IFTTT, но для программистов. С его помощью можно в интерактивном режиме писать запросы на JavaScript и CoffeeScript к клиентским и серверным API Google, Facebook, Twitter и многих других популярных сайтов и видеть их ответы в консоли, а так же создавать свои приложения, API которых, в свою очередь, будет доступен другим разработчикам. Webshell также поддерживает рендеринг HTML из шаблонов EJS.
Читать дальше →

Своя игра с JavaScript и Canvas

Reading time9 min
Views106K
imageНе так давно мне стало любопытно, насколько сносно современные браузеры поддерживают HTML5 и я не нашел лучшего
способа, чем написать простейший 2D платформер. Помимо удовольствия от разработки игрушки и улучшения навыков в использовании JavaScript, в ходе развлечения кропотливой работы был накоплен определенный опыт и эмпирическим путем были найдены основные грабли, на многие из которых мне пришлось наступить. В этой статье я попробую кратко и с примерами резюмировать то, что вынес для себя из проделанной работы. Желающих создать свое высокопроизводительное JavaScript приложение, эффективно работающее с графикой, прошу под кат.
Читать дальше →

Постарайтесь не ставить цели в 2013 году

Reading time5 min
Views70K
Перевод статьи Consider Not Setting Goals in 2013 из Harvard Business Review Blogs.

«София, Даниил» — я позвал в квартире моих детей пяти и семи лет, которые играли вместе в спальне. «Школьный автобус приедет через 10 минут. Давайте посмотрим, кто сможет почистить зубы и первым быть готовым на выход?».

Они, хихикая, бросились к ванной комнате. Две минуты спустя, Даниэль выиграл у Софии почти секунду. Я улыбнулся своей собственной победе. Я достиг своей цели, чтобы они почистили зубы и собрались в ​​рекордные сроки. Или не так?

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

Мы все знаем, как важно иметь цели, не так ли? И не просто цели, но долгосрочные цели. Большие дерзкие цели! Это имеет смысл: если вы не знаете, куда вы конкретно собираетесь, то вы никогда не окажетесь там. И если вы не установите планку достаточно высоко, вы никогда не будете жить на максимуме вашего потенциала.

Это тем более считается здравым смыслом в мире бизнеса, это подкрепляется исследованиями. Как то исследование Гарвардской школы бизнеса, о котором вы, возможно, слышали, в котором только 3% выпускников написали четкие цели. Двадцать лет спустя, эти 3% были в 10 раз успешнее всех остальных вместе взятых. Захватывающе, правда?

Было бы так, если бы это было правдой. Такого исследования не существует. Это чистый миф.

Книги для тимлидов и руководителей проектов. Часть 2

Reading time3 min
Views81K
Предыдущая статья очень хорошо была воспринята читателями, поэтому, как и обещал, сегодня подготовил статью-бонус.

Итак, я просил ответить на вопрос какие книги из статьи вы читали?

Результаты опроса:
Название книги
Количество голосов
Процент
Том ДеМарко. Deadline. Роман
об управлении проектами
247
54%
Фредерик Брукс. Мифический человеко-месяц, или Как создаются
программные системы
174
38%
Джоэл Спольски. Джоэл о программировании
165
36%
Том Демарко и Тимоти Листер. Человеческий фактор. Успешные
проекты и команды
148
32%
Джейсон Фрайд, Дэвид Хайнемайер Хенссон. Rework.
Бизнес без предрассудков
108
24%
Джеффри Янг и Уильям Саймон. iКона. Стив
Джобс
94
21%
Том ДеМарко, Тимоти Листер. Вальсируя с Медведями: управление
рисками в проектах по разработке программного обеспечения
70
15%
Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные
шаблонами. Паттерны поведения проектных команд
51
11%
Кармин Галло. iПрезентация. Уроки
убеждения от лидера Apple Стива Джобса
48
11%
Патрик Ленсиони. Смерть от совещаний
21
5%
Патрик Ленсиони. Пять пороков команды. Притчи о
лидерстве
19
4%
Патрик Ленсиони. Пять искушений руководителя: притчи о лидерстве
16
4%
Патрик Ленсиони. Три признака унылой работы. История со смыслом
для менеджеров (и их подчиненных)
11
2%

А теперь еще один бонус — список книг по заданной тематике, которые прислали нам читатели:
Читать дальше →

Улучшаем опыт взаимодействия с формами

Reading time8 min
Views44K
Часто меня спрашивают студенты: «Какой элемент сайта самый важный?», на что я им отвечаю — формы. Ведь с помощью форм пользователи совершают почти все конверсионные действия. Именно с этим элементом связано больше всего проблем. В этой статье я постараюсь рассказать, что можно улучшить при взаимодействии с формами. А заодно описать новые возможности работы с ними в браузерах.

Однако, сначала я бы хотел обозначить свою позицию по разработке таких форм. По-моему мнению, правильным подходом при разработке интерфейсов является подход прогрессивного улучшения.
Читать дальше →

Остров, о котором забыл Scrum

Reading time7 min
Views30K
На оригинал данной статьи я наткнулся случайно, разгребая почту и наткнувшись на новостную рассылку от ScrumAlliance. Тема метрик Scrum команд и непосредственно кода, меня интересует уже давно. Особенно любопытно, что с этими метриками делать дальше, и первостепенно — зачем они вообще нужны?

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

Чтобы расширить свой кругозор, а также получить ответ на свои внутренние вопросы, добро пожаловать под кат…
Да, я пережил конец света!

Всем, всем, всем: время обновлять свой CSS3

Reading time6 min
Views41K
Если Вы используете экспериментальный CSS на своих сайтах, в демках, статьях или инструментах, то это требует определенного рода поддержки. В связи с некоторыми недавними изменениями в мире браузеров, настало время пересмотреть и обновить Ваш код. Эта статья поможет Вам понять, что же начать обновлять уже сейчас.

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

Почему перемещать элементы с помощью translate лучше, чем с position:absolute top/left

Reading time2 min
Views37K
Для перемещения элемента по экрану есть два основных способа:

  • CSS 2D-преобразования и translate();
  • position:absolute и изменение top/left.

Крис Койер недавно писал, почему лучше и логичнее использовать translate (это быстрее, и свойство position имеет большее отношение к вёрстке, а не к визуальным эффектам и анимации, в отличие от translate).

Я хочу расширить его ответ и привести несколько хороших примеров. Я записал скринкаст, в котором помощью Chrome DevTools timline рассматриваю различия между этими подходами с точки зрения производительности, особенностей рендеринга и композитинга на GPU.



Если вам нужна сокращённая текстовая версия — продолжайте читать.
Читать дальше →

Разработчик конструкторов Arduino названа предпринимателем года в США

Reading time3 min
Views77K


По мнению экспертов журнала Entrepreneur Magazine, Лимор Фрид сумела распознать некую потребность, стремление людей сделать нечто своими руками. Это несравненное удовольствие известно каждому человеку, который хотя бы раз скрутил кровать или шкафчик, следуя чётким инструкциям по сборке, которые поставляются с набором деталей. Удовольствие от того, что ты сам создал новую вещь, нечто такое, чего не существовало раньше.
Читать дальше →

Тестируем приложение nodejs

Reading time13 min
Views44K
В прошлый раз я писал о создании приложения на nodejs с использованием expressjs как фреймворка и jade как шаблонитизатора. В этот раз я хочу остановиться на тестирование серверной части.

Для тестов воспользуемся:
Mocha — фреймворк позволяющий писать тесты и запускать легко и просто. Генерирует отчеты в различных вариантах, а так же умеет создавать документацию из тестов.
Should — библиотека для тестов в стиле «утверждения» (Не нашел правильного названия)
SuperTest — библиотека для тестирования HTTP серверов на nodejs
jscoverage — для оценки покрытия кода тестами

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

Тестируем сайт на игровых консолях. Часть I

Reading time5 min
Views11K
В последнее время в сети активно обсуждается тема разработки мобильных и адаптивных сайтов. А вот пользователей на Западе беспокоят уже другие проблемы. Например, как будет выглядеть Amazon на PSP и можно ли с Nintendo зайти в мобильный банк.

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

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

6 Способов убить Agile

Reading time5 min
Views67K
Первоначально я собирался написать статью о том, как правильно и эффективно организовать процесс разработки с использование Agile-методологий. Однако, посидев некоторое время над пустым окном редактора, я понял, что сам не знаю, как это сделать. И не потому, что это невозможно. Каждый проект уникален и нельзя создать общий рецепт, который будет работать везде и всегда. В тоже время, в процессе обдумывания статьи, мне вспомнилось несколько типичных ошибок внедрения гибких технологий, которые если и не уничтожат, то гарантированно подпортят результат. Поэтому, действуя согласно принципу от обратного, я решил написать про них.


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

«Я не понимаю»

Reading time2 min
Views91K
Я заметил, что самые взрослые и опытные разработчики, с которыми мне доводилось работать, входят в число тех, кто чаще всего говорит «Я не понимаю», когда они выслушивают техническое объяснение. Так бывало с коллегами в Fog Creek и Khan Academy.

С одной стороны, это противоречит здравому смыслу. Разве не должны «сеньоры» уже знать всё? Но это вполне логично. Те, кто больше других уверены в своих способностях, являются также людьми, способными признать, что не вникли полностью в суть чего-либо. Молодые разработчики допускают, что их непонимание — их же собственная вина. Они не хотят отвлекать остальных из-за своих воображаемых промашек.

Молодым разработчикам стоит попробовать осознать, насколько часты непонимания вопроса. В большинстве стеков технологий уже пройдена черта, после которой удержать в голове весь код невозможно, особенно, в компаниях, которые набирают сотрудников. И если эта граница пересечена, всё чаще можно слышать о новом фреймворке рендеринга Javascript, или последнем конвейере MapReduce, или баге в скрипте развертывания, или плане нового шаблона кэширования, а тихий голосочек в вашей голове уже хочет сказать: «Постойте… мне это не понятно.»
Читать дальше →

Альтернативы для JavaScript

Reading time3 min
Views46K
imageJavascript это практически вездесущий язык программирования. В некотором роде его можно сравнить с C на пике его популярности. На нем можно писать всё что угодно, начиная от красивых выпадающих менюшек, слайдеров на вашем сайте, заканчивая полноценнами приложениями для серверов, мобильных, для десктопа и даже для embedded систем типа arduino.

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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity