Как стать автором
Обновить
80
15.4
Timeweb Cloud @Timeweb_Cloud

Редактор блога Timeweb

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

Бонус работы аналитиком данных: Как я нашел свой новый дом в Дублине

Время на прочтение14 мин
Количество просмотров6.7K
Наш сегодняшний перевод посвящен Data Science. Аналитик данных из Дублина рассказал, как искал себе жилье на рынке с высоким спросом и низким предложением.



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

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

Когда мы с женой решили приобрести новый дом в Дублине, я сразу увидел возможность использовать знания!
Читать дальше →
Всего голосов 8: ↑6 и ↓2+6
Комментарии7

Черные дыры могут иметь «волосы». Эйнштейн не прав?

Время на прочтение4 мин
Количество просмотров40K
Недавно проведенное исследование американских физиков об экстремальных черных дырах может опровергнуть знаменитую теорему об отсутствии волос.

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



Чтобы объяснить идею, представим однояйцевых близнецов. Они имеют одинаковый генотип, это генетические копии, но даже такие близнецы будут различаться множеством вещей: от темперамента до прически. Черные дыры, согласно теории гравитации Альберта Эйнштейна, могут иметь всего три характеристики: массу, спин и заряд. Если эти значения одинаковы для любых двух черных дыр, то они идентичны, будет невозможно отличить одну от другой. У черных дыр нет волос.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+16
Комментарии33

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Смотрите, что получилось!
Читать дальше →
Всего голосов 6: ↑4 и ↓2+4
Комментарии4

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

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

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

newtype EmailAddress = EmailAddress Text

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

Names are not type safety ©
Читать дальше →
Всего голосов 10: ↑7 и ↓3+7
Комментарии2

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

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

Я пользуюсь PyCharm, и меня всё устраивает. Скорее всего, я не буду менять редактор в ближайшее время. Но вокруг VS Code столько шумихи, столько людей в Reddit и Twitter советовали мне перейти на VS Code, что я просто не мог его не попробовать.
Читать дальше →
Всего голосов 21: ↑16 и ↓5+18
Комментарии12

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

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

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

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

Теоретически может повредить!
Читать дальше →
Всего голосов 6: ↑3 и ↓3+2
Комментарии3

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

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

Дано


Корпоративный портал в «Битрикс24», рассчитанный на несколько сотен пользователей, c ~300 Гб файлов и ~80 Гб БД на выделенном сервере с BitrixVM.
Читать дальше →
Всего голосов 12: ↑6 и ↓6+4
Комментарии7

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

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

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


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

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

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

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



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

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

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

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

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

Давайте подробнее рассмотрим, что эти нововведения из себя представляют и как их можно использовать.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+18
Комментарии4

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

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

image

Расскажем о:

  • rsync (remote synchronization)
  • DRBD (Distributed Replicated Block Device)
  • инкрементальные бэкапы под DRBD с помощью LVM
  • DRBD + ThinLVM
  • ZFS (Zettabyte File System)
Читать дальше →
Всего голосов 15: ↑13 и ↓2+22
Комментарии23

Beep, Beep, I'm a sheep

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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



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

Простота Docker будем помогать вам в работе с самого начала его использования, а навык его оптимизации приходит с опытом и обычно требует времени.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+8
Комментарии10

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

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

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

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность