Как стать автором
Обновить
53
Карма
0
Рейтинг
Дмитрий @mrded

Senior Pomidor

Ещё раз о Deferred/Promise

JavaScript *Программирование *jQuery *CoffeeScript *
Туториал
DeferredТак получилось, что последние несколько недель очень часто приходилось слышать слова Promise и Deferred от разных людей. Как правило, этими понятиями оперируют уже повидавшие виды разработчики, столкнувшиеся в своей деятельности с определенными задачами.

Как я могу судить, для людей, которые на практике не столкнулись с некоторыми специфическими проблемами, эти 2 понятия являются довольно трудными для понимания. И не потому, что понятия Promise и Deferred являются с чем-то сложным, а потому, что довольно непросто сходу выдумать подходящую задачу, чтобы попробовать Deferred objects (в JQuery и не только) в действии.

Да, вероятно для тех, кто знаком с этим вопросом он покажется пустяковым и не стоящим и выеденного яйца. Кроме того, вопрос уже многократно обсуждался. Однако, я наберусь смелости еще раз его затронуть и вот почему: 1) Мне кажется, что для некоторых читателей этот пост может оказаться интересным. 2) Я пойду от практики, а не от теории. Моя задача — продемонстрировать работу инструмента. Теорию и другие варианты применения при необходимости вы найдете в ссылках к посту.

Ниже я попробую показать вам что Promise и Deferred это очень и очень просто. Кроме того, для объяснения этой темы, мне придётся затронуть еще несколько интересных моментов JavaScript.

Читать дальше →
Всего голосов 43: ↑31 и ↓12 +19
Просмотры 75K
Комментарии 28

Оптимизация и ускорение N900

Смартфоны
Наверное все, кто активно пользуется N900, сталкивались с ситуациями, когда система начинала подтормаживать при копировании по сети больших файлов на большой скорости, или когда после недели активного пользования, начинало быть заметным общее подтормаживание системы и выявить виновника через top/htop не удавалось, приходилось спасаться перезагрузкой. Это конечно не проблема, но как факт очень неприятен — не Linux-way как-бы.

Но, как оказалось, это решаемо. Ещё со времен N8хх народ активно экспериментировал с различными настройками ядра Linux, которые позволят избавиться от подобных вещей на мобильных девайсах, и настройки эти, будучи эмпирически выведенными и проверенными, и вправду очень благополучно сказываются на поведении системы. Благополучно настолько, что система продолжает быть весьма отзывчивой даже при захлебывающимся от радости торрент-клиенте Transmission, принимающим файлы на полной скорости, и после недельного аптайма система продолжает работать плавно и даже при 30 открытых окнах браузера переключение тасков происходит также как и при двух (чего нельзя было наблюдать до нижеописанного способа оптимизации системы). А теперь к делу.

Кому лень читать и разбираться — ставите из репозиториев(сейчас в extras-testing) программу Swappolube («смазка для свопа», если буквально), запускаете и радуетесь жизни. Кому не лень — делаете тоже самое и продолжаете читать. :)


Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 11K
Комментарии 14

Maemo-MeeGo story

Настройка Linux *
Из песочницы
21 июня 2011 года Nokia представила смартфон N9 с операционной системой MeeGo Harmattan на борту. Смею утверждать, что N9, — единственный вау-продукт после появления на рынке iPhone. Но на момент презентации N9 уже было известно, что финский IT-гигант заключил долгосрочный союз с корпорацией Microsoft, и N9 станет первым и единственным смартфоном Nokia на MeeGo Harmattan.
Читать дальше →
Всего голосов 114: ↑103 и ↓11 +92
Просмотры 15K
Комментарии 113

Вышла MeeGo 1.0

Блог компании Intel
   Погодка сегодня может и подкачала, но для настоящих хороших новостей все это не помеха. Разработчики многообещающей платформы MeeGo разродились первым релизом своей новой операционной системы!

image
Читать дальше →
Всего голосов 73: ↑51 и ↓22 +29
Просмотры 15K
Комментарии 64

TempleOS: библейская операционная система, которую пишет шизофреник

Софт
Дистрибутив операционки крошечный — всего 17 мегабайтов. Его можно быстро скачать и опробовать.

