Pull to refresh
11
0
Александр @trueshura

Пользователь

Send message

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 1/2: Progressive Web App

Reading time8 min
Views97K


Наверное, все близкие к веб-разработке люди уже наслышаны о Progressive Web App. Ещё бы! Эта технология практически уравняла веб и мобильную разработку с точки зрения распространения продуктов и вовлечённости пользователей.

Да, современный фронтенд, написанный, например, на React, работает как приложение. Но вот только скачивается это приложение в браузер и запускается из него. В этом и заключается огромный гандикап, который всегда имела мобильная разработка. Давайте подумаем, чем с точки зрения обычного пользователя, «приложение» отличается от «сайта». Сразу в голову приходит, что приложение в телефоне, а сайт на компьютере. Но ведь есть мобильный браузер, так что сайт и в телефоне тоже. Тогда остаётся 3 существенных отличия:
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments31

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

Reading time7 min
Views271K


Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Читать дальше →
Total votes 503: ↑428 and ↓75+353
Comments780

Как работает Эфириум (Ethereum)?

Reading time35 min
Views183K

Введение


Наверняка некоторые из вас знают, что такое блокчейн Эфириум (с англ. Ethereum), другие, напротив, не имеют даже малейшего представления о нем. Так или иначе, и первые и вторые что-нибудь да слышали о данной платформе. В последнее время этой теме было посвящено множество статей в различных крупных журналах, однако для тех людей, кто мало что слышал об Эфириуме, все статьи на эту тему представляются чем-то мистическим и совершенно непонятным. Тогда, что же собой представляет данная платформа? Если вкратце: Эфириум – это общедоступная база данных с возможностью хранения цифровых транзакций в течение неограниченного времени. Важно также отметить, что для обслуживания и защиты такой базы данных не требуется каких-либо систем управления ключами. Вместо этого данная платформа работает как «беззащитная» транзакционная система – фреймворк, в котором физические лица могут совершать одноранговые транзакции, при этом ни одна из сторон не несет перед другой или третьей сторонами каких-либо обязательств.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments21

Как написать смарт-контракт для ICO за 5 минут

Reading time14 min
Views59K


Всем привет! В этой статье я расскажу вам, как за 5 минут и несколько команд в терминале запустить смарт-контракт сбора денег для своего ICO на Ethereum. Этот очерк потенциально сэкономит вам десятки тысяч американских долларов, так как любой программист — да и не программист тоже — сможет запустить проаудированный и безопасный смарт-контракт (вместо того, чтобы платить $15,000 – $75,000 за разработку). Вкратце, на этот смарт-контракт можно будет отправить денег и получить за это ERC20 токены. Можно сказать, эта статья — сборник всего опыта, который я получил, запуская ICO для своего проекта.

В Интернетах этих ваших и так полно статьей про смарт-контракты, но как только начинаешь писать оный, сталкиваешься с тем, что информация везде повторяется, а туториалов, как запулить свой ERC20 попросту либо нет, либо они устарели что аж донельзя. К слову, чтобы эта статья оставалась актуальной, постараюсь указать потенциальные места, где она может устареть (и как это поправить). Поехали!
Читать дальше →
Total votes 53: ↑34 and ↓19+15
Comments49

Платформы для экспериментов по обучению с подкреплением и не только

Reading time6 min
Views7.8K
Мечта исследователей о создании универсального искусственного интеллекта привела к появлению массы сервисов, где можно попробовать новый алгоритм на совершенно разных задачах и оценить насколько он универсален. С какими задачами справляется, а какие представляют для него трудности.

В этой статье приведен краткий обзор двенадцати подобных сервисов.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments1

Нейронные сети для начинающих. Часть 2

Reading time14 min
Views558K


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments35

Нейронные сети для начинающих. Часть 1

Reading time7 min
Views1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments64

Нейронные сети на Javascript

Reading time7 min
Views164K
image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments79

