Как стать автором
Обновить
1930.46
Timeweb Cloud
То самое облако
Сначала показывать

Решение уравнения тетраэдра доказано спустя десятки лет после компьютерного поиска

Время на прочтение8 мин
Количество просмотров9.5K
Как четыре математика решили вопрос о базовых геометрических фигурах, создав полный список тетраэдров с рациональными углами при помощи методов теории чисел.

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

Тетраэдр — это простейшая трехмерная фигура с плоскими сторонами. Его основные свойства озадачивали пытливые умы еще во времена Платона и Аристотеля. А в ноябре 2020 было опубликовано окончательное доказательство, в котором достоверно идентифицированы все существующие особые тетраэдры. В этой работе математики отвечают на вопрос о древней фигуре благодаря передовым технологиям, которые дают возможность использовать новый метод поиска решений определенных уравнений.
Читать дальше →

Поддержка JavaScript-приложений в долгосрочной перспективе

Время на прочтение8 мин
Количество просмотров6.3K
Публикуем перевод статьи, в которой подробно описана многолетняя работа команды по созданию и поддержанию большого портала данных на JavaScript.

В 2019 была написана статья о поддержке больших приложений на JavaScript (Maintaining large JavaScript applications). В продолжение этого материала, хотели бы поделиться клиентским проектом, который моя команда поддерживает с 2014 года.
Читать дальше →

Как перейти с secrets на credentials (Ruby on Rails)

Время на прочтение4 мин
Количество просмотров7.6K
Сredentials в версии Ruby on Rails 5.2.0 — новый золотой стандарт. Старые добрые, но небезопасные файлы .env уступают дорогу. В этой статье вы узнаете:

  • зачем и как перейти от secrets к credentials,
  • как использовать API-ключи в Ruby, YML и js.erb,
  • как раз и навсегда предоставить ключ каждому из команды.
Читать дальше →

Nuxt.js app от UI-кита до деплоя

Время на прочтение17 мин
Количество просмотров36K
Привет, Хабр!

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

В этой статье обсудим базу, основы создания приложения на Nuxt.js:

  • создание и конфигурация проекта,
  • assets и static: стили, шрифты, изображения, посты,
  • создание компонентов,
  • создание страниц и layouts,
  • развертывание приложения (деплой).

Смотрите, что получилось!
Читать дальше →

Имя не гарантирует безопасность. Haskell и типобезопасность

Время на прочтение12 мин
Количество просмотров2.4K
Разработчики на Haskell много говорят о типобезопасности (type safety). Сообщество Haskell-разработчиков отстаивает идеи «описания инвариант на уровне системы типов» и «исключения недопустимых состояний». Звучит как вдохновляющая цель! Однако не совсем понятно, как ее достичь. Почти год назад я опубликовала статью «Parse, don’t validate» — первый шаг к восполнению этого пробела.

За статьей последовали продуктивные обсуждения, но нам так и не удалось прийти к консенсусу относительно правильного использования конструкции newtype в Haskell. Идея достаточно проста: ключевое слово newtype объявляет wrapper type (тип-обертка), который отличается по имени, но репрезентативно эквивалентен типу, который он обертывает. На первый взгляд, это понятный путь к достижению типобезопасности. Например, рассмотрим, как использовать объявление newtype для определения типа адреса электронной почты:

newtype EmailAddress = EmailAddress Text

Этот прием предоставляет нам определенное значение, а в сочетании с умным конструктором и границей инкапсуляции даже может обеспечить безопасность. Но это совсем другой вид типобезопасности. Он намного слабее и отличается от того, который я выделила год назад. Сам по себе newtype — это просто псевдоним.

Names are not type safety ©
Читать дальше →

7 полезных расширений VS Code для Python-разработчиков

Время на прочтение4 мин
Количество просмотров94K
Наиболее важные и полезные расширения VS Code для Python-разработчиков в нашем новом переводе.

Я пользуюсь PyCharm, и меня всё устраивает. Скорее всего, я не буду менять редактор в ближайшее время. Но вокруг VS Code столько шумихи, столько людей в Reddit и Twitter советовали мне перейти на VS Code, что я просто не мог его не попробовать.
Читать дальше →

Управление версиями Node.js и NPM с помощью NVM