Целевая платформа — x86-64. Маловероятно, что кто-то будет экспериментировать с подобным в качестве реально установленной операционки, поэтому нам понадобится любая виртуальная машина, к примеру, VirtualBox или QEMU. Сам создатель пользуется коммерческой VMware Workstation. Задайте для виртуальной машины как минимум полгигабайта памяти.



Со скачанного образа можно просто загрузиться и работать в режиме LiveCD или установить систему на диск. Установка TempleOS не сложнее, чем установка любой современной операционной системы. Нужно лишь несколько раз нажать на клавишу y и дождаться копирования файлов.
Читать дальше →
Всего голосов 53: ↑47 и ↓6 +41
Просмотры 71K
Комментарии 70

Однажды программисты погубят этот мир

Программирование *Анализ и проектирование систем *


1. История первая: воспоминание


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

А ведь самое логичное объяснение — он сам упал. Просто он рос, выбрасывал новые побеги, развивал и наращивал массу. Тянулся к солнцу. Однажды проекция центра тяжести цветка вышла за пределы опоры и он опрокинулся.

Не знаю, зачем я это все пишу. Возможно меланхолия пришла вместе с осенью и желтыми листьями. Иногда мне кажется, что наука программирования так стремительно развивается, так идет вперед семимильными шагами, так быстро создает новые технологии, что однажды человек не сможет все это обуздать.
Читать дальше →
Всего голосов 134: ↑121 и ↓13 +108
Просмотры 70K
Комментарии 199

Material Design и AngularJS

JavaScript *HTML *Angular *
Из песочницы
Ни для кого не секрет, что Google повсюду в своих продуктах внедряет так называемый material design. Как и любой другой стиль он имеет сторонников и противников. Не буду касаться этих споров. Если вам нравится данный подход, Google подготовил полную спецификацию и описание особенностей: Material Design.

Для любителей angularjs появилась библиотека с набором директив, реализующих графические компоненты и позволяющих создавать разметку в соответствии с принципами material design. О ней и пойдет рассказ.

Я постараюсь кратко показать некоторые особенности и недостатки, а также покажу небольшое приложение для демонстрации.

image
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 68K
Комментарии 20

Библия движений Doom. Часть 1

Блог компании ua-hosting.company Разработка игр *Тестирование игр *
Recovery mode
Перевод
Здравствуйте и добро пожаловать в Библию движений Doom! В статье разобраны и рассортированы по категориям все причуды и капризы кода движений в Doom, включая замысловатые трюки с описанием их работы.



Метрика


Начнем с основ. Код движка для движений игрока в Doom имеет следующий вид:
  • Сбор исходных данных игрока
  • Применение векторов движущей силы к игроку на основе исходных данных
  • Сжатие скорости игрока, если она слишком велика
  • Проверка, расчеты и перемещения
  • Использование ускорения через трение для следующего движения игрока

Рассмотрим все поподробней.
Благодаря только этому и паре переменных мы сможем определить возможные максимальные скорости персонажа игрока.

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

Читать дальше →
Всего голосов 77: ↑72 и ↓5 +67
Просмотры 39K
Комментарии 9

Почему у тех, кто работает мало, продуктивность выше

Блог компании Wrike
Гибкий график и распространение мобильных устройств размывают границу между рабочим днем и семейным ужином. 36% сотрудников регулярно проверяют почту и другие рабочие коммуникации в нерабочее время.

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


Читать дальше →
Всего голосов 17: ↑8 и ↓9 -1
Просмотры 6.5K
Комментарии 4

Microsoft покупает LinkedIn за $26.2 млрд. Зачем?

Социальные сети и сообщества Финансы в IT IT-компании


Вчера стало известно о том, что корпорация Microsoft договорилась с социальной сетью Linkedin о ее покупке за $26.2 млрд. Это около 30% наличных средств, которые сейчас есть в распоряжении Microsoft. Такая высокая цена обусловлена тем, что социальная сеть находится в активной стадии развития, и приносит своим владельцам прибыль. Кстати говоря, это первое крупное поглощение, совершаемое Microsoft с момента прихода на пост руководителя компании Сатьи Наделлы. Если что-то пойдет не так, вполне возможно, что Наделле придется уйти со своего поста.

Руководитель компании разослал сотрудникам Microsoft подробное письмо с объяснением необходимости покупки LinkedIn. В частности, Наделла говорит, что приобретаемая социальная сеть это ключевой инструмент для профессионалов, с 433 миллионами участников сообщества. Также у LinkedIn более 2 млн подписчиков на платные услуги, предоставляемые ресурсом. У Microsoft около 1,2 млрд подписчиков Office, но прямой связи с ними нет. Для совершенствования же существующих сервисов и создания новых корпорации нужная информация о человеческих ресурсах на рынке труда. Теперь же компания получит эти данные, и сможет создавать новые бизнес-ориентированные продукты.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 18K
Комментарии 30

Илон Маск об экспедиции на Марс: «Опасно, и, вероятно, погибнут люди»

Научно-популярное Космонавтика Транспорт Будущее здесь
Но заселение Марса, по его мнению — единственный надежный способ сохранить человечество


Космический корабль Dragon на Марсе (работа художника)

Еще в 2014 году Илон Маск дал обширное интервью относительно планов заселения Марса. По словам предпринимателя, заселить Красную планету необходимо для будущего человечества — это надежный способ сохранить нашу цивилизацию. К 2100 году, как считает Маск, на Марсе должно быть уже около миллиона человек. Все они смогут обеспечить генетическое разнообразие, достаточное для развития всей популяции «марсиан». Сделать это нужно, исходя из нескольких соображений. Во-первых, заселение соседней планеты позволит сохранить цивилизацию, если на самой Земле произойдет катастрофа. Во-вторых, заселение планет Солнечной системы — это нечто вроде трамплина для выхода человека к звездам. Это прототип планетарной колонии, который поможет заселять любые другие планеты, в любом другом регионе Вселенной. Элон Маск даже высказал такое мнение, понятное без перевода: «Fuck Earth! Who cares about Earth?».

Правда, плоды заселения Марса будут пожинать потомки первых колонистов, а им самим придется туго. Основная проблема — отсутствие возможности получить помощь извне. Если случается какая-то мелкая поломка (мелкая по меркам Земли) то в условиях Марса она может стать критической. Все это известно, но не влияет ни на желание тысяч людей стать теми самыми первопроходцами, ни на желание Маска обеспечить этим людям транспорт на Марс. Сам он основал SpaceX 14 лет назад только с одной целью — подготовка пилотируемой экспедиции человека на Марс.
Читать дальше →
Всего голосов 32: ↑28 и ↓4 +24
Просмотры 36K
Комментарии 222

Angular Attack: мой опыт участия в хакатоне

Блог компании Wrike Разработка веб-сайтов *JavaScript *Программирование *Angular *


Angular 2 сегодня считают этаким «new kid on the block». Он многим интересен, без его упоминания не обходится практически ни одна крупная front-end конференция, и уже сейчас он готов бросить вызов React. Но до лучей абсолютной славы еще далеко — официального релиза еще не было, хотя в бою фреймворк может попробовать любой желающий. Мы в Wrike, например, уже вовсю используем Angular 2 в продакшне.

Ребята из Google активно привлекают внимание к новому фрейворку и даже недавно провели 48-часовой онлайн хакатон ANGULAR ATTACK, который собрал несколько сотен участников. По его результатам было опубликовано более 270 работ. В этой статье я хочу поделиться опытом своего участия в хакатоне, впечатлениями и наблюдениями, которые могут вам помочь в подобных состязаниях. Добро пожаловать под кат.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 12K
Комментарии 16

Опыт перехода сайта на Single Page Application с упором на SEO

Drupal *JavaScript *Angular *

Привет всем.


Мы классический web 2.0 сайт сделаный на Drupal. Можно сказать, что мы медиа сайт, т.к. у нас очень много всевозможных статей, и постоянно выходят новые. Мы уделяем много внимания SEO. У нас для этого даже есть специально обученные люди, которые работают полный рабочий день.


К нам заходит более 400k уникальных пользователей в месяц. Из них 90% приходит из поиска Google.


И вот уже почти полгода мы разрабатывали Single Page Application версию нашего сайта.


Как вы уже наверное знаете, JS это вечная боль сеошников. И нельзя просто так взять и сделать сайт на JS.


Перед тем как начать разработку мы начали исследовать этот вопрос.
И выяснили, что общепринятым способом является отдача google боту уже отрисованой версии страницы.
Making AJAX applications crawlable


Также выяснилось, что этот способ более не рекомендуется Google и они уверяют, что их бот умеет открывать js сайты, не хуже современных браузеров.


We are generally able to render and understand your web pages like modern browsers.

Т.к. на момент принятия нашего решения Google только-только отказались от подобного метода, и еще никто не успел проверить как Google Crawler на самом деле индексирует сайты сделаные на JS. Мы решили рискнуть и сделать SPA сайт без дополнительной отрисовки страниц для ботов.

Читать дальше →
Всего голосов 61: ↑50 и ↓11 +39
Просмотры 55K
Комментарии 94

Интервью без сучка и задоринки: как программисту успешно пройти собеседование

Блог компании Wirex Профессиональная литература *
Перевод
Пост подготовлен специально для корпоративного блога Wirex — компании, предлагающей удобное мобильное финансовое приложение для управления личными счетами. Изначально статья задумывалась как подготовительный материал, который автор отправляет своим кандидатам, но в итоге последний решил опубликовать его в открытом источнике, а мы, посчитав тему интересной, сделали перевод для вас, уважаемые читатели.

Тот факт, что вы являетесь хорошим программистом, играет поразительно малую роль при прохождении собеседования. Для того чтобы ваша работа была продуктивной, вам нужно уметь решать огромные, склонные разрастаться проблемы неделями и месяцами. Каждый вопрос на собеседовании, напротив, длится менее одного часа. Для того чтобы хорошо показать себя на интервью, вы должны знать, как быстро решать небольшие проблемы под давлением, при этом ясно излагая свои мысли. Это совершенно другое умение (в то же время я не говорю, что способность с легкостью решать задачи на собеседовании не имеет никакой связи с навыками программирования. Просто эта связь выражена куда слабее, чем считают многие компании, и именно другими факторами, отличными от специализированных умений, объясняется столь внушительное расхождение).
Читать дальше →
Всего голосов 31: ↑21 и ↓10 +11
Просмотры 54K
Комментарии 20

Happstack Lite: Веб-фреймворк на Хаскеле

Разработка веб-сайтов *Haskell *
Туториал
Recovery mode
Перевод
image
Картинка для привлечения внимания, clckwrks — веб-фреймворк, тесно связанный с Happstack.

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

Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Просмотры 13K
Комментарии 25

Yesod = Haskell $ Web

Разработка веб-сайтов *Haskell *
Haskell — пока еще единственный язык программирования, в котором есть оператор «фтопку» (>>=)

Абсурдопедия


Планировал начать с описания того, как ошибаются люди, полагающие Haskell бесполезным с практической точки зрения, сферическим языком в вакууме и т.д. Но, боюсь, за меня все уже сделали авторы Real World Haskell. Была идея рассказать о том, насколько красив и могуч этот язык программирования — но подвел тяжелый слог и неумение придумать захватывающий сюжет с неожиданной развязкой. Поэтому отброшу все лишнее и расскажу о своих злоключениях веб-разработки на Haskell.
Читать дальше →
Всего голосов 40: ↑30 и ↓10 +20
Просмотры 22K
Комментарии 24

XMonad + XMobar = ❤

Haskell *
Из песочницы
Многие слышали про тайловые оконные менеджеры, некоторые даже слышали о XMonad. А ребята из Google даже променяли Unity/Gnome на XMonad. Что же это такое, как это настраивать и как с этим жить? Краткий workaround для любителей кастомизировать всё подряд.


Подробности
Всего голосов 42: ↑36 и ↓6 +30
Просмотры 66K
Комментарии 94

Haskell в реальном мире

Haskell *
В этом блоге уже много написано о самом языке Haskell, и было несколько статей о его практическом применении. Сейчас я вдохновенно расскажу еще об одном реальном применении языка в производстве.
Читать дальше →
Всего голосов 39: ↑35 и ↓4 +31
Просмотры 18K
Комментарии 59

Через тернии к Haskell (перевод). 2/2

Программирование *Haskell *
Туториал
Только хардкор, только монады
Всего голосов 73: ↑69 и ↓4 +65
Просмотры 44K
Комментарии 8

Через тернии к Haskell. 1/2

Программирование *Haskell *
Туториал
Перевод


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга
Всего голосов 137: ↑133 и ↓4 +129
Просмотры 208K
Комментарии 52

Информация

В рейтинге
Не участвует
Откуда
London, England - London, Великобритания
Дата рождения
Зарегистрирован
Активность