Как стать автором
Обновить
-4
Карма
0.1
Рейтинг

Человек

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

Делаем микрообразы с микросервисами

JavaScriptNode.JSTypeScriptМикросервисы

Из цикла "Микросервисы или смерть"

Решаемая проблема: монолитное приложение на Node.js раньше, в развернутом состоянии, занимало 0.2 Гб всего. Теперь же, разбитое на 33 микросервиса, занимает 33 * 0.1 = 3.3 Гб. Можно ли избежать подобной издержки? -- можно! В статье мы избавимся от лишнего веса.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Просмотры4.4K
Комментарии 15

Новый квантовый парадокс уточняет, в каком случае наши представления о реальности оказываются неверными

Научно-популярноеФизика
Перевод

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



Если монетка не может выпасть орлом и решкой одновременно, физикам нужно отбросить простые предположения касаемо природы реальности

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

Новый мысленный эксперимент бросает вызов этим предположениям и раскачивает основы квантовой физики. Он, конечно, и сам странный. К примеру, он требует проводить измерения, способные стереть любые воспоминания о только что проделанном наблюдении. С людьми это невозможно, а квантовые компьютеры могли бы провести такой странный эксперимент и, теоретически, найти различия между разными интерпретациями квантовой физики.
Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Просмотры65K
Комментарии 50

Бесплатные хостинги для веб-разработчиков

ХостингРазработка веб-сайтов
Из песочницы

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

Одним из наиболее популярных направлений разработки сегодня является веб. И когда нужно разместить свой проект где-нибудь, кроме localhost, многие сталкиваются с трудностями, ведь хостинг должен быть быстрым, удобным и, желательно, бесплатным :)

В этом списке вы найдете 15 бесплатных сервисов, где легко сможете разместить свой проект и не заплатите ни копейки. Погнали!

Читать далее
Всего голосов 40: ↑39 и ↓1+38
Просмотры34K
Комментарии 31

Использование Typescript с React – руководство для новичков

Блог компании OTUSJavaScriptReactJSTypeScript
Перевод
Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript».



Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием Typescript, я решил поделиться некоторыми вещами, которые узнал за это время. В этом руководстве я расскажу вам про шаблоны, которые я использую для Typescript и React в 80% случаев.

Стоит ли изучать Typescript для разработки приложений на React? Стоит, еще как стоит! Для себя я осознал на практике, что строгая типизация приводит к написанию гораздо более надежного кода, быстрой разработке, особенно в крупных проектах. Сначала вы, вероятно, будете разочарованы, но по мере работы вы обнаружите, что хотя бы минимальный шаблон действительно будет очень кстати.

И если вы застряли на чем-то, помните, что вы всегда можете типизировать что- нибудь как any. Any – ваш новый друг. А теперь перейдем непосредственно к примерам.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Просмотры108K
Комментарии 8

REACT + JEST = TDD ❤️

Блог компании ManyChatРазработка веб-сайтовTDDТестирование веб-сервисовReactJS
Привет, Хабр! Меня зовут Андрей Хижняк, я фронтенд-разработчик в команде, разрабатывающей App Store внутри ManyChat.

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

От том, что из этого вышло, и будет моя статья, добро пожаловать под кат!


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

Jest и Puppeteer: автоматизация тестирования веб-интерфейсов

Блог компании RUVDS.comРазработка веб-сайтовJavaScriptNode.JSТестирование веб-сервисов
Перевод
Эту статью написал программист из Италии Валентино Гаглиарди. Он говорит, что сразу после выхода Puppeteer его заинтересовала автоматизация тестирования веб-интерфейсов с использованием данной библиотеки и Jest. После этого он приступил к экспериментам.



Здесь речь пойдёт об основах работы с Puppeteer и Jest на примере тестирования веб-формы. Также тут будут рассмотрены особенности использования Chromium с пользовательским интерфейсом и без него, и некоторые полезные мелочи, касающиеся различных аспектов тестирования веб-страниц и организации рабочей среды. Валентино полагает, что, хотя Puppeteer — инструмент сравнительно новый и его API вполне может подвергаться изменениям, у него есть шанс занять достойное место в арсенале веб-разработчиков.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Просмотры36K
Комментарии 8

Внедрение E2E-тестирования с Puppeteer и Jest