Время на прочтение5 мин
Количество просмотров306K
Наш прошлый перевод про новые функции 15-й версии Node.js был очень хорошо принят читателями «Хабра», поэтому сегодня мы решили продолжить тему и рассказать, как настроить NVM с версией Node.js 15 и NPM 7.

Версия Node.js 15 была выпущена 20 октября 2020 года. Она поставляется с npm 7 и множеством новых функций. Вы уже успели опробовать новую версию?

Но подождите минутку! Node.js 15 и npm 7 содержат критические изменения. Не повредит ли тогда обновление существующим проектам?

Теоретически может повредить!
Читать дальше →

«Битрикс24». Играемся с настройками и оптимизируем проект

Время на прочтение3 мин
Количество просмотров18K
В этой статье мы расскажем, как оптимизировать крупный проект в «Битрикс24» и увеличить его производительность в 3 раза, изменяя настройки MySQL и режим питания CPU.

Дано


Корпоративный портал в «Битрикс24», рассчитанный на несколько сотен пользователей, c ~300 Гб файлов и ~80 Гб БД на выделенном сервере с BitrixVM.
Читать дальше →

Vanilla All the Way. Ванильное облачное решение на K8s

Время на прочтение7 мин
Количество просмотров5K
Публикуем перевод статьи о Vanilla Stack — новой облачной open-source технологии на основе Kubernetes.

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


Читать дальше →

Запутанная геометрия путешествий туда и обратно

Время на прочтение6 мин
Количество просмотров5.1K
Представьте, если бы Земля была в форме куба. Как тогда найти кратчайший путь вокруг света?

Вы когда-нибудь задумывались, какой была жизнь, если бы Земля была не сферой, а имела другую форму? Мы воспринимаем как должное плавный ход нашей планеты по Солнечной системе и медленные закаты, которыми мы можем наслаждаться благодаря вращательной симметрии Земли. Кроме того, сферическая Земля позволяет определить и самый быстрый способ добраться из точки A в точку B: просто пройдите по кругу, который проходит через эти две точки и разрезает сферу пополам. Мы используем такие кратчайшие пути, их называют геодезическими, для планирования маршрутов самолетов и для расчета спутниковых орбит.



Но что бы произошло, если бы мы жили на кубе? Наш мир раскачивало бы больше, горизонты искривлены, а кратчайший путь из точки А в точку B найти труднее. Возможно, вы и не будете тратить много времени, чтобы представить свою жизнь на кубе, но математики будут: они изучают, как бы выглядели наши путешествия на самых разных формах. А недавнее решение одного из фундаментальных вопросов о додекаэдре вообще изменило взгляд на объект, который находится у нас перед глазами уже тысячи лет.
Читать дальше →

Что нового в Node.js 15?

Время на прочтение8 мин
Количество просмотров8.6K
Делимся переводом статьи, в которой собраны подробности о новых функциях 15-й версии Node.js.

Версия Node.js 15 была выпущена 20 октября 2020 года. Среди основных изменений:

  • режим throw при необработанных отклонениях
  • особенности языка V8 8.6
  • NPM 7
  • экспериментальная поддержка QUIC
  • N-API Version 7
  • доработка API асинхронного локального хранилища (Async Local Storage)

Давайте подробнее рассмотрим, что эти нововведения из себя представляют и как их можно использовать.
Читать дальше →

Таков путь! Эволюция бэкапов в Timeweb: от rsync до ZFS

Время на прочтение3 мин
Количество просмотров11K
Мы постарались кратко описать путь, который прошла команда Timeweb за 10 лет: от rsync, LVM и DRBD до ZFS. Эта статья будет полезна тем, кто занимается серверной масштабируемой инфраструктурой, планирует делать бэкапы и заботится о бесперебойной работе систем.

image

Расскажем о:

  • rsync (remote synchronization)
  • DRBD (Distributed Replicated Block Device)
  • инкрементальные бэкапы под DRBD с помощью LVM
  • DRBD + ThinLVM
  • ZFS (Zettabyte File System)
Читать дальше →

Beep, Beep, I'm a sheep

Время на прочтение5 мин
Количество просмотров4.5K
В новой переводной статье обсуждаем, как создать бипер на разных платформах.

Аудио-ввод-вывод — непростая тема, пугающая многих музыкантов, которые занимаются программированием, и программистов, которые увлекаются музыкой. Давайте попробуем разобраться в этом вопросе! В этой статье мы обсудим, как работает звук на каждой из современных ОС (десктоп-версии).
Читать дальше →

