Ещё никогда простое научное сообщение на образовательном портале NASA SpacePlace не вызывало такой бурной реакции в женских журналах. А ведь учёные всего лишь напомнили, что положение созвездий относительно эклиптики Солнца постоянно меняется из-за прецессии.
Читать полностью »
Архив за 19 сентября 2016 - 6
НАСА объясняет, что положение «знаков зодиака» давно изменилось. Паника в женских журналах
2016-09-19 в 9:59, admin, рубрики: астрология, астрономия, зодиак, метки: зодиакК провалу Samsung Galaxy Note7 привели спешка, усталость сотрудников и желание Samsung обойти Apple
2016-09-19 в 9:51, admin, рубрики: Новости, метки: новостиНа сайте Bloomberg опубликовали интересную заметку о том, из-за чего компания Samsung попала в ситуацию, в которой она находится в данный момент. Издание ссылается на разных информаторов, которые хорошо знакомы с тем, как все происходило на самом деле.
Тестирование производительности баз данных при помощи tSQLt и SQLQueryStress
2016-09-19 в 9:34, admin, рубрики: Microsoft SQL Server, querystress, sql, sqlquerystress, sqlserver, tsqlt, высокая производительность, нагрузочное тестирование, тестирование, Тестирование веб-сервисов, тестирование производительности, метки: sqlserver Надеюсь не будет откровением, если я скажу, что тестирование отыгрывает важную роль при разработке любого программного продукта. Чем качественнее тестирование, тем лучше в итоге должен выйти конечный продукт.
Часто можно столкнуться с ситуацией, когда тестирование программного кода проходит очень кропотливо, а на тестирование базы данных времени уже не остается либо оно делается по остаточному принципу. Подчеркну, что это формулировка весьма сдержанная, на практике все бывает еще хуже… про базу вспоминают только когда с ней начинаются проблемы.
В итоге работа с базой может стать узким местом в производительности нашего приложения.
Чтобы избавить себя от подобного рода проблем, я предлагаю рассмотреть различные аспекты тестирования баз данных. К которым можно отнести нагрузочное тестирование и проверку производительности SQL Server в целом при помощи юнит-тестов.
Читать полностью »
О фундаментальных ошибках в дизайне языков программирования
2016-09-19 в 9:32, admin, рубрики: C, c++, for, Анализ и проектирование систем, Блог компании Инфопульс Украина, ПрограммированиеКак-то раз мне на глаза попалась статья о том, что самой дорогой ошибкой в дизайне языков программирования было решение определять окончание строки в C по NULL-байту. Один из вариантов перевода этой статьи на Хабре: habrahabr.ru/post/126566 (хотя я, по-моему, читал другой). Эта статья меня немного удивила. Во-первых, как-будто в те времена экономии каждого бита памяти можно было шикануть и выделить ещё 2-4 байта в каждой строке на хранение её размера. Во-вторых, никаких особо катастрофических последствий это решения для программиста не несёт. Ошибок, которые можно по этому поводу совершить я могу придумать целых две: неверно выделить память для строки (забыть место под NULL) и неверно записать строку (забыть NULL). О первой ошибке уже предупреждают компиляторы, избежать второй помогает использование библиотечных функций. Всей-то беды.
Значительно большей проблемой времён дизайна языка С (и затем С++) мне кажется другое — оператор for. При всей его кажущейся безвредности — это просто кладезь потенциальных ошибок и проблем.
Давайте вспомним классическое его применение:
for (int i = 0; i < vec.size(); i++)
{...}
Что же здесь может пойти не так?
Читать полностью »
Главные характеристики качественного кода
2016-09-19 в 9:24, admin, рубрики: качество, Программирование, Проектирование и рефакторинг, Промышленное программирование, Совершенный код, чистый кодКак часто вы поражаетесь, читая чужой код, и думаете «господи, ну и каша...». Скорее всего, достаточно часто. И можете ли вы быть уверенным, что никто не думал также когда читал ваш код? Другими словами, насколько вы уверены в чистоте своего кода? Можно быть уверенным только если полностью понимаешь, что значит чистый код.
Сложно дать точное определение чистому коду, и, скорее всего, сколько программистов — столько определений. Однако, некоторые принципы достаточно универсальны. Я собрал девять самых релевантных и описал ниже.
1.Плохой код делает слишком много, чистый код сфокусирован
Каждый класс, метод и любая другая сущность должна оставаться неискаженной. Она должна следовать принципу единственной обязанности. Вкратце, можно сказать так: если подумать о причинах изменения класса, то нельзя придумать больше одной хорошей причины.
Но я бы не ограничивал определение классами. В свой последней статье Ральф Вестфал (Ralf Westphal) представил более широкое определение принципа единственной обязанности:
Функциональная единица на определенном уровне абстракции должна отвечать за один аспект требований системы. Аспект требований это признак или свойство требования, которое может изменяться независимо от других аспектов.
Читать полностью »
Функции высших порядков и монады для PHP`шников
2016-09-19 в 9:15, admin, рубрики: functional programming, generators, parser, php, ПрограммированиеСреди PHP программ преобладает процедурный или в последних версиях частично объектно-ориентированный стиль программирования. Но можно писать и иначе, в связи с чем хочется рассказать о функциональном стиле, благо кое-какие инструменты для этого имеются и в PHP.
Поэтому мы рассмотрим реализацию парсера JSON в виде простейших функций и функций их комбинирующих в более сложные, постепенно дойдя до полноценного парсера JSON формата. Вот пример кода, который мы получим:
$jNumber = _do(function() {
$number = yield literal('-')->orElse( literal('+') )->orElse( just('') );
$number .= yield takeOf('[0-9]')->onlyIf( notEmpty() );
if ( yield literal('.')->orElse( just(false) ) ) {
$number .= '.'. yield takeOf('[0-9]');
}
return +$number;
});
Кроме собственно функционального подхода можно обратить внимание на использование классов для создания DSL-подобного синтаксиса и на использование генераторов для упрощения синтаксиса комбинаторов.
Google открестился от блокировщика рекламы AdBlock Plus и его рекламной сети
2016-09-19 в 9:07, admin, рубрики: adblock, adblock plus, Eyeo, Google, запуск, Интернет-реклама, Текучка, метки: adblock, adblock plus, Eyeo, Google, запуск, интернет-реклама, ТекучкаНа прошлой неделе стало известно, что немецкая компания Eyeo, владелец крупнейшего в мире блокировщика рекламы Adblock Plus, запускает собственную сеть. Привлечением рекламодателей будет заниматься Google через свою рекламную сеть, также в управлении рекламными компаниями будет помогать компания AppNexus, Читать полностью »
Смартфон Doogee F7 Pro с Helip X20 и 4 ГБ ОЗУ поступил в продажу по цене $250
2016-09-19 в 8:40, admin, рубрики: Новости, метки: новостиСегодня в продажу поступил смартфон Doogee F7 Pro, который доступен в черном и белом вариантах исполнения корпуса по цене 250 долларов.

Смартфон получил большой дисплей диагональю 5,7 дюйма с разрешением 1920 х 1080 пикселей, десятиядерную однокристальную систему Helio X20, 4 ГБ оперативной и 32 ГБ энергонезависимой памяти.
Сезон DevFest 2016 в 10 городах России
2016-09-19 в 8:38, admin, рубрики: devfest, Google, Google API, Блог компании Google, конференция, разработка мобильных приложений, Разработка под androidКонференция DevFest – это глобальное событие, проводимое по всему миру сообществами Google Developers Group (GDG) при поддержке компании Google. В рамках данного события происходит представление и обсуждение последних технологий и разработок Google. Это мероприятие будет интересно разработчикам, IT-специалистам, студентам IT-специальностей и всем, кто не равнодушен к современным технологиям.
В этом году в России пройдет рекордное количество конференций DevFest – целых 10! Поэтому вам будет легко найти DevFest, проходящий в вашем городе или недалеко от него.
Читать полностью »