Рубрика «Программирование» - 947

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

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

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

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

Читать полностью »

Конкурс Intel Perceptual Computing Challenge — взгляд изнутри
23 сентября в 23-59 GMT закончился прием приложений на конкурс Intel Perceptual Computing Challenge. Теперь мы, участники конкурса (в том числе несколько читательов, например еще ithabr), ждем результатов. А результаты будут видимо не скоро — в лучшем случае в середине октября. И чтобы не сойти с ума в процессе ожидания, я решил написать вот этот пост про то, как проходил конкурс и велась разработка с точки зрения нашего конкурсного проекта. Ведь, как известно, если не знаешь что делать — грызи палочку.

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

Читать полностью »

Здравствуй, читатели.

Давеча произошёл забавнейший случай.

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

Так вот сей сказ будет не о гуглоочках, о них беседовать надо отдельно (презентация, кстати, мне понравилась, и оставила жгучее желание потратить куда-нибудь денег), а об одном из зашедших на огонёк.
Читать полностью »

Intel® Parallel Studio XE 2013 Service Pack 1 – что нового?

Пакет Intel® Parallel Studio XE давно известен разработчикам, в том числе и по публикациям в блоге Intel на Хабре. Недавно вышло обновление - Intel® Parallel Studio XE 2013 Service Pack 1 (SP1), имеющее ряд интересных новшеств. Становится проще программировать для со-процессоров и встроенной графики, во многом благодаря поддержке стандарта OpenMP 4.0 (частичной). Поиск ошибок стал гибче, утечки памяти теперь обнаруживаются до завершения процесса, т.е. их можно искать в долгоиграющих сервисах и «падающих» приложениях. Найти узкие места в производительности будет легче благодаря новому представлению дерева вызовов, оценке накладных расходов и детальной информации о параллельных конструкциях.
Читать полностью »

image

Всем привет!

Август – это, как известно, «последний вагон» для тех, кто хочет успеть отправиться «на юга». Не побоявшись сезона отпусков мы решили проводить третий митап на около-python-овские темы. Тем более, что с темами докладов повезло. Рассмотрели поведение некоторых опасных конструкций в Python, опробовали функциональный стиль программирования и рассмотрели словари в Python. Кроме того, среди докладчиков был Никита Лесников со второй частью своей презентации о внутренностях интерпретатора Python. Все видео этих докладов – прямо сейчас на youtube-экранах под катом.
Читать полностью »

Процедурная генерация трёхмерных моделей

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

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

На примере движка Unity и C# я покажу как можно работать с моделями и превращать текст в графику. Большинство приводимого кода легко портируется на другие фреймфорки и языки.

Треугольник

Процедурная генерация трёхмерных моделей
Начнём с простейшей формы — треугольника. В Unity и во многих других движках используется популярный способ описания моделей: с помощью массивов вершин, треугольников и нормалей. Дополнительно для текстурирования используются uv-координаты вершин. Для работы с моделями есть класс Mesh, в котором для каждого набора данных имеется отдельный массив. В Mesh.vertices хранятся координаты вершин, в Mesh.triangles — индексы вершин группами по три. А в Mesh.normals и Mesh.uv лежат векторы нормалей и координаты uv-карт, индексы которых должны совпадать с индексами соответствующих вершин, т. е. порядок в массивах должен быть одинаковым. Покажу на примере, чтобы было понятнее.
Читать полностью »

Отчет и все видео с конференции RuHaxe 3 14 сентября прошла третья онлайн-конференция RuHaxe — регулярное мероприятие, посвященное языку Haxe и основанным на нём технологиям и инструментам.

Ниже опубликован краткий отчет с конференции и все видео (в том числе видео доклада, который в день конференции по техническим причинам не был показан до конца и закончен позже уже в записи).

Также в спойлер после второго доклада, добавлено продолжение про работу с Maven и haxemojos, опубликованное автором через несколько дней после конференции, как продолжение темы и ответ на дополнительные вопросы.

Читать полностью »

Проблемы с потоками. Эдвард А. Ли

Аннотация

Потоки являются прямой адаптацией доминирующей сейчас последовательной модели вычислений к параллельным системам. Языки программирования не требуют (или требуют совсем немного) изменений в синтаксисе, чтобы поддерживать потоки, а операционные системы и архитектуры непрерывно развиваются, чтобы повысить эффективность их использования. Многие технологи (инженеры) стремятся интенсивно использовать многопоточность в программном обеспечении и ожидают получить значительное (предсказанное) увеличение производительности. В этой работе я доказываю, что это не очень хорошая идея. Хотя использование потоков кажется небольшим шагом от последовательных вычислений, фактически, это огромный шаг. Использование потоков разрушает такие неотъемлемые свойства последовательных вычислений как: понятность, предсказуемость и определенность (детерминированность). Потоки, как модель вычислений, являются очень недетерминированными, а работа программ также становится неопределенной. Хотя многие исследованные техники улучшают модель вычислений за счет более эффективного сокращения неопределенности, я доказываю, что они не решают проблему полностью. Вместо того, чтобы сокращать неопределенность, мы должны строить модель вычислений исходя из полного детерминизма во взаимодействии программных компонентов. Неопределенность должна явно и аккуратно вводиться туда, где есть в этом необходимость, вместо того, чтобы удаляться там, где нет необходимости. Я доказываю преимущество разработки параллельных языков координации компонентов. Я верю, что такие языки будут гораздо более надежны, а программы будут более распараллеленные.
Читать полностью »

Добрый день!

Сегодня мы представляем одну из последних новинок нашего издательства — книгу «Работа мечты для программиста. Тестовые задачи и вопросы при собеседовании в ведущих IT-компаниях». Русское название, возможно, оказалось слишком «маркетинговым», но содержание от этого не страдает — книга переиздается на Западе уже более 10 лет и заслуженно все эти годы возглавляет рейтинги IT-литературы.

image

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

Читать полностью »

При выборе, на что обратить внимание, можете просто рассмотреть технологии, которые дают наибольшее количество рабочих мест, и сосредоточить внимание на них. Java много. .NET много. Изучение Java даёт простой, переходящий эффект: если я знаю Java, я могу подать заявку, и, скорей всего, получить работу Java программиста.

Следуя этой логике, было бы глупым изучать эту область, если вы не планируете её использовать.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js