Pull to refresh

Российская сборная по астрономии завоевала шесть золотых медалей на Открытой Международной астрономической олимпиаде

Reading time1 min
Views2.3K

На первой Открытой Международной астрономической олимпиаде российская сборная завоевала шесть золотых медалей. Соревнования состояли из четырёх туров: теоретический, практический, наблюдательный и экспресс-тур. 

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments13

Время, как часть платформы ERP-систем

Level of difficultyEasy
Reading time6 min
Views873

Всем привет!

Продолжаю публиковать странные и непонятные статьи.

Но вдруг, кому-то пригодится.

Поехали...

Хочется поговорить о времени, как о состоянии системы.

Но для начала нужна вводная: первая из них — временнАя переменная. С чего стартуем? Стартуем с дебага, как и я когда-то. Сидишь, трейсишь программу, и в дебаге у тебя есть несколько инструментов для похода по исходному коду: какой-нибудь step over, step into, run to cursor, step next. Ну, вроде все есть, но как бы: а где step back? Вы никогда не пролетали в отладке мимо того, что отлаживаете? И сколько раз приходилось перезапускать отладку? Может, я один такой… несчастливый?

Как раз, проблема в том, что обратные операции неочевидны. Процессоры, (может я и неправ, это просто гипотеза), не могут работать в обратном направлении по исходному коду. Операция степени в обратном направлении - это извлечение корня, например. Возможно, поэтому у нас нет такого очевидного и удобного, лично для меня, инструмента - как вернуться на строку назад от текущей…

Что может помочь? Например, какие-нибудь инструменты логирования. Мы берем область памяти, которая выделена для хранения значения переменной, и записываем в “блокнот”, что там происходит. В этом такте одно значение, в следующем другое… Мы формируем логи, так сказать.

Когда мы объявляем переменную, она будет “работать” с момента объявления до момента окончания работы исходного кода (выхода из подпрограммы или удаления этой переменной). Ее значение в процессе может быть многократно изменено без возможности восстановления. Обычно нас это устраивает, и значения в дебаге нас интересуют только в текущий момент. Обычно это говорит о том, что значение “вечно”, оно было таким всегда, даже если один такт назад это было не так.

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments0

Основные положения тестирования

Reading time9 min
Views144K
Области применения, цели и задачи тестирования ПО разнообразны, поэтому тестирование оценивается и объясняется по-разному. Иногда и самим тестировщикам бывает сложно объяснить, что такое тестирование ПО 'as is'. Возникает путаница.

Для распутывания этой путаницы Алексей Баранцев (практик, тренер и консалтер в тестировании ПО; выходец из Института системного программирования Российской академии наук) предваряет свои тренинги по тестированию вводным видео про основные положения тестирования.

Мне кажется, что в этом докладе лектор смог наиболее адекватно и взвешенно объяснить «что такое тестирование» с точки зрения ученого и программиста. Странно, что этот текст еще не появлялся на хабре.

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

Читать дальше →
Total votes 70: ↑61 and ↓9+52
Comments15

Размышления о привязке «Войти через...» к одному аккаунту

Reading time5 min
Views19K
Постановка проблемы

Некоторое время назад по долгу службы работы, встал на обсуждение вопрос «А нужно ли делать на новом проекте авторизацию через сторонние сервисы?». Мозг, взбудораженный красивыми всплывающими окошками, виджетами и прочими украшательствами, призывно требующими «Войди через меня!», конечно же обеими руками был за, да и современные вебдванольные (а то и, тьфу тьфу, вебтринольные, быть может?) тенденции развития крупных порталов, как бы, намекают. Однако, я не зря сказал, что началось всё с обсуждения, ибо, где есть споры, там есть и камни преткновения. Такой камень мы нашли и здесь.

Предположим, на сайте имеется красивая панелька, как, например, у логинзы, или просто отдельные виджеты авторизации, например, через контакт, твиттер, фейсбук и иже с ними. Легко войти на сайт? Безусловно. Но при этом, если человек войдет сразу со всех этих аккаунтов (одновременно или нет, не суть), для системы это будут разные люди, а следовательно, клоны одного и того же человека, учётной записи которого, быть может, и вовсе нету на сайте.

Казалось бы, какая разница, регистрировать аккаунт на сайте, или входить через внешние ресурсы?
Читать дальше →
Total votes 88: ↑77 and ↓11+66
Comments218

Эргономика и красота

