Как стать автором
Обновить
73.77
Рейтинг
Typeable
Functional programming, High assurance, Consulting
Сначала показывать
  • Новые
  • Лучшие

Когда стоит выбирать микросервисы

Блог компании TypeableАнализ и проектирование системМикросервисы

Всем привет! Меня зовут Виктория, в Typeable я занимаюсь вопросами архитектуры приложений и не могла пройти мимо вечного вопроса: быть или не быть? Точнее переводить нам наши решения на микросервисы или нет. И с целью это понять я провела небольшое исследование возможных причин и анти-причин, выводы по которому и привожу здесь.

Микросервисы начали набирать популярность в 2011-2014 годах, органично заменяя тяжеловесные SOA и монолитные решения, там где архитектура блокировала доступ к быстро развивающемуся рыночному сектору облачных приложений.

Сам подход оформился на стыке технологий из конкурентной необходимости мгновенно вывести бизнес на новый уровень, и поэтому решения развивались лавинообразно и быстро обзаводились надстройками, паттернами и CI/CD обвеской. Для бизнеса причины не теряют актуальности и интерес к микросервисам также не угасает последние десять лет. При этом сделать решение на микросервисах для ИТ команды – задача творческая, интеллектуальная, позволяющая опробовать современные подходы и уложить на лопатки драконов консерватизма предыдущих решений. То есть, вполне благородный вызов. 

Но вот стоит ли поддаваться этой магии — большой вопрос. 

Как и всякое модное решение микросервисы не всегда идут на пользу. И не являются панацеей от всех проблем. 

Впрочем, давайте разбираться.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Просмотры3.6K
Комментарии 4

Создаем веб-приложение на Haskell с использованием Reflex. Часть 4

Блог компании TypeableРазработка веб-сайтовПрограммированиеHaskellФункциональное программирование
Tutorial

Часть 1


Часть 2


Часть 3


Всем привет! В новой части мы рассмотрим использование JSFFI.


intro

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Просмотры1.7K
Комментарии 0

Почему я считаю Haskell хорошим выбором с точки зрения безопасности ПО?

Блог компании TypeableИнформационная безопасностьПрограммированиеHaskellФункциональное программирование
Перевод


Команда Typeable понимает ценность безопасности. Мы любим Haskell, но стоит ли его выбирать, если ваша цель – создание защищенного программного обеспечения? Хотелось бы сказать «да», но как и для большинства эмпирических вопросов о разработке ПО, здесь просто нет объективного доказательства, подтверждающего, что Haskell – или ещё какой-нибудь язык программирования – обеспечивает большую безопасность, чем любой другой. Нельзя сказать, что выбор языка в Typeable не имеет значения для безопасности, но какое именно значение он имеет, еще нужно подумать.


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

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Просмотры5K
Комментарии 60

Создаем веб-приложение на Haskell с использованием Reflex. Часть 3

Блог компании TypeableРазработка веб-сайтовПрограммированиеHaskellФункциональное программирование
Tutorial

Часть 1.


Часть 2.


Всем привет! В этой части мы рассмотрим использование класса EventWriter и библиотеки ghcjs-dom.


Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Просмотры1.7K
Комментарии 0

Nix: воспроизводимая сборка

Блог компании TypeableПрограммированиеРазработка под Linux


Привет, Хаброюзеры!


Сегодня мы продолжим наш цикл статей о Nix и как мы в Typeable его используем.


Первый пост из серии, рассказывающий об основах языка Nix, можно прочитать здесь.


Так как мы очень любим и много используем Haskell для разработки, пример приложения будет на этом языке, но знание Haskell здесь никак не требуется. С лёгким допиливанием, код из примеров можно использовать и для сборки проектов на других языках.


Весь код для этой статьи можно найти в репозитарии на Github.

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Просмотры2.2K
Комментарии 10

Как мы выбираем языки программирования в Typeable

Блог компании TypeableПрограммированиеHaskellФункциональное программированиеRust

Неоднократно меня спрашивали, почему я предпочитаю использовать такие языки программирования как Haskell и Rust, т.к. они не являются самыми широко используемыми и популярными инструментами. Этот пост написан с целью демистифицировать то, что происходит у меня в голове, когда я думаю о выборе технологии.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Просмотры4.4K
Комментарии 12

Восемь «забавных» вещей, которые могут с вами произойти, если у вас нет защиты от CSRF-атак

Блог компании TypeableИнформационная безопасностьРазработка веб-сайтов
Перевод


Введение


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

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Просмотры4.7K
Комментарии 3

Nix: Что это и с чем это употреблять?

Блог компании TypeableПрограммированиеРазработка под Linux
Tutorial


Привет, Хабр!


Мы в Typeable хотели опубликовать небольшой цикл статей о том, как Nix нам помогает (и немного мешает) в разработке. Но, проведя немножко времени в поисках похожего материала здесь, с удивлением обнаружили, что на Хабре нет толкового введения в Nix, на которое можно было бы сослаться.


Статья от @snizovtsev подойдёт как хорошее введение при разработке на C++, но это не совсем то введение, которое мне хотелось бы видеть. Поэтому я решил написать его сам :)


Файлы к этой статье можно найти здесь.

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Просмотры2.9K
Комментарии 0

Создаем веб-приложение на Haskell с использованием Reflex. Часть 2

Блог компании TypeableРазработка веб-сайтовПрограммированиеHaskellФункциональное программирование
Tutorial

Часть 1.


Часть 3.


Всем привет! Продолжаем серию туториалов по разработке веб-приложения на Reflex.
В этой части мы добавим возможность выполнять различные манипуляции со списком задач.


intro

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

Зачем мы транспилируем Haskell в JavaScript

Блог компании TypeableНенормальное программированиеРазработка веб-сайтовПрограммированиеHaskell

Привет, Хабр! Сегодня мы расскажем, почему мы пишем фронтенд на Haskell и компилируем его в JavaScript. Вообще говоря, подобный процесс называется транспиляцией:


Транспиляция — это процесс преобразования программы на языке X в эквивалентную программу на языке Y. В отличие от компиляции, языки X и Y находятся примерно на одном и том же уровне абстракции.

Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Просмотры4.1K
Комментарии 13

Язык моделирования Alloy и приключения с параллельными запросами к базе данных

Блог компании TypeableТестирование IT-системАнализ и проектирование системОтладка
Перевод

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



О качестве программного обеспечения и инструментарии


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


  1. Анализ и создание спецификаций
  2. Устранение простых ошибок с использованием системы типов Haskell
  3. Стандартные юнит-тесты и интеграционные тесты
  4. Непрерывная интеграция
  5. Обязательные ревью кода
  6. Тестирование на стендах, проводимое QA инженерами
    (мы используем Octopod для оптимизации процесса разработки и QA)
  7. Тестирование в pre-production среде
  8. Ведение логов и контроль ошибок на этапе эксплуатации

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

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Просмотры1.6K
Комментарии 0

Сравнение Elm и Reflex

Блог компании TypeableПрограммированиеHaskellФункциональное программированиеElm

Введение


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


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

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Просмотры2.3K
Комментарии 2

Создаем веб-приложение на Haskell с использованием Reflex. Часть 1

Блог компании TypeableРазработка веб-сайтовПрограммированиеHaskellФункциональное программирование
Tutorial

Часть 2.


Часть 3.


Введение


Всем привет! Меня зовут Никита, и мы в Typeable для разработки фронтенда для части проектов используем FRP-подход, а конкретно его реализацию на Haskell – веб-фреймоворк reflex. На русскоязычных ресурсах отсутствуют какие-либо руководства по данному фреймворку (да и в англоязычном интернете их не так много), и мы решили это немного исправить.


В этой серии статей будет рассмотрено создание веб-приложения на Haskell с использованием платформы reflex-platform. reflex-platform предоставляет пакеты reflex и reflex-dom. Пакет reflex является реализацией Functional reactive programming (FRP) на языке Haskell. В библиотеке reflex-dom содержится большое число функций, классов и типов для работы с DOM. Эти пакеты разделены, т.к. FRP-подход можно использовать не только в веб-разработке. Разрабатывать мы будем приложение Todo List, которое позволяет выполнять различные манипуляции со списком задач.


Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Просмотры5.3K
Комментарии 2

Сильные стороны функционального программирования

Блог компании TypeableПрограммированиеФункциональное программирование
image

Привет! Меня зовут Катерина, и я испытываю самые тёплые чувства к функциональному программированию, использую функциональный язык на постоянной основе и даже немного преподаю.

Основной язык разработки у нас в Typeable — Haskell, и, пока все спорили о том, готов ли Haskell для продакшена, мы просто его использовали и считали конкурентным преимуществом. Нам хотелось бы поделиться своим мнением, основанным на этом опыте.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Просмотры10K
Комментарии 50

Как мы строили параллельные вселенные для нашего (и вашего) CI/CD пайплайна в Octopod

Блог компании TypeableOpen sourceТестирование IT-системУправление разработкойDevOps

Как мы строили параллельные вселенные для нашего (и вашего) CI/CD пайплайна в Octopod



Привет, Хабр! Меня зовут Денис и я вам расскажу как нас надоумило сделать техническое решение для оптимизации процесса разработки и QA у себя в Typeable. Началось с общего ощущения, что вроде делаем все правильно, но все равно можно было бы двигаться быстрее и эффективнее — принимать новые задачки, тестировать, меньше синхронизироваться. Это все нас привело к дискуссиям и экспериментам, результатом которых стало наше open-source решение, которое я опишу ниже и которое теперь доступно и вам.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Просмотры1.9K
Комментарии 6

Информация

Дата основания
Местоположение
Россия
Сайт
typeable.io
Численность
11–30 человек
Дата регистрации