» Материалы за Январь 2018 года » Страница 2

 

Безопасность сторонних зависимостей — проверяем при помощи snyk

Автор: admin от 31-01-2018, 17:25, посмотрело: 38

Недавно была прекрасная публикация “Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов”, на которую я переводил ответ. Автор недавно опубликовал вторую часть, но, подозреваю, что перевода не будет — там предлагается решать проблему прекрасными способами вроде перевода важных элементов ввода «в отдельный iframe» или «на особые страницы без стороннего javascript». На этом месте те, кто повёлся на первую статью, должны бы усомниться в адекватности автора — и низкий (относительно предыдущей) рейтинг новой статьи это показывает.



UPD: перевели таки.



Тем не менее, проблема сторонних зависимостей есть, и решать её как-то нужно. Причём стоит она в равной степени в любой экосистеме, где используются сторонние зависимости. В комментариях к прошлому посту уже запрашивали какой-нибудь вариант решения, и я хочу представить один из них — инструмент под названием snyk.



Безопасность сторонних зависимостей — проверяем при помощи snyk

Категория: Программирование, Веб-разработка, Информационная безопасность

 

От прототипа до производства на Kickstarter: 100.000 долларов не хватит

Автор: admin от 31-01-2018, 17:25, посмотрело: 34

От прототипа до производства на Kickstarter: 100.000 долларов не хватит
Компьютер Apple I в Смитсоновском музее, США. Фото: Ed Uthman, Apple I Computer



На краудфандинговых площадках Kickstarter и Indiegogo появляется всё больше проектов в сфере электроники: в каждом квартале десятки кампаний собирают как минимум по 100 тыс. долларов. Достижение отметки в 100 тыс. зачастую оценивается как успех. Многие считают, что теперь основатели смогут передать эти деньги фабрике и получить готовый продукт. Тот факт, что 4 из 5 «железячных» кампаний не справляются со своевременной доставкой своего продукта, говорит о том, что большинство команд всё ещё недооценивает требования технологичности (DFM, Design For Manufacturing). А с этим связаны следующие сложности…

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

 

Как создать действительно случайный пароль

Автор: admin от 31-01-2018, 17:25, посмотрело: 81

Как создать действительно случайный пароль



Менеджеры паролей, такие как KeePass, 1Password и множество других, в значительной степени решают эту проблему. С их помощью вы можете генерировать уникальный и безопасный пароль для каждого сайта, который вы посещаете. Но такой менеджер защищен ровно настолько, насколько безопасен главный пароль, который вы используете для доступа к нему. Вы должны быть уверены, что его достаточная случайность и неугадываемость подтверждена количественными измерениями, а не только тем, что вы воспринимаете его случайным по причине наличия нескольких цифр или восклицательных знаков. Если нам требуется истинная случайность, нам понадобится кое-что специальное.



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

Категория: Информационная безопасность

 

UX-исследования и сила доказательств

Автор: admin от 31-01-2018, 17:25, посмотрело: 43

Привет всем! Предлагаю вашему вниманию перевод статьи Dr. Philip Hodgson (@bpusability в Twitter). Он имеет BSc, MA и PhD в экспериментальной психологии. У него за спиной более чем 20-летний опыт работы в качестве исследователя, консультанта и тренера по юзабилити, пользовательскому опыту, человеческим факторам и экспериментальной психологии. Его работа повлияла на продуктовый и системный дизайн в областях потребления, телекоммуникаций, производства, упаковки, общественной безопасности, веб- и медицинских областей для рынков Северной Америки, Европы и Азии.



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

Категория: Информационная безопасность

 

Фишинг на криптовалютах

Автор: admin от 31-01-2018, 17:25, посмотрело: 66

Сейчас наверняка все слышали о таком понятии, как криптовалюта или Биткоин. Эта тема является одной из самых популярных и обсуждаемых на сегодняшний день. Про «крипту» говорят везде: в интернете, на телевидении, по радио, в кругу семьи и друзей и т.д. Естественно, злоумышленники также положили глаз на эту область, и вновь приходится говорить о способах атак хакеров. Одним из этих способов является фишинг криптовалют.
Фишинг на криптовалютах

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

