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

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Обзор Codelobster — Удобная кроссплатформенная IDE

Разработка веб-сайтов

Полноценная мультплатформенная (включая Мак, Линукс и т.д.) IDE с нормальным автокомплитом для Друпала, JavaScript и TypeScript

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

Новости

Показать еще

NASA переходит в облака: MCP, DAPHNE и облачные инструменты для команды Perseverance

Блог компании Selectel

Мы уже писали о том, что NASA и другие космические агентства генерируют огромный объем информации. Данных будет еще больше после запуска в работу сети радиотелескопов и антенн Square Kilometre Array (SKA). Все эти данные нужно где-то хранить и обрабатывать.

Кроме того, NASA приходится еще иметь дело с данными со спутников, которых тоже становится все больше, как и внеземных аппаратов. Их назначение может быть самым разным — от наблюдения за Солнечной системой до изучения метеорологических условий определенного региона Земли. Объединяет их то, что они отправляют информацию на Землю, где для приема и обработки данных установлены специальные станции со специфическим и дорогим оборудованием. Недавно агентство решило сделать ход конем — начать обрабатывать и хранить все это в облаке. Подробности о проектах, которые имеют отношение к этой задаче, — под катом.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Просмотры87
Комментарии 0

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

ОтладкаПрограммирование микроконтроллеровСхемотехникаDIY или Сделай сам
Из песочницы

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

Собран этот «игрушечный» осциллограф на микроконтроллере STM32F103, и при достаточно грамотном схемотехническом решении цифровой части, наличии довольно приличного цветного дисплея 320Х240 точек, и не самом поганом аналоговом тракте, все, увы, гробится очень слабыми АЦП на борту 32F103. Заявленная полоса в 200 кГц может быть признана таковой только с очень большой натяжкой. Да, наличие или отсутствие сигнала с такой частотой он покажет, но вот реально посмотреть что-то сверх этого не получиться.

При этом есть у 103-й серии чуть более старший брат – STM32F303, по ножкам совместим практически полностью, но по интересующим нас параметрам существенно лучше, на борту 4 АЦП с частотой преобразования 5 МГц (6 МГц с 10-ти битным разрешением). При таком раскладе, если использовать все 4 АЦП параллельно с 10-ти битным разрешением, можно получить временное разрешение до честных 24 MSPS (миллионов отсчетов в секунду). Стоит микроконтроллер тоже недорого, на том же Али можно легко найти за опять же весьма умеренные деньги. Понятно, что идея поменять микроконтроллер возникла практически сразу после того, как я этот самый DSO138 и попробовал.

О том, что получилось в результате, и написана эта статья.

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

Infrastructure as code: обзор опенсорсных инструментов

Блог компании OTUSOpen sourceDevOps
Перевод

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

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

Тестирование контракта потребителя сервиса — часть 1

Блог компании OTUSKotlin
Перевод

Это первый блог из серии о тестированиях контракта потребителя сервиса. В этой серии представлена концепция и продемонстрировано написание тестов контрактов для приложения spring boot.

В мире микросервисов мы часто говорим об их преимуществах. Однако есть определенные условия, которые должны быть соблюдены, прежде чем выбрать этот архитектурный паттерн. Блог Мартина Фаулера очень хорошо освещает эти требования. Одним из условий, о которых он упоминает, является ContinuousDelivery. ContinuousDelivery — это технология разработки программного обеспечения, при которой вы создаете его таким образом, что оно может быть запущено в любое время. В контексте микросервисов непрерывная доставка (continuous delivery) означает, что любой сервис может быть внедрен в производство в любое время вне зависимости от остальных микросервисов. Но что гарантирует, что развертывание нового микросервиса не повлияет на общую функциональность приложения? Конечно, тестирование. Однако мы не хотим запускать все приложение, которое может состоять из сотен микросервисов, только для того, чтобы протестировать крошечное изменение кода в одном из сервисов. Так что же нам делать?

Прежде чем решать проблему, давайте сделаем шаг назад. Зачем нам нужны другие микросервисы для тестирования крошечного изменения кода в одном из сервисов? Ответ заключается в том, что сервисы взаимодействуют друг с другом для достижения общей цели. И нам нужно убедиться, что изменение кода не нарушит существующую функциональность. На самом деле достаточно убедиться, что изменение кода не повлияет на API сервиса. Если API сервиса не поврежден, то можно с уверенностью предположить, что потребительские микросервисы этого конкретного сервиса будут работать правильно. Так мы можем избежать запуска всего приложения для тестирования изменений в сервисе. Но каким способом будет проверяться целостность API сервиса? Ответ — с помощью тестирования контракта. Давайте рассмотрим простой пример, чтобы лучше это понять.

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

Повесть о двух департаментах, или как в ВТБ Лизинге Agile прививали

Блог компании ВТБ ЛизингCRM-системыAgile

Если вы работали в больших компаниях, то знаете, что это за ощущение: у вас вроде бы есть всё для реализации себя как профессионала, все условия для воплощения в жизнь любых идей и задач — однако что-то неосязаемое не даёт планам исполниться, а в голову лезут мысли, что инициатива наказуема и что хата твоя с краю. Когда я полтора года назад пришёл в ВТБ Лизинг, решил, что в моём департаменте всё будет по-другому.

Меня зовут Константин Морозов (morozovvtbl), и я руководитель управления развития информационных систем — то есть отвечаю за всю разработку в ВТБ Лизинге, а также лидирую Agile-трансформацию в компании. Под катом я расскажу о том, как мы внедрили гибкую разработку в крупную компанию консервативного толка.

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

Property-based тестирование с QuickCheck

Блог компании TypeableТестирование IT-системПрограммированиеHaskellФункциональное программирование
Tutorial

Автор статьи: klntsky



Что такое Property-Based Testing?


Property-based testing (PBT) — подход к тестированию ПО, подразумевающий автоматическую проверку свойств функций (предикатов), специфицируемых программистом-тестировщиком. Для проверки, т.е. поиска контрпримеров, используются автоматически сгенерированные входные данные. PBT позвляет разработчикам значительно увеличить тестовое покрытие и эффективно расходовать своё время, не придумывая входные данные для тестов самостоятельно. В общем случае данные, генерируемые во время property-based тестирования, ничем не ограничены, поэтому проверка может быть произведена на тех значениях, про которые разработчик мог забыть или для которых не счёл нужным написать юнит-тесты (действительно, не перебирать же все значения входных параметров вручную).


PBT-подход был популяризован библиотекой QuickCheck, написанной на Haskell, и в этой статье будет показано, как пользоваться этим инструментом эффективно.

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

Golang-дайджест № 7 (1 – 31 июля  2021)

Go

Интересное в этом выпуске

Выпущены версии Go 1.17, 1.16.6 и 1.15.14, GitHub представил инструмент проверки безопасности GO, Перехватываем и изменяем сетевые пакеты на примере игры, Рекомендательная система

Приятного чтения!

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

От мюонного соленоида к Data Science

Блог компании SkillFactoryУчебный процесс в ITУправление персоналомКарьера в IT-индустрииЧитальный зал
Перевод

Автор статьи, переводом которой мы делимся к старту флагманского курса о Data Science, Эдмонд Ли в годы студенчества изучал физику и даже попал на стажировку в CERN, многие люди спрашивали его о переходе от академической физики к Data Science. Как физик, автор считает, что должен ответить на вопросы «почему?» и «как?» и надеется, что его история ответит на вопросы о причине, о том, как он преследовал цель, и вдохновит заниматься тем, что захватывает мысли. Интересно, что в самом начале изучения программирования автор мог неделю разбираться с циклом for.

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

5 ошибок DevOps, которых следует избегать

Блог компании OTUSDevOps
Перевод

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

DevOps основан на решении этих проблем путем объединения разработки (Development), эксплуатации (Operation) и автоматизации деятельности. Несмотря на то, что DevOps часто подтверждает заявленные преимущества, для себя можно выделить несколько уроков, которыми делятся те, кто пришел к DevOps.

Давайте рассмотрим 5 ошибок, которых следует избегать при работе с DevOps.

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

Улучшаем UX форм только с помощью HTML

HTMLAccessibility

Если вы правильно пишите HTML, то вы можете сразу сделать формы в ваших проектах доступными и удобными. Я подобрал несколько кейсов, чтобы показать вам, как можно улучшить UX форм только с помощью HTML.

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

Нейродайджест: главное из области машинного обучения за июль 2021

PythonМашинное обучениеИскусственный интеллектTensorFlow

Новый язык программирования от Open AI, рост популярности диффузионных моделей, чат-бот с памятью не как у золотой рыбки — об этом и многом другом в июльском выпуске.

Перейти к обзору
Рейтинг0
Просмотры318
Комментарии 0

Байесовские сети и реальные опционы

Машинное обучениеФинансы в IT

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

Поскольку принятие решений в таких случаях неизбежно связано с вероятностными оценками и множеством неопределенностей, диаграммы влияния, как и все Байесовские сети доверия (БСД) чрезвычайно полезны для моделирования ситуаций и прогнозирования ожидаемых результатов. Рассмотрим два простых примера с реальными опционами. Как обычно, решаем задачи с использованием Netica, а попутно опробуем функцию программного заполнения таблиц полезности.

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

Профессионально обрабатываем исключения в Python

Блог компании OTUSPython
Перевод

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

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

Telegram-клиент на Golang

PHPGo
Из песочницы
Tutorial

Работая разработчиком в одной веб-студии, пришел клиент с довольно интересной работкой, ему нужен был агрегатор постов из чужих телеграм каналов, так как стек в компании был PHP то решили писать на нем, а конкретно на библиотеке MadelineProto о которой уже есть статья от крутого парня (более подробно об этой либе можете почитать в его статье), вот и началось мучительно создание этого сервиса...

Madeline в общей массе свой очень хорошо, полностью асинхронный и имет под капотом кучу методов для работы как с ботами так и с клиентом, но есть у него одна маленькая проблема (а может и не одна ¯\_(ツ)_/¯) , встроенный EventHandler получает не все новые сообщения из постов (и да я понимаю что есть getHistory, но если бы мы брали сообщения через этот метод, все вышло бы очень медленно работающим и высоконагруженным) Долгие часы и даже дни поиска решения этой проблемы не привели к желаемому результату, все так же процент постов которые пропускались именно Madeline был слишком большим.

Ок, было принято волевое решение забить на данную библиотеку и попробовать найти что-то другое на известном нам стеке, взгляд упал на go-tdlib. Развернули либу и поехали пыхтеть в разработку, и о чудо все посты собираются и все стало чудесно, за исключением одного но... Данная библиотека от пользователя Arman92 сильно отстает от офф методов tdlib и имеет внутри несколько логических ошибок, в общем начали у нас сыпаться паники и другие неприятные вещи. Так как пути назад уже не было, перебрали мы всю либу и обновили методы а так же исправили ошибки и теперь все просто чудесно.

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

Книга «Гид по Computer Science, расширенное издание»

Блог компании Издательский дом «Питер»Профессиональная литература
image Привет, Хаброжители! Вышло расширенное издание книги «Гид по Computer Science для каждого программиста». Колосс на глиняных ногах – так можно назвать программиста без подготовки в области Computer Science. Уверенное владение основами позволяет «не изобретать велосипеды» и закладывать в архитектуру программ эффективные решения. Всё это избавляет от ошибок и чрезмерных затрат на тестирование и рефакторинг. Не беда, если вы чувствуете себя не у дел, когда другие программисты обсуждают аппроксимативный предел. Даже специалисты с опытом допускают ошибки из-за того, что подзабыли Computer Science. Расширенное издание бестселлера содержит все главные, а также продвинутые вопросы компьютерных наук: — типы и структуры данных; — алгоритмы; — графы; — теория сложности; — приемы эффективного решения задач; — безопасность; — железо и софт; — операционные системы; — сети; — базы данных и многое другое
Читать дальше →
Рейтинг0
Просмотры599
Комментарии 0

Security Week 31: кража данных при помощи паяльника

Блог компании «Лаборатория Касперского»Информационная безопасность
Сфера атак непосредственно на компьютерное железо обсуждается не так широко, как уязвимости в софте, и оттого представляет особый интерес. В прошлом году мы писали про эксперимент Трэммэлла Хадсона (Trammell Hudson), в котором проводилась реалистичная атака на ноутбук в режиме сна с перепрошивкой BIOS. На прошлой неделе компания Dolos Group опубликовала интересный отчет об успешном взломе ноутбука аппаратными методами (читай: при помощи паяльника).



По всем параметрам это была задача со звездочкой: исследователям предоставили корпоративный ноутбук, в котором были установлены многие стандартные средства защиты. Настройки BIOS защищены паролем, отключена возможность загрузки с внешнего носителя и по сети, активирован режим Secure Boot, зашифрованы данные на жестком диске. Единственная возможность получить доступ к данным заключалась в отсутствии дополнительного пользовательского пароля для расшифровки носителя, то есть ключ шифрования содержался во встроенном модуле TPM. Этой возможностью исследователи и воспользовались, заодно получив частичный доступ к корпоративной сети.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Просмотры1.4K
Комментарии 2

Производственный VR тренажёр своими силами

Блог компании АСКОНРабота с 3D-графикойCAD/CAMРазработка под AR и VRAR и VR

Привет Хабр, сегодня в нашем блоге гостевой пост от инженеров — сотрудников Группы Магнезит, производителя огнеупорных материалов. Они расскажут о том, как разработали тренажёр виртуальной реальности, используя набор из Компас-3D + Blender + Unreal Engine.

Тренажёр потребовался для обучения сотрудников технике кладки огнеупоров в футеровку (облицовку) туннельного вагона. Футеровка вагонов состоит из нескольких слоёв. Верхние два ряда – изделия Группы Магнезит, изготовленные по индивидуальному дизайну, остальные входят в комплект поставки оборудования. Огнеупоры, составляющие кладку футеровки вагонов, подгоняются друг к другу посредством шлифовки на станке.

Подробнее про тренажер
Рейтинг0
Просмотры311
Комментарии 1

Обезболиваем RegEx

Блог компании TINKOFFРазработка веб-сайтовJavaScriptРегулярные выраженияЛайфхаки для гиков

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

Можно ли вообще не использовать регулярные выражения? А в каких случаях нельзя? Что делать, если использовать все-таки приходится? Предлагаю разобраться с этим. Определим ситуации, когда регулярные выражения можно не использовать, когда нужно использовать и как сделать так, чтобы не было мучительно больно к ним возвращаться.

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

Смущающая разработка софта. 4 байки с завода

Ненормальное программированиеСистемное администрированиеУправление разработкойЧитальный зал

Моя первая настоящая работа была странной

2013 год. Четвёртый курс информационной безопасности, я вроде разбираюсь в визуальном бейсике и самонадеянно ищу вакансии программиста на hh. Их там не то что бы сильно много, поэтому через десять минут поисков я отправляю резюме на какой-то завод, где в вакансии есть нужные слова. Они приглашают меня на собеседование, и через три дня у меня есть работа.

1С-программистом с нулевым знанием 1С. С записью в трудовой «Системный администратор» с нулевыми знаниями системного администрирования. Ну то есть как — эникействовать же все могут, вот и могу. Наверное.

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

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

Дисклеймер. Всё пишу по расплывчатым воспоминаниям, поэтому если бывшие коллеги читают это — привет на сто лет.

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