NextJS и Create-React-App. В чем разница?

Время на прочтение4 мин
Количество просмотров14K
Публикуем новый перевод для начинающих React-разработчиков. Надеемся, статья поможет при выборе подходящего инструмента для вашего следующего проекта.

Когда речь идет о создании новых проектов на React, перед нами стоит очевидный выбор: NextJS или Create-React-App. Gatsby практически перестал использоваться из-за медленных сборок при масштабировании. Кроме того, NextJS становится всё более удобным генератором статических сайтов.
Читать дальше →

Ближайшие события

Синтезатор мелодий Nokia Composer в 512 байтах

Время на прочтение8 мин
Количество просмотров9.4K
Немного ностальгии в нашем новом переводе — пробуем написать Nokia Composer и сочинить собственную мелодию.

Кто-то из читателей пользовался стареньким Nokia, например, моделями 3310 или 3210? Вы должны помнить его прекрасную функцию — возможность сочинять собственные рингтоны прямо на клавиатуре телефона. Расставляя ноты и паузы в нужном порядке, можно было воспроизвести популярную мелодию из динамика телефона и даже поделиться творением с друзьями! Если вы пропустили ту эпоху, вот как это выглядело:
Читать дальше →

Ускоряем CI/CD-пайплайн с помощью Kubernetes в Docker (KinD)

Время на прочтение6 мин
Количество просмотров6.7K
В нашей новой переводной статье разбираемся с KinD на практическом примере.

Создание кластера Kubernetes со временем становится все проще. На рынке доступно несколько решений под ключ, и сейчас никто не выбирает сложный путь!



Стоит отметить, что Minikube был одним из основных кластеров, которые разработчики использовали для быстрой разработки и тестирования контейнеров. Хотя Minikube в настоящее время поддерживает многоузловой кластер на экспериментальной основе, его еще нет в общем доступе (GA).
Читать дальше →

Написание Dockerfile. Лучшие практики

Время на прочтение4 мин
Количество просмотров13K
Публикуем новый перевод и надеемся, что рекомендации автора помогут вам оптимизировать образ Docker.

С момента своего создания Docker произвел революцию в том, как мы используем контейнеры. В основном это связано с простотой, которую обеспечивает Docker. Его можно использовать, даже не разбираясь в каких-либо сложных темах, связанных с контейнерами.



Если вы новичок в Docker, можете выбрать шаблон (базовый образ) и определить свои инструкции (команды Dockerfile), чтобы разместить свой код внутри образа и запустить его.

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

Go-приложение с бессерверной архитектурой на Kubernetes с Knative

Время на прочтение8 мин
Количество просмотров3.8K
Автор нашей новой переводной статьи утверждает, что Knative — лучшее, что только могли придумать во Вселенной! Вы согласны?

Если вы уже используете Kubernetes, то, вероятно, слышали о бессерверной архитектуре (serverless). Хотя обе платформы, Kubernetes и Knative, являются масштабируемыми, именно бессерверная архитектура делает всё возможное, чтобы предоставлять разработчикам работающий код и не беспокоить их проблемами инфраструктуры. Кроме того, такая архитектура сокращает расходы на инфраструктуру за счет виртуального масштабирования экземпляров приложения с нуля.
Читать дальше →

Создание React-компонентов с помощью Hygen

Время на прочтение5 мин
Количество просмотров6.7K
Вы использовали когда-нибудь Hygen, автоматический генератор кода? Если еще нет, возможно, наш перевод откроет для вас новый полезный инструмент.



Читать дальше →

k0s: Kubernetes в одном бинарном файле

Время на прочтение10 мин
Количество просмотров10K
В нашей новой переводной статье даем краткий обзор на новый дистрибутив Kubernetes. Надеемся, статья окажется интересной для читателей Habr'a.

Пару дней назад друг рассказал мне о новом дистрибутиве Kubernetes от Mirantis под названием k0s. Все мы знаем и любим K8s, не так ли? Нас также покорил K3s, легкий Kubernetes, разработанный Rancher Labs и переданный CNCF некоторое время назад. Пришло время открыть для себя новый дистрибутив k0s!
Читать дальше →

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Timeweb Cloud