На первой Открытой Международной астрономической олимпиаде российская сборная завоевала шесть золотых медалей. Соревнования состояли из четырёх туров: теоретический, практический, наблюдательный и экспресс-тур.
Время, как часть платформы ERP-систем
Всем привет!
Продолжаю публиковать странные и непонятные статьи.
Но вдруг, кому-то пригодится.
Поехали...
Хочется поговорить о времени, как о состоянии системы.
Но для начала нужна вводная: первая из них — временнАя переменная. С чего стартуем? Стартуем с дебага, как и я когда-то. Сидишь, трейсишь программу, и в дебаге у тебя есть несколько инструментов для похода по исходному коду: какой-нибудь step over, step into, run to cursor, step next. Ну, вроде все есть, но как бы: а где step back? Вы никогда не пролетали в отладке мимо того, что отлаживаете? И сколько раз приходилось перезапускать отладку? Может, я один такой… несчастливый?
Как раз, проблема в том, что обратные операции неочевидны. Процессоры, (может я и неправ, это просто гипотеза), не могут работать в обратном направлении по исходному коду. Операция степени в обратном направлении - это извлечение корня, например. Возможно, поэтому у нас нет такого очевидного и удобного, лично для меня, инструмента - как вернуться на строку назад от текущей…
Что может помочь? Например, какие-нибудь инструменты логирования. Мы берем область памяти, которая выделена для хранения значения переменной, и записываем в “блокнот”, что там происходит. В этом такте одно значение, в следующем другое… Мы формируем логи, так сказать.
Когда мы объявляем переменную, она будет “работать” с момента объявления до момента окончания работы исходного кода (выхода из подпрограммы или удаления этой переменной). Ее значение в процессе может быть многократно изменено без возможности восстановления. Обычно нас это устраивает, и значения в дебаге нас интересуют только в текущий момент. Обычно это говорит о том, что значение “вечно”, оно было таким всегда, даже если один такт назад это было не так.
Основные положения тестирования
Для распутывания этой путаницы Алексей Баранцев (практик, тренер и консалтер в тестировании ПО; выходец из Института системного программирования Российской академии наук) предваряет свои тренинги по тестированию вводным видео про основные положения тестирования.
Мне кажется, что в этом докладе лектор смог наиболее адекватно и взвешенно объяснить «что такое тестирование» с точки зрения ученого и программиста. Странно, что этот текст еще не появлялся на хабре.
Привожу здесь сжатый пересказ этого доклада. В конце текста есть линки на полную версию, а также на упомянутое видео.
Размышления о привязке «Войти через...» к одному аккаунту
Постановка проблемы
Некоторое время назад по долгу
Предположим, на сайте имеется красивая панелька, как, например, у логинзы, или просто отдельные виджеты авторизации, например, через контакт, твиттер, фейсбук и иже с ними. Легко войти на сайт? Безусловно. Но при этом, если человек войдет сразу со всех этих аккаунтов (одновременно или нет, не суть), для системы это будут разные люди, а следовательно, клоны одного и того же человека, учётной записи которого, быть может, и вовсе нету на сайте.
Казалось бы, какая разница, регистрировать аккаунт на сайте, или входить через внешние ресурсы?
Эргономика и красота
Мы хотели бы восполнить этот пробел и начать серию публикаций, в которых вопросы компьютерной эргономики рассматриваются на стыке различных областей знаний: технической эстетики и дизайна, психологии, философии техники… Публикации будут включать как переводные, так и наши собственные исследовательские материалы.
Для начала мы хотели бы предложить вниманию наших читателей статью французской исследовательницы Амели Буше «Эргономика и красота». Работа была написана еще в 2004 году, однако затронутые в ней вопросы не утратили своей актуальности и сегодня. Что важнее: красота или функциональность? Каковы критерии красоты и эстетичности применительно к программным продуктам? Какую роль играет пользовательское восприятие чисто эстетических аспектов ПО в формирование представлений о его функциональности?
Надеемся, что предлагаемые статьи вызовут интерес читателей и станут предметом продуктивного обсуждения.
Эргономика компьютерных игр
Некоторые игры можно считать своеобразными произведениями искусства, в которых пользователь одновременно выступает в качестве актера и режиссера. Разработка интерфейсов игровых программ предполагает не только решение сугубо утилитарных задач, связанных с обеспечением простоты и удобства управления игрой, но еще и создание у пользователя определенного эмоционального настроя. Хорошая игра должна, во-первых, увлекать и всецело затягивать, а во-вторых — вызывать чувство эстетического удовлетворения. Как сделать игру увлекательной, красивой и удобной? Есть ли какие-то отличия между интерфейсами игр и интерфейсами прочего ПО? Какие моменты следует учитывать при проектировании игровых приложений? Приглашаем к обсуждению этих вопросов на материале приводимой статьи.
Психология юзабилити: влияние пользовательских установок на восприятие интерфейса
Под эмпиризмом понимается позиция, согласно которой ключевым источником человеческого знания является чувственный опыт. По выражению английского философа 18 века Джона Локка, одного из самых известных приверженцев эмпиризма в философии и психологии, человеческое сознание представляет собой «чистую доску» (tabula rasa), на которую наносятся метки чувственных впечатлений. Интеллект не оказывает никакого влияния на чувственное восприятие; его функции сводятся лишь к обобщению полученных в чувственном опыте данных.
В противоположность эмпиризму рационализм основным источником познания полагает разум. Философы и психологи, стоящие на позициях рационализма, считают, что человеческий разум вовсе не является «чистой доской»: на наше восприятие вещей могут оказывать влияние как врожденные компоненты, так и предшествующий опыт. Экспериментальная психология ХХ века показала, что наше чувственное познание всегда определенным образом ориентировано. Воспринимая новые вещи, мы всегда интерпретируем их на основе целой системы предрассудков и предмнений. Для иллюстрации высказанных тезисов можно, например, сравнить, как одно и то же событие освещается в выпусках новостей на разных телеканалах: на один и тот же визуальный ряд накладываются различные тексты, создающие у зрителей установку, на основе которой осуществляется интерпретация видимого.
Как создать в России электронную экономику? (теория)
Вопрос: Как создать в России электронную экономику?
Давайте помечтаем. Согласитесь, было бы здорово при выборе нужного товара или услуги пользоваться единым источником информации, а не рыскать по всему интернету в поисках необходимого?
Стали бы Вы пользоваться для этой цели Гуглом, если бы знали, что Каталог [1] даёт Вам возможность фильтровать по местоположению товара (стране, городу), производителю, марке, сорту, весу, размеру, цвету, вкусу, запаху – по каким угодно свойствам товара?
Тут Вам и фото (например, изображения продаваемого пылесоса сначала сбоку, потом сверху, затем со снятым пылесборником и, наконец, в руках пылесосящей привлекательной девушки), и видео-ролик (например, как собрать продаваемый велосипед за 15 минут), и аудиозапись (например, звук заводящегося мотоцикла)! А кроме того – подробнейшее описание от производителя обо всех прелестях товара.
И главное – возможность сравнивать! Если Вам нужен сотовый телефон без наворотов, только звонить и смс – почему обязательно «кирпич» Siemens A45? Просто настройте поиск с помощью фильтров – и выберите подходящий…
Самое печальное в этом – то, что этого Каталога ещё нет… [2] Но эта статья как раз об этом: как создать в России такой Каталог?
Итоги конкурса. часть 2: Бэкендеры
Продолжая тему, в этом посте мы подведём итоги конкурса для бэкенд-разработчиков, расскажем о типичных ошибках и хороших решениях вопросов.
Конкурс состоял из восьми заданий, проверяющих знания Python и сопутствующих технологий.
Что такое теория и причем тут научный метод
У меня есть теория, что любую фразу можно превратить во что-то кажущееся невероятно глубокомысленным, если в конце приписать имя какого-нибудь древнего философа. Платон (оригинал).
Теория (греч. θεωρία — рассмотрение, исследование) — учение, система идей или принципов (вики). Именно в таком, самом широком смысле в обычно речи мы употребляем слово «теория» в каждодневной речи. Например, у меня есть теория почему машина не заводится — некоторый набор идей и выводов, объясняющий поломку. Однако, в научном мире теория имеет достаточно строгое и формальное значение и обязательно удовлетворяет определенному набору важных критериев.
Под катом много картинок и примеров, и совсем нет формул.
Обработка приватных данных на публичных вычислительных сетях
Массово предлагаются услуги для всех желающих по выполнению вычислений на высокопроизводительных компьютерах, реализованных в виде облачных и других систем, от компаний предоставляющих подобные сервисы в публичных сетях.
Однако использование публичных вычислительных сетей несёт для их потребителей риски:
- Утечки приватных данных в процессе их обработки на внешнем устройстве или в процессе передачи данных;
- Возможность наличия искажений в получаемых результатах вычислений на внешнем устройстве или в процессе передачи данных. При этом, даже многократный повтор вычислений с одними и теми же исходными данными не позволит обнаружить наличие этих искажений если они носят системный, а не случайный характер.
Мы не будем рассматривать вопросы утечки приватных данных или искажений в результатах вызванных в процессе передачи данных, оставляя эту тему классической криптографии по обеспечению закрытого канала связи требуемой степени надёжности.
Рассмотрим вопрос, когда сам внешний вычислитель может подвержен компрометации, и на нём самом возможны и анализ приватных данных в процессе обработки, и искажение результатов вычислений, и постараемся решить задачу, которую сформулируем следующим образом:
- Требуется обеспечить механизм обработки приватных данных на внешнем вычислительном устройстве, который, при сохранении возможностей использования типовых алгоритмов, позволил бы сделать невозможным (то есть достаточно сложным) выявление значений приватных данных, а также позволял бы выявлять и исправлять возможные искажения в результатах вычислений, вносимые случайно или системно.
- Поскольку, несомненно, потребуется некоторая дополнительная обработка заданий и результатов, на стороне потребителя, то желательно, чтобы сложность(цена, время) такой обработки была значительно меньше сложности(цены, времени) решения основной задачи – иначе у потребителя нет смысла для проведения вычислений на внешних публичных сетях.
- Также, несомненно, может возрасти общее количество вычислений, отдаваемых на внешний вычислитель, поскольку любое внесение избыточности в исходные данные, либо с целью исключения их однозначного определения, либо с целью контроля за их достоверностью, несомненно потребует обработки большего количества информации. Однако, поскольку внешние вычислительные мощности могут быть увеличены только за счёт большей оплаты со стороны потребителя, то разумное увеличение стоимости не должно являться решающим фактором при выборе алгоритма механизма защиты данных.
Несколько советов по проведению собеседований
Не буду утомлять предисловием, сразу к делу:
Тестирование. Ошибки при сертификации или ISTQB мне очень нужен
Статья полезна тем, кому небезразлична их квалификация и хочется стать лучше. Учиться никогда не поздно.
Любой тестировщик рано или поздно задумывается о качестве не только в рабочем процессе, но и в отношении себя, качестве своего образования и способностей. В данный момент далеко не все вузы способны подготовить такого специалиста. Остаются всяческие курсы, как правило, дистанционные, чтобы была возможность поучиться у людей из этой же области, добившихся успеха. Но есть и ещё один способ самоутвердиться. Это сертификаты. Их много, перечислять, смысла нет. Но практически во всех областях они есть и их получение, скорее плюс, чем минус.
Что такое программная инженерия. Лекция в Яндексе
Этому термину уже почти 50 лет — впервые его начали использовать в 1968 году. Дело в том, что именно тогда методы классической инженерии — например разбиение на отдельные компоненты — стали всерьёз применяться в создании софта. Но почему они не применялись раньше, и какой новый смысл приобрело выражение «программная инженерия» в последние десятилетия?
Под катом — подробная расшифровка и слайды.
Ханойские башни — теоретическое решение без рекурсии
Задача Ханойских башен — одна из самых первых задач, которые предлагаются начинающим программистам, в основном, чтобы проиллюстрировать концепцию рекурсивных решений. В этой статье приводится метод, который позволяет теоретическим путем, без рекурсии, указывать оптимальное решение для текущего хода.
С лупой на слона
Я довольно давно участвую в разработке web-приложений. Это не высоконагруженные приложения (типа Facebook или Gmail) — там, разумеется, своя специфика. Мои приложения были небольшими (можно было уместить на одном физическом сервере), но функционально насыщенными — финансовые, e-commerce. Я не работал в больших командах, зато пощупал весь спектр технологий, начиная от сборки аппаратуры в стойке и заканчивая редактированием CSS.
В какой-то момент поймал себя на мысли, что моя деятельность в области разработки web-приложений чем-то начала напоминать мне охоту моих далеких предков на мамонта (если под мамонтом подразумевать задачу, которую нужно решить). Только предки полагались на свою физическую силу, а мы вместо этого используем силу своего интеллекта. Но и как и прежде большую добычу не завалить в одиночку — нужны совместные усилия всех охотников.
Под катом я попытался собрать своё видение относительно наиболее важных с моей точки зрения аспектах в разработке web-приложений.
Почему я уверен, что можно создать сильный ИИ
Защита бизнеса, вознаграждение сотрудников, корпоративные конфликты: Зачем компании выкупают собственные акции
Во многих странах компании все чаще предпочитают не выплачивать деньги акционерам в качестве дивидендов или инвестировать их в расширение производства, а направлять на покупку собственных акций, торгующихся на биржах.
К примеру, по данным отчета Goldman Sachs, на который ссылается Bloomberg, в январе прошлого года самым большим источником наличных денежных средств в обороте на фондовых рынках Америки явились не трейдеры и фонды, а компании, выкупавшие собственные акции. Объёмы таких покупок составили $46 млрд в месяц.
Сегодня мы поговорим о том, чем на самом деле является обратный выкуп акций, и зачем компании его используют.
Иглы-невидимки: ученые разработали способ маскировки наносенсоров для оптики и биомедицины
Разработка модели нового метаматериала, маскирующего наносенсоры, проводится в рамках российско-итальянского проекта ANASTASIA (Advanced Non-radiating Architectures Scattering Tenuously And Sustaining Invisible Anapoles), цель которого – смоделировать, а затем и воссоздать такой метаматериал, который бы позволил делать объекты невидимыми на наноуровне во всех волновых диапазонах.