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

Все потоки

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

F# на примере решения олимпиадной математической задачи

Уровень сложности Средний
Время на прочтение 23 мин
Количество просмотров 243
F# *
Кейс

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

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

Новости

Производительность и стабильность Knime на слабых компьютерах

Время на прочтение 8 мин
Количество просмотров 320
Open source *Java *Data Mining *Apache *Big Data *
Туториал

Наступают времена, когда офисному сотруднику недостаточно знать Word и Excel в качестве минимального обязательного базиса программных продуктов. No-code/Low-code платформы и продукты - вот что незаметно становится обязательным для владения каждым. Эти платформы есть самый быстрый на сегодня способ без изучения языков программирования овладеть навыками использования искусственного интеллекта, машинного обучения, анализа big data, причём очень бигдата - на сотни миллионов строк.

Платформа Knime - один из таких инструментов. На первый взгляд это улучшенный Excel+BI. Но, когда посмотришь поглубже его возможности, то, очевидно - это обязательный инструмент будущего, по крайней мере для тех кто не являясь программистом хочет получить навыки как у программиста. Для простоты - Knime это "графическое" программирование. Берёшь квадратики, размещаешь в виде бизнес-процесса, соединяешь их между собой и оп! - уже провёл анализ маркетингового плана или парсинг сайтов конкурентов или анализ рекламных текстов с помощью NLP. Или, даже строишь приборную доску управления производственного предприятия будучи простым менеджером/инженером. Или ведёшь обработку научных данных.

Knime позволяет, конечно, и код писать, причём на трёх языках Python, Java, R, но это не обязательно. Бизнес-процессы знаешь, рисуешь? Вперёд!

Разумеется, при работе с огромными массивами данных, требования к компьютерным ресурсам возрастают. И что делать, если вам доступен простенький офисный или домашний компьютер? Или, если вы видите что аренда облачного ресурса на месяц дороже, чем купить компьютер с 64Гб оперативной памяти и процессором гоняющим Atomic Heart или Hogwartz Legacy на среднемалках?

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

TypeScript здорового человека, или почему с Enum лучше

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

Наверное, большинство фронтенд-разработчиков в какой-то момент сталкивались с задачей внедрения TypeScript на проект. Обычно это задача выполняется не сразу, а постепенно. Сначала просто переименовываются все файлы из .js в .ts с проставлением везде типа "any", просто чтобы проект запустился, и только потом постепенно разработчики начинают заниматься планомерным переводом.

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

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

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

  interface Person {

name: string;

age: number;

position: string;

}

Ошибок нет. Вроде бы все работает, однако какие проблемы это может создать? Если имя - это строка, которая может принимать любое значение, то должность в компании - это тоже строка, но принимать она может только вполне определенное и конечное количество строковых значений. Например, в нашей компании есть только директор и продавец. В случае, если мы попытаемся создать объект с должностью "бухгалтер", такой тип ошибки не выдаст:

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

Mediastreamer2. Применение Lua-машины в фильтрах

Время на прочтение 12 мин
Количество просмотров 181
Программирование *C *Lua *Разработка под Linux *
Туториал

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

Код программ данной главы можно скачать с Github по ссылке:

https://github.com/chetverovod/Mediastreamer2_LuaFilter

Приступим к практической реализации. Для этого можно вспомнить как создается новый фильтр, см. главу 4. В этой схеме источником звукового сигнала может быть либо сигнал с линейного входа звуковой платы (sound_card_read) либо генератор DTMFсигнала (dtmf_generator). Далее данные попадают на вход разрабатываемого Luaфильтра (lua_filter), который осуществляет их преобразование в соответствии с загруженным в него скриптом. Затем данные поступают на разветвитель (Tee), который из входного потока образует две копии, которые выдает на два выхода. Один из этих потоков поступает на регистратор (recorder) и на звуковую карту для воспроизведения (sound_card_write). Регистратор (*recorder*), он сохраняет их на диск в формате raw (wavфайл без заголовка). Таким образом мы сможем прослушать и записать результат работы Lua-фильтра.

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

Истории

GNS3 как открытая замена Packet Tracer в процессе учебной деятельности

Время на прочтение 5 мин
Количество просмотров 403
Блог компании Команда Цифровой Трансформации Татарстана Системное администрирование *
Туториал

В статье будет рассматриваться версия использования GNS3 внутри виртуальной машины VMware Workstation 16, используется дистрибутив Ubuntu c LXQt

Ссылка на установочный скрипт автора статьи.

Можете выполнить его с помощью

curl -O

chmod +x ./gns3-install.sh

./gns3-install.sh.

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

При прохождении курса, в конце почти каждой главы встречаются задания, выполненные в виде практических работ в Cisco Packet Tracer, и для новичка Packet Tracer довольно удобен, среди его плюсов:

интуитивно понятный интерфейс

низкие требования к железу

возможность пользоваться функциями перемотки времени

режим симуляции, в котором можно наглядно посмотреть путь каждого пакета и также проверить его содержимое.

Однако при глубоком изучении современных сетевых технологий c Packet Tracer возникают некоторые сложности, среди которых:

поддержка только Cisco устройств

баги с оборудованием на комплексных схемах, особенно при настройке STP у коммутаторов (часто приходится просто копировать схему, вставляя её рядом, и тогда она чудесным образом начинает работать)

неполная командная среда, т.е. практически ничего, что не входит в рамки CCNA, на нём собрать не получится. Например, создание сценариев для автоматизации EEM недоступно, не все функции расширенных ACL доступны

нет совместимости со старыми версиями. К примеру, версия 8.1.1 не совместима с 8.2.0, при этом я могу взять и открыть файл проекта на новой версии, нажать CTRL+C, зайти в старую версию и нажать CTRL+V, и тогда все заработает

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

Около 1/4 откликов на вакансию Python разработчика сделали с помощью ChatGPT

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 1.2K
Блог компании Amnezia VPN Искусственный интеллект
Аналитика

*Речь идёт об откликах на UpWork.

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

Стоило ожидать что ChatGPT прорвется и в автоматизацию откликов на вакансии на UpWorke. Мы задали соискателям простой вопрос:

What is latest Python release (including beta)?

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

РЖД — это мираж: как они отстают и теряют рынок

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 3.2K
Инженерные системы *
Recovery mode

Вы когда-нибудь видели мираж? Это явление, когда вместо реального объекта вы видите его искаженное отражение. Представьте что вы в пустыне, когда на горизонте мерещится оазис. Но на самом деле там нет ни воды, ни деревьев, ни жизни. Только песок и жара. Так вот, РЖД - это тоже мираж. Они выглядят как крупная и успешная транспортная компания, которая обслуживает миллионы пассажиров и грузовладельцев. Но на самом деле они - устаревший и неэффективный монополист, который теряет свои позиции на рынке и не способен конкурировать с другими видами транспорта. В этой статье я покажу вам, почему РЖД скоро рассеется под давлением реальности.

Читать далее
Всего голосов 33: ↑16 и ↓17 -1
Комментарии 38

Разбираем примеры хороших стратегий. Часть 1

Уровень сложности Простой
Время на прочтение 17 мин
Количество просмотров 635
Управление продажами *Читальный зал Бизнес-модели *Финансы в IT
Из песочницы

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

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

Много букв.

Погрузиться в дебри хороших стратегий
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 0

Аутсорсинг ИБ. Плюсы, минусы, подводные камни

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 335
Информационная безопасность *IT-инфраструктура *Управление персоналом *

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

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

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

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 2.5K
Ненормальное программирование *Программирование *Кодобред История IT Научно-популярное
Ретроспектива

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

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

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

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

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

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 4.8K
Блог компании RUVDS.com Ненормальное программирование *Программирование *Регулярные выражения *
Аналитика
Перевод

Известная шутка программистов гласит, что если решение вашей проблемы включает в себя парсинг текста при помощи регулярного выражения, то теперь у вас есть две проблемы. Некоторые программисты, прочитав шутку, решают попробовать иной подход. Возможно, регулярные выражения не так уж нужны. Возможно, задачу можно решить простым split строки или чем-то подобным. Однако другие могут задуматься немного глубже и задаться вопросом: «А если я сделаю нечто настолько дерзкое, что в результате получу три проблемы?» Мой пост написан в таком духе!

В нём используется код на Python, однако его легко можно адаптировать под любой язык с поддержкой функций высшего порядка.
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 20

Блокчейн как принуждение к беспристрастию: краткая история технологии в патентах и лицах

Уровень сложности Простой
Время на прочтение 16 мин
Количество просмотров 319
Блог компании Онлайн Патент Патентование *Криптовалюты
Обзор

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

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

Дизайн сетей ЦОД. Часть 3. Управление трафиком

Время на прочтение 6 мин
Количество просмотров 525
Блог компании OTUS Сетевые технологии *

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

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

Ювелирный бренд Sokolov рассказал о тестировании и внедрении умных бейджей от VocaTech

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.3K
Управление продажами *Управление персоналом *IT-компании
Кейс

В 2021 году ювелирный дом Sokolov вместе с компанией VocaTech внедрили умные бейджи для всех сотрудников, напрямую работающих с покупателями. Как рассказали Хабру в компании, в результате внедрения индекс потребительской лояльности увеличился на 10% и достиг 90%. При этом на запуск бренд потратил на 30% меньше, чем в 2020 ушло на аналитику тайных покупателей. В разговоре с Хабром Алина Колпакова, руководитель Аналитического центра в компании Sokolov, рассказала о бейдже, его внедрении и результатах использования. 

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 19

Будущее Ethereum. Обновление Shanghai обвалит ETH или позволит ему обогнать BTC по капитализации?

Время на прочтение 7 мин
Количество просмотров 1.4K
Децентрализованные сети *Криптография *Криптовалюты

12 апреля выходит масштабное обновление сети Эфириум Shanghai, после которого все пользователи, отправившие в стейкинг свои Эфиры, смогу его вывести и продать. Как поведет себя цена на монету ETH после этого события? В чем заключается суть обновления Shanghai? Что такого инновационного привносят в блокейн-индустрию смарт-кошельки и ликвидный стейкинг и почему так участились разговоры о том, что Эфириум в перспективе нескольких лет обгонит Биткоин по капитализации и станет главное движущей силой отрасли? На все эти вопросы (и многие другие) мы постараемся ответить в этой статье. Поехали!

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

Мы тоже отправили сотрудникам компании фишинговое письмо

Время на прочтение 6 мин
Количество просмотров 1.6K
Блог компании Quadcode IT-инфраструктура *CRM-системы *
Кейс

Как говорили китайские юниты в С&С: Generals "No system is safe" – все системы уязвимы. И люди уязвимы не меньше. Про фишинг вроде бы все знают, но он по-прежнему остаётся самым популярным и результативным методом получения доступов и данных. В частности в сезоны праздников или распродаж, когда атакующие особенно активны. 

Компании нередко рассказывают на Хабре истории об отправке «учебных» фишинговых писем клиентам или сотрудникам. Мы тоже поделимся деталями предновогодней атаки на собственных сотрудников, о которой не знала даже команда реагирования безопасности (SOC). В статье вас ждёт процесс подготовки, схема атаки, а также поминутная хроника событий.

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

Улучшение реактивности с помощью VueUse

Время на прочтение 6 мин
Количество просмотров 482
Блог компании OTUS VueJS *
Перевод

VueUse — это библиотека из более чем 200 служебных функций, которые можно использовать для взаимодействия с целым рядом API, включая интерфейсы для браузера, состояния, сети, анимации и времени. Эти функции позволяют разработчикам легко добавлять реактивные возможности в свои проекты Vue.js, помогая им с легкостью создавать мощные и отзывчивые пользовательские интерфейсы.

Одна из самых интересных фич VueUse — поддержка прямого манипулирования реактивными данными. Это означает, что разработчики могут запросто обновлять данные в режиме реального времени, не используя сложный и подверженный ошибкам код. Благодаря этому легко создавать приложения, которые могут реагировать на изменения в данных и соответствующим образом обновлять пользовательский интерфейс без необходимости ручного вмешательства.

Цель этой статьи — изучить некоторые утилиты VueUse, которые помогут нам улучшить реактивность в нашем приложении Vue 3.

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

Как мы строим архитектуру микросервисов для мобильного приложения СберБизнес

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 892
Блог компании Сбер Анализ и проектирование систем *Разработка мобильных приложений *Микросервисы *

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

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

Непарадная сторона: каково сегодня работать в ИИ

Время на прочтение 9 мин
Количество просмотров 1.3K
Исследования и прогнозы в IT *Научно-популярное Искусственный интеллект
Перевод

Все мои знакомые из тех, кто сегодня трудится в ИИ (как в академической, так и в промышленной сфере), сейчас буквально наэлектризованы тем импульсом, что пошёл от ChatGPT. Первый момент в истории ИИ, сравнимый с выходом iPhone. Работать в этой среде крайне обременительно сразу по множеству причин: выгорание, амбиции, помехи, законодатели мнений, потенциал финансового роста, этические соображения, пр.

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

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

ChatGPT против интеллекта

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.6K
Машинное обучение *Искусственный интеллект Мозг
Мнение

Для неискушенных пользователей ChatGPT стал самим воплощением «искусственного интеллекта», а под этим термином в 2021 году большинство россиян понимали «разумные машины» или «сверхразум, превосходящий человека». Из-за этого легко возникает путаница, и многие люди не подвергают ответы машины критическому осмыслению, ошибочно полагают, что чат-бот всегда прав.

Возможно, со скорым выходом новой модели GPT-4 или даже GPT-5 мы сможем с большей уверенностью сказать о какой-либо осмысленности, но пока дела обстоят совершенно иначе. Чтобы показать это, просто заставим ChatGPT думать и посмотрим на примерах, насколько сейчас его ответы заслуживают титула «искусственного интеллекта». А заодно рассмотрим несколько проблем, которые нечасто обсуждают на фоне дискуссий о будущем рынка труда.

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