Академия Современного Программирования (Санкт-Петербург) приглашает студентов 2-3 курсов пройти отбор в группу первого года обучения.
В этом году произошли некоторые изменения: в качестве базового языка программирования будет использоваться C++, а не Java.
Об Академии
Академия призвана давать действительно востребованные на российском рынке программирования знания. Курсы Академии ориентированы, преимущественно, на студентов 2-4 курсов ВУЗов. При этом занятия в Академии оказываются полезными как для студентов, обучающихся в своем ВУЗе по специальностям, связанным с IT, так и для тех, чья основная специальность далека от программирования.
Программа Академии рассчитана на 2 учебных года, обучение бесплатное. Успешно проходящие курсы студенты получают стипендию. Занятия проходят по вечерам 3 раза в неделю.
(подробнее тут)
Clover (http://www.atlassian.com/software/clover/), начиная с версии 2.4, отслеживает какие строки исходного кода запускаются при выполнении каждого теста. Эта информация используется для оптимизации порядка запуска тестов.
Порядок выполнения тестов при оптимизированном запуске зависит от тех файлов, в которые были внесены изменения с момента последнего запуска тестов: тесты на отредактированные файлы запускаются первыми. Такой подход к запуску тестов позволяет практически мгновенно узнавать о возникших проблемах.
Поддержка Clover в интегрированных средствах разработки (IDE)
Немногие разработчики при внесении небольших изменений или рефакторинге запускают весь комплект тестов перед тем тем как закомитить свои изменения в систему контроля версий. Вместо этого (в лучшем случае) запускается выборочно несколько тестов или (как это обычно происходит :) ) тесты не запускаются вообще.
Оптимизация тестов позволяет запустить все тесты, при этом не расходуя время разработчика на выполнение всего комплекта или наоборот не пропуская запуск того теста, который потом сломает ночной билд (nightly build). Такой подход означает более частое тестирование, что (естественно) улучшит качество кода и одновременно ускорит процесс разработки.
Clover в действии – более частый запуск тестов за счёт меньшего времени их выполнения, или less is more (см. ниже).
неверныеПрограммисты на ruby/RoR знакомы с мантрой “less is more”. Думаю, им будет интересно узнать о происхождении этой фразы.
Вот отрывой из поэтического произведения “Andrea del Sarto” (также известного как “Faultless Painter”) Роберта Браунинга,
опубликованного в далёком 1855 году и вошедшего в сборник “Men and Women“:
I do what many dream of, all their lives,
–Dream? strive to do, and agonize to do,
And fail in doing. I could count twenty such
On twice your fingers, and not leave this town,
Who strive–you don’t know how the others strive
To paint a little thing like that you smeared
Carelessly passing with your robes afloat– Yet do much less, so much less, Someone says,
(I know his name, no matter)–so much less!
Well, less is more, Lucrezia: I am judged.
There burns a truer light of God in them,
In their vexed beating stuffed and stopped-up brain,
Heart, or whate’er else, than goes on to prompt
This low-pulsed forthright craftsman’s hand of mine.
Часто авторство фразы “Less is more” ошибочно приписывается архитекторам Buckminster Fuller (1895 – 1983) или Ludwig Mies van der Rohe (1886 – 1969). Конечно, эти архитекторы эту фразу использовали, но придумали её не они.
Внимение! правильный ответ :)
Фраза “less is more” – девиз философии минимализма. Впервые была использована в 1774 году немецким поэтом Кристофом Виландом (1733 – 1813)
Примечательно, что в UNIX-мире совершенно спокойно уживаются два пейджера, less и more:
2 июня вышел релиз Confluence 3.0 – wiki-системы, написанной на java.
Макросы
В Confluence 3.0 появился Macro Browser – возможность добавлять чарты, списки дел, фото галереи, RSS-ленты с помощью нажатия на кнопку мыши. В Confluence 3.0 есть 80 встроенных макросов, плюс возможность использовать макросы сторонних производителей, например Balsamiq mockups и Gliffy diagrams.
Социальное взаимодействие
В Confluence 3.0 появились возможность открывать для себя новых коллег и экспертов, следя за их обновлениями, налаживать новые связи с сотрудниками, а также создавать и вступать в тематические группы (networks).
Эти новые возможности помогут найти новых коллег:
Hover Profile (всплывающий профиль) – информация и меню профиля. Появляется, если навести курсор мыши на фото пользователя
Enhanced User Profiles (пользовательский профиль) – больше данных в пользовательском профиле, такие как должность, отдел, месторасположение плюс информация об активностях, строке статуса, а также его окружение (network)
Redesigned Personal Spaces (пользовательские пространства)- персональные пользовательские пространства (spaces) теперь содержат сворачиваемую боковую панель, которая как и User Profile содержит данные об активности, текущий статус и окружение.
Эти возможности – для построения связей и отношений:
Status Updates (обновления статуса) – сообщения длиной до 140 символов, позволяют поделиться ссылкой, задать вопрос или просто поделиться с сотрудниками информацией о том, чем вы именно сейчас занимаетесь
Networks (окружения) – возможность следить за обновлениями коллег путём добавления их к своему окружению
Activity Streams (активности) – просмотр аггрегированных данных об активности своего окружения
Удобство использования
Upgraded PDF Export – улучшенных экспорт в формат PDF с возможностью создать титульную страницу, одержание, настроить форзацы и выбрать стиль для элементов документа (цвет, шрифт и проч.)
Major performance improvements – улучшения производительности: +100% для Confluence, работающих в кластере и +40% для обычных исталляций.
Демонстрация возможностей новой Confluence (3:52):
Atlassian Plugin Exchange (http://plugins.atlassian.com/) – репозиторий расширений с возможностью управления расширениями непосредственно в админ-панели JIRA или Confluence.
http://commons.apache.org/cli/ – библиотека Apache Commons CLI предоставляет интерфейс (API) для разбора параметров командной строки, передаваемых программе при запуске, а также для печати информации о возможных параметрах запуска.
Оказывается, существует несколько вариантов синтаксиса передаваемых программе параметров:
POSIX like options (ie. tar -zxvf foo.tar.gz)
GNU like long options (ie. du --human-readable --max-depth=1)
Java like properties (ie. java -Djava.awt.headless=true -Djava.net.useSystemProxies=true Foo)
Short options with value attached (ie. gcc -O2 foo.c)
long options with single hyphen (ie. ant -projecthelp)
Библиотека Commons CLI поддерживает все пять вариантов.
POSIX
Пользуясь широкими возможностями пакета commons-cli, нужно помнить: использование аргументов командной строки может привести к тому, что разрабатываемая программа перестанет быть портируемой (т.е. не будет Java-программой на все 100%)!
Для обеспечения совместимости и переносимости программ, использующих аргументы командной строки, рекомендуется придерживаться стандартных соглашений POSIX о синтаксисе параметров:
An option is a hyphen followed by a single alphanumeric character, like this: -o.
An option may require an argument (which must appear immediately after the option); for example, -o argument or -oargument.
Options that do not require arguments can be grouped after a hyphen, so, for example, -lst is equivalent to -t -l -s.
Options can appear in any order; thus -lst is equivalent to -tls.
Options can appear multiple times.
Options precede other nonoption arguments: -lst nonoption.
The -- argument terminates options.
The - option is typically used to represent one of the standard input streams.
Полностью POSIX-совместимыми являются такие операционные системы как AIX, HP-UX, MacOS X 10.5, MINIX, QNX, Solaris/OpenSolaris и др.(полный список).
Частично совместимые – FreeBSD, Linux (особенно использующие LSB), NetBSD, OpenBSD и др.(полный список).
nigma.ru – онлайн-система, позволяющую как производить простейшие арифметические преобразования, так и решать математические задачи различной степени сложности. Также Нигма распознает более тысячи физических, математических констант и единиц измерения, что позволяет производить операции со множеством величин (в том числе решать с ними уравнения) и получать ответ в требуемых единицах измерения.
Помимо уравнений система решает все задачи, характерные для калькуляторов поисковых систем и конверторов валют. Однако Нигма умеет считать в дробях и знает общеупотребимые синонимы валют.
Page Speed – так называется новая пузомерка от Google, аналог YSlow и по сути надстройка над Firebug, позволяющая измерить параметры производительности вебсайта и получить советы и подсказки по оптимизации.
Google Labs выпустили Google Squared – поисковый инструмент, который поможет собрать воедино факты на любую заданную тему.
Возможности:
увидеть таблицу элементов и их аттрибутов
разработчики назвали такие таблицы фактов словом “squares“
настроить отображение, указав какие элементы (строки) и аттрибуты (столбы) показывать, а какие – нет
увидеть, какие вебсайты являются источником информации
сохранить подборку и поделиться ей с другими пользователями
К слову, Google Squared похож на сервис структурированных запросов Wolfram Alpha – программу вычисления знаний (computational knowledge engine), результат работы которой – выборка из собственной внутренней базы знаний.
О возможностей системы Wollram Alpha рассказывает её создатель, Стивен Вольфрам – британский физик, математик, писатель и бизнесмен, известный своими работами в таких областях как физика элементарных частиц, космология, клеточные автоматы, теория сложности и компьютерная алгебра, а также авторством программы Mathematica и собственно сервиса Wolfram|Alpha.
Видео (10:58)
Факты:
Wolfram|Alpha – это 5 миллиноно строк кода на Mathematica (с использованием webMathematica и gridMathematica), которые работают на 10,000 CPU, база знаний, NLP-движок и библиотека алгоритмов
webMathematica – продукт, позволяющий веббраузеру выступать в роли интерфейса к удалённому Mathematica-серверу и запускать Mathematica-скрипты на любой платформе.
Пример работы : ctg (Pi/2) ≈ 0 http://functions.wolfram.com/ElementaryFunctions/Cot/ – обзор функции котангенса http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Cot – онлайн калькулятор, позволяет вычислить значение функции котангенса для любого аргумента http://functions.wolfram.com/ElementaryFunctions/Cot/09/0001/ – представление котангенса в виде ряда, плюс возможность скопировать эту формулу во внутренних форматах Mathematica (Input Form, Standard Form и Rule Form) или в MathML-формате: утилита mathmlcentral.com от Wolfram Research умеет генерировать GIF, JPEG и даже xHTML по MathML-коду; есть даже возможность сгенерить случайным образом выбранную формулу (кнопка “Random URL“)
gridMathematica – дополнение к Mathematica, расширяющая её возможности параллельных вычислений
http://functions.wolfram.com/
По состоянию на июнь 2009 сайт webMathematica содержит 304,409 формул и 10,828 визуализаций, причём здесь есть даже информация о функциях, которую они ещё в свою CAS не встроили.
http://mathworld.wolfram.com/
MathWorld – постоянно обновляемый набор интерактивных математических статей, созданных и поддерживаемый Эриком Вайштайном. Проект спонсируется компанией Wolfram Research Inc. (автор Mathematica) и частично грантом “National Science Foundation’s National Science Digital Library” университету “University of Illinois at Urbana-Champaign”.