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

Все потоки

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

Файловый ввод, сделанный по-человечески

Время на прочтение 21 мин
Количество просмотров 770

Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 7

Новости

Схема создания контента во все социальные сети на месяц (тратя всего 3 часа)

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 777

Эта схема сильно ОБЛЕГЧАЕТ жизнь, если вы итак пытаетесь охватить все возможные каналы связи, до которых можете дотянуться (и это ПРАВИЛЬНО, это 100% верная стратегия).
И одновременно сильно УСЛОЖНЯЕТ вам всё, если вы до этого вели например только Инстаграм

В 2024 году развивать одну социальную сеть – запретительная роскошь. Каждый ресурс имеет свою аудиторию, и никогда не знаешь, какой инструмент сработает для тебя лучше. А используя секретное заклинание «Кросспостинг» можно присутствовать везде. З.Ы. Да, лучше для каждой социальной сети делать уникальный контент, но это next level, для начала достаточно и простого кросспостинга.

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

Переменные и условия: как быстро сделать в Фигме нелинейный прототип

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 553

Например, прототип формы, поля которой можно заполнять непоследовательно.

Иногда сценарии и механики перехода между экранами (или состояниями одного экрана) получаются такими сложными, что для подготовки прототипа и тестирования на респондентах приходится переносить макеты из Фигмы в специальные инструменты вроде ProtoPie или Axure.

Летом 2023 года в Фигме появились условия и переменные, благодаря которым можно показывать всё более сложные взаимодействия. А также меньшими усилиями добиваться того, что раньше требовало усилий значимых, например, давать респондентам возможность заполнить поля формы в произвольном порядке.

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

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

5 самых странных языков программирования: для чего они нужны и что на них можно написать

Время на прочтение 25 мин
Количество просмотров 2.2K

Согласно самым разным источникам, в мире существует от нескольких сотен до нескольких тысяч языков программирования. Правда, ЯП, с которыми реально имеют дело десятки и сотни тысяч человек, немного. Больше, конечно, нишевых языков, применяемых для решения узкого круга задач. Существуют ЯП для обучения разработчиков, а также проекты, созданные исключительно для развлечения. В статье — 5 наиболее странных языков из когда-либо созданных. Brainfuck, кстати, опустим, ведь его на Хабре и так регулярно вспоминают. Что же, поехали.

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

Истории

Английский язык для программистов — часть 1

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

Если вы когда-нибудь задумывались о работе за рубежом или на иностранную компанию, то без знания английского языка далеко не уйдёшь. Как пример — у меня есть знакомый-тестировщик из одной крупной IT-компании в России. 3 года назад он попробовал изучать английский со мной, но в итоге сказал: «Это не моё». Спустя несколько лет он пожаловался на то, что достиг предела в компании и больше не видит траектории развития для себя.

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

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

Что о безопасности приложений расскажут на SafeCode

Время на прочтение 11 мин
Количество просмотров 170

В декабре мы представили Хабру нашу новую онлайн-конференцию SafeCode. А теперь, когда до неё осталось две недели и программа готова, можем подробнее рассказать, о чём именно будут доклады.

Если ограничиться одной фразой, то на конференции подойдут к application security с разных сторон: от JavaScript до ассемблера, от DevSecOps до ML, от «уязвимости мобильных приложений» до «пентеста веб-приложения».

А полные описания всех докладов — под катом:

Программа SafeCode 2024
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Как использовать Elasticdump с Manticore

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 246

Elasticdump - это инструмент для управления и миграции данных в Elasticsearch. Elasticdump позволяет пользователям перемещать и сохранять индексы, экспортируя данные в файл JSON, а затем импортируя их в другое место. Эта функциональность особенно полезна для целей резервного копирования и восстановления, а также для миграции данных между различными средами (например, из разработки в продакшн).

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

Мини история Биткоина для чайников и возможные идеи для роста

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 562

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


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


Дальнейший крупный рост цены биткоина был вызван ажиотажем вокруг незаменимых токенов NFT на базе смарт контрактов. В то же время были запущены стейбл коины на USDC и USDT, которые явно конкурировали с биткоином как платежное средство, имеющие большое преимущество в скорости транзакции и стабильности курса почти 1 к 1 к USD. Как результат, произошел новый приток инвесторов и пользователей на крипторынок.

Текущий рост биткоина обоснован запуском Bitcoin ETF на американском рынке, совпавшим с ближайшим халвингом. Менеджерам легко рекомендовать покупку биткоина через ETF клиентам, так как халвинг меньше, чем через два месяца.

На будущий курс биткоина могут повлиять:

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


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

Как сделать игру, если ты ниче не умеешь — 1 часть

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 894

Разбираемся как вкатиться в Unity со знаниями C# на примере простой игры - 3D-раннер с препятствиями и сбором красных мячиков.

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

Packer: мультисборка, пост-процессоры и пользовательские плагины

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 321

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

Packer — это open-source инструмент для создания идентичных машинных образов для множества платформ из одного исходного файла конфигурации. Т.е с пакером можно автоматизировать создание образов для Amazon EC2, VMware, Docker и т.д, используя единый процесс сборки.

Рассмотрим его возможности мультисборки, пост-процессоров и пользовательских плагинов.

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

Генерация beacon’ов под Linux для Cobalt Strike

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 369

CrossC2 - фреймворк, включающий в себя генератор beacon’ов для различных систем (Linux, MacOS и т.п.), а также набор скриптов для Cobalt Strike. В этой статье мы рассмотрим данное решение.

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

Разработка производительного распознавателя автономеров для edge-устройств

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 577

«Мы всего лишь хотели пофиксить баги в своем продукте, а психанули и создали аналог одной из библиотек» — CV-инженеры CodeInside.

Итак, в созданной нами системе мониторинга транспортного потока Smart Traffic System доступен функционал по распознаванию номерных знаков автомобилей.
Для работы этой функции ранее мы использовали библиотеку автоматического определения и распознавания автомобильных номеров — opensource-решение Nomeroff-net.
Однако, во время пользования этой библиотекой, столкнулись с долгим запуском и inference + библиотека занимала большое количество оперативной памяти. Так как мы решали эти проблемы в коммерческом проекте, кода здесь не будет. И вместе с тем, в статье указали репозиторий, конкретные шаги решения, чтобы при возникновении аналогичных проблем, вы смогли адаптировать его под свой проект.

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

LLM Leaderboard за февраль 2024

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 770

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

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

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

Ближайшие события

DI CONF SMM — большая конференция по соцсетям в России
Дата 2 марта
Время 09:30 – 18:00
Место
Краснодар Онлайн
Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Как работает криптография в ДЭГ

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1K

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

Читать далее
Всего голосов 18: ↑7 и ↓11 -4
Комментарии 66

Всё под контролем! История игровых устройств ввода: от привычных до самых странных

Уровень сложности Простой
Время на прочтение 20 мин
Количество просмотров 965

Привет, Хабр! Меня зовут Сергей Милосердов, и я работаю системным аналитиком Nau Engine. Как часть команды часть корабля продукта, предметно я очень глубоко погружен в игровую индустрию и ее историю. До того, как я присоединился к разработке движка, у меня был большой опыт работы в разных компаниях, использующих геймификацию в процессе обучения детей и посттравматической реабилитации. Этот бэкграунд подтолкнул меня к написанию серии статей о различных средствах ввода (контроллерах), и игровых и неигровых устройствах, их использующих. 

В этой части поговорим о зарождении игр (сюрприз: оно началось задолго до Doom), выясним, причем тут полированные шкафы, научные разработки и Брукхейвенская лаборатория, проследим эволюцию контроллеров от самых простых ручек до современных VR-устройств и вспомним те, что не прижились, но значительно повлияли на развитие игровой индустрии.  

Поехали!

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

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 426

В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество нюансов. Например, не всегда понятно как автоматизировать процессы, которые обычно делают люди, — банальную перезагрузку устройства в другом городе. Или другая особенность — целевые аппаратные ресурсы масштабируются не так хорошо, как софт, поэтому приходится придумывать свои подходы к распределению времени доступа к стенду для СI-конвейеров и инженеров.

Меня зовут Игорь Большевиков, я инженер по системному программированию систем на кристалле в YADRO В статье я расскажу о нашем опыте автоматизации процессов, связанных с разработкой на FPGA-стенде: удаленной загрузке плат, бронировании аппаратных ресурсов и решении вопросов по координации для распределенной команды. Я опишу ключевые этапы задачи без лишних технических деталей. Возможно, статья будет полезна тем, кто занимается или кому предстоит заняться автоматизацией работ с FPGA.

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

Почему ваши витамины и лекарства не работают на 100%? Машинное обучение нашло ответ

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 1.7K

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

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

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

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

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

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

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

Как взламывают биометрию и заставляют нейросети придумывать способы атак: топ-6 докладов с PHDays о ML и AI

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 710

Машинное обучение — особенно генеративные нейронные сети, такие как ChatGPT, — меняет мир нечеловеческими темпами. Разработчиков на некоторых дистанционных собеседованиях просят направить веб-камеру на рабочее место и клавиатуру, чтобы понимать, самостоятельно ли соискатель выполняет задания. Amazon ограничивает авторов самиздата загрузкой на сайт трех книг в день — фанфики и другая проза создаются неестественно быстро для «кожаных мешков». Поумневшие чат-боты приводят к массовым увольнениям сотрудников поддержки, а дизайнеры опасаются уступить конкуренцию Midjourney и Playground v2.

Генеративный AI словно говорит человечеству: «Сосредоточьтесь на важном, а я займусь искусствами, этими избыточными павлиньими хвостами хомосапиенсов, и рутиной». Люди ставят задачи, а огромная AI-фабрика по созданию цифрового контента их выполняет. Мечта многих, получается, осуществилась? Но преступники тоже используют AI или находят способы обмануть умные системы. Об угрозах ML и AI, в том числе для информационной безопасности, мы будем говорить в традиционном треке на киберфестивале Positive Hack Days 2. У вас есть время подать заявку до 15 марта, чтобы поделиться своим исследованием с 23 по 26 мая на стадионе «Лужники». А сейчас расскажем о некоторых любопытных докладах прошлых лет на ML-треке PHDays.

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

Как развивался IT-сектор Китая и почему правительство страны объявило ему войну

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 3.1K

Еще в начале 2000-х словосочетание «сделано в Китае» ассоциировалось с репликами брендов и дешевой рабочей силой. А сейчас Поднебесная занимает 12-е место в Глобальном инновационном рейтинге, обогнав Японию, Израиль и многие другие развитые страны. Чтобы добиться этого, КНР изменила подход к развитию экономики, сделав акцент на цифровизации. Результат превзошел ожидания, но у всего есть «темная» сторона. Рассказываем, как создавался IT-сектор Китая и почему он столкнулся с давлением собственного правительства.

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

Terraform для инженерии данных

Время на прочтение 10 мин
Количество просмотров 616
image Если перед нами стоит задача построить надёжную платформу для работы с данными, то для неё требуется предусмотреть множество компонентов: инструменты, логику обработки данных, методологии, архитектуру и инфраструктуру. Что касается инфраструктуры, здесь есть самые разные варианты: физические серверы на территории предприятия и облачные решения. Основное внимание в этом посте будет уделено эффективному использованию облачной инфраструктуры на базе Microsoft Azure.

В облачной инфраструктуре вам на выбор предлагаются виртуальные машины (инфраструктура как услуга — IaaS) или бессерверные службы, такие как Azure SQL и Databricks. Мне кажется, что бессерверные сервисы не только обеспечивают гибкость, но и упрощают и конфигурирование системы, и её техническую поддержку. В этой статье будут показаны сильные стороны Terraform, надёжного инструмента для обслуживания инфраструктуры на уровне кода (IaaC). При помощи Terraform можно без труда обустроить облачную платформу для работы с данными.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0