Как стать автором
Обновить
3
0
Олег @Invision70

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

Отправить сообщение

Пишем простой WYSIWYG-редактор с помощью ProseMirror

Время на прочтение7 мин
Количество просмотров8.6K
Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор под любой проект. В частности, ProseMirror уже используют в The New York Times и The Guardian. В этой статье мы расскажем о том, как с помощью ProseMirror написать свой WYSIWYG-редактор.

Пишем простой WYSIWYG-редактор с помощью ProseMirror
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии3

Go: Должен ли я использовать указатель вместо копии моей структуры?

Время на прочтение4 мин
Количество просмотров17K
image
Иллюстрация, созданная для «A Journey With Go», из оригинального гофера, созданного Рене Френч.

С точки зрения производительности систематическое использование указателей вместо копирования самой структуры для совместного использования структур многим Go разработчикам представляется наилучшим вариантом. Для того чтобы понять влияние использования указателя вместо копии структуры мы рассмотрим два варианта использования.
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии27

Redis Best Practices, часть 2

Время на прочтение11 мин
Количество просмотров22K
Вторая часть цикла переводов Redis Best Practices от «Redis Labs», и в ней рассмотрены паттерны взаимодействия и паттерны хранения данных.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии6

Несколько малоизвестных возможностей docker-compose

Время на прочтение5 мин
Количество просмотров27K

Во многих инструкциях с просторов интернета описывают некий минимум действий, и как следствие минимум команд и возможностей.


Я решил сделать некую подборку мало освещенных возможностей, особенностей. Статья не претендует на уникальность, это и мне, как памятка, и возможно некоторым падаванам поможет, начинающим свой путь с docker-compose.

Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии22

Telegram. Безлимитный сетевой диск. Бесплатный

Время на прочтение3 мин
Количество просмотров184K
Привет, Хабр.

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа.

TgCloud:


  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС

Подробности реализации и ссылка на репозиторий под катом.
Читать дальше →
Всего голосов 211: ↑175 и ↓36+139
Комментарии232

Шпаргалка по структурам данных в Go

Время на прочтение6 мин
Количество просмотров64K

Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных дают примеры или на псевдокоде, или на С++. Ещё эталонные решения задач написаны зачастую на С++. Готовясь к собеседованию, составил шпаргалку библиотек — аналогов контейнеров STL, что бы не тратить драгоценное время на поиск.
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии10

Про ООП

Время на прочтение2 мин
Количество просмотров39K


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


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

Читать дальше →
Всего голосов 130: ↑65 и ↓650
Комментарии145

Пишем гибкий код, используя SOLID

Время на прочтение9 мин
Количество просмотров22K


От переводчика: опубликовали для вас статью Северина Переса об использовании принципов SOLID в программировании. Информация из статьи будет полезна как новичкам, так и программистам с опытом.

Если вы занимаетесь разработкой, то, скорее всего, слышали о принципах SOLID. Они дают возможность программисту писать чистый, хорошо структурированный и легко обслуживаемый код. Стоит отметить, что в программировании есть несколько подходов к тому, как правильно выполнять ту либо иную работу. У разных специалистов — разные идеи и понимание «правильного пути», все зависит от опыта каждого. Тем не менее, идеи, провозглашенные в SOLID, принимаются практически всеми представителями ИТ-сообщества. Они стали отправной точкой для появления и развития множества хороших методов управления разработкой.

Давайте разберемся с тем, что такое принципы SOLID и как они помогают нам.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии20

Beego — это уже не Go

Время на прочтение5 мин
Количество просмотров34K
Любой хайп весьма забавен, когда смотришь на него со стороны. Менее забавен, когда оказываешься в него вовлечен напрямую.

Хайп Go пришелся где-то на 2014ый год, когда авторы приложений имевших от силы 1000RPM (requests per minute) вдруг как один решили, что им срочно нужен concurrency, потому что вот-вот их 1000RPM превратиться в 1000RPS (что тоже не так много, на самом деле).

Результатом хайпа стало то, что к Go приобщилось много людей, привыкших к MVC архитектуре приложения, буть то Spring, Django или Ruby on Rails. И эту архитектуру, как сову на глобус, они стали натягивать на Go. Так появились кадавры вроде Beego и Revel. Revel благополучно сдох, хотя его и пытаются все еще откачать. А вот о Beego хочется поговорить отдельно.

Немалый вклад в продвижение Beego среди масс вложил Richard Eng своим циклом статей «A word the Beegoist». Практически «Евангелие от Ричарда». Иронично, что не смотря на то, что Ричард оголтело продвигает Go, сам он на нем не пишет.

В свою очередь я с Go, а еще хуже, с Beego, проработал не мало. И могу сказать, что это явно не тот путь, которым должна идти разработка на Go.
Читать дальше →
Всего голосов 67: ↑61 и ↓6+55
Комментарии73

Простейший JSON RESTful API на Эликсир

Время на прочтение7 мин
Количество просмотров9.3K

Как реализовать на Эликсир JSON API endpoint без каких либо фреймворков?


От переводчика:
В статье приведён пример очень простого веб-приложения, которое можно рассматривать как Hello, World! в создании простейшего API на Эликсире.
Код примера незначительно изменён для того, чтобы соответствовать текущим версиям библиотек.
Полный код примера с изменениями можно увидеть на GitHub.



Проблемы нового языка


Многие разработчики приходят в Эликсир из мира Ruby. Это очень зрелая среда с точки зрения количества доступных библиотек и фреймворков. И такой зрелости мне иногда не хватает в Эликсире. Когда мне нужна сторонняя служба, результат поисков подходящей может быть следующим:

какой же будет результат?
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Мы включили TLS 1.3. Почему вам стоит сделать то же самое

Время на прочтение4 мин
Количество просмотров22K


В начале года, в отчете о проблемах и доступности интернета за 2018-2019 мы уже писали, что распространение TLS 1.3 неизбежно. Некоторое время назад мы сами развернули версию 1.3 протокола Transport Layer Security и, после сбора и анализа данных, наконец, готовы рассказать об особенностях этого перехода.

Председатели рабочей группы IETF TLS пишут:
«Вкратце, TLS 1.3 должен предоставить фундамент более безопасного и эффективного Интернета на следующие 20 лет».

Разработка TLS 1.3 заняла долгих 10 лет. Мы в Qrator Labs, вместе со всей остальной отраслью, внимательно следили за процессом создания протокола от первоначального проекта. За это время потребовалось написать 28 последовательных версий черновика для того, чтобы в конечном счёте в 2019 году свет увидел сбалансированный и удобный в развертывании протокол. Активная поддержка TLS 1.3 рынком уже очевидна: внедрение проверенного и надежного протокола безопасности отвечает требованиям времени.

По словам Эрика Рескорлы (технического директора Firefox и единственного автора TLS 1.3) в интервью The Register:
«Это полная замена TLS 1.2, использующая те же ключи и сертификаты, поэтому клиент и сервер могут автоматически общаться по TLS 1.3, если оба его поддерживают», — сказал он. «Уже есть хорошая поддержка на уровне библиотек, а Chrome и Firefox по умолчанию включают TLS 1.3».
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии22

Личный опыт: Пять сложностей при запуске бизнеса в США

Время на прочтение6 мин
Количество просмотров53K


Вот уже пару лет я живу в США, развиваю два собственных проекта и сегодня решил поделиться опытом. Мне на глаза часто попадаются статьи с рассказами о том, как классно делать бизнес в США, авторы которых не рассказывают о возможных сложностях на этом пути. В итоге у многих может сложиться чересчур идеализированное представление о том, как они приедут в Кремниевую Долину со своим стартапом менять мир.

Так было и со мной, что неоднократно приводило к фрустрациям при столкновении с реальности. Поэтому сегодня я расскажу о сложностях в ведении бизнеса в Америке, к которым следует морально подготовиться еще до переезда.
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии150

Mkcert: валидные HTTPS-сертификаты для localhost

Время на прочтение2 мин
Количество просмотров86K

В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

Традиционно есть два решения.
Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии35

Badoo time-series storage: итак, она звалась Кассандрой

Время на прочтение15 мин
Количество просмотров14K

enter image description here


Привет, Хабр! Меня зовут Евгений Гугучкин, я – разработчик Badoo в команде «Платформа».


Наша команда работает над интересными и нужными задачами. Одна из них – разработка распределённого хранилища временных рядов, в решении которой я принимал непосредственное участие.


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

Читать дальше →
Всего голосов 66: ↑64 и ↓2+62
Комментарии32

Использование Consul для масштабирования stateful-сервисов

