Почему люди не используют формальные методы?

Автор: admin от 23-01-2019, 23:05, посмотрело: 53

На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле это верно, но мало что объясняет. Я написал эту статью, чтобы дать более широкую историческую картину формальных методов (FM), почему они на самом деле не используются и что мы делаем для исправления ситуации.



Прежде чем начать, нужно сформулировать некоторые условия. На самом деле существует не так много формальных методов: всего

Категория: Программирование

 

Доклады с DevFest SPB 2018

Автор: admin от 23-01-2019, 23:00, посмотрело: 47

Доклады с DevFest SPB 2018


Долгожданные записи докладов с последнего питерского DevFest 2018. Внутри много про Android, много про Web и кое-что ещё.

Категория: Веб-разработка, Android

 

Простая логистика своими руками

Автор: admin от 23-01-2019, 20:05, посмотрело: 53

Простая логистика своими руками


Хочу поделиться с Вами опытом создания логистической системы на одном торговом предприятии.



Одним прекрасным днём, в не близком 2012 году, руководитель поставил задачу: подумать над проблемой оптимизации затрат на транспортную логистику организации.

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



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

Категория: Веб-разработка

 

Цикл уроков по SDL 2.0: урок 3 — Библиотеки-расширения SDL

Автор: admin от 23-01-2019, 15:45, посмотрело: 55

Цикл уроков по SDL 2.0: урок 3 — Библиотеки-расширения SDL



От переводчика:



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

Категория: Программирование

 

Windows Phone 8.1: ностальгии разработки пост. История одного приложения

Автор: admin от 23-01-2019, 15:40, посмотрело: 41

Приветствую, Хабр!



Пост навеян новостью о прекращении поддержки Windows 10 mobile.



Являясь одно время обладателем Nokia Lumia 925, расскажу про одну из моих поделок на поприще мобильной разработки под Windows Phone 8.1.

Категория: Game Development, Windows

 

Google учит пользователей распознавать фишинговые e-mail

Автор: admin от 23-01-2019, 13:35, посмотрело: 43

Google учит пользователей распознавать фишинговые e-mail


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



Самый простой способ попасть в защищенную среду для киберпреступника — отправить сотруднику целевой организации специальным образом сформированное сообщение. Оно может быть от начальника, партнера, клиента и т.п. Основной элемент такого e-mail — зловред, замаскированный под видом документа в приложении или же ссылка на вредоносный сайт. Google решил научить своих пользователей распознавать проблемные сообщения.

Категория: Linux

 

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ

Автор: admin от 23-01-2019, 12:55, посмотрело: 49

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



Скорее всего достаточно длительное время вас это не будет беспокоить, и вы вряд ли будете задаваться этим вопросом. Но к примеру если вы столкнулись с задачей сбора данных из большого количества рекламных аккаунтов из API, например Яндекс.Директ, то вы значительно, как минимум в два — три раза, можете сократить время на сбор данных используя многопоточность.



Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ

Категория: Криптография

 

Биткоин, как валюта, приведёт к экономическому кризису

Автор: admin от 23-01-2019, 12:55, посмотрело: 46

Начну с хорошего. Есть в биткоине одно серьёзное преимущество — это скорость платежей.



Да, именно скорость. Кто-то может возразить: «как же так, я расплачиваюсь картой моментально, а тут мне ждать 20-30-40 минут попадания транзакции в блок и её подтверждения».



А вот всё не совсем так. Когда вы платите картой, то магазин соглашается выдать вам товар «в кредит». У нас в России возмещение за ваш товар он получит только на следующий рабочий день, да и то банки сами кредитуют такой магазин, так как движение денег в международных платёжных системах идёт только на третий рабочий день. В Европе и то может быть дольше — например возмещение раз в неделю.



Согласитесь, 30 минут и несколько дней — это уже существенная разница.



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



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



Но, всё-таки, биткоин не является средством платежа, и вот почему: его главной проблемой является заложенная в него конечность эмиссии.

Категория: Криптография

 

Объединение проектов в разных дата-центрах

Автор: admin от 23-01-2019, 12:45, посмотрело: 52

Объединение проектов в разных дата-центрах


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



Обычная L2 схема



По мере роста IT-инфраструктуры в дата-центре у клиентов возникает необходимость объединять серверы, СХД, файерволы в единую сеть. Для этого Selectel изначально предлагает использовать локальную сеть.



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

Категория: Программирование

 

Осваиваем async/await на реальном примере

Автор: admin от 23-01-2019, 11:40, посмотрело: 58

Конструкция async/await представляет собой сравнительно новый подход к написанию асинхронного кода в javascript. Она основана на промисах и, в результате, не блокирует главный поток. Новшество этой конструкции заключается в том, что благодаря ей асинхронный код становится похожим на синхронный и ведёт себя подобным образом. Это открывает перед программистом замечательные возможности.



Осваиваем async/await на реальном примере




До появления async/await при разработке асинхронных механизмов программ использовались коллбэки и промисы. Автор материала, перевод которого мы публикуем сегодня, предлагает сначала вспомнить о том, как писать код по-старому, а потом, на реальном примере, изучить применение async/await.

Категория: Веб-разработка

 
Назад Вперед