Dive into Ethereum

Reading time14 min
Views116K

Сегодня платформа Ethereum стала одним из самых узнаваемых брендов блокчейн сферы, вплотную приблизившись по популярности (и капитализации) к Bitcoin. Но из-за отсутствия "полноценного" рускоязычного гайда, отечественные разработчики все еще не очень понимают, что это за зверь и как с ним работать. Поэтому в данной статье я попытался максимально подробно охватить все аспекты разработки умных контрактов под Ethereum.


Я расскажу про инструменты разработки, сам ЯП, процесс добавления UI и еще много интересного. В конечном итоге мы получим обычный сайт-визитку, но "под капотом" он будет работать на умных контрактах Ethereum. Кого заинтересовало — прошу под кат.


preview


Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments12

Интерактивный глобус — SVG versus Canvas

Reading time6 min
Views51K
Доброго времени суток, уважаемый читатель! В прошлый раз мы изучали процесс создания интерактивной карты-хороплета, теперь предлагаю немного усложнить задачу и перейти к трёхмерной модели Земли, именуемой в народе глобусом. Глобус делать будем двух видов: SVG версия и Canvas версия. В обоих случаях будем использовать JavaScript библиотеку d3.js. У каждого варианта свои преимущества. В моём исполнении Голубая планета выглядит следующим образом:

Планета Земля

А как создать свой собственный Мир с материками и океанами можно узнать под катом.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments20

Легальный вывод средств с Upwork в РФ

Reading time8 min
Views66K
На Хабре уже написано достаточно много статьей по теме, в частности:


В ответ на повторяющиеся просьбы написать статью, в которой:

  • разбросанные по разным статьям крупицы будут собранны в единое целое
  • всевозможные противоречия будут устранены
  • все сведения будут иметь актуальный характер
  • будут учтены пожелания такие как «а можно с картинками? :)»

родилось следующее руководство.
Total votes 78: ↑70 and ↓8+62
Comments383

Простые графики с помощью D3.js

Reading time13 min
Views64K

Gualtiero Boffi | Dreamstime.com


D3.js (или просто D3) — это JavaScript-библиотека для обработки и визуализации данных с невероятно огромными возможностями. Я, когда впервые узнал про нее, наверное, потратил не менее двух часов, просто просматривая примеры визуализации данных, созданных на D3. И конечно, когда мне самому понадобилось строить графики для небольшого внутреннего сайта на нашем предприятии, первым делом вспомнил про D3 и с мыслью, что “сейчас я всех удивлю крутейшей визуализацией”, взялся изучать исходники примеров…

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments22

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Настройка окружения SELinux на примере LAMP-сервера

Reading time8 min
Views24K

Это третья статья из цикла


И сегодня она попала в поток «Администрирование». Сегодня мы не будем писать модули или настраивать RBAC, а пойдем по пути наименьшего сопротивления и просто захарденим обычный LAMP-сервер при помощи готовой политики, включив необходимые настройки.

Если кто забыл, за аббривиатурой LAMP скрывается Linux, Apache, Mysql, PHP, т.е. это большая часть всех VDS, которые покупают люди для хранения своих личных блогов. Надеюсь, что этот поможет всем им стать немного безопаснее :)
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments10

Web scraping на Node.js и защита от ботов

Reading time14 min
Views36K

Это третья статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js:


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

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


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


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


Важное примечание

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


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

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

«Бизнес с нуля. Метод Lean Startup». Книга за 15 минут

Reading time14 min
Views185K


Lean Startup — это концепция бережливого производства. Эта методика помогает использовать научный подход для построения растущего бизнеса и избегать лишних затрат.

Рекомендуем к прочтению краткое изложение бестселлера Эрика Риса предпринимателям и всем, чья деятельность связана с инновациями и запуском продуктов.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments1

Шпаргалка по Redis

Reading time8 min
Views358K
Про Redis (официальный сайт, материалы на Хабре) написано много, но мне до сего дня не хватало материала, который послужил бы шпаргалкой по его практическому использованию, а так же справочником по базовым теоретическим моментам. Постараюсь заполнить этот пробел в богатой базе знаний Хабра.

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

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

Ключи


Redis — хранилище данных в формате «ключ-значение». Факты о ключах:
  • Ключи в Redis — бинарно-безопасные (binary safe) строки.
  • Слишком длинные ключи — плохая идея, не только из-за занимаемой памяти, но так же и в связи с увеличением времени поиска определенного ключа в множестве в связи с дорогостоящим сравнением.
  • Хорошая идея — придерживаться схемы при построении ключей: «object-type:id:field».


Типы данных Redis


  • Строки (strings). Базовый тип данных Redis. Строки в Redis бинарно-безопасны, могут использоваться так же как числа, ограничены размером 512 Мб.
  • Списки (lists). Классические списки строк, упорядоченные в порядке вставки, которая возможна как со стороны головы, так и со стороны хвоста списка. Максимальное количество элементов — 232 — 1.
  • Множества (sets). Множества строк в математическом понимании: не упорядочены, поддерживают операции вставки, проверки вхождения элемента, пересечения и разницы множеств. Максимальное количество элементов — 232 — 1.
  • Хеш-таблицы (hashes). Классические хеш-таблицы или ассоциативные массивы. Максимальное количество пар «ключ-значение» — 232 — 1.
  • Упорядоченные множества (sorted sets). Упорядоченное множество отличается от обычного тем, что его элементы упорядочены по особому параметру «score».

Про типы данных Redis есть отдельная хорошая статья: «Структуры данных, используемые в Redis».
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments16

Gremlins.js — monkey testing библиотека для веб приложений

Reading time6 min
Views36K
NPM version

Это первая из двух статей, рассказывающая о тестировании с помощью gremlins.js и grunt-gremlins. Первая статья — перевод официальной документации gremlins.js. Вторая — опыт внедрения gremlins.js в реальный проект при помощи grunt-gremlins.

Gremlins.js это monkey testing библиотека написанная на JavaScript, для Node.js и браузеров. С ее помощью проверяется надежность веб-приложений под полчищем гремлинов.

Kate: What are they, Billy?
Billy Peltzer: They're gremlins, Kate, just like Mr. Futterman said.


image
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments13

Пример создания одного chrome extension

Reading time64 min
Views28K
Приветствую социум! Проработал 7 лет техническим директором. Понял, насколько это сильно бьет по нервам и решил начать жизнь с чистого листа. Пойти javascript-разработчиком.

Почему: потому что люблю писать на этом языке. Он веселый и может влет решать множество реальных задач. Да, да, веселый, ведь он настолько не типизирован, что объект может иметь свойство в виде самого себя ) Причем при обращении к этому свойству мы реально изменяем сам объект.

Веселый JS
primer = {};
primer["svoistvo1"] = "reddis";
primer["svoistvo2"] = primer;
primer["svoistvo2"]["svoistvo2"]["svoistvo2"]["svoistvo2"]["svoistvo1"] = "dadada";
console.log(primer);



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

В это статье я покажу, как можно создать chrome extension.
Поиздеваться над топиком, ведь об этом так много писали ...
Total votes 22: ↑16 and ↓6+10
Comments16

10 особенностей Webpack

Reading time8 min
Views78K
Webpack считается лучшим инструментом для сборки приложений на React и Redux. Полагаю, многие из тех, кто сегодня использует Angular 2 и другие фреймворки, не обходят вниманием и Webpack. И поскольку начинать работу с данным инструментом всегда непросто, я решил посвятить этой теме несколько публикаций в надежде облегчить старт другим разработчикам и заодно продемонстрировать некоторые особенности Webpack.

Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments52
1

Information

Rating
Does not participate
Location
Омск, Омская обл., Россия
Registered
Activity