Pull to refresh
21
0
Владимир Кириенко @love_energy

Программист

Send message

Сигналы и слоты в Qt

Reading time10 min
Views275K
Сигналы и слоты используются для коммуникации между объектами. Механизм сигналов и слотов главная особенность Qt и вероятно та часть, которая отличаетcя от особенностей, предоставляемых другими фреймворками.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments24

Основные концепции библиотеки chrono (C++)

Reading time6 min
Views122K

Работа со временем как с безразмерной величиной может приводить к недоразумениям и ошибкам конвертации временных единиц измерения:


– Слушай, ты не помнишь, мы в sleep передаем секунды или миллисекунды?

– Блин, оказывается у меня в часе 360 секунд, ноль пропустил.

Для избежания таких ошибок предусмотрена библиотека chrono (namespace std::chrono). Она была добавлена в C++11 и дорабатывалась в поздних стандартах. Теперь все логично:


using namespace std::chrono;

int find_answer_to_the_ultimate_question_of_life()
{
    //Поиск ответа
    std::this_thread::sleep_for(5s); //5 секунд
    return 42;
}

std::future<int> f = std::async(find_answer_to_the_ultimate_question_of_life);

//Ждем максимум 2.5 секунд
if (f.wait_for(2500ms) == std::future_status::ready)
    std::cout << "Answer is: " << f.get() << "\n";
else
    std::cout << "Can't wait anymore\n";

Библиотека реализует следующие концепции:


  • интервалы времени – duration;
  • моменты времени – time_point;
  • таймеры – clock.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments14

Cocos2d-x — UI компоненты

Reading time9 min
Views9.4K

От переводчика


С возвращением! Мы продолжаем свой цикл переводов документации к Cocos2d-x. По традиции я должен оставить здесь ссылку на предыдущую статью:
Cocos2d-x — Обработка действий

Продолжим!

UI компоненты


Взглянув на множество приложений, которые вы использовали, держу пари, что вы обнаружите там UI виджеты, даже не имея о них представления. Каждое приложение, скорее всего, использует несколько виджетов. Что означает UI? Что делают UI виджеты? О, так много вопросов!

Виджеты


UI — это аббревиатура, обозначающая пользовательский интерфейс. Это все, что находится на экране. Сюда входят такие элементы, как: надписи, кнопки, элементы меню и многое другое. Cocos2d-x предоставляет набор виджетов, для простого добавления этих элементов управления в ваши проекты. Это может звучать тривиально, но в процессе создания основного класса, такого как Label, выполняется большое количество операций. Может себе представить, что вам нужно написать свой собственный набор виджетов? Не волнуйтесь, все это вполне реализуемо!
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments1

Cocos2d-x — Обработка действий

Reading time9 min
Views12K

От автора перевода


Как вы уже поняли, эта статья — простой перевод официальной документации к движку Cocos2d-x. Если вы здесь впервые, можете глянуть предыдущую статью!

ВНИМАНИЕ: Самое сложное при переводе технических документаций — это не сам перевод, а адаптация текста для русскоязычных читателей. Многие термины могут вовсе не переводиться на русский. Я выкручивался из таких ситуаций как мог. На суть и основные мысли данной статьи это никак не повлияло, но возможны некоторые неточности. Я заранее извиняюсь и прошу вас сообщать мне о подобных ошибках, при их обнаружении. Буду очень благодарен!
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments10

Cocos2d-x — Работа со спрайтами

Reading time6 min
Views16K

Предисловие


Эта статья является второй, из серии переводов документации к игровому движку Cocos2d-x. Если вы не видели первую часть перевода, то советую сначала ознакомится с ней:
Cocos2d-x — Основные понятия

А теперь продолжим!

Что такое спрайт


Спрайт — это 2D изображение, которое может быть анимировано или трансформировано, путем изменения свойств, таких как: rotation, scale, color, и так далее.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments1

Cocos2d-x — Основные понятия

Reading time9 min
Views43K

Предисловие


Начну с небольшой предыстории. Не так давно, мы с другом решили разработать свою двумерную игру, для дипломного проекта. После того как мы определились с ее жанром и получили примерное представление об игровом процессе, перед нами встал вопрос о выборе движка. Unreal или Unity мы отбросили сразу, так как они показались нам слишком «тяжелыми» инструментами для 2d игры. Cocos2d-x был бы идеальным вариантом, если бы не одна деталь — практически полное отсутствие вводных уроков. Те статьи, что нам удалось найти были, либо не закончены, либо недостаточно подробны. И тогда, я решил перевести официальную документацию, практически без знаний английского и заодно поделится своим переводом с остальными (кто же если не я).

