Почти три недели назад был анонсирован новый проект от Facebook. Он называется HipHop-PHP. Для широкой публики исходные коды стали доступны лишь сутки назад. HipHop был создан для улучшения производительности Facebook. Он преобразует PHP код в C++ код и комплирует его с помощью g++. HipHop доступен под opensource лицензией. В данной статье описан процесс сборки HipHop из исходных кодов и его использование.

Вернемся к теме производительности в facebook. Что было сделано специалистами компании для того, чтобы была обеспечена достойная скорость обработки данных и приемлемое время предоставления самой разной информации своим пользователям. Статья подготовлена по мотивам презентации Адитья Агарвал (Aditya Agarwal,  Director of Engineering at Facebook), который является директором по разработкам в Facebook. Он внес вклад в разработке поисковой машины Facebook Search Engine. Он также является одним из соавторов Thrift, популярного фреймворка с открытым исходным кодом(open-source RPC framework). До Facebook Адитья работал в компании Oracle.

Компания Google — давно уже переросла себя как компанию - поисковик. Сегодня с Google ассоциируются такие слова как "прорыв", "новейшие технологии", "будущее". Компания по праву стала компанией, которая создает наше новое будущее, компания которая стирает границы между странами и людьми, которая объединяет людей и которая создает технологии. Сегодня Google является одним из мировых лидеров в создании гаджетов, интернет-сервисов и многого другого. Каждый хочет хотя бы одним глазком заглянуть в будущее. Что нас там ждет? Что нам нового и интересного готовит Google?

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

Директор по маркетингу сервисов Яндекса Андрей Себрант рассказал студентам Малого ШАДа о том, что такое большие данные, и о тех, зачастую неожиданных местах, где они находят своё применение.

Bid Data как понятие у всех на слуху уже не первый год. Но точное представление о том, что же представляет собой это понятие, есть далеко не у всех, особенно это касается людей за пределами IT-сферы. Проще всего несведущему человеку объяснить это на практическом примере.

imageЧасто случается, что после запуска какого-нибудь амбициозного интернет проекта и удачного его пиара в СМИ компания ожидает большой приток посетителей. К сожалению, наш мир не идеален и так случается, что сайт не справляется с таким потоком посетителей, называемым в наших кругах «хабраэффектом», и начинает тормозить. Соответственно компания теряет и деньги и репутацию. В таких случаях программисты обычно сваливают вину на админов, а админы на программистов. Получается замкнутый круг.

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

ORM-подход позволяет программисту использовать стандартные подходы для описания и работы с базами данных. Благодаря этому подходу программисту не нужно изобретать велосипед при работе с базой данных, а можно сосредоточиться на логике приложения. Хотя, как все стандартное, очень хорошо подходит для решения простых задач при работе с базой данных, а для решения более сложных задач все же JDBC подход оказывается эффективнее.

На данный момент для платформы Android существует несколько решений, позволяющих реализовать ORM-подход для работы с базой данных, но основных два. Это ORMLite и GreenDAO.

Для того, чтобы значок приложения работал как элемент навигации, надо явно прописать метод setHomeButtonEnabled()

Мы продолжаем собирать материалы о программировании в android. Все в одном месте. Лучшее и доступное. В наших планах составить мануал для программистов всех уровней, который будет собран из лучших и доступных, проверенных материалов. Сегодня мы предлагаем к рассмотрению статью о том, как работать с стандартной встроенной базой данных. В данной статье приведен пример реализации классов для работы с базой данных в Android.

В данной статье представлено краткое описание встроенной базы данных SQLite, доступной на любом Android-устройстве, и инструментов работы с ней.

Реализация в Android параллелизма, работы по сети и доступа к базам данных

Язык Java™ – предпочтительный инструмент для разработчиков Android. Среда исполнения Android использует свою собственную виртуальную машину, Dalvik. Это не обычная виртуальная машина Java, к которой привыкло большинство разработчиков. Dalvik поддерживает большинство функций языка программирования Java – но не все. В этой статье мы расскажем о расширенных возможностях Java и их реализации на платформе Android. Это такие функции, как параллелизм, работа в сети и доступ к базе данных.

