Pull to refresh
4
0

Разработчик

Send message

Сравнение Material Design CSS фреймворков

Reading time3 min
Views51K


Доброго время суток. В статье рассказно о Material Design фреймворках для создания Web-страничек. Если вас интересует тема Material Design, также как и меня, то Добро пожаловать под кат, возможно, откроете для себя что-нибудь новое и интересное.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments11

Применение CQRS & Event Sourcing в создании платформы для проведения онлайн-аукционов

Reading time10 min
Views5.8K
Коллеги, добрый день! Меня зовут Миша, я работаю программистом.

В настоящей статье я хочу рассказать о том, как наша команда решила применить подход CQRS & Event Sourcing в проекте, представляющем собой площадку для проведения онлайн-аукционов. А также о том, что из этого получилось, какие из нашего опыта можно сделать выводы и на какие грабли важно не наступить тем, кто отправится путем CQRS & ES.
image

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

Темный день для Vue.js

Reading time6 min
Views81K

Сегодня я был изумлен тем, как обычно позитивное и дружелюбное сообщество Vue.js скатилось в печальное противостояние. Две недели назад создатель Vue Эван Ю опубликовал предложение (RFC) с новым функциональным API для компонентов в грядущем Vue 3.0. Сегодня критическое обсуждение на Reddit и аналогичные комментарии на Hacker News вызвали наплыв разработчиков в изначальный RFC с возмущениями, порой даже чересчур резкими.

Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments135

Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha

Reading time5 min
Views7.8K
Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript.



Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компоненты моей игры и тестировать ее онлайн на Bit PlayGround при помощи NPM, Yarn или Bit. Для этого перейдите к моей коллекции компонентов.
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments4

Про ООП

Reading time2 min
Views39K


Чем больше читаю про ООП, тем больше возникает ощущение, что ООП понимают не только лишь все. Очередная статья этому пример.


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

Читать дальше →
Total votes 130: ↑65 and ↓650
Comments145

Мой переезд в Норвегию

Reading time12 min
Views116K


Я решил написать эту статью, потому что в интернете мало информации именно о переезде в Норвегию. Люди в основном описывают жизнь, процесс поиска работы и тому подобное. Ниже я постарался рассказать о подготовке документов, регистрации в стране, открытии банковского счёта, аренде квартиры и т.п. Надеюсь, это будет полезно.

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments347

Senior Engineer в поисках работы. Как я прошел 15 технических собеседований и что я об этом думаю

Reading time13 min
Views49K
Продолжение истории о том, как я проходил собеседования в разные компании на разные позиции. В этот раз закроем несколько вопросов и комментариев касательно первой части и продолжим говорить о тестовых заданиях и технических собеседованиях.

К моему удивлению, предыдущая статья о собеседованиях с рекрутерами и HR вызвала неожиданный интерес: более 100 000 просмотров по всем источникам. Я получил кучу положительного фидбека в личку, мне написали бывшие коллеги, которых я последний раз видел лет 5 назад; героини некоторых историй; парень, которому я несколько недель назад продавал системник через OLX (аналог Slando, — прим. пер.); барабанщик с которым мы в прошлом году играли метал в гараже, и, как это ни странно, довольно много рекрутеров, которые поинтересовались моими мыслями касательно тех или иных аспектов собеседований и найма. 250 человек зачем-то добавились ко мне в LinkedIn :).
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments105

Базы данных и Kubernetes (обзор и видео доклада)

Reading time8 min
Views38K
8 ноября в главном зале конференции HighLoad++ 2018, в рамках секции «DevOps и эксплуатация», прозвучал доклад «Базы данных и Kubernetes». В нём рассказывается о высокой доступности баз данных и подходах к отказоустойчивости до Kubernetes и вместе с ним, а также практических вариантах размещения СУБД в кластерах Kubernetes и существующие для этого решения (включая Stolon для PostgreSQL).



По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!
Total votes 49: ↑46 and ↓3+43
Comments5

RPC, Messaging, REST: Терминология

Reading time4 min
Views85K

RPC, Messaging, REST: Терминология



