Хабрахабр:
Не так давно Monnoroch опубликовал несколько прекрасных вступительных статей по языку D2, и это было хорошо. Но, прочитав последнюю статью, посвящённую метапрограммированию, захотелось сделать ещё лучше и раскрыть тему немножко подробнее. Дьявол, как известно, в деталях ? и именно внимание к мелочам делает реализацию meta-парадигмы в D2 столь удобной. Если вы не читали статью Monnoroch, рекомендую вначале ознакомиться с ней, т.к. в рамках этой не хотелось бы тратить время на базовые вещи. Итак, если вам уже знакомы некоторые возможности шаблонов в D2, я хотел бы подробнее рассказать о том, что сопутствует им ? инструментах статической интроспекции, нюансах CTFE и даже такой запретной, но притягательной вещице, как mixin. Цель ? больше наглядных примеров кода с комментариями и меньше слов. Читать дальше →
Каждый справляет новый год по разному. Кто-то помнит его, а кто-то нет. Я стоял на балконе и курил, наблюдая салют. Вобщем-то, я ждал когда запишется диск. Диск было не жалко ради такого эксперимента ? он того стоил. Это было мое первое приложение под PlayStation 2. Правда, все, что оно умело ? это выводить клавиатуру и, с помощью джойстика, печатать, но это был уже прогресс! Итак, запуск! Работает! Сама суть Так я начинаю цикл статей по программированию для PlayStation 2 Сначала будет длинная теория. Потом практика. Поскольку я не профессионал С++ (или С ? кому как нравится, но я буду рассказывать на С++), то прошу строго не судить о коде. Также, по PlayStation 2 SDK желательно использовать Red Hat 6 или выше, однако, я пишу все это под Windows 7. Хоть все и работает криво, но работает ? и ладно. К началу практических экспериментов советую иметь чипованную PlayStation 2 и сетевой кабель. Для моих экспериментов выбрана PlayStation 2 Slim 90006 формата NTSC чипованная и сетевой кабель синего цвета =) (Я не использовал для дебага режим iLink, поскольку драйвера в комплекте идут только под Linux, да и жесткий диск нужен). Читать дальше →
Хочу поделиться способом, который позволит сэкономить несколько мегабайт ?лишнего? веса в вашем iOS приложении. Зачем это может понадобиться? Во-первых, если ваше приложение чуть больше 20 Мб, то его нельзя будет скачать по 3G, а только используя Wi-Fi или синхронизацию c iTunes (ограничение со стороны Apple). Ну, а во-вторых, если вы любите все оптимизировать или просто хотите чуть-чуть сократить время загрузки вашего апа. Все нижеперечисленные пункты я проверял и использовал в своем апе, сэкономив суммарно около 4 Мб. Кажется не очень то и много, но если, например, умножить на 5000 тысяч загрузок в день, то уже получим около 20 Гб сэкономленного трафика. Итак, приступим. Читать дальше →
Rust ? новый экспериментальный язык программирования, разрабатываемый Mozilla. Язык компилируемый и мультипарадигмальный, позиционируется как альтернатива С/С++, что уже само по себе интересно, так как даже претендентов на конкуренцию не так уж и много. Можно вспомнить D Вальтера Брайта или Go от Google. В Rust поддерживаются функицональное, параллельное, процедурное и объектно-ориентированное программирование, т.е. почти весь спектр реально используемых в прикладном программировании парадигм. Я не ставлю целью перевести документацию (к тому же она весьма скудная и постоянно изменяется, т.к. официального релиза языка еще не было), вместо этого хочется осветить наиболее интересные фичи языка. Информация собрана как из официальной документации, так и из крайне немногочисленных упоминаний языка на просторах Интернета. Читать дальше →
Скрипт HabrAjax, который задуман для поддержки юзерстилей, в котором реализованы функции, совпадающие с пожеланиями об интерфейсе, за последние несколько дней после публикации стремительно приближается к релизу. Сделана и сносно работает вся основная функциональность на страницах с различной вёрсткой, что составляло основную долю трудоёмкости. Работают QA и старые страницы (Избранное, Свои, блоги компаний, поиск) ? везде работает подгрузка статей и комментариев без перезагрузки ленты анонсов. Добавлена ещё одна важная часть скриптов ? возможность корректной работы без применения особых стилей ZenComment (в заметке ниже проливается свет на этот загадочный режим), в старом (существующем сейчас) дизайне страниц. Именно этого не хватало 90% пользователей, которые были не готовы перейти на новый дизайн вместо привычных очертаний и размеров старого. Читать дальше →
В канун Нового, 2012 года, пресс служба Министерства обороны России расщедрилась и пригласила десяток блоггеров на один из ключевых узлов противоракетной обороны нашей Родины, радиолокационную станцию кругового обзора с фазированной антенной решеткой "Дон-2Н". Эта уникальная станция обеспечивает контроль космического пространства России и СНГ от атак баллистических ракет, на высоте до 40 000 км, сопровождение до 100 целей и одновременное наведение на них несколько десятков противоракет. В 1989 г. она была принята на вооружение, а в 1996 г. поставлена на боевое дежурство. Система управления всем этих хозяйством построена на базе отечественного микропроцессора "Эльбрус-2", в качестве рабочих станций для терминалов управления непосредственно РЛС используются "Эльбрус-90микро" (якобы). С момента постройки комплекс до сих пор справляется со своими задачами (более 20 лет!), за что низкий поклон советским инженерам-электронщикам. На Эльбрусах должна стоять ОС МСВС, что довольно логично, т.к. враг не дремлет, но, видать, там слишком скучные обои, поэтому на помощь призвали MS Windows. Ну, а тут не грех и сунуть в нее флэшечку со своим варезом? Читать дальше →
Процессорная архитектура ARM имеет на Хабре свою небольшую, но преданную армию поклонников. И хотя до сегодняшнего дня подавляющее большинство смотрело на процессоры ARM как на исключительно процессор для мобильных устройств, уже многим было ясно, что ?процессорами для планшетов? возможности ARM не исчерпываются. Однако даже регулярно появлявшиеся на Хабре анонсы о ?серверных? платформах на базе процессоров архитектуры ARM не могли убедить скептиков. Все равно, в существующем виде, эти процессоры на ?серверные? никак не тянули, оставаясь нишевым решением, чем-то вроде пары лет назад ставшим популярным ?сервере на Intel Atom?. Однако времена меняются, и этот старожил процессорных архитектур (не все знают, что первый процессор архитектуры ARM появился еще 28 лет назад, в 1983 году, и ARM как семейство архитектур, ровесник i386) наконец, похоже, дорос и до серверов. В конце декабря ARM анонсировала новую процессорную архитектуру ? ARMv8, ориентированную на серверное применение, а компания Applied Micro (APM, ранее была известна как AMCC, Applied Micro Circuits Corp.) предложила плату референсного дизайна, X-Gene Platform, для демонстрации возможностей нового продукта. Читать дальше →
В первой части я постарался дать понимание относительно того, как выбрать заказчика/исполнителя для проекта. Естественно, в одной статье нет возможности перечислить все, с чем приходится сталкиваться, но основы я постарался описать. Как верно было замечено в комментариях, не описаны такие важные моменты, как взаимодействие во время проекта и оплата работ. Оплату мы вынесем в отдельный пост, а сейчас хотелось бы рассказать о том, как надо вести проект. Опять же, не являясь истиной в последней инстанции, я не говорю, что делайте именно так, а не иначе. Просто этот опыт был вынесен на основании ошибок, и в моем случае данные правила помогают жить. Ну, от слов к делу Читать дальше →
Доброго всем времени суток! Сегодня я продолжаю рассказ о замечательном языке программирования D. В своих прошлых статьях я вел рассказ о мультипарадигменности и метапрограммировании в D. К тому же не могу не отметить замечательную статью Volfram, в которой он продолжил тему метапрограммирования, рекомендую. За окном праздники, люди отдыхают, празднуют, радуются, потому не хочу нагружать вас тяжелой информацией и речь сегодня поведу на несложную, но от того не менее приятную тему: перегрузка операторов. Вы можете сказать, что это вообще мелочи и не очень-то и интересно, но как раз в D перегрузка операторов является немаловажной частью дизайна языка и, что еще важнее, я смогу показать несколько примеров использования CTFE (Compile-time function evaluation), о котором была речь в предыдущей статье. Не зря же я им так восхищался, верно? В добавок, тема перегрузки операторов в D затрагивает много связанных с ней немаловажных концепций, которые в свою очередь я раскрою в статье. Итак, кому интересно ? добро пожаловать под кат. Читать дальше →

Отписаться от этой рассылки