Рубрика «Программирование» - 788

Здравствуйте, уважаемыее!

Нашему издательству вновь требуется помощь зала по вопросу издания амбициозной книги.

Эта непростая книга называется «Создание микросервисов», автор — Сэм Ньюмен.

Создание микросервисов - 1

Предварительное изучение темы (а также выложенных отрывков книги) позволяет предположить, что перед нами – очередная инкарнация философии Unix, которая теоретически избавлена от недостатков и громоздкости SOA, ориентирована, в первую очередь, на работу с распределенными системами.

Вашему вниманию предлагается перевод аннотации этой книги:

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

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

• Изучите, чем микросервисы могут быть полезны при разработке систем и достижении целей вашей организации
• Познакомьтесь с вариантами интеграции нового сервиса в существующую систему
• Последовательно разберите, как следует разбивать на блоки монолитные базы кода
• Развертывайте отдельные микросервисы методом непрерывной интеграции
• Изучите сложности тестирования и отслеживания распределенных сервисов
• Обеспечивайте безопасную работу между пользователями и сервисами, а также между сервисами, взаимодействующими друг с другом
• Изучите проблемы, связанные с масштабированием микросервисных архитектур

Здесь располагается интересная статья, анализирующая суть концепции микросервисов и помогающая представить, с чем ее едят.

Потенциальный недостаток книги — узость целевой аудитории, которая, к тому же, массово читает по-английски. Также смущают претензии микросервисов на роль очередной серебряной пули, которая на деле вполне может оказаться алюминиевой. Приглашаем обсудить эти вопросы и аннотацию книги в комментариях, а также поучаствовать в уже традиционном опросе:
Читать полностью »

Топ 100+ возможностей работы с синусом в Wolfram|Alpha, или Краткий обзор математических возможностей и синтаксиса Wolfram|Alpha - 1

Перевод поста Майкла Тротта (Michael Trott) и Эрика Вайсштайна (Eric W. Weisstein) "Michael Trott & Eric W. Weisstein
The Top 100+ Sines of Wolfram|Alpha
", существенно расширяющий вопросы, затронутые авторами.
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~12 МБ).

Сервис Wolfram|Alpha может выполнять огромное количество всевозможных вычислений и математические вычисления являются одной из его узких специальностей. В самом деле, используя мощь вычислительных возможностей системы Mathematica, с помощью которой создана система Wolfram|Alpha, сервис Wolfram|Alpha может решать большой спектр задач связанных с математическими функциями, начиная от самых простых и заканчивая дьявольски сложными.

Чтобы прояснить то, что мы подразумеваем под “большим спектром задач” (о котором мы действительно так думаем), давайте возьмем в качестве примера такую непритязательную математическую функцию, как синус. Ниже мы привели список, который раскрывает 93 возможности того, что Wolfram|Alpha может делать с синусом, но в итоге мы добавили еще сверх того некоторое количество бонусных возможностей, перед включением которых в пост мы не могли устоять.

Давайте начнем с того, что просто введем в Wolfram|Alpha запрос sin(x), т. е. просто функцию синус от аргумента x, как она есть. Ниже представлено то, что сервис Wolfram|Alpha выдаст нам в качестве результата на этот запрос:

Top-100-sines-of-Wolfram-Alpha_1.png
Читать полностью »

Если вы хотите построить успешную карьеру в сфере разработки ПО, ни в коем случае не увлекайтесь спортивным программированием и участием в конкурсах.

Такой вывод следует из беспристрастной статистики и дата-майнинга рабочих показателей сотрудников Google, рассказал Питер Норвиг в лекции, прочитанной 26 марта 2015 года в Венском техническом университете.


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

image

В преддверии выпуска Windows 10 и новой, пятой, версии Powershell, хочу поговорить с вами о одном из наиболее серьезных нововведений этого языка — о классах. Начать наш разговор мне видится уместным с экземпляров класса — объектов — являющихся безусловно киллер-фичей языка сценариев Powershell. Простота и лаконичность упрощенного объектно-ориентированного подхода в языке автоматизации задач покорила не только большую, казалось бы, черствую, подобно 16-bit legacy, корпорацию, но и пользователей альтернативных операционных систем.

«Упрощенным» объектно-ориентированным я его назвал умышленно и хочу обратить на это ваше внимание. Объектно-ориентированные языки программирования предполагают ряд сущностей, таких как класс(тип), экземпляр класса, свойства и методы этого экземпляра, чаще называемого объектом. Powershell же, ловко оперируя объектами и их свойствами, практически полностью лишен методов и абсолютно полностью определяемых пользователем типов объектов (классов). Из часто используемых методов в голову приходят пожалуй лишь .trim() да .ToString(). Если дать еще минутку на парсинг дампа опыта написания скриптов на Powershell, всплывет еще что-то про Get-WMIObject.

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

Риски и метрики в автоматизации тестирования - 1

Добрый день!
Бизнес любит измерять, менеджмент любит прозрачность, а сотрудники не любят всю эту бумажную работу, в особенности если от них хотят неизвестно что… Процессы автоматизации тестирования не исключение. Я приведу 5 рисков, которые чаще всего встречаются, которые стреляют, которые нельзя недооценивать, которые могут привести к провалу всего тестирования и проектов в целом. Также я приведу примеры метрик, добросовестное использование которых поможет успокоиться вам, вашему начальству, бизнесу.Читать полностью »

Instructions, registers, and assembler directives are always in UPPER CASE to remind you that assembly programming is a fraught endeavor
golang.org/doc/asm

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

  1. Встраиваемые (embedded) системы.
  2. Декомпиляция, обратная разработка (reverse engineering), компьютерная безопасность.
  3. Высокопроизводительные вычисления (HPC) и оптимизация программ.

И конечно же, в каждой из этих областей существуют специфические требования, а значит свои понятия об инструментах и «свой» ассемблер. Эмбедщики смотрят в код через редактор и дебаггер, реверс-инженеры видят его в декомпиляторах вроде IDA и radare2 и отладчиках ICE, а HPC-спецы — через профилировщики, такие как Intel® VTune™ Amplifier, xperf или perf.
И захотелось мне рассказать об ещё одной области программирования, в которой ассемблеры частые спутники. А именно — об их роли при разработке программных моделей вычислительных систем, в простонародье именуемых симуляторами.
Читать полностью »

Здравствуйте.

Продолжаем тему написания простых и забавных программ, используя ПТК «Квинт 7» российской разработки. В предыдущих постах показывалось как можно просто и быстро написать игрушку вроде змейки или сапера. Но не смотря на то, что это две совершенно разные игрушки, с точки зрения программирования на CFC (в результате спора с одним товарищем пришли к мнению, что данный язык все-таки ближе к CFC чем к FBD) это была фактически одна и та же программа с небольшими косметическими изменениями. В этой статье мы с вами рассмотрим новый пример программирования, написав с нуля простенькую игрушку «БлэкДжек». Если Вас заинтересовала эта тема, добро пожаловать под кат.
Простая игра средствами ПТК «Квинт 7» - 1
Читать полностью »

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

Сегодня мы рады представить релиз Rust 1.0 Beta! Бета-релиз является очень важным звеном на пути к финальному релизу 1.0. В частности, в бета-релизе все библиотеки и элементы языка, которые мы собирались сделать стабильными в 1.0, отмечены как стабильные. Поэтому по бета-релизу можно весьма точно представить, что вас будет ожидать в Rust 1.0.

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

Мы продолжаем публиковать лекции Натальи Васильевой, старшего научного сотрудника HP Labs и руководителя HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.

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


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