Эта статья представляет собой почти дословный перевод официальной документации к Cocos2d-x. Если вы не хотите разбираться во всяких тонкостях устройства движка, а хотите сразу начать писать свою игру, могу посоветовать вам эту статью: Cocos2d-x — разработка простой игры .

Если вы еще не установили Cocos2d-x или не можете создать проект, то тут вы найдете подробную инструкцию: Создание многоплатформенных игр с использованием Cocos2d-x версии 3.0 и выше.

Оригинальная статья: Cocos2d-x programmers guide.

P.S.: Не советую клонировать cocos2d-x с gitHub. У меня после клонирования не доставало нескольких важных файлов. Но может быть мне просто не повезло.

Приступим!
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments13

Создание многоплатформенных игр с использованием Cocos2d-x версии 3.0 и выше

Reading time5 min
Views35K
В данном руководстве вы узнаете о том, как создать простую игру с помощью Cocos2d-x 3.0 или более поздней версии в среде разработки Windows и как скомпилировать её для запуска в Windows и Android.


Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments7

Потоки, блокировки и условные переменные в C++11 [Часть 1]

Reading time8 min
Views445K
В первой части этой статьи основное внимание будет уделено потокам и блокировкам в С++11, условные переменные во всей своей красе будут подробно рассмотрены во второй части
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments14

Потоки, блокировки и условные переменные в C++11 [Часть 2]

Reading time7 min
Views166K
Для более полного понимания этой статьи, рекомендуется прочитать ее первую часть, где основное внимание было уделено потокам и блокировкам, в ней объяснено много моментов (терминов, функций и т.д.), которые без пояснения будут использованы здесь.
В данной статье будут рассмотрены условные переменные…
Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments8

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Reading time26 min
Views343K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Total votes 108: ↑107 and ↓1+106
Comments36

IT 2018: будущее наступило вчера

Reading time16 min
Views44K
Мы уже почти написали пост к старому Новому году с отличной задумкой и героями русских сказок, но процесс прервало сообщение в Telegram. А в нём — анонс новости от экспертов рынка. Исследователи из Оксфордского и Йельского университетов пришли к выводу, что переход к полной автоматизации большинства экономических и технологических процессов закончится через 150 лет. Их азиатские коллеги показывают более оптимистичный срок — 104 года.

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


Источник
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments72

Анализ публикаций на Хабрахабре за 2017 год. Статистика, полезные находки и рейтинги

Reading time8 min
Views29K


Подходит к концу 2017 год. Пришло время подвести некоторые итоги. Каким был этот год на Хабрахабре? Чтобы ответить на этот вопрос мы, в Cloud4Y, решили собрать статистику по всем публикациям за прошедший с начала года период. В этой статье мы расскажем о том, что показалось нам наиболее интересным.

С 1 января по 18:00 22 декабря 2017 года на Хабрахабре было опубликовано 10684 поста, которые посмотрели около 123 миллионов раз! Мы не включили в счёт 46 мегапостов и публикации, которые были скрыты или перенесены на Geektimes. В среднем в месяц публиковалось около 900 постов, а рекордным стал март.


Читать дальше →
Total votes 92: ↑90 and ↓2+88
Comments35

Как не надо писать на Хабр: Антирейтинг 2017

Reading time5 min
Views39K


Обсуждая результаты анализа статей за 2017 год, мы пришли к выводу, что нам и другим хабровчанам интересны не только лучшие публикации, но также любопытно было бы узнать какие статьи и комментарии были худшими. Сегодня мы публикуем антирейтинг публикаций и комментариев на Хабрахабре в 2017-ом. Сделано это потому, что на чужом негативном опыте можно многому научиться, оставить эти ошибки в уходящем и не повторять их в новом году. Других целей этот пост не несёт, просьба отнестись к этому с пониманием.
Читать дальше →
Total votes 74: ↑66 and ↓8+58
Comments65

Постигаем Си глубже, используя ассемблер

