Рубрика «тестирование» - 51

image Книга «Хакеры и Художники», глава 10.

Эта глава есть только в книге, на сайте Пола Грэма она отсутствует.
Кстати, осталось совсем чуть-чуть и будет готова последняя глава книги, тем самым будет полный русский хабраперевод «Хакеров и художников». (Предыдущий перевод — Пол Грэм: «The Other Road Ahead».)

За помощь с переводом спасибо Щекотовой Яне.

Языки программирования «в разрезе»

У любой машины есть набор действий, которые на ней можно выполнить.
Иногда этот набор сильно ограничен. Со своим электрическим чайником я могу совершать только два действия: включать и выключать его. Мой CD проигрыватель будет уже посложнее. Помимо включения и выключения, я могу повышать и убавлять на нем громкость звука, воспроизводить и приостанавливать песни, перейти к следующей или предыдущей композиции, а также воспроизводить все это в случайном порядке.

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

Машинный язык

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

Проблема с машинным языком/языком ассемблера состоит в том, что большинство компьютеров могут выполнять только очень простые вещи. Например, предположим, что вам нужно, чтобы компьютер воспроизвел короткий звуковой сигнал 10 раз. Сомневаюсь, что у компьютера есть инструкция для осуществления какого-либо действия n раз. Поэтому, если бы вам понадобилось, чтобы компьютер что-то сделал 10 раз, используя настоящие машинные инструкции, вам бы пришлось написать нечто похожее на:

put the number 10 in memory location 0
a if location 0 is negative, go to line b
beep
subtract 1 from the number in location 0
go to line a
b ...rest of program…

Если вам приходится выполнять столько работы только для того, чтобы заставить машину пропикать 10 раз, то только представьте, сколько труда уходит на написание чего-то наподобие текстового процессора или программы для работы с электронными таблицами.

И, кстати, взгляните еще раз на программу. Она и вправду воспроизведет короткий звуковой сигнал 10 раз? Неа, 11. В первой строке мне надо было указать 9 а не 10. Я намеренно поместил в наш пример ошибку, чтобы продемонстрировать важный аспект по поводу языков. Чем больше вам приходится писать для выполнения тех или иных действий, тем сложнее разглядеть ошибки.
Читать полностью »

image

Клод Шеннон любил на выходных вместе с женой Бетти и коллегой сгонять в Лас-Вегас, чтобы поиграть в блэкджек. Они не поленились и даже разработали первый wearable-компьютер, чтобы заниматься «подсчетом карт» (метод High-Low).

image

Сегодня, 30 апреля 2016 года исполняется 100 лет со дня его рождения. Вместе с компанией Edison, поздравляем основателя теории информации. Кстати, Шеннон является дальним родственником Томаса Эдисона.

Под катом немного интересных достижений именинника.
Читать полностью »

Мы продолжаем рассказывать про решения независимых разработчиков, которые представлены на облачной платформе Azure и в Azure Marketplace. Сегодня о сценариях применения бесплатных инструментов компании Veeam, представленных в Azure Marketplace, рассказывает Александр Ширманов – R&D Director в Veeam. Вы всегда можете найти больше историй по ссылке на Хабре. – Владимир Юнев, Microsoft

Сегодня я хочу разобрать несколько сценариев использования публичного облака, продемонстрировав, как с их помощью можно выполнять те виды работ, которые до сих пор откладывались «в долгий ящик».

Я возьму такой пример инфраструктуры: имеется некоторый программный продукт, приложение, над которым постоянно трудятся инженеры (естественно, с целью довести его до совершенства). Основными компонентами являются:

  • сервер баз данных (Backend)
  • «среднее звено», т.е. сервис, выполняющий основные рабочие задачи (Middle-Tier)
  • веб-сайт, с которым непосредственно работают пользователи (Front-Tier)

Сценарии применения бесплатных инструментов Veeam для разработки и тестирования в Microsoft Azure - 1

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

«Элитарность программистов представляется мне очевидной и в этом представлении является интереснейшим вызовом человечеству в целом.»
— Андрей Петрович Ершов

День рождения Ершова - 1

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

Дональд Кнут вспоминал: «Это началось еще когда я был студентом последнего курса. Тогда только появилась книга Андрея «Программирование для БЭСМ», и мы, группа студентов, смогли убедить преподавателя русского языка включить её в курс в качестве одного из двух сборников текстов для изучения научной лексики».