Блог компании ReksoftРазработка веб-сайтовJavaScriptGoogle ChromeТестирование веб-сервисов

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

Хотим поделиться краткой историей о том, как мы на одном из проектов «Рексофт» пришли к написанию автотестов, и почему сделали акцент именно на e2e-тестах.

Читать
Всего голосов 5: ↑4 и ↓1+3
Просмотры2K
Комментарии 3

Как проводить сквозное (end-to-end) тестирование вашего приложения используя Cypress.io

Тестирование IT-системJavaScriptТестирование веб-сервисов
Перевод
Tutorial

В этой статье вы узнаете:

Что такое Cypress и когда его стоит использовать.

Основы тестирования с использованием Cypress.

Расширенные команды Cypress.

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

Лучшие практики с использованием Cypress.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Просмотры5K
Комментарии 3

Примеры применения переменных CSS на практике

Блог компании SkillFactoryВеб-дизайнРазработка веб-сайтовCSSHTML
Перевод
Tutorial

Когда я впервые попробовал использовать переменные CSS, у меня не было полного представления об их возможностях. Правильное их использование позволяет существенно сократить время и трудозатраты на решение определённых задач в CSS. В преддверии старта нового потока курса по Frontend разработке делимся с вами описанием практического использования переменных CSS помимо их применения для создания маркеров дизайна, таких как цвета.

Приятного чтения
Всего голосов 6: ↑5 и ↓1+4
Просмотры6.2K
Комментарии 5

Оплата в телеграм боте — Платежи 2.0 — Сбербанк + Telegraf + Node.js

МессенджерыПлатежные системыJavaScriptNode.JS
Tutorial

Платежи 2.0 — В мессенджере Telegram появилась возможность принимать платежи в любом чате, включая группы и каналы. Подключить свой магазин к платформе можно самостоятельно, без согласования с Telegram.



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

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

Фибоначчи на собеседовании

JavaScriptАлгоритмыМатематика
Вычисление ряда Фибоначчи — это классическая алгоритмическая задача, потому её нередко дают на собеседованиях, когда хотят проверить, что кандидат в принципе хоть как-то умеет в алгоритмы. Предположим, вы тот самый кандидат. Вам дали задание: на языке JavaScript написать функцию fib(n), возвращающую энное число Фибоначчи. Считаем, что нулевое число Фибоначчи — это нуль. Проверка корректности аргумента не требуется. Какие у вас есть варианты?

image
Выбирай мудро
Всего голосов 183: ↑177 и ↓6+171
Просмотры87K
Комментарии 134

REM vs EM – Великий спор

CSSHTML
Перевод


Представляю вашему вниманию перевод достаточно большой и объемной статьи по поводу вечного спора, какие же единицы измерения использовать при верстке: em'ы или rem'ы. В каких случаях стоит использовать одни единицы, а в каких другие. Вас ожидает много кода, примеров и их объяснений.

Добро пожаловать в мир типографики и относительных единиц измерения =)
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Просмотры165K
Комментарии 38

Вы можете создавать эти элементы, не используя JavaScript

Блог компании SkillFactoryРазработка веб-сайтовCSSПрограммированиеHTML
Перевод

Мы привыкли создавать некоторые элементы пользовательского интерфейса с помощью JavaScript, например аккордеоны, всплывающие подсказки (тултипы), усечение текста и т. д. Но, поскольку HTML и CSS постоянно получают новые функции, а старые браузеры больше не нужно поддерживать, мы можем использовать намного меньше JavaScript-кода для создания элементов пользовательского интерфейса и больше фокусироваться на логической части (проверки, обработка данных и т. д.). Специально к старту новых потоков по специализации Frontend-разработчик и Веб-разработчик делимся с вами несколькими хитростями.

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

Бесплатные сервисы для разработчиков — огромный список

Блог компании МаклаудРазработка веб-сайтовOpen sourceУправление разработкойСофт

Бесплатное хранилище артефактов PackageCloud

Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.

Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Просмотры32K
Комментарии 15

Учимся разворачивать микросервисы. Часть 4. Jenkins

Системы сборкиDevOps
Tutorial


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


Это четвертая и заключительная часть серии статей "Учимся разворачивать микросервисы", и сегодня мы настроим Jenkins и создадим пайплайн для микросервисов нашего учебного проекта. Jenkins будет получать файл конфигурации из отдельного репозитория, собирать и тестировать проект в Docker-контейнере, а затем собирать Docker-образ приложения и пушить его в реестр. Последней операцией Jenkins будет обновлять кластер, взаимодействуя с Helm (более подробно о нем в прошлой части).

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

