Pull to refresh
-19
@dkameleonread⁠-⁠only

User

Send message

Фиаско. История одной самоделки IoT

Reading time8 min
Views42K
Большинство статей пишется по принципу «Я/мы это сделал/и, глядите как круто!». Эта же публикация посвящается провальному проекту. Добро пожаловать под кат…
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments159

Опыт использования солнечной энергии в московском регионе: за, против и кому это нужно

Reading time7 min
Views43K
Привет, Хабр! Меня зовут Ярослав Медокс, в Сбертехе я занимаюсь технологиями корпоративно-инвестиционного бизнеса. В этой заметке пойдет речь о вполне обычном подмосковном загородном доме, ставшем по прихоти его хозяина полигоном для проверки солнечной энергетики.


Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments257

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

Reading time14 min
Views60K


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

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

Урок по оптимизации серверной части веб-приложений

Reading time7 min
Views14K


Привет, Хабр! Меня зовут Алексей Приставко, я директор по веб-проектам в компании DataLine. Моя сегодняшняя статья посвящена тому, как исправить или предотвратить проблемы с производительностью бэк-энда веб-приложений.

Речь пойдет о том, как оптимизировать веб-приложения, которые страдают от хронических проблем с масштабируемостью, производительностью или надежностью.
Всем заинтересовавшимся – добро пожаловать под кат!
 
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments1

Так ли экологичны электромобили?

Reading time3 min
Views41K
Привет, Гиктаймс Хабр! Предлагаю к прочтению перевод статьи The Guardian под названием «How green are electric cars?»



Норвегия, мировой лидер по переходу на электромобили, может похвастать экологичностью этих машин потому, что энергия для них добыта исключительно на гидроэлектростанциях. Но насколько экологичным окажется авто с электродвигателем, если электроэнергия для его зарядки будет выработана путём сжигания углеводородов?
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments209

Истерия вокруг GDPR, часть 2. Полезные советы

Reading time25 min
Views18K
Статья опубликована 21 мая 2018 года

Первая часть статьи здесь. Если не читали её, пожалуйста, ознакомьтесь для контекста.

Разобравшись с самыми распространёнными заблуждениями о GDPR, давайте посмотрим на реальное влияние GDPR. Затем рассмотрим наиболее важные полезные советы для владельцев сайтов.

В любом законе кроме его буквального текста есть ещё дух закона, его предназначение. В данном случае предназначение GDPR состоит в том, чтобы обуздать корпорации, которые проявляют худшие практики ведения бизнеса в интернете с нарушением конфиденциальности пользователей. Законодатели стремятся вернуть контроль над данными обратно владельцам этих данных — частным лицам, которые здесь являются субъектами (отсюда термин «субъекты данных»). Есть бесчисленное множество примеров таких нарушений. Не собираюсь их здесь перечислять — на это просто не хватит времени. Но будьте уверены: положение дел таково, что регулирование не начнёт действовать быстро. Постоянные читатели моего блога знают, что тема конфиденциальности мне дорога, поэтому я приветствую GDPR и надеюсь, что закон приведёт к желаемому эффекту. Судя по количеству писем от компаний, которые почти умоляют меня разрешить им присылать спам и дальше — вероятно, это единственный закон, который явно положительно повлиял на мою жизнь ещё до того, как вступил в силу. (По иронии судьбы, эти компании нарушают закон, рассылая такие сообщения…).
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments103

CSRF-уязвимости все еще актуальны

Reading time14 min
Views74K
CSRF (Сross Site Request Forgery) в переводе на русский — это подделка межсайтовых запросов. Михаил Егоров (0ang3el) в своем докладе на Highload++ 2017 рассказал о CSRF-уязвимостях, о том, какие обычно используются механизмы защиты, а также как их все равно можно обойти. А в конце вывел ряд советов о том, как правильно защищаться от CSRF-атак. Под катом расшифровка этого выступления.


О спикере: Михаил Егоров работает в компании Ingram Micro Cloud и занимается Application security. В свободное время Михаил занимается поиском уязвимостей и Bug hunting и выступает на security-конференциях

Дисклаймер: приведенная информация является сугубо мнением автора, все совпадения случайны.


В том, что CSRF-атаки работают виноват этот Cookie-монстр. Дело в том, что многие веб-приложения используют куки (здесь и далее считаем уместным называть cookies по-русски) для управления сессией пользователя. Браузер устроен так, что, если у него есть куки пользователя для данного домена и пути, он их автоматически отправляет вместе с HTTP-запросом.
Total votes 54: ↑54 and ↓0+54
Comments20

Выбираем Yii2 или laravel

