User
Three.js и геометрия
При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривается использование импортируемых готовых моделей и работа с ними.
Но иногда требуется создать трехмерный объект для отображения в браузере полностью с нуля – только используя аналитическую геометрию. В данной статье рассматривается именно такой подход к построению интерактивно настраиваемых моделей и последующего их отображения в браузере.
Отслеживание объектов на видео
Демо проекта
Исходные коды на github: 1, 2, 3, 4, 5
Канадская компания разработала материал, делающий вас невидимыми
Вчерашняя научная фантастика постепенно становится реальностью. Компания Hyperstealth Biotechnology из Ванкувера разработала и запатентовала тонкий материал, обеспечивающий, по её словам, «квантовую невидимость». Он способен делать некоторые вещи за собой почти полностью неразличимыми. Источника питания при этом не требуется. Предполагается, что в будущем конструкции из такого материала будут использовать солдаты и полицейские.
Как маленький городок в глубинке превратился в хаб международной электронной торговли
На первый взгляд, городок Раундап в Монтане кажется типичной глухоманью. Основанный в конце XIX века владельцами ранчо и мелкими промышленниками, он выживал только за счет угля, который добывали в местных шахтах и отвозили по железной дороге. Но уголь кончился, поезд больше не ходит, и население Раундапа в последнее время опустилось ниже 1800 человек. До ближайшего крупного города – сотни километров, работы толком нет.
Время здесь, кажется, остановилось. Силуэты ковбоев нарисованы на заколоченных окнах. За пустыми витринами – покрытые паутиной и пылью колеса вагонов. В виде достопримечательности – петля, свисающая с «дерева висельников», которая, как объясняет табличка, использовалась для казни трех воров и двух незадачливых прохожих. У дороги стоит одинокий светофор, постоянно мигающий красным цветом.
Короче, Раундап – последнее место, которое можно было бы принять за центр международной электронной торговли. И тем не менее, здесь теперь каждый день обрабатываются тысячи посылок от Target, Walmart, eBay и многих других на пути к Amazon. Всё благодаря усилиям небольшой группы женщин.
Git happens! 6 типичных ошибок Git и как их исправить
Прим. перев.: На днях в блоге для инженеров любимого нами проекта GitLab появилась небольшая, но весьма полезная заметка с инструкциями, которые помогают сохранить время и нервы в случае различных проблем, случающихся по мере работы с Git. Вряд ли они будут новы для опытных пользователей, но обязательно найдутся и те, кому они пригодятся. А в конец этого материала мы добавили небольшой бонус от себя. Хорошей всем пятницы!
Все мы делаем ошибки, особенно при работе с такими сложными системами, как Git. Но помните: Git happens!
Учебный курс по React, часть 3: файлы компонентов, структура проектов
→ Часть 1: обзор курса, причины популярности React, ReactDOM и JSX
→ Часть 2: функциональные компоненты
→ Часть 3: файлы компонентов, структура проектов
→ Часть 4: родительские и дочерние компоненты
→ Часть 5: начало работы над TODO-приложением, основы стилизации
→ Часть 6: о некоторых особенностях курса, JSX и JavaScript
→ Часть 7: встроенные стили
→ Часть 8: продолжение работы над TODO-приложением, знакомство со свойствами компонентов
→ Часть 9: свойства компонентов
→ Часть 10: практикум по работе со свойствами компонентов и стилизации
→ Часть 11: динамическое формирование разметки и метод массивов map
→ Часть 12: практикум, третий этап работы над TODO-приложением
→ Часть 13: компоненты, основанные на классах
→ Часть 14: практикум по компонентам, основанным на классах, состояние компонентов
→ Часть 15: практикумы по работе с состоянием компонентов
→ Часть 16: четвёртый этап работы над TODO-приложением, обработка событий
→ Часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов
→ Часть 18: шестой этап работы над TODO-приложением
→ Часть 19: методы жизненного цикла компонентов
→ Часть 20: первое занятие по условному рендерингу
→ Часть 21: второе занятие и практикум по условному рендерингу
→ Часть 22: седьмой этап работы над TODO-приложением, загрузка данных из внешних источников
→ Часть 23: первое занятие по работе с формами
→ Часть 24: второе занятие по работе с формами
→ Часть 25: практикум по работе с формами
→ Часть 26: архитектура приложений, паттерн Container/Component
→ Часть 27: курсовой проект
Игры для программистов, часть вторая
Несмотря на опасность, что вновь возникнет спор относительно названия, я решил оставить его прежним, дабы сохранить преемственность. Можно воспринимать его как «игры для тех, кто имеет способность к программированию», или ещё как-нибудь в этом духе. Однако я полагаю, что вы читаете этот пост не ради рассуждений о семантике, потому перейдём к сути.
Infinifactory
Шесть мифов о блокчейне и Биткойне, или Почему это не такая уж эффективная технология
Неоднократно слышал мнение о том, что блокчейн — это очень круто, это прорыв, за ним будущее. Спешу вас разочаровать, если вы вдруг поверили в это.
Уточнение: в этом посте мы поговорим о том варианте реализации технологии блокчейн, который используется в криптовалюте Биткойн. Существуют другие применения и реализации блокчейна, в некоторых из них устранены какие-либо недостатки «блокчейна классического», но обычно они построены на одинаковых принципах.
10 инструментов для стартаперов и стартапов
Startup Graveyard
Учимся на горьком, но полезном опыте предшественников. Strartup Graveyard — это каталог стартапов, которые потерпели неудачу и вынуждены были выйти из игры. Цель проекта, как уверяют авторы, вовсе не в том, чтобы клеймить людей за ошибки — напротив, объективный безоценочный анализ факторов, которые привели ту или иную компанию к печальному исходу, позволит «снять стигму с неудачи» и выстроить более открытое, вдумчивое сообщество. История болезни излагается в лаконичной, ясной форме: название, ниша, годы жизни, инвесторы и бюджет, конкуренты, основные причины краха. Посетителям также предлагается внести свою лепту — произвести вскрытие такого рода над известным им проектом (возможно, даже своим собственным) и отправить результаты администрации.
Пособие по webpack
Давайте сначала разберемся, зачем нужен вебпак (webpack), и какие проблемы он пытается решить, а потом научимся работать с ним. Webpack позволяет избавиться от bower и gulp/grunt в приложении, и заменить их одним инструментом. Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm) для установки и управления всеми фронтэнд-зависимостями. Вебпак также может выполнять большинство задач grunt/gulp'а.
Bower это пакетный менеджер для клиентской части. Его можно использовать для поиска, установки, удаления компонентов на JavaScript, HTML и CSS. GruntJS это JavaScript-утилита командной строки, помогающая разработчикам автоматизировать повторяющиеся задачи. Можно считать его JavaScript-альтернативой Make или Ant. Он занимается задачами вроде минификации, компиляции, юнит-тестирования, линтинга и пр.
Допустим, мы пишем простую страницу профиля пользователя в веб-приложении. Там используется jQuery и библиотеки underscore. Один из способов — включить оба файла в HTML:
Введение в машинное обучение с tensorflow
Если мы в ближайшие пять лет построим машину с интеллектуальными возможностями одного человека, то ее преемник уже будет разумнее всего человечества вместе взятого. Через одно-два поколения они попросту перестанут обращать на нас внимание. Точно так же, как вы не обращаете внимания на муравьев у себя во дворе. Вы не уничтожаете их, но и не приручаете, они практически никак не влияют на вашу повседневную жизнь, но они там есть.
Сет Шостак
Введение.
Серия моих статей является расширенной версией того, что я хотел увидеть когда только решил познакомиться с нейронными сетями. Он рассчитан в первую очередь на программистов, желающих познакомится с tensorflow и нейронными сетями. Уж не знаю к счастью или к сожалению, но эта тема настолько обширна, что даже мало-мальски информативное описание требует большого объёма текста. Поэтому, я решил разделить повествование на 4 части:
- Введение, знакомство с tensorflow и базовыми алгоритмами (эта статья)
- Первые нейронные сети
- Свёрточные нейронные сети
- Рекуррентные нейронные сети
Изложенная ниже первая часть нацелена на то, чтобы объяснить азы работы с tensorflow и попутно рассказать, как машинное обучение работает впринципе, на примере tensorfolw. Во второй части мы наконец начнём проектировать и обучать нейронные сети, в т.ч. многослойные и обратим внимание на некоторые нюансы подготовки обучающих данных и выбора гиперпараметров. Поскольку свёрточные сети сейчас пользуются очень большой популярность, то третья часть выделена для подробного объяснения их работы. Ну, и в заключительной части планируется рассказ о рекуррентных моделях, на мой взгляд, — это самая сложная и интересная тема.
«Делали микросервисы до того, как это стало мейнстримом»: Сбербанк-Технологии о разработке
В Сбербанк-Технологиях занимаются целым рядом интересных задач — от унификации интерфейсов громадного банка до прототипирования blockchain. В большинстве случаев разработка ведётся на Java: её в компании считают лучшим выбором для больших корпоративных систем, ценя возможность скомпоновать решение из сторонних продуктов и внутренних разработок.
На конференциях спикеры «Сбертеха» рассказывают как непосредственно о своём опыте, так и об общих выводах, которые можно из него сделать. Но в формат докладов укладывается не всё, и накануне Joker мы отдельно задали вопросы троим сотрудникам компании, выступающим на Java-конференциях. Нам ответили:
- Сергей vlsergey Владимиров (выступит на Joker 2016, ранее выступал на JPoint)
- Александр Маторин (выступал ранее на Joker, JPoint и JBreak)
- Максим Зелинский (выступал ранее на JPoint и JBreak)
Vulners — Гугл для хакера. Как устроен лучший поисковик по уязвимостям и как им пользоваться
Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденный баг критичен, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить наличие бага в системе. Раньше приходилось искать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам, причем бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.
Я тебя по сетям вычислю: используем API крупнейших соцсетей в своих корыстных целях
Ни для кого не секрет, что современные социальные сети представляют собой огромные БД, содержащие много интересной информации о частной жизни своих пользователей. Через веб-морду особо много данных не вытянешь, но ведь у каждой сети есть свой API… Так давай же посмотрим, как этим можно воспользоваться для поиска пользователей и сбора информации о них.
Есть в американской разведке такая дисциплина, как OSINT (Open source intelligence), которая отвечает за поиск, сбор и выбор информации из общедоступных источников. К одному из крупнейших поставщиков общедоступной информации можно отнести социальные сети. Ведь практически у каждого из нас есть учетка (а у кого-то и не одна) в одной или нескольких соцсетях. Тут мы делимся своими новостями, личными фотографиями, вкусами (например, лайкая что-то или вступая в какую-либо группу), кругом своих знакомств. Причем делаем это по своей доброй воле и практически совершенно не задумываемся о возможных последствиях. На страницах журнала уже не раз рассматривали, как можно с помощью различных уловок вытаскивать из соцсетей интересные данные. Обычно для этого нужно было вручную совершить какие-то манипуляции. Но для успешной разведки логичнее воспользоваться специальными утилитами. Существует несколько open source утилит, позволяющих вытаскивать информацию о пользователях из соцсетей.
Классы типов, монады
Классы привносят динамический полиморфизм, как и интерфейсы в традиционных императивных языках, а также могут быть использованы как замены отсутствующей в Хаскеле перегрузки функций.
Я расскажу, как определить класс типов, его экземпляры (instance) и как это всё устроено внутри.
Предыдущие статьи:
Типы данных, паттернг матчинг и функции
Основы
Структуры данных для самых маленьких
Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.
Как мы открывали магазин в ТЦ МЕГА: история ошибок
Мы решились открыть наш магазин в большом торговом центре, и теперь готовы рассказать вам о проблемах, косяках, процессах, решениях и выводах. Заходите, под катом интересно.
Объектно-ориентированный бизнес: как работает франшиза
Пример: По данным президента Российской Ассоциации развития франчайзинга из новых бизнесов течение первых 5 лет работы только 14% компаний, открытых по франшизам, закрываются по различным причинам — против 85% закрытых самостоятельных компаний. UPD: тут был пример из детального исследования в США, но в комментариях мы ковыряем источник, не всё так радужно. В России нормальной независимой статистики пока нет, но, как говорят профильные издания, ситуация близка к тому, что франчайзинг переживает второй год в восемь раз чаще. И это, кстати, отлично понимают банки: например, предлагают специальные льготные кредиты для бизнеса, открытого по франшизе.
Кусочки из нашего франчбука: полностью готовый «код», который просто надо воплотить.
Но вернёмся к этой объектно-ориентированной модели бизнеса и трём её главным качествам: наследовании, инкапсуляции и полиморфизму. Ну и заодно рассмотрим грабли, по которым мы ходили. В целом, франчайзинг для бизнеса — это примерно то же, что WEB 2.0 для Интернета. Ниже ликбез, почему.
Как открыть отдел интернет-магазина в торговом центре или почему мы теперь стоим рядом с отделом PocketBook
Топик будет полезен тем, кто:
- Имеет свой интернет-магазин и хочет реальный;
- Не знает, как открывать точку в ТЦ;
- Выбирает между точкой самовывоза и разными вариантами магазинов.
Выжимка:
- ТЦ хорош аудиторией, но плох жесткими условиями и высокими стартовыми затратами;
- В ТЦ сложно, но реально встать;
- Как презентоваться;
- Персонал нанимается до открытия;
- Какие бывают подставы;
- Как делали открытие мы и как его нужно было делать.
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity