Xcode 6 Objective-C Modernization Tool

Автор: admin от 27-01-2015, 23:52, посмотрело: 594

Уже довольно давно в Xсode есть возможность проверить свой код на соответствие современным особенностям Objective-C (Edit > Refactor > Convert to Modern Objective-C Syntax…). Мне всегда было интересно наблюдать за тем, что Apple продвигает в качестве хорошей практики; и даже если вы не доверяете Xcode автоматически изменять код, это простой способ проверить его на возможность внесения потенциальных улучшений.

Xcode 6 представляет несколько нововведений, а кроме того, гораздо большую гибкость, позволяя самостоятельно контролировать, какие преобразования запускать:

Xcode 6 Objective-C Modernization Tool

К сожалению, из описания преобразования не всегда очевидно, что оно делает. Некоторые полезные подробности можно прочитать в руководстве Adopting Modern Objective-C а также посмотреть на WWDC 2014 Session 417 What’s New in LLVM. Эта статья содержит мои заметки по каждому из преобразований.

Категория: Веб-разработка, Game Development, iOS

 

Эволюция SAAS конструкторов сайтов

Автор: admin от 27-01-2015, 23:02, посмотрело: 478

Первые конструкторы появились около 15 лет назад. Не так давно, но и не недавно, учитывая, что первый сайт появился в девяносто первом. С тех пор они претерпели немало изменений и сейчас большинство конструкторов работают по SaaS модели (англ. Site as a Service — сайт как сервис/услуга). Это значит, что сайт можно создать с помощью веб-приложения, которое разрабатывается и поддерживается поставщиком услуг, который сам следит за его работоспособностью и занимается обновлением ПО и оборудования. Поддержание работоспособности системы, техническая поддержка и иногда некоторые другие работы входят в оплату, которая обычно взимается с клиентов помесячно. При этом конечный пользователь не приобретает лицензию на программу, что позволяет ему значительно сэкономить. Но при этом нужно понимать, что конструктор – это, по сути, аренда сайта, а не его покупка.

Эволюция SAAS конструкторов сайтов

Категория: Программирование » Веб-разработка

 

GHOST — уязвимость gethostbyname() в glibc

Автор: admin от 27-01-2015, 21:12, посмотрело: 384

Специалисты Qualys сообщили о наличии уязвимости в gethostbyname() и gethostbyname2() в GNU
C Library (glibc), которая, как минимум в одном случае, способна привести к удаленному выполнению кода. Уязвимость позволяет перезаписать до 4 байт на 32-битных системах и до 8 байт на 64-битных системах в куче числами (0…9), точкой (.) и NULL-символом (0x00).

Уязвимость появилась в версии glibc-2.2 от 10 ноября 2000 года и была закрыта в версии 21 мая 2013 года с glibc-2.18, поэтому уязвимы только LTS-дистрибутивы Linux: Debian 7, Red Hat Enterprise Linux 6 и 7, CentOS 6 и 7, Ubuntu 12.04.

Уязвимым является код, который отвечает за получение hostname. Для перезаписи кучи, имя хоста должно удовлетворять следующим условиям:

  • Содержать в себе только цифры и точку

  • Первый символ должен быть цифрой

  • Последний символ не должен быть точкой

  • Быть достаточно длинным, чтобы переполнить буфер (>1КБ)

Категория: Информационная безопасность, Linux

 

Новые уязвимости Flash Player эксплуатируются in-the-wild

Автор: admin от 27-01-2015, 20:05, посмотрело: 1919

Компания Adobe выпустила очередное обновление APSB15-03 для своего проигрывателя Flash Player, которое исправляет в нем критическую 0day уязвимость. Уязвимость с идентификатором CVE-2015-0311 использовалась атакующими для проведения атак drive-by download, т. е. скрытной установки вредоносного ПО. Для этого использовался набор эксплойтов Angler Exploit Kit, который содержал в своем арсенале эксплойт для этой уязвимости. Антивирусные продукты ESET обнаруживают различные модификации этого эксплойта как SWF/Exploit.CVE-2015-0311.A.

Новые уязвимости Flash Player эксплуатируются in-the-wild

Категория: Информационная безопасность

 

PostgreSQL vs MySQL

Автор: admin от 27-01-2015, 18:21, посмотрело: 661

PostgreSQL vs MySQL

В преддверии своего доклада на конференции PGCONF.RUSSIA 2015 я поделюсь некоторыми наблюдениями о важных различиях между СУБД MySQL и PostgreSQL. Этот материал будет полезен всем тем, кого уже не устраивают возможности и особенности MySQL, а также тем, кто делает первые шаги в Postgres. Конечно, не стоит рассматривать этот пост как исчерпывающий список различий, но для принятия решения в пользу той или иной СУБД его будет вполне достаточно.

Категория: Админитстрирование » Системное администрирование

 

Пишем расширения c Roslyn к 2015 студии (часть 2)

Автор: admin от 27-01-2015, 16:45, посмотрело: 516

Эта статья является продолжением первой части о написании расширений к студии с Roslyn.

Тут я буду описывать что делать, если мы хотим сгенерировать/поменять какой-нибудь код. Для генерации кода мы будем статические методы класса SyntaxFactory. Некоторые методы требуют указать ключевое слово/тип выражения/тип токена, для этого есть перечисление — SyntaxKind, который содержит все это вместе.

Хорошо, давайте для примера сгенерируем код, содержащий число 10. Это делается просто.

SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(10))

Я не шутил, когда говорил, что чтобы создать код проще всего распарсить строку. Благо, SyntaxFactory предоставляет кучу методов для этого (ParseSyntaxTree, ParseToken, ParseName, ParseTypeName, ParseExpression, ParseStatement, ParseCompilationUnit, Parse*List).

Но это не путь настоящего самурая.

Давайте генерировать по пути самурая

Категория: Программирование

 

Интервальное повторение на LinguaLeo

Автор: admin от 27-01-2015, 16:11, посмотрело: 1420

Интервальное повторение на LinguaLeo

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

Хорошая новость: для того, чтобы поддерживать словарный запас уровня Upper-intermediate (4000 слов) на протяжении 73 лет, достаточно уделить повторению всего лишь 29 часов. Если разделить это время на количество дней за 73 года, то получится 3 секунды в день. Цифры могут показаться нереалистичными, но в модели интервального повторения такое возможно.

В этой статье мы расскажем:

1) о методе интервального повторения, который позволяет помнить слова при сокращении общего количества повторений до минимума;

2) о специальной тренировке для интервального повторения, с которой можно повторить до 100 слов за три минуты.

Категория: Программирование » Веб-разработка

 

Статический анализ PHP кода на примере Symfony2

Автор: admin от 27-01-2015, 15:20, посмотрело: 772

Аннотация


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

С PHP дело обстоит сложнее: уже писали про статический анализ PHP кода, но в целом инструментарий тут гораздо беднее, и динамическая природа языка делает процесс разработки-тестирования сложнее. Для сравнения, в той же Java компиляция проекта сама по себе помогает найти ошибки, а в PHP типизация слабая, поэтому даже тесты могут пропустить ошибки.

Категория: Программирование, Веб-разработка

 

Test Case Management Tool: как правильно сделать выбор и не пожалеть об этом

Автор: admin от 27-01-2015, 15:17, посмотрело: 1284

Test Case Management Tool: как правильно сделать выбор и не пожалеть об этом

Руководитель QA-подразделения Redmadrobot Илья Горшков рассказывает, как выбирал инструментарий для работы с тест-кейсами.

Категория: Программирование » Game Development

 

Развитие KodiCMS

Автор: admin от 27-01-2015, 15:10, посмотрело: 623

Всем привет. С момента написания последней статьи в системе произошло много изменений, о которых хотелось бы рассказать.
Развитие KodiCMS
Приступим

Категория: Программирование

 
Назад Вперед