Reading time8 min
Views6.9K
От переводчика. В печатных изданиях и в Интернете можно найти немало публикаций по различным частным аспектам проблематики юзабилити. Работ, посвященных анализу теоретико-методологических основ юзабилити, появляется значительно меньше.
Мы хотели бы восполнить этот пробел и начать серию публикаций, в которых вопросы компьютерной эргономики рассматриваются на стыке различных областей знаний: технической эстетики и дизайна, психологии, философии техники… Публикации будут включать как переводные, так и наши собственные исследовательские материалы.
Для начала мы хотели бы предложить вниманию наших читателей статью французской исследовательницы Амели Буше «Эргономика и красота». Работа была написана еще в 2004 году, однако затронутые в ней вопросы не утратили своей актуальности и сегодня. Что важнее: красота или функциональность? Каковы критерии красоты и эстетичности применительно к программным продуктам? Какую роль играет пользовательское восприятие чисто эстетических аспектов ПО в формирование представлений о его функциональности?
Надеемся, что предлагаемые статьи вызовут интерес читателей и станут предметом продуктивного обсуждения.


Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments22

Эргономика компьютерных игр

Reading time5 min
Views18K
imageОт переводчика: Предлагаем вниманию наших читателей перевод еще одной статьи с французского сайта Usabilis.Com. Статья посвящена эргономическим аспектам разработки игрового ПО. Игровые приложения представляют собой совершенно особый тип программ.
Некоторые игры можно считать своеобразными произведениями искусства, в которых пользователь одновременно выступает в качестве актера и режиссера. Разработка интерфейсов игровых программ предполагает не только решение сугубо утилитарных задач, связанных с обеспечением простоты и удобства управления игрой, но еще и создание у пользователя определенного эмоционального настроя. Хорошая игра должна, во-первых, увлекать и всецело затягивать, а во-вторых — вызывать чувство эстетического удовлетворения. Как сделать игру увлекательной, красивой и удобной? Есть ли какие-то отличия между интерфейсами игр и интерфейсами прочего ПО? Какие моменты следует учитывать при проектировании игровых приложений? Приглашаем к обсуждению этих вопросов на материале приводимой статьи.

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments16

Психология юзабилити: влияние пользовательских установок на восприятие интерфейса

Reading time4 min
Views20K
Споры рационалистов и эмпириков об источнике человеческого знания являются одной из интереснейших страниц в истории философии и психологии. В наше время открытия в области частных наук (нейрофизиологии, когнитивной психологии, лингвистики, исследований искусственного интеллекта и т. п.) заставляют вновь обратиться к данным дискуссиями и посмотреть на традиционные проблемы с неожиданной стороны.
Под эмпиризмом понимается позиция, согласно которой ключевым источником человеческого знания является чувственный опыт. По выражению английского философа 18 века Джона Локка, одного из самых известных приверженцев эмпиризма в философии и психологии, человеческое сознание представляет собой «чистую доску» (tabula rasa), на которую наносятся метки чувственных впечатлений. Интеллект не оказывает никакого влияния на чувственное восприятие; его функции сводятся лишь к обобщению полученных в чувственном опыте данных.
В противоположность эмпиризму рационализм основным источником познания полагает разум. Философы и психологи, стоящие на позициях рационализма, считают, что человеческий разум вовсе не является «чистой доской»: на наше восприятие вещей могут оказывать влияние как врожденные компоненты, так и предшествующий опыт. Экспериментальная психология ХХ века показала, что наше чувственное познание всегда определенным образом ориентировано. Воспринимая новые вещи, мы всегда интерпретируем их на основе целой системы предрассудков и предмнений. Для иллюстрации высказанных тезисов можно, например, сравнить, как одно и то же событие освещается в выпусках новостей на разных телеканалах: на один и тот же визуальный ряд накладываются различные тексты, создающие у зрителей установку, на основе которой осуществляется интерпретация видимого.
Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments15

Как создать в России электронную экономику? (теория)

Reading time5 min
Views1K

Вопрос: Как создать в России электронную экономику?


Давайте помечтаем. Согласитесь, было бы здорово при выборе нужного товара или услуги пользоваться единым источником информации, а не рыскать по всему интернету в поисках необходимого?
Стали бы Вы пользоваться для этой цели Гуглом, если бы знали, что Каталог [1] даёт Вам возможность фильтровать по местоположению товара (стране, городу), производителю, марке, сорту, весу, размеру, цвету, вкусу, запаху – по каким угодно свойствам товара?
Тут Вам и фото (например, изображения продаваемого пылесоса сначала сбоку, потом сверху, затем со снятым пылесборником и, наконец, в руках пылесосящей привлекательной девушки), и видео-ролик (например, как собрать продаваемый велосипед за 15 минут), и аудиозапись (например, звук заводящегося мотоцикла)! А кроме того – подробнейшее описание от производителя обо всех прелестях товара.
И главное – возможность сравнивать! Если Вам нужен сотовый телефон без наворотов, только звонить и смс – почему обязательно «кирпич» Siemens A45? Просто настройте поиск с помощью фильтров – и выберите подходящий…
Самое печальное в этом – то, что этого Каталога ещё нет… [2] Но эта статья как раз об этом: как создать в России такой Каталог?
Читать дальше →
Total votes 7: ↑2 and ↓5-3
Comments14

Итоги конкурса. часть 2: Бэкендеры

Reading time5 min
Views6.3K
Привет, Хаброжители!

Продолжая тему, в этом посте мы подведём итоги конкурса для бэкенд-разработчиков, расскажем о типичных ошибках и хороших решениях вопросов.

Конкурс состоял из восьми заданий, проверяющих знания Python и сопутствующих технологий.

Ответы на эти вопросы и Бэкендер-Победитель
Total votes 31: ↑21 and ↓10+11
Comments25

Что такое теория и причем тут научный метод

Reading time6 min
Views55K
У меня есть теория, что любую фразу можно превратить во что-то кажущееся невероятно глубокомысленным, если в конце приписать имя какого-нибудь древнего философа. Платон (оригинал).


Теория (греч. θεωρία — рассмотрение, исследование) — учение, система идей или принципов (вики). Именно в таком, самом широком смысле в обычно речи мы употребляем слово «теория» в каждодневной речи. Например, у меня есть теория почему машина не заводится — некоторый набор идей и выводов, объясняющий поломку. Однако, в научном мире теория имеет достаточно строгое и формальное значение и обязательно удовлетворяет определенному набору важных критериев.

Под катом много картинок и примеров, и совсем нет формул.

Читать дальше →
Total votes 65: ↑57 and ↓8+49
Comments51

Обработка приватных данных на публичных вычислительных сетях

Reading time6 min
Views8.2K
Вычислительные системы прошли путь от мэйнфрэймов к персональным компьютерам, и теперь совершают обратный путь — от персональных компьютеров к мэйнфрэймам.
Массово предлагаются услуги для всех желающих по выполнению вычислений на высокопроизводительных компьютерах, реализованных в виде облачных и других систем, от компаний предоставляющих подобные сервисы в публичных сетях.
Однако использование публичных вычислительных сетей несёт для их потребителей риски:
  • Утечки приватных данных в процессе их обработки на внешнем устройстве или в процессе передачи данных;
  • Возможность наличия искажений в получаемых результатах вычислений на внешнем устройстве или в процессе передачи данных. При этом, даже многократный повтор вычислений с одними и теми же исходными данными не позволит обнаружить наличие этих искажений если они носят системный, а не случайный характер.

Мы не будем рассматривать вопросы утечки приватных данных или искажений в результатах вызванных в процессе передачи данных, оставляя эту тему классической криптографии по обеспечению закрытого канала связи требуемой степени надёжности.
Рассмотрим вопрос, когда сам внешний вычислитель может подвержен компрометации, и на нём самом возможны и анализ приватных данных в процессе обработки, и искажение результатов вычислений, и постараемся решить задачу, которую сформулируем следующим образом:
  • Требуется обеспечить механизм обработки приватных данных на внешнем вычислительном устройстве, который, при сохранении возможностей использования типовых алгоритмов, позволил бы сделать невозможным (то есть достаточно сложным) выявление значений приватных данных, а также позволял бы выявлять и исправлять возможные искажения в результатах вычислений, вносимые случайно или системно.
  • Поскольку, несомненно, потребуется некоторая дополнительная обработка заданий и результатов, на стороне потребителя, то желательно, чтобы сложность(цена, время) такой обработки была значительно меньше сложности(цены, времени) решения основной задачи – иначе у потребителя нет смысла для проведения вычислений на внешних публичных сетях.
  • Также, несомненно, может возрасти общее количество вычислений, отдаваемых на внешний вычислитель, поскольку любое внесение избыточности в исходные данные, либо с целью исключения их однозначного определения, либо с целью контроля за их достоверностью, несомненно потребует обработки большего количества информации. Однако, поскольку внешние вычислительные мощности могут быть увеличены только за счёт большей оплаты со стороны потребителя, то разумное увеличение стоимости не должно являться решающим фактором при выборе алгоритма механизма защиты данных.

Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments29

Семь смертных грехов разработки ПО

Reading time6 min
Views47K
Перевод статьи Seven Deadly Sins of a Software Project автора Yegor Bugayenko.

Сопровождаемость — это наиболее ценное достоинство современной разработки программного обеспечения. Сопровождаемость может измеряться, в основном, рабочим временем, которое требуется новому разработчику, чтобы вникнуть в проект, до того, как он начнет вносить значимые изменения. Чем больше времени это занимает, тем меньше уровень сопровождаемости. В некоторых проектах это время близко к бесконечности, что означает, эти проекты практически не сопровождаемы. Я хочу рассказать вам о семи смертных грехах, которые делают программный продукт несопровождаемым.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments18

Как правильно организовать распределенное проектирование БД?

Reading time4 min
Views3.7K
В последнее время я занимался развертыванием проектов на базе таких приложений как Magento и Odoo (OpenERP). Оба приложения позволяют сторонним разработчикам создавать модули/расширения, встраиваемые в основное приложение. С Odoo у меня опыта поменьше, но вот с Magento я общался довольно плотно. И вопрос, который у меня возник, я вынес в заголовок статьи.
Читать дальше →
Total votes 7: ↑3 and ↓4-1
Comments0

Тестирование. Ошибки при сертификации или ISTQB мне очень нужен

Reading time5 min
Views19K

Статья полезна тем, кому небезразлична их квалификация и хочется стать лучше. Учиться никогда не поздно.


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


image

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments4

Что такое программная инженерия. Лекция в Яндексе

Reading time39 min
Views64K
Кандидат технических наук МИЭМ, заместитель руководителя департамента программной инженерии факультета компьютерных наук НИУ ВШЭ и заместитель завкафедрой системного программирования ИСП РАН Ефим Гринкруг даёт свой ответ на вопрос о том, что такое программная инженерия.

Этому термину уже почти 50 лет — впервые его начали использовать в 1968 году. Дело в том, что именно тогда методы классической инженерии — например разбиение на отдельные компоненты — стали всерьёз применяться в создании софта. Но почему они не применялись раньше, и какой новый смысл приобрело выражение «программная инженерия» в последние десятилетия?



Под катом — подробная расшифровка и слайды.
Читать дальше →
Total votes 74: ↑67 and ↓7+60
Comments10

Ханойские башни — теоретическое решение без рекурсии

Reading time5 min
Views59K

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


image

Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments22

С лупой на слона

Reading time10 min
Views9.4K

Я довольно давно участвую в разработке web-приложений. Это не высоконагруженные приложения (типа Facebook или Gmail) — там, разумеется, своя специфика. Мои приложения были небольшими (можно было уместить на одном физическом сервере), но функционально насыщенными — финансовые, e-commerce. Я не работал в больших командах, зато пощупал весь спектр технологий, начиная от сборки аппаратуры в стойке и заканчивая редактированием CSS.


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


image


Под катом я попытался собрать своё видение относительно наиболее важных с моей точки зрения аспектах в разработке web-приложений.

Читать дальше →
Total votes 31: ↑23 and ↓8+15
Comments23

Почему я уверен, что можно создать сильный ИИ

Reading time8 min
Views22K
На волне победы AlphaGo и демонстрации роботоголов тема искусственного интеллекта опять стала популярной, и я хочу поделиться своими размышлениями — почему я уверен, что скоро мы сможем создать «сильный ИИ» (ИИ, полноценно заменяющий человека).

Читать дальше →
Total votes 32: ↑20 and ↓12+8
Comments288

Защита бизнеса, вознаграждение сотрудников, корпоративные конфликты: Зачем компании выкупают собственные акции

Reading time4 min
Views11K


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

К примеру, по данным отчета Goldman Sachs, на который ссылается Bloomberg, в январе прошлого года самым большим источником наличных денежных средств в обороте на фондовых рынках Америки явились не трейдеры и фонды, а компании, выкупавшие собственные акции. Объёмы таких покупок составили $46 млрд в месяц.

Сегодня мы поговорим о том, чем на самом деле является обратный выкуп акций, и зачем компании его используют.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments4

Иглы-невидимки: ученые разработали способ маскировки наносенсоров для оптики и биомедицины

Reading time3 min
Views1.9K
Международная научная группа, состоящая из ученых НИТУ «МИСиС» и Политехнического университета Турина, разработала модель нового метаматериала, который позволит повысить точность работы наносенсоров в оптике и биомедицине за счет маскировки их от внешнего излучения. Статья о результатах исследования опубликована в журнале Scientific Reports.

Разработка модели нового метаматериала, маскирующего наносенсоры, проводится в рамках российско-итальянского проекта ANASTASIA (Advanced Non-radiating Architectures Scattering Tenuously And Sustaining Invisible Anapoles), цель которого – смоделировать, а затем и воссоздать такой метаматериал, который бы позволил делать объекты невидимыми на наноуровне во всех волновых диапазонах.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0