Ершов потом водил дружбу с Кнутом и Сеймуром Пейпертом, разработал Русский алгоритмический язык, который народ за глаза называл «Ершол». В 1985 создал серию обучающих телепередач для обучения программированию школьников (советский MOOC), через год свозил группу школьников-программистов в Америку, а через год принял в Новосибе ответную делегацию американских школьников программистов. (Кстати, если вы знаете участников этих событий — отпишитесь в комментах или в личку.)

Сегодня, вместе с компанией Edison, предлагаем всем отметить день рождения Андрея Петровича. Заслуги и вклад Ершова в советское (и мировое) программирование описаны в Википедии, мне же захотелось заглянуть чуть глубже и поискать фоточки первоисточники. Пару часов покопался в архиве. Нашел кое-что интересное. Под катом — много картинок и две фундаментальные научпоп статьи Ершова про важность программирования.

А это Ершов и МакКарти если что:
image

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

Конкурс на лучшую публикацию про разработку, дизайн или тестирование мобильного приложения - 1

Мы, Appodeal, вместе с Хабрахабром решили провести творческий (в понятии сообщества) конкурс для всех тех пользователей, читателей и, конечно же, специалистов в области мобильной разработки, на лучшую публикацию по теме с тегом "#Appodeal".

Зачем? Всё просто — хороший контент требует усилий. А ещё хороший контент требует качественного опыта — иначе что описывать? С этим всё понятно — прописные истины.
Читать полностью »

Компания Palantir является четвертой по крутости частной компанией Кремниевой долины (после Uber, Xiaomi и Airbnb). Пока Palantir собирает информацию про все на свете, мы собираем информацию про него. Вместе с компанией Edison продолжаем расследование возможностей платформы Palantir.

Динамическая онтология. Как инженеры Palantir объясняют это ЦРУ, АНБ и военным - 1

ИТишники додумались как эффективно «монетизировать математику и алгоритмы» (Сегалович, Бакунов), PayPal Mafia додумалась как монетизировать гаджеты Феанора философию (капитализация Palantir — 20 миллиардов долларов).

В десятиминутной лекции сотрудник компании Palantir расскажет про центральную концепцию их системы — динамическую онтологию.

Динамическая онтология. Как инженеры Palantir объясняют это ЦРУ, АНБ и военным - 2
0:00 Привет, я Ашер Синенски, инженер по развертыванию технологий Palantir. Я поговорю о динамической онтологии.
0:08 Очевидно, сейчас, эти два слова выглядят для вас довольно туманно, надеюсь, что к концу разговора вы поймете, какой смысл мы в них вкладываем.
0:17 Перед тем как переходить к делу, поясню: у многих людей проблемы со словом онтология. Что мы подразумеваем под этим словом?
0:24 Если вы посмотрите на корни этого слова, то оно образовано от греческих «онтос» (бытие) и «логия» (изучение чего-либо). По сути, онтология – это категоризация мира.
0:34 Есть много терминов, которые люди используют для описания этого: таксономия, схематизатор модели данных. Но мы используем это, в более широком смысле, как идею, что мы действительно категоризируем мир каким-то образом.
0:43 Идея о построении онтологии для изучения мира не нова. Первым, кто утвердил эту идею, был мужик по имени Платон. Идея Платоновского реализма, в основном, о том, что есть реальные вещи, а есть наше представление о вещах.
Читать полностью »

Вместе с компанией Edison продолжаем расследование возможностей системы Palantir.
Киберконтрразведка. Как Palantir может «сноуденов» ловить - 1

Система Palantir позволяет ловить «сноуденов», пока они еще не стали всемирными героями, а являлись просто шпионами, с которыми в любой момент могло случиться ледоруб что угодно.

Несмотря на то, что руководство Palantir как может борется за свободы и логирует все до одного действия в системе, для будущих «сноуденов» подобные системы представляют колоссальную опасность. Предупрежден, значит вооружен.

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

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

Тридцатого уничтожить.
(За помощь в подготовке статьи отдельное спасибо Алексею Ворсину, российскому эксперту по системе Palantir)
Читать полностью »

QtWebApp — пошаговый разжёванный пример с подробными комментариями - 1

В процессе разработки приложения на Qt, может понадобиться добавить в данное приложение веб-интерфейс, что особенно может быть актуально при разработке встраиваемых систем с использованием Qt. Для решения данной задачи можно либо написать собственное решение, либо воспользоваться готовыми решениями. Например, библиотекой QtWebApp, которая предоставляет необходимый функционал для создания web-интерфейса.