imageСтатья Нейла МакАлистера из InfoWorld. Некоторые из положений статьи могут показаться спорными, но все они крайне интересны.

Оказывается, даже столь рациональные люди с развитой логикой, как разработчики, верят мифам. Некоторые программисты верят в то, во что они хотят верить, вопреки всему.
Например, классическим заблуждением является мнение, что можно ускорить разработку проекта за счет добавления большего количества разработчиков. Фредерик Брук развеял этот миф еще в 1975 году в своей книге «Мифический человеко-месяц».
Брук считал, что добавление разработчиков в уже достаточно развитый проект никак не ускорит процесс. Напротив, это замедлит процесс разработки еще больше. По сути это опровергает множество общепринятых понятий относительно управления программными проектами.
Конечно, некоторые примеры Брукса кажутся сегодня устаревшими, но общая идея и сейчас актуальна. Его доводы уж очень убедительны. 37 лет спустя, мифическое мышление продолжает преобладать среди программистов. Мы продолжаем делать те же ошибки.

 imageИнтервью с великим Монти — Майклом Видениусом, автором оригинальной версии открытой СУБД MySQL, который в настоящее время работает над ее ответвлением, MariaDB.

Как известно, мир производит и обрабатывает все больше данных (так называемый феномен «Big Data»). Общепринято мнение, что данных теперь так много, что обрабатывать их с помощью традиционных баз данных и программных методов трудно или невозможно. Это вызвало волну нереляционных баз данных (NoSQL), в которых упор делается на высокую масштабируемость. Эксперт в области баз данных, Монти, поделился с нами своими мыслями о текущем и будущем состоянии SQL, NoSQL и Big Data. Некоторые его ответы были несколько неожиданными, так что мы с радостью приводим здесь русский перевод расшифровки беседы:

Балансировщик нагрузки
Вариант настройки балансировщика нагрузки

Balancer = NGINX (используются стандартные механизмы)

Репликация = стандратная репликация на базе multicast


Если падает нода по нехватке памяти или по критической ошибке JVM, присылается оповещение по почте и автоматически рестартуется

Представляем Вашему вниманию обзор высокоуровневой системной архитектуры социальной сети www.campus.ru, разработки компании ООО «Креатив Медиа». На наш взгляд, данный материал интересен тем, что позволяет оценить применимость рассмотренных подходов и технологий в разработке интернет-ресурсов. По крайней мере, когда компания начинала проект «Кампус», им самим очень не хватало подобной информации.

Формы используются почти на каждом сайте. Например, когда Вы вводите логин и пароль,  данные передаются на сервер с помощью форм. Примером формы являются опрос мнения, ввод комментария и т.д. Форма предназначена для обмена данными между пользователем и сервером. Область использования форм не ограничена отправкой данных на сервер. С помощью клиентских скриптов можно получить доступ к любому элементу формы, изменять его и применять по своему усмотрению.  Документ может содержать любое количество форм, но одновременно на сервер может быть отправлена только одна форма. По этой причине данные форм должны быть независимы друг от друга.

Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.

Инструменты программиста: палитра цветов. Таблица отражает перечень цветов, показывает оттенок цвета и его значения в шестнадцатиричной и десятичной системе исчисления.

Автоматизированное тестирование кода JavaScript в разных версиях браузеров

Корректная работа кода JavaScript в одном браузере вовсе не означает, что этот код так же успешно отработает и в других браузерах. Если компания не проводит модульное тестирование кода JavaScript, то при обновлении версий поддерживаемых браузеров или при переходе на новый браузер такая компания вынуждена тратить дополнительные средства на повторное тестирование и перепроверку работы уже готовых веб-приложений. Из этой статьи вы узнаете, как с помощью эффективных модульных тестов для кода JavaScript сократить расходы на тестирование и минимизировать затраты на поддержку большего количества браузеров.

Описание:  Средства и API поддержки потоков языка Java обманчиво просты; однако этого не скажешь о процессе написания сложных программ, эффективно использующих потоки. Это учебное пособие рассказывает об основах поточного исполнения: что представляют собой потоки, в чем их польза и как начать писать простые программы, которые их используют. Кроме того, вы узнаете об обмене данными между потоками, об управлении потоками и о том, как потоки могут взаимодействовать друг с другом.

Вверх