Как стать автором
Обновить
3
Карма
0
Рейтинг

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

  • Подписчики 3
  • Подписки
  • Публикации
  • Комментарии

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

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

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

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

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

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

Обзор некоммерческого проекта MyVPN с открытым исходным кодом

ХостингИнформационная безопасностьOpen sourceОблачные сервисы
image


Приложение MyVPN с открытым исходным кодом позволяет автоматизировать управление виртуальными частными сетями. Для его использования не потребуются навыки системного администрирования.

image

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Просмотры12K
Комментарии 52

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

*nix

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


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

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

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

Блог компании VDS.SH / DEDIC.SHPythonХранение данныхОблачные сервисыЛайфхаки для гиков
Привет, Хабр.

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

TgCloud:


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

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

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

АлгоритмыGo

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

Про ООП

ПрограммированиеАнализ и проектирование системСовершенный кодООПФункциональное программирование


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


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

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

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

Блог компании SkillboxПрограммированиеПроектирование и рефакторингУчебный процесс в IT


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

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

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

Beego — это уже не Go

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

Хайп 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
Просмотры23K
Комментарии 73

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

Ruby on RailsAPIElixir/Phoenix
Перевод

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


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



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


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

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

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

Блог компании Qrator LabsИнформационная безопасностьСетевые технологии


В начале года, в отчете о проблемах и доступности интернета за 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
Просмотры21K
Комментарии 22

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

Развитие стартапаIT-эмиграция


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

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

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

Блог компании GlobalSignИнформационная безопасностьРазработка веб-сайтовРазработка мобильных приложенийМикросервисы

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

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

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

Блог компании BadooВысокая производительностьПрограммированиеNoSQL

enter image description here


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


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


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

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

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

Блог компании PixonicПроектирование и рефакторингРазработка игрСерверное администрированиеКонференции
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
Просмотры15K
Комментарии 9

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

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

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

GUI на Golang: GTK+ 3

ПрограммированиеGTK+Go
Tutorial

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


Golang gotk3

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

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

ПрограммированиеGo

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

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

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

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

Информация

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