Рубрика «perl» - 23

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

Поле, где работают биологи, располагается в некотором удалении от здания, в которое мы могли получить доступ, возможность установить свое оборудование и использовать Internet.
Читать полностью »

в 15:42, , рубрики: highcharts, perl, метки: ,

Риалтайм дашборд
Однажды, сидя поздним вечером на работе, захотелось сделать простенький шустренький дашборд, который бы отрисовывал графики ошибок или других варнингов из логов Apache или Ngnix. Термин Realtime слегка льстит, в действительности мы видим обновление на графике каждые 3 секунды. Такого плана дашборд, очень полезен особенно когда идет выкатка новой версии в бой, сидишь и смотришь как она тихонечко расползается по серверам, изменяя направления кривых на графике.Читать полностью »

В недавнем времени появилась задача постить на стены пользователей и групп вконтакте посты с вложением картинок и ссылок.

Были опробованы различные готовые решения, но полноценных рабочих вариантов так и не было найдено.

Среди таких решений стоит выделить разработку пользователя xbreaker — класс vk.wallpost. В этой реализации работал постинг с вложением ссылок, но с картинками были проблемы — они не закачивались. Попытавшись доработать класс vk.wallpost, желаемого результата я так и не получил. Запросы к ВК в этом модуле делаются через небезызвестный PHP модуль CURL. Именно в нём, как мне показалось, и была проблема при закачке картинок, возможно просто не удалось настроить его должным образом. Помимо этого, проблемой было и то что в PHP нет хорошего модуля для программного server-side «браузера», такого например как WWW::Mechanize в Perl. Оценив все «за» и «против» я взялся написать свой модуль для управления аккаунтом в ВКонтакте, но уже на языке Perl.
Читать полностью »

Что учёные, писатели и программисты думают о популярных языках программирования.

Все языки

«Есть два подхода к программированию. Первый — сделать программу настолько простой, что в ней очевидно нет ошибок. А второй — сделать её настолько сложной, что в ней нет очевидных ошибок.»
Tony Hoare. Профессор, занимался реализацией Алгол 60, сейчас исследователь в Microsoft Research.

Algol 60 (позже повлиявший на C)

«Я не мог устоять перед искушением добавить в язык нулевой указатель (null), просто потому, что его так легко было реализовать. Это привело к бессчётному множеству ошибок, уязвимостей и сбоев, которые нанесли ущерб, наверное, в миллиард долларов за последние сорок лет.»
Tony Hoare.

Читать полностью »

Термометр с прогнозом погоды

С рождением ребёнка существенно повышается внимание, уделяемое погоде на улице: если сам ты можешь выйти на улицу в чём придётся, и немножко помёрзнуть или промокнуть, не взяв зонтик, то родительский инстинкт просто не даст причинить неудобство твоему ребёнку. Спасибо современным технологиям, — температуру на улице и прогноз погоды можно в любой момент посмотреть на специальных сайтах (вроде pogoda.mail.ru или pogoda.yandex.ru).

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

Как говорится в известной пословице: мужик сказал, женщина напомнила, женщина напомнила, женщина напомнила, женщина задолбала, — мужик сделал.

Читать полностью »

На днях Яндекс открыл документацию API Яндекс.Диска, и я хочу рассказать о примере программы, созданной на базе этого API.

У Яндекс.Диска есть отдельные клиентские программы для ОС Windows и Mac OS X, которые поддерживают локальную копию файлового хранилища. Это невероятно удобно! Надо отдать должное Дропбоксу, который, кажется, первым предложил именно такой способ использования облачного файлового хранилища.

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

Текущая версия доступна на гитхабе — это примерно 130 строк кода на Перле, а здесь я очень кратко расскажу, как она устроена и работает.

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

Читать полностью »

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

Если вы когда-нибудь пытались написать своего бота, программу-переговорщик (negotiator), интерпретатор протокола связи и тому подобные вещи, то наверняка сталкивались с конечными автоматами. Данная тема в принципе не представляет большой сложности, но если вдруг у вас не было курса «теории автоматов», милости прошу под кат.

Сегодня мы попытаемся создать простой детерминированный конечный автомат. Мне вдруг захотелось написать его на Perl'е, но так как мы не будем использовать никаких специфических трюков, перенести общую концепцию на любой другой императивный язык не составит большого труда.
Читать полностью »

Введение

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

image

Ты современный Web-разработчик?

Задай себе вопросы:

  • Готов ли ты перейти на PHP 5.4?
  • Стоит ли переходить на MariaDB?
  • Как работает Python с вебсокетами, базами под нагрузкой?
  • Что дает Google Closure Templates?
  • Как запустить большой проект на Ruby?
  • Можешь ли спроектировать успешный HighLoad проект?
  • Сможешь ли создать распределенный офис разработки проектов?
  • Как успешно внедрить Kanban и Scrum в небольшой команде

Читать полностью »


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