Архив за 19 января 2014 - 3

Scalatest — это фреймворк для тестирования приложений, поддерживающий разные стили написания тестов и легко интегрирующийся с другими инструментами для JVM, включая IDE и maven.
Читать полностью »

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

Реляционная базы данных — зверь сравнительно непознанный, и имеет репутацию генератора проблем. Не то, чтобы проблем не существовало, но как и с другими инструментами, чаще всего сложности возникают от неумения их (РСУБД) готовить.
Готовить с одной статьи не выучиться, но одно блюдо сдюжим.

Я постарался выделить скелет, набор скриптов, на базе которого можно делать свои схемы данных PostgreSQL и тестировать их при помощи pgTAP: github.com/C-Pro/pg_skeleton
И в качестве приятного бонуса я прикрутил это дело к Travis, чтобы у вас ещё и CI было уже на старте :)

Заготовка для схемы данных с тестами, CI, без преферанса
Читать полностью »

Математика — царица всех наук,
арифметика — царица математики.
К.Ф.Гаусс

Как связаны между собой четыре арифметических действия? Вы будете смеяться, но отсутствие всестороннего ответа на этот вопрос существенно замедляет развитие физики, химии и связанных с ними наук. Ученые, к сожалению, могут только догадываться об этом торможении. Если бы этот вопрос был своевременно исследован, у нас не возникло бы проблем с развитием идей Д.И. Менделеева, а по результатам работы адронного коллайдера, вероятнее всего, создавались бы компьютерные модели элементарных частиц и ядер атомов.
Читать полностью »

В нашей еженедельной подборке сегодня задания Яндекса для разработчиков iOS, третий набор в Университет Chartboost для инди-разработчиков и российские реалии этого самого мобильного геймдева, бесплатный MobileDevHQ и Katana Analytics Engine, определяющий Социальную Ценность каждого пользователя. Хороших вам приложений!

Дайджест новостей из мира мобильной разработки за последнюю неделю №37 (13 19 января 2014)Читать полностью »

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

Данное руководство раскрывает возможности iwconfig по регулировке настроек вашего беспроводного соединения. Из коробки значения по умолчанию весьма либеральные, они дают хорошую пропускную способоность при оптимальных условиях. В реальности же вы никогда не будете настолько близки к точке доступа, как бы вам хотелось, каналы могут перекрываться, а толпы людей будут пытаются использовать тот же канал, что и вы. И настройки по умолчанию в этих условиях уже не так хороши.

Пожалуйста, при чтении данного руководства держите под рукой открытую справку (страничку man) по iwconfig. Я опишу только одиночные примеры различных команд. Справка вам даст намного больше детализированной информации относительно того, как оптимально всё настроить.

Первое и наиболее важное — понимание, что может привести к появлению проблем.
Читать полностью »

Всем здравствуйте! Я расскажу вам о двух предстоящих волшебных мероприятиях, об игровом проекте, с которым собираюсь в них участвовать и о единомышленниках, которые требуются на проект.

GameDevNight Moscow, 31 января

Встреча разработчиков игр в формате круглого стола. Количество посетителей ограничено 50-ю человеками, и все инвайты уже розданы. Но как знать, может, и у вас есть шанс? Мы приглашены – во многом благодаря участию в GamesJam #1 Online.
Запланировано три дискуссии – про сеттинг, формирование коммьюнити и целевые платформы. Среди участников – Дыбовский, множество представителей Mail.ru, несколько команд-участниц GamesJam #1 Online. Планируется прямая интернет-видеотрансляция, которую будут смотреть в т.ч. журналисты. Поэтому особый смыл обретает SHOWCASE – возможность представить свои проекты, находящиеся в разработке.

GamesJamKanobu, весь февраль

Второй онлайн геймсджем – марафон по разработке игр длиной в месяц. Совсем молодое мероприятие достигло каких-то феерических масштабов. Первый джем длился неделю, проекты отсматривал 21 эксперт, включая разработчиков «Блицкриг 3», креативного директора Nival и евангелиста Unity. Теперь же состязание проектов разделено на три этапа – Видение, Концепт-Арт и Демо – каждый со своими призами и экспертами. Сведения очень отрывочные и в основном обитают в твиттере Сергея Климова, но как вам заявление, что в экспертах первого этапа – Дыбовский, третьего – основатель 4A Games, а второго – АРТ МАТЬ ЕГО ДИРЕКТОР МАТЬ ЕГО THE LAST OF US?

Далее будет описание и вакансии проекта, который делаю я. Если что, можете не читать, сберечь время: о)
Читать полностью »

В процессе роста и развития проекта «АвтоОфис — Прием платежей и полная автоматизация продаж» мы столкнулись с тем, что при появлении клиентов имеющих у себя в базах более 100 000+ контактов, одна из основных функций, отвечающих за создания и отправку массовых email-рассылок по базе клиентов данных интернет-магазинов стала безбожно тормозить.

Покопавшись в коде, было выявлено, что при выборках данных, насчитывающих 100 000+ записей из таблиц MySQL с использованием класса ActiveRecord, сильно увеличивается потребление оперативной памяти и времени отработки скриптов. Доходило до того, что одна переменная, хранящая в себе результат выборки из 100 000 записей, потребляла 644 750 972 байт (614 Мб) оперативки, а время выполнения скрипта превышало 50 секунд.

Т.к. 100 000 записей, это мягко говоря, не предел мечтаний, и количество клиентов сервиса АвтоОфис уже давно исчисляется тысячами, мы не могли оставить данную проблему без внимания и не принять меры по её устранению. В итоге описанная выше функция была полностью переписана на выборки с использованием широко известного DAO, что существенно снизило расход ресурсов и увеличило скорость выполнения скрипта.

В процессе перехода наши программисты не поленились и сделали несколько тестов, наглядно показывающие сравнительные характеристики использования ActiveRecord и DAO при попытке выборки из БД MySQL 1, 5, 10, 50, 100, 500, 1 000, 5 000, 10 000, 50 000 и 100 000 записей. С результатами данных тестов и предлагаю Вам ознакомиться прямо сейчас.Читать полностью »

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

Простой интерпретатор с нуля на Python #4

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

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


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