Reading time11 min
Views80K

Введение


Я уже писал подобную статью, но она была очень не полной и не снабженной примерами, поэтому я решил взять вторую попытку и попытаться раскрыть данный вопрос наиболее полно!

В данной статье, не будут рассматриваться все тонкости разработки на фреймворках, поскольку это не возможно уложить в рамках одной статьи. Однако, можно достаточно подробно разъяснить те нюансы, которые помогут в выборе для изучения или реализации конкретного проекта. Сравнивать будет Yii2 и Laravel. Я понимаю, что это достаточно холиварная тема, результат которой обычно гласит, что каждый хорош по своему. Я, как человек работавший с обеими, попробую разъяснить свой подход к выбору фреймворка, и постараюсь наиболее объективно показать их минусы и плюсы.
Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments160

Книга Безопасность в PHP (часть 4). Недостаток безопасности на транспортном уровне (HTTPS, TLS и SSL)

Reading time15 min
Views12K


Книга «Безопасность в PHP» (часть 1)
Книга «Безопасность в PHP» (часть 2)
Книга «Безопасность в PHP» (часть 3)


Связь через интернет между участниками процесса сопряжена с рисками. Когда вы отправляете платёжное поручение в магазин, используя онлайн-сервис, то совершенно точно не хотите, чтобы злоумышленник мог его перехватить, считать, изменить или заново повторить HTTP-запрос к онлайн-приложению. Только представьте себе последствия того, что атакующий считает куку вашей сессии или изменит получателя платежа, товар, платёжный адрес. Или внедрит в разметку, отправляемую магазином в ответ на запрос пользователя, свой HTML или JavaScript.

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

Операторы ?., ?? и |>: будущие возможности JavaScript, которые вам понравятся

Reading time10 min
Views128K
Джастин Фуллер, автор материала, перевод которого мы сегодня публикуем, предлагает рассмотреть три новых возможности, появление которых ожидается в JavaScript в обозримом будущем. Сначала он расскажет о процессе развития JS, а после этого представит обзор этих возможностей и покажет примеры их использования. Речь пойдёт об операторах ?., ?? и |>.

О стандарте ECMAScript и развитии JavaScript


Если вы уже знакомы с особенностями деятельности рабочей группы ECMA TC39, с тем, как она осуществляет отбор и обработку предложений о совершенствовании JavaScript, вы вполне можете пропустить этот раздел. Если же вы из тех, кому интересно об этом узнать — вот краткий обзор того, чем занимается TC39.

JavaScript — это реализация стандарта, называемого ECMAScript, который был создан для стандартизации реализаций языка, которые появились в ранние годы существования веб-браузеров.

Существует восемь редакций стандарта ECMAScript и семь релизов (четвёртая редакция стандарта не выходила, после третьей сразу идёт пятая). Разработчики JavaScript-движков приступают к реализации новшеств языка после выхода стандарта. Здесь можно увидеть, что не каждый движок реализует все возможности, при этом некоторым движкам для введения новшеств требуется больше времени, чем другим. Хотя такое положение дел и не идеально, это, всё же, лучше, чем полное отсутствие стандартов.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments67

Докеризируем Socket.io, redis и php

Reading time6 min
Views26K

Для передачи данных сервером на php клиенту можно использовать следующий алгоритм:


  1. Сервер php публикует данные в канал redis.
  2. Сервер node подписывается на события в соответствующем канале redis и при
    наступлении события поступления данных публикует эти данные уже в
    socket.io
  3. Клиент подписывается на сообщения socket.io и обрабатывает их при поступлении

Исходный код проекта можно найти на github

Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments26

TDD ошибочно?

Reading time12 min
Views30K
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments85

Как стать фронтенд-разработчиком в 2018 году

Reading time12 min
Views87K
Камран Ахмед, автор материала, перевод которого мы сегодня публикуем, говорит, что занимается фуллстек-разработкой уже 5 лет и в настоящее время работает на должности ведущего инженера в компании tajawal. Там ему приходится заниматься многими вещами. Ему, по долгу службы, надо быть в курсе того, что происходит в мире веб-разработки, кроме того, одна из его задач заключается в том, чтобы поддерживать знания и навыки других разработчиков в хорошем состоянии. По его словам, наблюдение за развитием технологий — это не только его работа, но и хобби. Ему приходилось видеть сложности, с которыми сталкиваются начинающие программисты (и опытные — тоже), когда речь заходит об оперативном освоении новшеств. Камрану, в прошлом году, часто приходилось отвечать на вопросы о том, в чём нужно ориентироваться для того, чтобы оставаться современным и востребованным программистом. В результате он, для того, чтобы помочь себе и другим, решил подготовить схемы, ссылки на которые отвечали бы на большинство вопросов, которые ему обычно задают.

image

Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments17

Классы и фабричные функции в JavaScript. Что выбрать?

Reading time8 min
Views34K
В JavaScript существуют разные способы создания объектов. В частности, речь идёт о конструкциях, использующих ключевое слово class и о так называемых фабричных функциях (Factory Function). Автор материала, перевод которого мы публикуем сегодня, исследует и сравнивает эти две концепции в поисках ответа на вопрос о плюсах и минусах каждой из них.

image
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments19

О главнейшей причине существования современных JS-фреймворков

Reading time7 min
Views33K


Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило, программисты, применяя их, не учитывают главнейшей причины их существования. Обычно на вопрос: «Почему вы используете фреймворк X», можно услышать следующие ответы, среди которых, однако, нет самого главного:

  • Этот фреймворк основан на компонентах.
  • У него имеется мощное сообщество.
  • Для него разработано множество сторонних библиотек, которые помогают решать различные задачи.
  • Существуют полезные дополнительные компоненты для этого фреймворка.
  • Имеются расширения для браузеров, которые помогают отлаживать приложения, созданные с помощью данного фреймворка.
  • Этот фреймворк хорошо подходит для создания одностраничных приложений.

На самом же деле самая главная, фундаментальная причина использования фреймворков заключается в том, что они помогают решать задачу синхронизации пользовательского интерфейса и внутреннего состояния приложения. Это — чрезвычайно сложная и важная задача, и именно о ней мы сегодня и поговорим.
Читать дальше →
Total votes 42: ↑30 and ↓12+18
Comments48

История про блокчейн и немного про биткойны

Reading time9 min
Views18K
image

В 2011 году, после того как продал по $2 довольно крупную сумму битков, я начал писать свою криптовалюту. Точнее не сразу как продал, а когда увидел парой месяцев спустя, что курс вырос в 25 раз до $50.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments22

Проект RealWorld: сравнение фронтенд-фреймворков

Reading time4 min
Views18K
Материал, перевод которого мы предлагаем сегодня вашему вниманию, представляет собой обновлённую, с учётом положения дел в 2018 году, версию статьи об исследовании фреймворков, которая была опубликована в декабре 2017.

image
Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments49

Книга «Безопасность в PHP» (часть 2). Атаки с внедрением кода

Reading time23 min
Views30K


Книга «Безопасность в PHP» (часть 1)


В списке десяти наиболее распространённых видов атак по версии OWASP первые два места занимают атаки с внедрением кода и XSS (межсайтовый скриптинг). Они идут рука об руку, потому что XSS, как и ряд других видов нападений, зависит от успешности атак с внедрением. Под этим названием скрывается целый класс атак, в ходе которых в веб-приложение внедряются данные, чтобы заставить его выполнить или интерпретировать вредоносный код так, как это нужно злоумышленнику. К таким атакам относятся, например, XSS, внедрение SQL, внедрение заголовка, внедрение кода и полное раскрытие путей (Full Path Disclosure). И это лишь малая часть.

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

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта

Reading time7 min
Views23K
Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики.

TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его применять на практике.

При разработке больших продуктов существует распространенная проблема — с течением времени накапливается много legacy-кода, задачи делаются все медленнее и медленнее. Также при росте команды разработчики начинают писать код по-разному и отсутствие единых правил может приводить к конфликтам и спорам.

За 4 года существования нашего проекта мы сделали больше 20 000 Pull Request’ов (далее PR) и под катом я расскажу, как же мы решили эти проблемы.


Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments61

Arduino для начинающих. Часть 1

Reading time3 min
Views129K

Предисловие


Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.


Введение


Было бы не плохо начать со знакомства с Arduino. Arduino – аппаратно-программные средства для построения систем автоматики и робототехники. Главным достоинством есть то, что платформа ориентирована на непрофессиональных пользователей. То есть любой может создать своего робота вне зависимости от знаний программирования и собственных навыков.


Начало


Создание проекта на Arduino состоит из 3 главных этапов: написание кода, прототипирование (макетирование) и прошивка. Для того, чтоб написать код а потом прошить плату нам необходима среда разработки. На самом деле их есть немало, но мы будем программировать в оригинальной среде – Arduino IDE. Сам код будем писать на С++, адаптированным под Arduino. Скачать можно на официальном сайте. Скетч (набросок) – программа, написанная на Arduino. Давайте посмотрим на структуру кода:

Читать дальше →
Total votes 29: ↑15 and ↓14+1
Comments18

Information

Rating
Does not participate
Registered
Activity