Метка «Программирование» - 27

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

Введение

Совсем недавно компания Xamarin анонсировала выход новой версии своего инструментария для кроссплатформенной разработки мобильных приложений, но вменяемых статей на русском по этой тематике так и нет. На Хабре появился небольшой обзор, не связанный с кодингом, там же была пара попыток рассказать об этом чуть подробнее, но дальше процесса создания Hello World приложения дело не зашло. А жаль. В этот раз мы попробуем исправить это досадное недоразумение.
Читать полностью »

С чего все начиналось

Здравствуйте, уважаемыее! Вначале расскажу краткую предысторию этого скрипта. В сети есть браузерная игрушка с чатом, и двумя враждующими мирами. При написании сообщения из одного мира в другой, если вы не находились в специальном месте, текст шифровался, то есть буквы алфавита «перемешивались» — к примеру, буква «о» заменялась на букву «е», буква «з» на букву «в» и так далее. При этом несколько букв могли «превращаться» в одну и ту же, например, буквы «е» и «э» превращались в «а». Из-за этого слово «только» могло превратиться в «сефыче», что абсолютно нечитаемо. А представленные другими людьми переводчики возвращали слова вида: «(б, т, ф)ол(у, ь)(к, р)о», прочесть которые тоже не раз плюнуть. Поэтому я, и еще один товарищ, решили создать скрипт, который неким образом возвращал словам истинное обличье. У нас было несколько идей, в том числе, придумать алгоритм эвристического анализа слова на «русскость» (очевидно, что слишком много согласных никак не могут идти подряд и т.п.). В конце концов была использована весьма интересная библиотека phpMorphy, найденная на просторах всемирной паутины. О работе с ней и пойдет речь в этой статье на примере переводчика из «языка» одного мира в другой.Читать полностью »

Улучшаем качество кода с помощью автоматических утилитДостаточно большое число людей используют github для хранения исходного кода своих проектов. Идеология fork/pull request позволяет достаточно легко выполнять обзоры кода (code review). Обзоры кода в значительной степени позволяют поднять качество кодирования в проекте. Однако, часто человек выполняющий обзор кода вынужден заниматься проверкой стандартов кодирования принятых в проекте, и прочих очевидных вещей не связанных непосредственно с задачей решенной в pull запросе. Такие ошибки кодирования могут и должны быть обнаружены автоматически.
Читать полностью »

Генератор абстракций (видеообзор)

Привет!
Не для широких масс, но для любителей программирования и графики решился я опубликовать сей пост.
image
Читать полностью »

Правильная модель в QtЗа последний год пришлось довольно много работать с Model/View фреймворком Qt. Приходилось как писать собственные модели, так и переделывать существующие. И вот, после созерцания очередного творения, решил представить общественности некоторые наработки.

Начнем с очевидного:

Не используйте виджеты

Все эти QTableWidget, QListWidget и QTreeWidget — не для вас.

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

Одни плюсы, а минусов, при этом, не замечено.Читать полностью »

Если Вы программируете на Си и Вам не хватает типизированных контейнеров, которые есть в языках высокого уровня, добро пожаловать под кат:
Читать полностью »

К хорошим постам habrahabr.ru/post/135340/ и habrahabr.ru/post/171261/

  • Почему большинство программистов не любят «читать чужой код»?
  • Почему рефакторинг и внесение изменений становятся серьезной проблемой?
  • Почему так часто случается, что легче переписать с нуля?
  • Почему одни программисты называют других хорошими или плохими словами?

Конечно, многие из вас обнаружат, что предлагаемые ниже ответы на эти вопросы весьма знакомы, но возьмите эту статью на заметку, так как кидать линк зачастую все же существенно комфортнее, чем распинаться в объяснениях и доказательствах очевидного.
Читать полностью »

Цели и задачи

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

Техническое задание

Создать и опробовать виртуальную машину (ВМ) на разных инструментах. Проверить работоспособность установленных в ВМ средств.
Учитывать размеры образа ВМ, занимаемые ресурсы на хостовой ОС, портативность, легкость установки и начала использования на любом железе с нуля.

Читать полностью »

С этой структурой данных можно ознакомиться в этом посте и её модификацией для нахождения максимума в этом. Но я нигде не встречал реализацию с изменением элементов на отрезке, поэтому решил поделиться тем, что сумел получить самостоятельно.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js