Цель данной статьи — обсудить терминологию. Статья — не о том, как и для чего, а только исключительно об использовании терминологии. Статья отражает мнение автора и не претендует на научность.

RPC, Messaging, REST- Terminology - RPC, Messaging, REST- Терминология

Вступление



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

Проблема возникает, когда встречаются люди, использующие разные технологии, и когда эти люди начинают технические разговоры. При этом часто возникает взаимное недопонимание, обусловленное терминологией. Я здесь попытаюсь свести воедино терминологии, используемые в разных контекстах.
Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments20

Что дает рознице машинное обучение: пример проекта

Reading time6 min
Views12K
У розницы очень разнообразный круг покупателей. Их много – всевозможных профессий и уровней дохода, от молодёжи до пенсионеров. Такое разнообразие не получится корректно описать двумя-тремя бизнес-правилами, потому что вы просто не сможете охватить все сочетания критериев и неизбежно потеряете часть клиентов. Поэтому для розницы очень важно как можно точнее сегментировать свою аудиторию, но это неизбежно усложняет модели. Здесь на помощь приходят технологии Machine Learning, дающие бизнесу более точные прогнозы и ответы на важные вопросы.




Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments18

По пути к QUIC: что лежит в основе HTTP/3

Reading time9 min
Views24K
Новая веха Интернет-истории начинается на наших глазах: можно считать, что HTTP/3 уже объявлен. В конце октября Mark Nottingham из IETF предложил уже определиться с названием для нового протокола, над которым IETF корпит с 2015 года. Так вместо QUIC-подобных названий появилось громкое HTTP/3. Западные издания уже писали об этом и даже не один раз. История QUIC началась в недрах Корпорации добра в 2012 году, с тех пор только серверы Google поддерживали HTTP-over-QUIC соединения, однако время идет и вот уже Facebook начал внедрять эту технологию (7 ноября, Facebook и LiteSpeed осуществили первое взаимодействие по HTTP/3); на данный момент доля сайтов, поддерживающих QUIC – 1,2%. Наконец, рабочая группа WebRTC тоже смотрит в сторону QUIC (плюс см. QUIC API), так что в обозримом будущем реалтайм видео/аудио будет ходить по QUIC вместо RTP/RTCP. Поэтому мы решили, что будет здорово раскрыть подробности IETF QUIC: специально для Хабра мы подготовили перевод лонгрида, расставляющего точки над i. Enjoy!
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments24

Оптимизируем торгового робота: генетический алгоритм

Reading time5 min
Views10K


В предыдущей статье я занялся сравнением методов параметрической оптимизации, т.е., подбора параметров, оценивая прибыльность торговли робота в ходе последующего бэктеста. Выяснилось, что банальный метод Монте-Карло — генерация случайных некоррелированных комбинаций параметров робота — работает вполне неплохо. Сейчас же я хочу протестировать популярный, в том числе, в сообществе программирующих трейдеров, алгоритм: генетический алгоритм оптимизации.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments10

Приручить зверя. С чем мы столкнулись при разработке приложения для ведения личного дневника на React Native

Reading time8 min
Views11K
В предыдущей статье я подробно рассказал о нашем опыте создания веб-сервиса/мобильного приложения для ведения личного дневника. Актуальная версия приложения (минимальная работоспособная версия уже выложена в Google Play) разрабатывается на React Native, и вот на нем мы и остановимся подробно сегодня.

Рассказываем о собственном опыте работы с фреймворком, способах расширения функционала, «подводных камнях» (куда ж без них!) и как мы их обошли.

О фреймворке в целом


Немного о виновнике торжества — React Native. Он все-таки хорош!

Для тех, кто в достаточной степени знает JavaScript и тем более NodeJS — он очень хорош. Если же есть опыт с React, ну или хотя бы есть понимание ее идеи, механизма — он просто великолепен!

Главное, что на выходе получается действительно нативное приложение. Расширения и плагины покрывают практически 99% типовых задач. Оставшийся процент при острой необходимости можно дописать на родных языках (java, object-c) и подключить к React Native приложению.

Но хватит про плюсы, от них толку ноль, хоть список и будет внушительным. Все плюшки и вкусности бессмысленны, если приложение не запускается, а это первое чем нас «порадовал» React Native.