Время на прочтение12 мин
Количество просмотров18K
22 сентября провели наш первый нестандартный митап для разработчиков высоконагруженных систем. Было очень круто, много позитивного фидбека по докладам и поэтому решил не только их выложить, но и расшифровать для Хабра. Сегодня публикуем выступление Ивана Бубнова, DevOps из компании BIT.GAMES. Он рассказал о внедрении дискавери-сервиса Consul в уже рабочий высоконагруженный проект для возможности быстрого масштабирования и failover`а stateful-сервисов. А также об организации гибкого пространства имен для бэкэнд-приложения и подводных камнях. Теперь слово Ивану.


Я администрирую продакшн-инфраструктуру в студии BIT.GAMES и расскажу историю внедрения консула от Hashicorp в наш проект «Гильдия Героев» — fantasy RPG с асинхронным pvp для мобильных устройств. Выпускаемся на Google Play, App Store, Samsung, Amazon. DAU около 100 000, online от 10 до 13 тысяч. Игру делаем на Unity, поэтому клиент пишем на С# и используем свой собственный скриптовый язык BHL для игровой логики. Серверную часть пишем на Golang (перешли на него с PHP). Дальше — схематичная архитектура нашего проекта.
Всего голосов 27: ↑26 и ↓1+25
Комментарии9

В криптопочте ProtonMail зарегистрировано уже 5 млн аккаунтов

Время на прочтение4 мин
Количество просмотров23K
В 2013 году сотрудники Европейской организации по ядерным исследованиям (ЦЕРН) с участием коллег из Гарвардского университета и Массачусетского технологического университета разработали ProtonMail — почтовый сервис с шифрованием. Он находится в Швейцарии. По мнению разработчиков, сервис защищён от действия американских и европейских законов, в первую очередь, от контроля АНБ. Главная цель — обеспечить безопасность и уважение к частной жизни пользователей. В каком-то смысле ProtonMail стал ответом на закрытие криптопочты Lavabit после атаки американских спецслужб на её создателя Ладара Левисона. Швейцарская компания Proton Technologies AG не попадает под действие американских законов, что сводит к минимуму вероятность подобного сценария.

В сентябре 2018 года ProtonMail достиг значительного рубежа: 5 миллионов зарегистрированных пользователей. «Мы хотим, чтобы вы смогли полностью дегуглифицировать свою жизнь, — сказал сооснователь и исполнительный директор компании Энди Йен в интервью изданию Inverse. — ProtonMail даёт все [необходимые] функции, а также безопасность и конфиденциальность, которые Google не может предоставить. Это наше долгосрочное видение». Кроме почты, в будущем появится шифрование документов, электронных таблиц и всего остального.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии69

GUI на Golang: GTK+ 3

Время на прочтение7 мин
Количество просмотров84K

Решил я написать одно кроссплатформенное десктопное приложение на Go. Сделал CLI-версию, всё работает отлично. Да ещё и кросскомпиляция в Go поддерживается. Всё в общем отлично. Но понадобилась также и GUI-версия. И тут началось...


Golang gotk3

Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии58

Не без паники в Go

Время на прочтение8 мин
Количество просмотров16K

Привет, уважаемые читатели Хабрахабра. В то время, как обсуждается возможный новый дизайн обработки ошибок и ведутся споры о преимуществах явной обработки ошибок, предлагаю рассмотреть некоторые особенности ошибок, паник и их восстановления в Go, которые будут полезны на практике.
image

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии4

DJI Mavic 2 Pro / Zoom в подробностях

Время на прочтение5 мин
Количество просмотров14K
DJI — мировой лидер в производстве гражданских дронов и технологий для аэрофотосъемки — вчера (23 августа 2018) добавил в свою линейку 2 новых аппарата легендарной серии Mavic. Mavic 2 Pro — первый в мире коптер с интегрированной камерой Hasselblad и Mavic 2 Zoom — первый в мире складной коптер с оптическим зумом. Новости созданные вчера были во многом написаны «на эмоциях», так что теперь пришло время рассмотреть его чуть подробнее и описать его функции и возможности.
image
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии21

Ситуация: закрыты две уязвимости в TCP-стеке ядра Linux

Время на прочтение3 мин
Количество просмотров9.6K
В начале месяца специалисты по ИБ обнаружили в ядре Linux две новые уязвимости: SegmentSmack и FragmentSmack. Обе они связаны с работой TCP-стека и позволяют злоумышленникам проводить DoS- и DDoS-атаки на систему жертвы. «Заплатки» для большинства дистрибутивов уже выпущены.

Под катом — подробнее о сути.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии3
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Богатое, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность