Рубрика «Программирование» - 83
Валидация UTF-8 меньше чем за одну инструкцию на байт
2021-04-06 в 13:01, admin, рубрики: utf-8, Блог компании RUVDS.com, валидация, Лайфхаки для гиков, Программирование
Даниэль Лемир – профессор Заочного квебекского университета (TÉLUQ), придумавший способ очень быстро парсить double – совместно с инженером Джоном Кайзером из Microsoft опубликовали ещё одну свою находку: валидатор UTF-8, обгоняющий библиотеку UTF-8 CPP (2006) в 48..77 раз, ДКА от Бьёрна Хёрманна (2009) – в 20..45 раз, и алгоритм Google Fuchsia (2020) – в 13..35 раз. Новость об этой публикации на хабре уже постили, но без технических подробностей; так что восполняем этот недочёт.Читать полностью »
Поиск секретных данных в исходном коде
2021-04-05 в 9:34, admin, рубрики: безопасность, Блог компании RUVDS.com, информационная безопасность, Программирование, разработкаКогда разработчики вносят прямо в исходный код секретные данные, вроде паролей и ключей API, эти данные вполне могут добраться до общедоступных репозиториев.
Я — разработчик, и я признаю то, что раньше допускала попадание секретных данных в открытые GitHub-репозитории. Подобные данные, жёстко заданные в коде, всегда были проблемой в различных организациях. Я, выполняя испытания на проникновение с целью проверки систем защиты компаний, всегда в первую очередь исследую код этих компаний на наличие в нём секретных данных. Если разработчик вносит что-то вроде паролей в код, эти данные могут оказаться в общедоступных репозиториях или в пакетах приложений, а после этого могут попасть в руки злоумышленников.
По мере того, как микросервисные архитектуры и приложения, построенные вокруг неких API, получают всё более и более широкое распространение, разработчики часто нуждаются в программных механизмах обмена идентификационными данными и другими секретными сведениями. А это значит, что программисты, работая с подобными данными, иногда могут совершать ошибки.
Читать полностью »
No comments
2021-04-05 в 7:45, admin, рубрики: Блог компании Маклауд, код, коменты, Программирование, Совершенный код, чистота кода
«Комментарии должны составлять 5% от общего количества баллов», — заявил мой коллега-преподаватель.
Осенью 2019 года я помогал вести начальный курс компьютерного программирования и у нас возникли разногласия по поводу того, должны ли студенты оставлять комментарии в сдаваемых на проверку проектах.
«Я хочу, чтобы студенты изначально перенимали хорошие привычки. Вы ведь согласны, что добавление комментариев улучшает качество кода?», — спросил меня коллега, немного расстроенный моей негативной реакцией.
Я с жаром ему возразил. Приучение к обязательной вставке комментариев — это, наверно, самая вредная привычка программистов, которой обучают в вузах. Если не считать некоторых случаев, в которых использование комментариев оправдано (подробнее о них далее), добавление комментариев — это антипаттерн, а чрезмерно закомментированные кодовые базы, скорее всего, нуждаются в рефакторинге.
Читать полностью »
Чат-бот для электронной коммерции
2021-04-04 в 10:10, admin, рубрики: java, Блог компании RUVDS.com, Программирование, разработка, Разработка под e-commerce, чат-ботВ наши дни чат-боты используются в самых разных сценариях взаимодействия с пользователями. Например, в службах поддержки клиентов различных компаний, о чём я уже писала. В этом материале я хочу рассказать о механизмах, которые используются в чат-ботах при поиске того, что нужно пользователю.
Например, посетитель сайта что-то ищет и пользуется для этого чат-ботом, работающим на сайте или в мобильном приложении. Бот разбирает сообщение и, основываясь на имеющихся в нём ключевых словах, отвечает пользователю, выдавая ссылку на страницу с результатами поиска, среди которых пользователь может найти то, что ему нужно.
Бот, о котором пойдёт речь в этом материале, создан с использованием Java и Apache OpenNLP. Здесь мы поговорим о том, как боты разбирают сообщения пользователей, удаляя из них всё ненужное.
Читать полностью »
Доказательное программирование
2021-04-01 в 18:28, admin, рубрики: Go, java, kotlin, Prolog, scala, доказательное программирование, Программирование, Разработка под androidВнимание!
- Содержание данной статьи никак не связано с докладом академика А. П. Ершова "Научные основы доказательного программирования" 1984г.
- Статья содержит утверждения, способные вызвать вспышки гнева и неконтролируемой агрессии. За последствия автор статьи ответственности не несет!
- В тексте упоминаются следующие языки программирования: Java, Swift, Kotlin, Scala, Go, Haskell и др.
- Эта статья — антитезис. Автор ставит вопросы, но не считает своим долгом на все из них дать ответы.
В момент своего появления в Европе доказательная медицина казалась скандальной, неприятной и отвергаемой почти всем медицинским сообществом идеей. Даже в США, которые сейчас являются оплотом доказательной медицины, долгое время не хотели ее принимать. Основная мысль — докажи, что то, что ты собираешься сделать, реально поможет. Сейчас большинство назначений доктора делают исходя из приобретенных знаний и опыта. Но что если для некоторых ситуаций можно создать такой протокол лечения, следуя которому с болезнью сможет справиться даже неспециалист, и будет доказано, что этот протокол работает? Можно ли покрыть такими протоколами все известные недуги? Все, конечно же, нет, но какие-то — определенно, да.
И вот тут невольно возникает вопрос: не обошла ли медицина другую, казалось бы, не менее прогрессивную индустрию разработки программного обеспечения?Читать полностью »
А я говорю, возьми Excel и позвони
2021-04-01 в 11:10, admin, рубрики: 1 апреля, Excel, ms excel, ms office, SDK, telephony, vba, vba excel, voximplant, Блог компании Voximplant, Занимательные задачки, Программирование, Разработка для Office 365, Разработка систем связи, телефонияVoximplant, как и любая облачная платформа, предоставляет API, с помощью которого можно управлять пользователями, запускать звонки, просматривать их историю и логи и делать немало других полезных вещей. В принципе, практически всё, что можно настроить в панели управления, можно сделать и через API.
Шесть пасхалок GitHub
2021-03-31 в 15:01, admin, рубрики: github, Блог компании RUVDS.com, Лайфхаки для гиков, ПрограммированиеВ недрах кода GitHub скрыто немало пасхалок. Здесь мы поговорим о некоторых из них.
Кстати, вы знали о том, что фразу «Easter egg» («пасхальное яйцо», в просторечии — «пасхалка») придумал в 1979 году Стив Райт — директор по разработке программного обеспечения Atari? Если вы смотрели фильм «Первому игроку приготовиться» — значит вам всё уже должно быть понятно. Вот фрагмент фильма, где игрок находит первую в мире пасхалку, скрытую в классической игре Adventure.
Читать полностью »
Я пользуюсь Excel, чтобы писать код
2021-03-29 в 7:55, admin, рубрики: Excel, Блог компании VDSina.ru, кодинг, ненормальное программирование, Программирование, Софт
На своём веку я занимался многими странными вещами, о некоторых из которых не могу рассказать, однако использование Excel вместо кодинга — одно из тех постыдных удовольствий, которые я не буду ни от кого скрывать.
Всегда задавайтесь вопросом: а можно ли использовать для этого Excel?
Забудьте о тесте Тьюринга — проходит ли ваша гениальная идея программы тест Excel? Например, все пользовались простыми табличными формулами для генерации отчётов, но знаете ли вы что Excel может запросто выполнять замены регулярными выражениями, применять операторы if, и даже можно вызывать онлайн-функции, чтобы подгружать актуальные цены онлайн-сервисов?
Excel может подключаться к реальным базам данных, создавать файлы .csv и JSON, его можно запрашивать снаружи с помощью Python или других языков программирования. Можно использовать электронные таблицы в качестве базы данных, применять их для генерации контента и импортировать их на сайты WordPress для массового создания тысяч постов агрегатора новостей или веб-сайтов с видео.
И всё это у вас под рукой, так что пользуйтесь этим инструментом и не бойтесь насмешек более слабых разработчиков, ведомых чувством превосходства, но на самом деле не знающих, что они просто тратят впустую время.
Читать полностью »
Rust 1.51.0: const generics MVP, новый распознаватель функциональности Cargo
2021-03-26 в 17:08, admin, рубрики: cargo, clippy, open source, release, Rust, rustc, rustdoc, rustfix, rustfmt, stable, выпуск версий, Компиляторы, новости технологий, перевод, Программирование, системное программирование, стабильная версия, языки программированияКоманда Rust рада сообщить о выпуске новой версии — 1.51.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если вы установили предыдущую версию Rust средствами rustup
, то для обновления до версии 1.51.0 вам достаточно выполнить следующую команду:
rustup update stable
Если у вас ещё не установлен rustup
, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.
Что было стабилизировано в 1.51.0
Этот выпуск представляет одно из наиболее крупных дополнений языка Rust и Cargo за долгое время, включающее в себя стабилизацию константных обобщений в минимально полезном варианте и новый распознаватель функциональности в Cargo. Давайте посмотрим подробнее!