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

Продолжаем интересные новости: в Иркутске задержан студент-первокурсник, серебряный призер всероссийской олимпиады по информатике. Арест произошел в том момент, когда 19-ти летний парень пытался украсть около 75 тысяч рублей, снимая деньги и переводя их на телефонные счета. Влом произошел в одном из продуктовых магазинов Иркутска. Охранники обратили внимание на молодого человека, который долгое время производил подозрительные манипуляции у терминала, находящегося в помещении магазина. Ну и вызвали полицию.

Призер всероссийской олимпиады по информатике задержан во время взлома банкомата

Цитирую пресс-службу МВД:Читать полностью »

ИМХО (Имею Мнение Хрен Оспоришь)

С моей точки зрения самое полезное, что может сделать программист для повышения своего профессионального уровня — это написание велосипедов. Велосипедостроение — очень увлекательный процесс. Иногда он увлекает больше, чем задача, ради которой сам велосипед и затевался. При написании велосипеда (под велосипедом я понимаю реализацию уже существующего) происходит более глубокое понимание уже существующих решений и техник.
Не бойтесь велосипедов. Или еще один Grand Central Dispatch (GCD) на C++11
Читать полностью »

Предисловие

Если вы задумались о создании мобильных приложений, но не знаете с чего начать, у вас есть достаточно времени на эксперименты и изучение нового, то позвольте порекомендовать вам в качестве инструмента выбрать язык программирования haxe. Возможно, вы о нем уже слышали и возможно, слышали о нем, как о некоторой замене для Flash'a. Это не совсем так, и можно даже сказать совсем не так.

Да, стандартная библиотека haxe имеет подмножество классов и функций, организационно похожих на стандартную библиотеку actionscript 3. Но это не мешает создавать приложения для нативных платформ, таких как Linux, Windows, Android, Mac, iOS.

При создании приложений для нативных платформ возможностей стандартной библиотеки не хватает и приходится искать сторонние библиотеки или разрабатывать свои. Я пошел по второму пути и для текущего проекта (небольшой игры похожей на TripleTown по механике) разработал библиотеку для работы с Flurry, Localytics, GooglePlay Game Services и некоторыми другими сервисами.

В представленом ниже переводе, описывается с чего начать, если вы хотите создать библиотеку расширений для haxe и фреймворка OpenFL, в частности. Автор оригинальной статьи Laurent Bédubourg.

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

Бесконечные неповторяющиеся текстуры с помощью мозаики Вана

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

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

Как же быть? Есть один трюк — непериодические мозаики. Они лишены проблемы повторяемости и достаточно просты в реализации. Одну из таких мозаик придумал математик Ван Хао. Элементы этой мозаики можно представить в виде прямоугольников с разноцветными гранями. Но чтобы понять принцип её работы, надо сначала разобраться в классическом методе заполнения площадей текстурами.
Читать полностью »

Русское программирование. Еще одна точка зрения

Изображение для привлечения внимания. Синтаксис языка программирования выдуманный. Любое совпадение с реально существующим ЯП случайно

Хотелось бы продолжить тему особенностей работы в русских IT-компаниях и высказать свое мнение. Статья будет в некотором роде ответом на статью Основная особенность наших разработчиков.
Читать полностью »

ABC: Always Be Coding (не переставай программировать)

Как получить работу инженера?

Давай на чистоту. Ты хороший кандидат на должность инженера? Как ты сам себя оцениваешь? Много ли компаний, в которых ты бывал на собеседовиниях? Каково у тебя отношение пройденных интервью к полученным предложениям о работе? Попробуй воспользоваться следующей формулой (это мое сферическое измерение в вакууме, которое не означает ровным счетом ничего):

# x = количиство компаний, в которых ты проходил собеседования

# y = количество предложений о работе, которые ты получил

рейтинг = 100 * log(x) * y / x

Если твой рейтинг < 90, обязательно прочти это. Если > 120, возможно, тебе это не нужно, но, все равно прочти.

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

Стихи в коде

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

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

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

Сериализуем настройки при помощи протокола NSCoding

Когда настроек становится действительно много, оперировать ими становится неудобно.
В приложении Peers.TV мы использовали следующую уловку — архиваторы и NSCoding протокол. Это помогло объединить нам часть настроек в рамках одного домена и немного облегчить работу с ними.
Читать полностью »

Как выглядит полезное приложение для Google Glass

Согласно последним исследованиям, опубликованным в журнале Resuscitation Urban, только одна пятая часть людей (не профессиональных врачей) знакомы с основами проведения неотложных медицинских мероприятий, в частности, с такой жизненно необходимой вещью как искусственное дыхание (в оригинале Hands-Only CPR (Cardio Pulmonary Resuscitation) — ручная сердечно-лёгочная реанимация).

Практикующий кардиолог Кристиан Ассад (вероятно, большой любитель гаджетов) совместно с разработчиками Крисом Вукином (Chris Vukin) и Томасом Шварцем (Thomas Schwartz) создали приложение для Google Glass под названием CPRGlass, которое должно существенно облегчить задачу тем, кому придётся столкнуться с обмороком и остановкой сердца без присутствия врачей и, таким образом, необходимостью проводить реанимацию прямо на месте.
Читать полностью »

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

Группа американских учёных, получив финансирование от исследовательского центра Национальной разведки США (IARPA) разработала высокоуровневый язык программирования Quipper. Он создан на основе Haskell и лучше подходит для реализации квантовых алгоритмов, чем QCL (основан на C).

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


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