Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Введение в Test-Driven Development на React для чайников

ReactJS *TDD *JavaScript *
Перевод

Привет, в данном посте вы найдете перевод статьи Mangabo Kolawole, в которой пойдет речь о Test-Driven Development. Мы создадим крайне простое приложение на React по всем правилам TDD.

Первое правило Test-Driven Development (TDD) – это написание тестов перед написанием кода. Это звучит более интуитивно, когда мы говорим о разработке для бэкенда, если честно, но работает ли данная схема для фронтенда, в частности для React, что же, посмотрим.

Читать далее
Рейтинг 0
Просмотры 26
Комментарии 0

Новости

Как мы четыре года организовываем работу на удаленке с помощью Discord

IT-компании IT-инфраструктура *Удалённая работа Мессенджеры *
Из песочницы

Тренд 2020 года продолжает расти. Все больше компаний дают возможность работать сотрудникам в гибридном формате или полностью из дома.

Я расскажу, как мы организовали удаленную работу в Discord.

Меня зовут Илья, я CTO компании 2people IT и один из её основателей. Основная наша деятельность – это разработка мобильных и веб-приложений на заказ.

Читать далее
Рейтинг 0
Просмотры 137
Комментарии 0

Как задавать требования к качеству ПО в цифрах?

Тестирование IT-систем *Анализ и проектирование систем *Подготовка технической документации *

Требования к качеству, несмотря на свой небольшой размер, очень сильно влияют на реализуемость всей совокупности требований, на трудоёмкость, длительность и стоимость реализации, а следовательно окупаемость инвестиций в разработку и в целом возможную успешность проекта.

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

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

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

При этом остаётся прагматический вопрос — а что именно писать в требования, чтобы они были полезными, измеримыми, реализуемыми?

С точки зрения системной инженерии, требования к качеству программной системы являются разновидностью системных ограничений (constraints) и в этом они отличаются от требований к способностям (capabilities) системы, в мире ИТ обычно называемых «функциональными».

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

Давайте попробуем сделать это хотя бы ремеслом.

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

Как разработчику перестать быть потребителем технологий

Блог компании Sportmaster Lab Программирование *Совершенный код *Карьера в IT-индустрии
Перевод

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

Почему ты выбрал такой подход к решению?

  • Не знаю. Прочитал в какой-то статье.
  • Не знаю. Скопипастил его из X.
  • Не знаю. Такой же подход я использовал в предыдущем проекте.
  • Не знаю. Кто-то мне посоветовал.

Этот паттерн можно назвать "потреблением вместо творчества". Потреблением без сомнений и вопросов. Потреблением, потому что можно спрятаться за чьим-то авторитетом.

Я видела разработчиков, берущих решение других людей как должное. Без малейших раздумий о выбранном подходе, не заморачиваясь анализом. Да, конечно, когда Дэн Абрамов говорит мне, как правильно использовать React, или в документации написано, что это единственный способ применения API, то с этим нужно согласиться. Тем не менее, когда вы используете какой-то технический контент без хотя бы доли скептицизма, то вы всё равно сможете продвинуться в своей карьере, но есть вероятность, что это вам помешает.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 1.2K
Комментарии 3

8 проектов с открытым исходным кодом

CMS *Open source *Тестирование веб-сервисов *ReactJS *
Перевод

Представляю несколько проектов с исходным кодом начиная от инструментов для повышения производительности до B2B приложений. Решения можно использовать как замену платным.

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

Поиск вредоносного кода «голыми руками»

Информационная безопасность *DevOps *
Recovery mode
Tutorial

Последнее время появилась острая необходимость проверять, что прилетело с очередными обновлениями кода в папку /vendor /venv или любую другую, где лежат исходники внешних зависимостей проекта. (poetry, composer, go install и тд., кто на чем пишет).

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

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

Читать далее
Всего голосов 3: ↑0 и ↓3 -3
Просмотры 803
Комментарии 15

Vue или React? Кратко о возможном росте технического долга и что лучше для начинающих

JavaScript *ReactJS *VueJS *
Из песочницы

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

Что подразумевается под необоснованной сложностью проектов?

Для начала необходимо отметить, что «React» в отличии от «Vue» предоставляет огромную свободу разработчику. Благодаря этому разработчики любят данный фреймворк и всячески указывают, что приложения на «React» будут быстрее и производительнее чем на «Vue». Это несомненно так, «React» приложения можно сделать быстрым, производительным и легко тестируемым. К сожалению, достичь этого крайне тяжело и из-за этого многие компании могут иметь не высокопроизводительные приложения, а наоборот перегруженные излишним кодом и трудно тестируемые приложения. Это связанно с тем, что начинающим разработчикам сложно понять, как правильно писать приложения на «React».

«React» словно тренер по плаванию, бросает вас в воду и говорит плыви, ему не важно будете вы правильно дышать или махать руками, ему важно чтобы вы плыли. Проецируя данный пример на «React», мы получаем возможность писать очень плохой рабочий код. Особенно это распространено в командах, где нет специалиста по «React». Люди меняются и каждый раз поддерживать приложение все труднее и труднее, кто-то увидел пример в функциональном стиле:

Читать далее
Всего голосов 18: ↑12 и ↓6 +6
Просмотры 4.1K
Комментарии 9

Реализация простой HTML5-панели управления серверами с поддержкой IPMI

Блог компании HOSTKEY Хостинг HTML *Серверное администрирование *API *

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

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

Узнать, как все устроено
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.3K
Комментарии 15

Как поместить ваше Next.js/React приложение в Docker

ReactJS *
Перевод
Tutorial

Привет, в переводе данного руководства вы сможете узнать как поместить ваше приложение в докер.

Докер – это открытая платформа для разработки, запуска и управления контейнерами на сервере и в облаке.

Для примера приложения в этом руководстве мы будем использовать Next.js.

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

Сравниваем готовые решения для реализации MVI-архитектуры на Android

Блог компании SimbirSoft Программирование *Разработка мобильных приложений *Разработка под Android *


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

В этой статье мы разберем решения для реализации MVI-архитектуры на Android, большинство из которых применимы в работе. Описали их преимущества и недостатки, основываясь на опыте коллег и собственной практике. Материал будет полезен для разработчиков, ещё не знакомых с паттерном MVI, и для тех, кто выбирает библиотеку для своего проекта.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.1K
Комментарии 0

Как мы индекс в Elasticsearch строили

Блог компании Just AI Программирование *Хранилища данных *

Всем привет! Меня зовут Данил, и мы в Just AI разрабатываем платформу для создания различных чат-ботов. И для того, чтобы максимально упростить этот процесс, а именно процесс написания сценария работы бота, мы имеем свой собственный DSL.

С его помощью можно описать поведение вашего бота, а при помощи javascript’а наполнить бота различной кастомной логикой. Разработчики ботов на платформе используют для этого нашу web IDE, которая поддерживает этот DSL.

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

Давайте пару слов скажу про то, а какой поиск мы хотели получить по итогу, когда делали его? Проще говоря, такой же, как и в любой IDE, к которой мы привыкли. Чтобы можно было искать не только по частичному совпадению, но так же и по regex, и по полному совпадению слова, а так же как с учетом регистра, так и без.

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

Советы по работе с легаси кодом в PHP

Блог компании OTUS PHP *Программирование *
Перевод

Сколько раз, приходя в новую компанию, вы получали в руки “большой комок грязи“, к которому каким-то образом нужно прикручивать новый функционал?

Без документации.
Без контроля версий.
Без какой-либо надежды на душевное равновесие в будущем.

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

Как подружить MATLAB DLL и C#

.NET *C# *Matlab *
Tutorial

Как подружить MATLAB DLL и C#

Когда есть желание пользоваться m-файлами на стороне, например, впихнуть хорошо работающие методы аппроксимации из Curve Fitting Toolbox в какую нибудь стороннюю свою разработку, можно скомпилировать dll-библиотеку и использовать ее по своему разумению.

Данная статья - кратко по шагам действия.

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

Как настроить Kerberos аутентификации в Keycloak

Блог компании Southbridge Информационная безопасность *IT-инфраструктура *Серверное администрирование *
Tutorial

Виктор Попов, техлид DevOps-команды в X5 Tech и спикер курса «Безопасность проекта: аутентификация в Keycloak», подготовил туториал. В нём он рассказывает, как настроить Kerberos аутентификации в Keycloak и как подготовить браузеры для работы. 

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

Дифференциальный криптоанализ алгоритма DES

Информационная безопасность *Криптография *Математика *

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

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

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

ТОП-3 ИБ-событий недели по версии Jet CSIRT

Блог компании Инфосистемы Джет Информационная безопасность *


Сегодня в подборке новостей Jet CSIRT — новые атаки OldGremlin, активная эксплуатация критической уязвимости VMware и новое вредоносное ПО группировки Hafnium. Новости собирал Павел Козяев, аналитик центра мониторинга и реагирования на инциденты ИБ Jet CSIRT компании «Инфосистемы Джет».

Подробнее читайте под катом.
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 680
Комментарии 0

Анализ данных виртуальных велотренировок

Python *

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

У вас на руках должен быть FIT-файлы тренировок, и установлены модули matplotlib, pandas, sklearn. В конце статьи ссылка на git с примерами.

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

Путь к автотестированию Android нативными инструментами: испробовали всё, что есть на рынке и сделали свои выводы

Блог компании БКС Мир Инвестиций Java *Тестирование мобильных приложений *Kotlin *

Давайте сначала представимся. Мы - команда управления тестирования и контроля качества в БКС Мир Инвестиций. Наш продукт - это приложения и сайты, созданные для удобства всех желающих окунуться в мир ценных бумаг и инвестиций. Конкретно в нашем “ведомстве” приложения на IOS  и Android, сайт личного кабинета, инвест стратегии Fintarget, новостной портал BCS-Express, сайт ФГ БКС и прочее.

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

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

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

Начать эти рассказы мы решили с повести о становлении мобильного автотестирования. Первым “попался под руку” Android, про него и начнем.

Самое интересное далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.2K
Комментарии 2

Как составить портфолио, чтобы устроиться художником в геймдеве

Блог компании MY.GAMES Разработка игр *Графический дизайн *Карьера в IT-индустрии Игры и игровые консоли

Каким должно быть портфолио художника, который хочет работать в игровой студии? Что больше всего ценят рекрутеры и арт-лиды, сколько работ нужно показать и почему компания может отказать? Об этом на конференции TBD Pro: Art рассказали старший менеджер по подбору персонала в MY.GAMES Ольга Дёмина и креативный директор BIT.GAMES Антон Лунков.

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