Сначала ему не понравилась версия NodeJS. Потом версия npm. Потом версия Android SDK, потом версия Android tools, потом… Писать про то, как все проблемы решились, смысла нет, ибо с того момента все вышеперечисленное ПО обновило свои версии и инструкции будут неактуальны.

Просто знайте: узкое место React Native — среда сборки. Будьте готовы к штудированию google, чтению форумов и stackoverflow. На развертывание в итоге потратили: Ubuntu — 3 дня, Win10 — 2 дня. Как ни странно, на «винде» все оказалось проще, ну, или просто на ubuntu «шишек набили» и уже понимали, что и куда подсовывать.

На заметку, вдруг кому пригодится: код, представленный ниже, решил все проблемы с совместимостью версий sdk у дополнений при компиляции проекта.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments20

Kubernetes на голом железе за 10 минут

Reading time8 min
Views165K


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


По ходу этой статьи мы установим Kubernetes 1.6 на реальную (не виртуальную) машину под управлением Ubuntu 16.04 примерно за 10 минут. В результате у вас появится возможность начать изучать взаимодействие с Kubernetes посредством его CLI kubectl.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments32

Основы Kubernetes

Reading time13 min
Views883K
В этой публикации я хотел рассказать об интересной, но незаслуженно мало описанной на Хабре, системе управления контейнерами Kubernetes.

image

Что такое Kubernetes?


Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments86

Реализация семейной бухгалтерии при помощи Google Sheets, жевательной резинки и скотча

Reading time4 min
Views10K
Скоро новый год, и, как и в прошлом году, одним из самых актуальных вопросов для любой семьи остается вопрос «куда уходят деньги?». Все мы периодически задаемся этим вопросом, и очевидно, что для его решения нужна внутрисемейная финансовая отчетность (как для любой организации). Я пытался использовать бухгалтерские программы desktop, а также мобильные приложения, но так и не нашел подходящего решения. Есть хорошие бесплатные программы, но у них, как правило, нет функции совместного доступа, а платные требуют покупки лицензии для каждого пользователя. Полный набор критериев, который сложился у меня, и который хотелось бы видеть в программе для ведений семейной бухгалтерии:

  • должна позволять вносить данные о расходах нескольким пользователям
  • должна обладать гибким набором категорий расходов (да и, в целом, быть гибкой)
  • должна позволять следить за общей суммой расходов по периодам и категориям
  • должна быть бесплатной
  • должна обладать простым интерфейсом

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

Не найдя решения удовлетворяющего перечисленным критериям среди существующих приложений, стал думать о своем, но размышляя над этой темой, понял, что нет смысла еще в одном бухгалтерском приложении, когда все что нужно для решения задачи, это пошаренная таблица. Бегло пробежавшись по API Google Sheets, обнаружил функцию SUMIFS, которая полностью удовлетворяла мои бухгалтерские запросы. Но обо всем по порядку.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments38

Курс MIT «Безопасность компьютерных систем». Лекция 17: «Аутентификация пользователя», часть 1

Reading time15 min
Views7.8K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
Лекция 17: «Аутентификация пользователя» Часть 1 / Часть 2 / Часть 3
Total votes 13: ↑10 and ↓3+7
Comments0

Введение в React Hooks

Reading time12 min
Views101K


Если вы читаете Twitter, вы, вероятнее всего, знаете что Hooks  -  это новая фича React, но вы можете спросить, как мы на практике можем их использовать? В этой статье мы покажем вам несколько примеров использования Hooks.
Одна из ключевых идей для понимания заключается в том, что Hooks позволяют использовать state и другие возможности React без написания классов.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments36

Поваренная книга разработчика: DDD-рецепты (3-я часть, Архитектура приложения)

Reading time8 min
Views30K

Введение


В рамках предыдущих статей мы выделили область применения подхода и рассмотрели основные методологические принципы Domain Driven Design.


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


WM


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

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

.NET гуру Дино Эспозито: «Не будь пассажиром поезда, идущего под откос»

Reading time4 min
Views17K

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


image
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments14
1
23 ...

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity