Это четвертая статья из серии по IL2CPP. В ней мы поговорим о том, как il2cpp.exe генерирует код C++ для вызовов методов в управляемом коде.
Рубрика «код» - 8
IL2CPP: вызовы методов
2016-09-22 в 7:10, admin, рубрики: c++, IL2CPP, unity3d, Блог компании Plarium, вызовы методов, код, Программирование, разработка игр, С++Пишите меньше кода, блин
2016-08-23 в 7:35, admin, рубрики: код, Программирование, разработка, Разработка веб-сайтовЯ не самый талантливый кодер в мире. Правда. Так что я стараюсь писать как можно меньше кода. Чем меньше кода я пишу, тем меньше кода может ломаться, поддерживаться и требовать пояснений.
А еще я ленивый — мед, да еще и ложкой (я решил использовать в статье аналогии с едой).
Но, оказывается, что единственный гарантированный способ повысить производительность в вебе — это писать меньше кода. Минифицировать? Окей. Сжимать? Ну, да. Кэшировать? Звучит неплохо. Вообще отказываться кодить или использовать чужой код изначально? А вот теперь — в яблочко! Что есть на входе — должно выйти на выходе в той или иной форме, независимо от того, смог ли ваш сборщик растворить и переварить это своими желудочными соками (я, пожалуй, откажусь от пищевых аналогий).
И это не все. Кроме видимых улучшений производительности, где вам требуется то же количество кода, но его сначала нужно разжевать (не смог удержаться), вы также можете сэкономить. Моему провайдеру без разницы, посылаю ли я кучу маленьких писем или одно большое: все складывается.
В стремлении к уменьшению мне больше всего нравится вот что: в конце остается только то, что реально нужно, только то, что по-настоящему требуется пользователю. Огромная фотка какого-то чувака, пьющего латте? Выкинуть. Кнопки социальных сетей, которые подсасывают кучу левого кода и ломают дизайн страницы? Пинок под зад им. Эта хреновина на JavaScript, которая перехватывает правый клик и показывает кастомное модальное окно? Выставить на мороз!
Речь идет не только про подключение штук, которые ломают интерфейс. То, как вы пишете свой собственный код, тоже играет большую роль в стремлении к уменьшению кода. Вот несколько советов и идей. Я писал о них ранее, но в контексте удобства и отзывчивого дизайна. Просто так получается, что гибкий, удобный веб требует меньше контроля с нашей стороны и его сложнее сломать.Читать полностью »
С 18 июля новый порядок регистрации программ для ЭВМ в Роспатенте. Что изменилось?
2016-07-18 в 13:18, admin, рубрики: депонирование, Законодательство и IT-бизнес, исходные коды, код, нарушение авторских прав, патентование, подготовка документации, право, программа для ЭВМ, Развитие стартапа, регистрация, роспатент, Управление продуктом, управление разработкой18 июля 2016 года вступили в силу новый Административный регламент предоставления государственной услуги по государственной регистрации программы для ЭВМ, а также новые Правила регистрации программ и баз данных. Таким образом, прекращает действие Административный регламент 2008 года. Понятно, что если вы по каким-то причинам регистрируете программы в Роспатенте (зачем их регистрировать — мы обсуждали здесь ранее), то с 18 июля нужно пользоваться новой формой заявления.
Больший интерес представляет анализ нового Регламента с целью понять, есть ли что-то существенно новое в регистрации программ, улучшающее или ухудшающее положение заявителей.
Читать полностью »
Хорошие инстинкты кодировщика в конечном итоге «ударят вас по зубам»
2016-07-11 в 5:42, admin, рубрики: gtd, баги, Блог компании TESTutor, жизненный опыт, код, кодирование, кодогенерация, разработка, советы бывалых, советы для разработчиков, советы разработчику, тестирование, тестирование по, управление разработкой
Я написал свои первые несколько строчек кода почти 32 года назад, когда мне было 6. Я развил очень сильные инстинкты программирования и мог смотреть на любую проблему, сразу зная, как ее решить — просто интуитивно.
К тому времени, когда я стал писать программы, чтобы зарабатывать себе на жизнь, я чувствовал себя рок-звездой. Я находил и исправлял ошибки быстрее, чем кто-либо из моих коллег. Моя команда отдавала мне самые незаметные и запутанные баги. Они даже стали называть меня мастером.
Но одной интуиции недостаточно. Я столкнулся со стеной. И никакой инстинкт кодировщика не помогал мне сквозь нее пробиться. Далее Bill Sourour поделится с нами информацией о том, как не останавливаться на достигнутом. Кому-то эти рассуждения, безусловно, покажутся очевидными. Ну, а кому-то — пригодятся.Читать полностью »
Эдсгер Дейкстра: в поисках «кратчайшего пути» к осознанному программированию
2016-06-20 в 17:17, admin, рубрики: алгоритм дейкстры, Алгоритмы, дейкстра, жадные алгоритмы, История ИТ, код, Программирование, Совершенный код, структурное программирование, языки программирования, метки: алгоритм дейкстры, дейкстра, жадные алгоритмы
Изображение с сайта abv24.com
Один из тех людей, с именем которых связано превращение программирования из шаманства в науку, — Эдсгер Дейкстра. Он небезуспешно доказывал, что программирование — высокое искусство и интеллектуальное творчество.
Во всех своих исследованиях Дейкстра придает большое значение простоте и изяществу математических рассуждений. При написании своих работ он создал новый стиль научных и технических сообщений, который можно описать как нечто среднее между журнальными публикациями и дружеской перепиской.
Программирование – не набор пассов и заклинаний, не шаманство, не танцы с бубном, а математическая дисциплина. А всякая дисциплина, если она претендует на нечто большее, чем на внешний эффект, должна строиться на прочном фундаменте. Таким фундаментом для Дейкстры является математическая логика, а точнее – исчисление предикатов.
Сейчас это не кажется чем-то необычным, но в 50-е годы это прозвучало как откровение. Дейкстра понял и убедительно показал, как теория может и должна помочь практике.Читать полностью »
Секретная комната 40
2016-06-09 в 21:09, admin, рубрики: IT-Биографии, Блог компании ua-hosting.company, война, дешифровка, информационная безопасность, История ИТ, код, комната 40, криптография, секретные разработки, техника, шифр, метки: комната 40В военное время для обмена данными использовали защищенные каналы связи. И перехват передаваемых сообщений с последующей их дешифровкой — играл важную роль в противостоянии государств. Гениальные криптографы Блетчли-парка проделали колоссальнейшую работу и существенно повлияли на ход Второй мировой войны. Они приобрели мировую славу, навеки запечатлев свои имена в истории криптографии. Но дешифровкой сообщений также занимались и во времена Первой мировой войны. В Британии существовала дешифровальная организация под названием Комната 40 (англ. Room 40), занимающаяся перехватом и расшифровкой немецких сообщений.
Комната 40 была также известна под названием 40 С.Б. (Старое здание) и являлась подразделением ведущего криптографического органа Великобритании времен Первой мировой войны — Британского Адмиралтейства. Сформировалась организация в октябре 1914 года, вскоре после начала войны. Свое название Комната 40 получила благодаря номеру помещения в старом здании Адмиралтейства, где она и находилась. Большую часть периода существования данная организация представляла собой бюро по анализу и дешифровке криптограмм. Ее сотрудниками было расшифровано около 15 000 немецких сообщений.
IL2CPP: советы по отладке генерируемого кода
2016-04-18 в 8:40, admin, рубрики: c++, IL2CPP, unity, unity3d, Блог компании Plarium, код, перевод, разработка мобильных приложений, разработка под iOS, статья В третьей статье из серии по IL2CPP мы обсудим некоторые полезные советы по отладке генерируемого кода C++: как расставлять точки останова, просматривать содержимое строк и пользовательских типов и определять места, где возникают исключения.
Учтите, что сама по себе отладка кода C++, генерируемого на основе кода .NET IL, – занятие не из приятных. Тем не менее представленные ниже советы помогут вам разобраться, как код проекта Unity выполняется на целевом устройстве (в конце статьи мы также немного поговорим об отладке управляемого кода).
Будьте готовы, что генерируемый код в вашем проекте может отличаться от того, который вы увидите здесь. В каждой новой версии Unity мы пытаемся оптимизировать генерируемый код и сделать его еще более компактным и производительным.
IL2CPP: экскурсия по генерируемому коду
2016-04-04 в 8:32, admin, рубрики: c++, IL2CPP, unity, unity3d, Блог компании Plarium, код, перевод, разработка, разработка мобильных приложений, статьяПеред вами вторая статья из серии по IL2CPP. В этот раз мы поговорим о коде C++, генерируемом утилитой il2cpp.exe, а также рассмотрим представление управляемых типов в машинном коде, проверки во время выполнения, которые используются для поддержки виртуальной машины .NET, генерацию циклов и многое другое.
Маршрут перемещения потока данных: загрузка в реляционную БД
2016-03-30 в 6:27, admin, рубрики: R, RPostgreSQL, аdobe аnalytics, Администрирование баз данных, Блог компании ua-hosting.company, загрузка данных, ит-инфраструктура, код, реляционная бд, метки: аdobe аnalyticsИспользование языка программирования R вместе со свободной реляционной системой управления базами данных PostgresSQL может значительно ускорить и упростить процесс загрузки данных в БД.
Структурирование файлов
Перед началом загрузки данных в PostgreSQL, следует рассортировать файлы по типу в разные директории. R делает операции достаточно простыми на уровне ОС:
#### 1. Setting directory to FTP folder where files incoming from Adobe
## Has ~2000 files in it from 2 years of data
setwd("~/Downloads/datafeed/")
#### 2. Sort files into three separate folders
## Manifests - plain text files
if(!dir.exists("manifest")){
dir.create("manifest")
lapply(list.files(pattern = "*.txt"), function(x) file.rename(x, paste("manifest", x, sep = "/"))
}
## Server calls tsv.gz
if(!dir.exists("servercalls")){
dir.create("servercalls")
lapply(list.files(pattern = "*.tsv.gz"), function(x) file.rename(x, paste("servercalls", x, sep = "/")))
}
## Lookup files .tar.gz
if(!dir.exists("lookup")){
dir.create("lookup")
lapply(list.files(pattern = "*.tar.gz"), function(x) file.rename(x, paste("lookup", x, sep = "/")))
}
Uber ищет разработчиков с помощью мини-игры в своем приложении
2016-03-28 в 12:11, admin, рубрики: uber, код, пасхалка, Программирование, рекрутинг, тестирование, транспорт будущего
Инженер Microsoft Джошуа Дебнер использовал Uber в Сиэтле, когда на экране появилось новое уведомление. Приложение предложило сыграть в игру «Code on the Road». В компании подтвердили, что нашли новый способ поиска разработчиков для своей быстрорастущей компании путем тестирования их навыков во время поездки на Uber, сообщает businessinsider.
Дебнер не имеет ни малейшего представления о том, как компания узнала, что он является инженером. Его адрес электронной почты Microsoft не привязан к приложению. Uber настаивает на том, что он не использует персональные данные для идентификации кандидатов, а только выявляет географические области, в которых сосредоточены технические специалисты.
Читать полностью »