Python & EEL. Делаем просто на Python’е и красиво на JS

PythonJavaScriptПрограммированиеHTML
Из песочницы

Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие совмещать красоту графических дизайнов, создаваемых на HTML, CSS и JS с гибкостью в реализации логики приложения, которую может дать другой язык. Так вот, для тех, кто пишет на самом лучшем языке программирования Python, есть возможность писать красивые интерфейсы на HTML, CSS и JS и прикручивать к ним логику на Python.

В этой статья я хочу показать на небольшом примере, как же все таки создать простое и красивое десктопное приложение на HTML, CSS, JS и Python. В качестве библиотеки для связи всех компонентов будем использовать EEL.

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

Как реализовать динамическую диаграмму для Vue на основе SVG

Блог компании SimbirSoftCSSJavaScriptРабота с векторной графикойVueJS
Бывает, что на сайте, в корпоративной IT-системе или другом ПО нужно отображать круговые диаграммы с какими-либо данными. Например, это может быть таймер для отсчета времени или индикатор, сколько товаров продано в той или иной категории. Если это статическое изображение, конечно, можно обойтись форматом svg, png или gif. Однако, зачастую нужно показать данные в динамике – например, для мониторинга или просто для привлечения внимания пользователей, для создания красивой анимации при загрузке сайта. Делимся примером, как можно построить диаграмму из элементов SVG с помощью JS и CSS.

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

Все об SVG анимации

Работа с векторной графикойКомпьютерная анимация
Из песочницы
Tutorial
В данной статье я хочу осветить тонкости работы с SVG-графикой, SVG анимацию (в том числе и path), проблемы и способы их решения, а также разнообразные подводные камни, коих в SVG огромное множество. Эту статью я позиционирую как подробное руководство.



Здесь не будет никаких плагинов, библиотек и прочего, речь пойдет только о чистом SVG.
Единственный инструмент, который я буду использовать, это Adobe Illustrator.
Получить сакральные знания
Всего голосов 39: ↑39 и ↓0+39
Просмотры92K
Комментарии 21

О завершении работы Node.js-процессов

Блог компании RUVDS.comРазработка веб-сайтовJavaScriptNode.JS
Перевод
Node.js-процессы завершают работу по разным причинам. При этом в некоторых случаях «смерть» процесса можно предотвратить. Например — в ситуации, когда причиной остановки процесса может стать необработанная ошибка. А вот иногда с остановкой процесса ничего поделать нельзя. Например — если её причина кроется в нехватке памяти. В Node.js существует глобальный объект process, являющийся экземпляром класса EventEmitter. Этот объект, при нормальном завершении процесса, генерирует событие exit. Код приложения может прослушивать это событие и, при его возникновении, выполнять, в синхронном режиме, некие операции по освобождению ресурсов.

Существует несколько способов намеренного завершения работы процесса. Среди них — следующие:

Операция Пример
Ручной выход из процесса
process.exit(1)
Неперехваченная ошибка
throw new Error()
Необработанное отклонение промиса
Promise.reject()
Проигнорированное событие error
EventEmitter#emit('error')
Необработанный сигнал
$ kill <PROCESS_ID>

Многие из этих операций часто выполняются случайно, например — это касается неперехваченных ошибок и необработанных исключений. Но одна из них, с которой мы начнём разбор причин завершения Node.js-процессов, была создана с целью дать разработчику возможность вручную завершать процессы.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Просмотры6.1K
Комментарии 2

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

Блог компании НПП ИТЭЛМАПрограммированиеСовершенный кодПроектирование и рефакторингУправление разработкой
Перевод
image

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

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

Последовательное применение этих принципов упростит ваш переход от миддла к сеньору. Вы можете обнаружить, что некоторые (вероятно) вы применяете интуитивно.

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

Этот принцип прост и очевиден, но ему далеко не все следуют. Если пишете код, то будьте уверены, что он вам понадобится. Не пишите код, если думаете, что он пригодится позже.

Этот принцип применим при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Просмотры22K
Комментарии 9
1

Информация

В рейтинге
1,846-й
Откуда
Россия
Зарегистрирован
Активность