Рубрика «переводы» - 28

Данный пост расскажет об уникальной фишке D — Voldemort типы. Типы, которые можно использовать, но нельзя назвать. Данное название не очень подходит им, но Walter Bright очень любит так их называть. Voldemort типы очень часто встречаются в стандартной библиотеке Phobos, особенно в модулях std.algorithm и std.array. Осваивающие D могут часами штудировать документацию в поисках типа, возвращаемого из splitter или joiner, а возвращают они именно Voldemort типы. После этого поста можно смело открывать исходники std.algorithm, ибо никакие Сами-Знаете-Кто вам будут не страшны.

Он самый

Иногда, взаимодействие существующих возможностей может привести к неожиданным сюрпризам. Мне нравится считать, что мы изначально заложили Voldemort типы в D, но на самом деле они были найдены Андреем Александреску. Что это за Voldermort типы? Читайте дальше.

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

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

Традиционные структуры данных изменяемы. Давайте взглянем на простейшее двоичное дерево поиска. Например:

Копирование при записи (Copy on write), что это?
Читать полностью »

Предлагаю вашему вниманию переводной дискуссионный материал с критикой одной из новых методологий разработки — «Мастерства программирования» (Software Craftsmanship). Автор предлагает поговорить о том, каково же истинное назначение прикладного ПО и насколько этому отвечают современные «романтические» методологии, ставящие следование своим принципам во главу угла.

image

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

Я каждый день просматриваю информацию в Интернете, причем делаю это с разных устройств – это и Macbook Pro, и iMac, и PC, iPad, iPhone и даже мой телевизор. Поэтому меня серьезно раздражают веб-сайты, не оптимизированные под большие экраны или страницы, долго открывающиеся на мобильном устройстве.

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

Вот некое простое значение:
Функторы, аппликативные функторы и монады в картинках

И мы знаем, как к нему можно применить функцию:
Функторы, аппликативные функторы и монады в картинках

Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:
Функторы, аппликативные функторы и монады в картинках

Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных Maybe определяет два связанных контекста:
Функторы, аппликативные функторы и монады в картинках

data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать полностью »

image

Моя стажировка в Microsoft Windows Azure началась ровно два года назад, сразу после колледжа, и проходила она в той же команде, с которой я проработал последние восемь месяцев.

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

Не могу сказать, чтобы я был несчастлив, и не хочу ни на что жаловаться… но в колледже об этих вещах меня никто не предупреждал.

Итак, поехали.
Читать полностью »

Как составить опрос по методу развития клиента (Customer Development) и выжать максимум из него

Управление стартапом подразумевает большой круг обязанностей. Маркетинг и продажи, любительский HR и бухгалтерский учет, разработка и проджект менеджмент, одним словом, вы должны быть мастером на все руки. Мы все понимаем важность подхода Бережливого стартапа (Lean Startup) и методов развития клиентов (Customer Development), однако, их трудно реализовать на практике. Кстати, если вы еще не наткнулись на CustDev.com, бегите туда прямо сейчас и хватайте книгу Brant’а и Patrick’а The Entrepreneur’s Guide to Customer Development (или русский перевод книги — Стартап вокруг клиента).

Как только вы пообещали себе «выбраться из офиса», чтобы поговорить со своими клиентами и по-настоящему исследовать вопрос о востребованности предлагаемого продукта на рынке (Profit-Market Fit), очень важно выжать максимум из этого мероприятия. Для новичков в методологии развития клиента одной из наиболее сложных вещей является составление опросов, поэтому я бы хотел поделиться тем, как я структурирую опросы для достижения максимальной отдачи от них.
Читать полностью »

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

Все остальное менялось и изменялось, и изменялось снова.

Если вы все время не продолжаете учиться, читать, совершенствовать свои навыки, то, в конечном счете, этот мерзкий каток позади раздавит вас навсегда. И тут ваша карьера, скорее всего, закончена.Читать полностью »

Введение от автора поста

Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc. и рассматривается пример использования автоматизированного верификационного инструментария VectorCAST.
В статье мы акцентируем внимание на стандартах DO-178B/C (КТ-178В), но данная статья актуальна и для применения в соответствии со стандартами: EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304.
На вопросы отвечу в комментариях или в личку.

Введение

В этой статье, мы рассмотрим каким образом платформа тестирования встроенного программного обеспечения (ПО) VectorCAST может быть использована для достижения целей процесса верификации ПО, определенного в разделе 6.0 стандартов DO-178B и DO-178C (КТ-178В) «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники». В документе также освещаются различия между двумя стандартами в части раздела 12 «Процесс квалификации инструментального ПО».

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

Введение от автора поста

Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc.
На вопросы отвечу в комментариях или в личку

Какой Вы используете инструмент тестирования?

За последние несколько лет рынок инструментов автоматизированного тестирования был заполнен средствами, претендующими на выполнение одной и той же функции – автоматизированного тестирования. Википедия перечисляет 38 инструментов оценки среды тестирования только для языков программирования С/С++. К сожалению, потенциальные пользователи, изучая описание данных продуктов, а также их упрощенные демонстрационные версии, могут сделать вывод, что большинство инструментов практически одинаковы.

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

Вы не сможете оценить инструмент тестирования, прочитав его спецификацию

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

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


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