Reading time8 min
Views55K
Вдохновением послужила эта статья: Разбираемся в С, изучая ассемблер. Продолжение так и не вышло, хотя тема интересная. Многие бы хотели писать код и понимать, как он работает. Поэтому я запущу цикл статей о том, как выглядит Си-код после декомпиляции, попутно разбирая основные структуры кода.
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments31

Анализ резюме hh.ru: много графиков и немного сексизма и дискриминации

Reading time5 min
Views101K
Недавно мне на глаза попалась статья про анализ датасета резюме hh.ru, который участвовал в каком-то хакатоне. Это навело меня на мысль самому поиграться с данными резюме. Тем более что у меня их немного больше. Я выбрал самую интересную для меня профобласть, которую можно указать в резюме, — «Информационные технологии, интернет, телеком».

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


Читать дальше →
Total votes 143: ↑138 and ↓5+133
Comments154

Стартап дня (ноябрь 2017-го)

Reading time6 min
Views9.8K


Продолжая серию дайджестов «Стартап дня», сегодня я представляю самые интересные проекты за ноябрь. Если хотите ознакомиться с остальными, то прошу в мой блог. Записи доступны в Facebook, ICQ и Телеграм.


Ycloset


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

Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments5

Восемь возможностей C++17, которые должен применять каждый разработчик

Reading time9 min
Views133K

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


Вам также может быть интересна статья Десять возможностей C++11, которые должен использовать каждый C++ разработчик
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments52

27 бесплатных сервисов для создания визуального контента без дизайнера

Reading time7 min
Views43K
Лера Матвиишина, маркетолог хостинговой компании HOSTiQ, специально для блога Нетологии адаптировала статью Andrew Tate c ресурса AdEspresso и выбрала из подборки 27 бесплатных инструментов, которые помогут создавать визуальный контент без помощи дизайнера.

К 2018 году 84% маркетинговых материалов будут визуальными. Благодаря визуальному контенту любая компания сможет интересно общаться с пользователями и отстроиться от конкурентов.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments6

Яндекс.Блиц. 12 алгоритмических задач отборочного раунда и их разборы

Reading time18 min
Views115K

В конце сентября мы рассказывали, что решили попробовать провести контест, где желающие могут потренироваться в решении задач, максимально приближенных к «боевым». Так участники могут понять, какого формата задания получают разработчики на собеседованиях в Яндексе (этим интересуются очень многие), а самое главное — с чем они сталкиваются, работая над Поиском. Типичная задача на собеседовании — составить алгоритм, доказать его корректность, предложить пути оптимизации. Если человек разбирается в алгоритмах, то он быстро сумеет их реализовывать на любом доступном ему языке.


В Блице можно использовать Java, C++, C# или Python. Кроме того, участие в контесте дает возможность проверить свои знания. Если в итоге вы понимаете, что их стоит подтянуть, — это тоже результат. Кстати, тогда вам может пригодиться специализация на курсере «Алгоритмы и структуры данных», в создании которой Яндекс участвовал.


image


Давайте теперь разберем задачи, которые предлагались в отборочном раунде. У нас было несколько одинаковых по сложности вариантов, каждый из которых содержал по шесть задач. Мы разберем один набор задач полностью, а также наиболее интересные задачи из других наборов. К слову, из 1762 участников квалификационного раунда в финал прошли лишь 263. Так что задачи оказались не самыми простыми.

Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments18

Электронные учебные курсы? Никогда не слышал… Форма и функционал

Reading time6 min
Views22K
Электронная форма обучения становится всё более популярной и зрелой. Google объединил свои образовательные программы на одном сайте, всё чётче проявляются качественные российские (Lektorium.tv, TeachVideo, UniverTV) и американские разработчики\агрегаторы учебного контента (Udacity, Coursera, Codecademy), всё больше ВУЗов (MITx, MIT OCW, см. Coursera) представляют бесплатный доступ к своим материалам, да и наше государство старается не отставать — Министерство Образования и Науки в 2011-ом году провело конкурсов по разработке образовательных ресурсов (правда для школ и профессионального образования) на сумму более полутора миллиардов рублей. Сумма ориентировочная по данным c сайта государственных закупок.

В этой публикации я хочу описать известные мне формы учебных ресурсов и описать их функционал с точки зрения разработчика.
Форма и функционал электронных учебных курсов
Total votes 10: ↑8 and ↓2+6
Comments15

Information

Rating
Does not participate
Location
Россия
Registered
Activity