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

Разработка

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

Как и зачем тестировать код на бэкенде: рекомендации для новичков

Время на прочтение 13 мин
Количество просмотров 34
Блог компании AvitoTech PHP *Тестирование веб-сервисов *

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

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

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

Новости

Создание нового языка для микроконтроллеров

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 101
Assembler *Программирование микроконтроллеров *
Мнение

Некоторое время я был занят написанием простенького редактора для языка ассемблер под ARM Cortex семейства микроконтроллеров (подробности в моих статьях), и вот сейчас, поднакопив некоторый опыт как в части самого ассемблера так и способов написания программ в них решился на написание нового редактора.

Плюс еще подоспел интерес к RISC-V архитектуре и было принято решением делать редактор который смог бы редактировать программы на ассемблере для различных архитектур (в том числе может быть и с лагеря AVR кто нить захочет присоединиться).

В общем подумалось: а что если попытаться создать asm-base'д язык программирования который при выборе архитектуры просто бы транслировался автоматически в асм инструкции выбранной платформы ?

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

Я нашёл 213 уязвимостей безопасности в кодовой базе при помощи GPT-3

Время на прочтение 9 мин
Количество просмотров 976
Блог компании билайн Информационная безопасность *Искусственный интеллект Машинное обучение *
Перевод

«Меня удручает ваш уровень кибербезопасности»

Краткая сводка: GPT-3 обнаружила 213 уязвимостей безопасности в git-репозитории. Для сравнения: один из лучших коммерческих инструментов на рынке (разработанный респектабельной компанией, которая занимается кибербезопасностью) нашёл лишь 99 проблем; впрочем, этот инструмент предоставляет контекст в более структурированном формате. После ручной проверки случайной выборки 50 из 213 уязвимостей, выявленных GPT-3, только одна оказалась ложноположительной. У обоих инструментов было много ложноотрицательных результатов.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 2

Численно решаем волновое уравнение разностной схемой

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 319
Программирование *Математика *
Из песочницы

Для меня уравнения в частных производных -- это очень красивая история из студенчества. Почему? Это невероятно красиво. Но что особенно стало для меня захватывающим, так это то, что дифуры в широком смысле прикладной математики -- это тот самый пример, когда математика и компьютер используются вместе, чтобы представить некоторую компьютерную модель вполне реальных процессов. Как вы уже, наверное, догадались, речь пойдёт про то, как вообще можно попробовать решать дифференциальные уравнения в частных производных на компьютере. Мы попробуем это сделать на примере волнового уравнения и с использованием уже ставших привычными python, scipy и numpy. Если вы примерно помните математику, но панически боялись дифуров или они просто как-то обошли вас стороной, то добро пожаловать.

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

Истории

Перевод: Rxss внутри атрибута href — Обход множества странных проверок для захвата аккаунтов

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 171
Информационная безопасность *
Перевод

Вот конечная полезная нагрузка после обхода всех странных проверок —

javascript://;%250a+alert(document.cookie,%27\\@www.redacted.com/%27)

Если вам все еще интересно, как и почему использовалась именно эта полезная нагрузка и методология, обязательно дочитайте статью до конца, где я все подробно объяснил :)

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

Не время витать в “облаках”

Время на прочтение 14 мин
Количество просмотров 208
Блог компании Group-IB Информационная безопасность *

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

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

Апгрейд и рефакторинг PHP-проектов — теперь это просто с Rector

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 519
Блог компании Конференции Олега Бунина (Онтико) Блог компании Skyeng PHP *Symfony *

Привет! В статье поделюсь, как инструмент автоматического рефакторинга Rector помогает обуздать легаси и автоматизировать обновление PHP проектов и пакетов, чтобы процесс проходил эффективнее и малой кровью. 

Статья написана на основе доклада с PHP Russia 2022.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 7

Выгорание программиста. Интересная работа — самая опасная

Время на прочтение 7 мин
Количество просмотров 874
Блог компании RUVDS.com Программирование *Управление персоналом *Карьера в IT-индустрии Здоровье

Среди айтишников мало жизнерадостных людей… Скорее наоборот, многие выглядят несчастными, а если провести анкетирование, то 83% проявляют признаки выгорания, хотя до крайней степени истощения и цинизма ещё не дошли. Но постоянная когнитивная нагрузка и хронический стресс ведут к закономерному результату:

  • выгорание,
  • физическая деградация,
  • депрессия,
  • ранний уход из профессии.

Все эти последствия хорошо предсказуемы. Поэтому их можно предотвратить.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 4

Лемма Гаусса и теорема Эйзенштейна для многочленов

Уровень сложности Средний
Время на прочтение 2 мин
Количество просмотров 521
Математика *

Рассмотрим многочлен x^2-1. Его можно также представить в виде (x-1)(x+1). Такие разложения на множители бывают полезными в различных случаях. Например, с их помощью можно разложить дробь из многочленов в сумму простейших дробей:

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

Как усмирить данные о звонках в таблицах одним скриптом

Время на прочтение 8 мин
Количество просмотров 217
Блог компании МТС API *Хранение данных *Хранилища данных *Облачные сервисы *

Привет, Хабр! Меня зовут Анастасия Иванова, я технический писатель МТС Exolve. В этой статье я расскажу о том, как поместить информацию о звонках в привычный формат таблиц на примере нашей платформы (краткий обзор сервиса вы найдете тут) и Google Таблиц. В частности, вы узнаете о том, как импортировать статистику входящих и исходящих вызовов, а также исходящих голосовых SMS.

Для этого мы напишем скрипт на языке программирования от Google (Apps Script), который будет делать HTTP-запрос в Statistics API и сохранять полученные данные в Google Таблицу. Мы покажем пример импорта некоторых данных статистики, далее вы сами сможете изменить скрипт, чтобы подстроить его под свои нужды.

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

Инъекция от синдрома выученной беспомощности для ChatGPT: или как промтами (почти) выиграть NeurIPS соревнование IGLU

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 466
Блог компании AIRI Искусственный интеллект Natural Language Processing *
Туториал

Прошлый год был насыщен релизами мощных инструментов в области искусственного интеллекта, включая Stable Diffusion, Dalle-2 и ChatGPT. Сейчас нам кажется важным получить опыт работы с крупными нейронными сетями и понять, где и как их можно применять. В этом посте мы расскажем, как использовали ChatGPT в соревновании IGLU (Interactive Grounded Language Understanding) на конференции NeurPS 2022  для обработки и анализа текстовых команд с помощью (не)простых запросов. Мы верим, что технологии должны служить людям и помогать решать сложные задачи и проблемы. Надеемся, что наш опыт будет интересен и полезен для вас!

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

Оплачиваемое хобби: как из студента стать ментором курса

Время на прочтение 5 мин
Количество просмотров 274
Блог компании Southbridge IT-инфраструктура *Карьера в IT-индустрии DevOps *Kubernetes *

Гарантирует ли Слёрм трудоустройство? Нет: об этом мы сразу честно говорим на страницах всех наших курсов. Но помогает ли Слёрм получить работу? Да! И пример в подтверждение этому — история нашего студента Артёма Примы, который после DevOps Upgrade стал ментором курса. 

Далее — история Артёма, о том, как он стал ментором и впечатления от взаимодействия со студентами: что им даётся проще, а что — сложнее.

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

Процесс ELT: основные компоненты, преимущества и инструменты создания

Время на прочтение 11 мин
Количество просмотров 333
Data Mining *Big Data *Хранение данных *Хранилища данных *
Перевод

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

Интеграция данных из множества разделённых источников и их обработка для обеспечения контекста содержит в себе и возможности, и трудности. Один из способов преодоления трудностей и получения новых возможностей в области интеграции данных — создание конвейера ELT (Extract, Load, Transform).

В этой статье мы подробно рассмотрим процесс ELT, в том числе его работу, преимущества и распространённые способы применения. Также мы поговорим о различиях между ELT и ETL (Extract, Transform, Load) и дадим советы по созданию и оптимизации конвейера ELT.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Переходим на Flutter: за и против

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 980
Программирование *Разработка под iOS *Разработка под Android *Dart *Flutter *
Из песочницы

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

Меня зовут Данил Абдрафиков и уже более пяти лет я занимаюсь мобильной разработкой, три из которых — на Flutter. Последние несколько лет я разрабатываю продукты для энтерпрайза в TAGES, и за это время у меня успел накопиться определенный опыт, которым я бы хотел поделиться с вами в сегодняшней статье. Я расскажу, что нужно знать опытному мобильному разработчику для перехода на Flutter, с какими особенностями можно столкнуться и стоит ли вообще переходить на него.

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 16

Снова про ARIS. Коллекция «велосипедов» для разработчика

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 437
JavaScript *Java *ERP-системы *
Туториал

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

Если Вы уже знаете что такое ARIS, то добро пожаловать. Если нет, то можете прочитать вот эту статью.

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

Оптимизируем изображения в HTML

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 1.2K
Блог компании Нетология Разработка веб-сайтов *Программирование *HTML *Браузеры
Перевод

Вместе со Стивом Сьюэллом, CEO Builder.io, разбираемся, почему с точки зрения оптимизации производительности изображения лучше загружать через HTML, а не через CSS. 

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

Удобный календарь для сообщества ВКонтакте в пару кликов

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 325
ВКонтакте API *
Из песочницы

Удобный календарь для сообщества ВКонтакте в пару кликов.

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

Код: маленький и ненужный

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.3K
Ненормальное программирование *JavaScript *
Из песочницы

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

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

Полное исключение категорий при поиске

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 507
Поисковые технологии *Разработка под e-commerce *Исследования и прогнозы в IT *Интернет-маркетинг *Социальные сети и сообщества
Мнение

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

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

В обсуждении статьи про угрозу поиску Google со стороны ChatGPT ссылаются на список компаний Killed by Google, но место под могилу Google давно определил себе сам, его коммерческая модель несовместима с качественным поиском и с качественным представлением информации. Чтобы приносить прибыль, результат поиска должен позволять незаметно подмешивать рекламу, «Если Google даст вам идеальный ответ на запрос, вы не нажмёте ни на одну рекламную ссылку». Применение ChatGPT и других систем искусственного интеллекта не влияет на модель монетраризации. Для повышения качества нужны не только новые механизмы, но коммерческая модель, стимулирующая улучшения. Такая модель есть у больших платформ электронной коммерции: AliExpress, Amazon, Озона, Яндекс Маркета, Wildberries и подобных.

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

Правильно ли вы используете useSelector в Redux?

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 767
JavaScript *ReactJS *
Из песочницы

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

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

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

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