Категория: Информационная безопасность

 

Дайджест событий для HR-специалистов в IT-области на февраль 2018

Автор: admin от 31-01-2018, 17:20, посмотрело: 80

Дайджест событий для HR-специалистов в IT-области на февраль 2018



В феврале HR-специалисты продолжают встречаться и обсуждать проблемы и вызовы своей индустрии. В Москве состоится вторая конференции DevRelConf, посвященная IT-сообществам, а в Санкт-Петербурге проходит вторая премия IT HR AWARDS: премия дается для HR-проектов, реализованных в IT-компаниях. Cледите за обновлениями поста, анонсы событий на вторую половину февраля будут добавлены позднее.

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

 

Я разработчик с 9 до 17 (и ты можешь стать таким)

Автор: admin от 31-01-2018, 17:20, посмотрело: 45

Этот конкретный твит от Сафьи Адбалла сподвиг меня на некоторые размышления:



Пожалуй, непопулярное мнение (и тут немного иронии от меня).



Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техническими лекциями или делать что-нибудь ещё.



Можете оставить свой код в офисе — и это вполне нормально.


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

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

 

Эффективное преобразование данных с использованием трансдьюсеров

Автор: admin от 31-01-2018, 17:20, посмотрело: 44

Эффективное преобразование данных с использованием трансдьюсеров



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



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



Представьте, что у вас база в 1000000 человек, и вам нужно создать сабсет “имен женщин старше 18 лет, которые живут в Нидерландах”. Существуют различные способы решения этой проблемы, но начну с цепочек.



const ageAbove18 = (person) => person.age > 18;
const isFemale = (person) => person.gender === ‘female’;
const livesInTheNetherlands = (person) => person.country === ‘NL’;
const pickFullName = (person) => person.fullName;
const output = bigCollectionOfData
  .filter(livesInTheNetherlands)
  .filter(isFemale)
  .filter(ageAbove18)
  .map(pickFullName);


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



Эффективное преобразование данных с использованием трансдьюсеров

Конечно, отфильтрованные коллекции будут несколько сокращены, но это, все еще довольно затратно.



Однако главный момент заключается в том, что map и filter могут быть определены с помощью reduce. Давайте попытаемся реализовать приведенный выше код в формате сокращений.

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

 

Learn OpenGL. Урок 4.6 — Кубические карты

Автор: admin от 31-01-2018, 17:20, посмотрело: 78

Learn OpenGL. Урок 4.6 — Кубические карты

Кубические карты



До сих пор нам приходилось пользоваться лишь двухмерными текстурами, однако, OpenGL поддерживает гораздо больше типов текстур. И в этом уроке мы рассмотрим тип текстурной карты, на самом деле, представляющий собой комбинацию нескольких отдельных текстур – это кубическая карта (cubemap).



Кубическая карта, по сути, является одним текстурным объектом, содержащим 6 отдельных двухмерных текстур, каждая из которых соотносится со стороной оттекстурированного куба. Зачем может пригодиться такой куб? Зачем сшивать шесть отдельных текстур в одну карту вместо использования отдельных текстурных объектов? Суть в том, что выборки из кубической карты можно совершать используя вектор направления.

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

 

Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество

Автор: admin от 31-01-2018, 17:20, посмотрело: 49

Предисловие



Данная статья является частью моей научной работы в ВУЗе, которая звучала так: «Программный комплекс детектирования лиц в видеопотоке с использованием сверточной нейронной сети». Цель работы была — улучшение скоростных характеристик в процессе детектирования лиц в видеопотоке. В качестве видео потока использовалась камера смартфона, писалось десктопное ПС (язык Kotlin) для создания и обучения сверточной нейросети, а также мобильное приложение под Android (язык Kotlin), которая использовала обученную сеть и «пыталась» распознать лица из видеопотока камеры. Результаты скажу получились так себе, использовать точную копию предложенной мной топологии на свой страх и риск (я бы не рекомендовал).

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