К достоинствам данной библиотеки можно отнести:

  1. формирование страниц с динамическим содержанием по шаблонам;
  2. формирование полностью динамических страниц;
  3. работу с Cookie, что позволит добавить авторизацию на приложении;
  4. работу со статическими файлами, например, style.css или изображения;
  5. реализацию загрузки файлов.

Предлагаю подробно рассмотреть один из вариантов запуска небольшого приложения на Qt, которое будет иметь несколько web-страниц, работающих с применением библиотеки QtWebApp.

На момент написания статьи изначально использовалась библиотека QtWebApp 1.6.3 и Qt 5.6. Проект успешно был запущен с комплектами сборки MSVC2013 и MinGW. В процессе отладки был замечен баг в классе Template библиотеки QtWebApp. После исправления бага и связи с разработчиком версия библиотеки была повышена до 1.6.4. Исходя из этого, можно отметить также плюс библиотеки, что разработчик ответил в течение суток на информацию о баге, и в тот же день версия библиотеки была повышена. Окончательный вариант примера приложения был подготовлен на версии 1.6.4.Читать полностью »

  • «Я предсказываю, что интернет в 1996 году ожидает коллапс.»
  • «Идеология движения Open Source — утопическая галиматья, как коммунизм. Linux — утопия для спиритуалистов.»
  • «Беспроводные технологии обречены и мы скоро вернемся к проводам. Вода все еще течет по трубам, и, примерно по этим же причинам, компьютеры будут соединяться проводами.»
  • «Социальные сети – это большой мыльный пузырь, он должен лопнуть, как лопаются все пузыри.»

Меткалф был настолько уверен в этом, что пообещал съесть свои слова, если ничего подобного не случится. Во время одного из своих выступлений в 1997-м году Меткалф взял копию газетной статьи, где было напечатано его заявление, смешал бумагу в блендере с какой-то жидкостью и выпил смесь. Ранее он уже пытался съесть свои слова с тортом, но зрители запротестовали. Так что пришлось пить.

Чтобы там не он говорил, но благодаря ему у нас было счастливое детство, мы могли рубиться по сети в Doom и Starcraft.
C днем рождения, Роберт! (70 лет, однако.)
image

«Недостаточно аналитичная» — причина по которой научный совет Гарварда не принял диссертацию Роберта Меткалфа «Packet Communication», в которой впервые описывались стандарты Ethernet.

Десятилетия спустя, став всемирно признанным, Меткалф не простил своих гарвадских обидчиков-профессоров. Характеризуя их, он постоянно употребляет выражение dark little heart (темные мелочные сердца).
Читать полностью »

В 2009 году китайская киберразведка на своей шкуре испытала мощь всевидящего ока Palantir. Аналитики из Information Warfare Monitor раскрыли крупные китайские разведывательные операции — Ghostnet и Shadow Network. (отчет)

Вместе с компанией Edison продолжаем расследование возможностей системы Palantir.
Palantir: как обнаружить ботнет - 1

«Надеюсь, что немного осталось лет до того, как человеческий мозг и вычислительные машины будут тесно связаны, а получившееся партнерство будет думать так, как человеческий мозг никогда не сможет, и обрабатывать данные способами, недоступными известным нам машинам.» Сказал Джозеф Ликлайдер 56 лет назад, стартанул кафедры информационных технологий в ведущих вузах Америки и начал строить ARPANET. — «Люди будут задавать цели, формулировать гипотезы, определять критерии и выполнять оценку. Компьютеры будут делать рутинную работу чтобы расчистить путь к открытиям в технических и научных областях».

«Взаимодополняемость человека и компьютера — не только глобальный факт. Это еще и путь к созданию успешного бизнеса. Я осознал это на собственном опыте, полученном в PayPal. В середине 2000-х наша компания, пережив крах пузыря доткомов, быстро росла, но нас тревожила одна серьезная проблема: из-за мошенничеств с кредитными картами мы теряли больше 10 миллионов долларов ежемесячно. Совершая сотни и даже тысячи переводов в минуту, мы не могли физически отслеживать каждый из них — никакая команда контролеров не в состоянии работать с подобной скоростью. Мы поступили так, как поступила бы на нашем месте любая команда инженеров: попытались найти автоматизированное решение.»
Сказал Питер Тиль и основал Palantir.

Под катом кейс о том, как с помощью инструмента финансовой аналитики можно вскрыть ботнет.
Кейс «вымышленный», но на скриншотах фигурируют данные 2009 года.

(За помощь с переводом спасибо Ворсину Алексею)
Читать полностью »


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