C++ — язык запутанный, и существенным его недостатком является сложность создания изолированных блоков кода. В типовом проекте всё зависит от всего. Эта статья показывает, как писать высокоизолированный код, который минимально зависит от конкретных библиотек (включая стандартные), имплементаций, сведя зависимость любого куска кода к набору интерфейсов. Помимо этого будут предложены архитектурные решения по параметризации кода, которые могут заинтересовать не только программистов на C++, но и программистов на Java. И что важно, предложенное решение весьма экономично по времени разработки.
Читать полностью »
Рубрика «java» - 58
Неопределённая параметризация как универсальный метод построения архитектуры приложения на C++ и Java за минимальн. цену
2019-11-10 в 22:09, admin, рубрики: c++, java, Анализ и проектирование систем, архитектура приложений, ооп, параметризация кода, паттерны приложений, Проектирование и рефакторинг, статическая параметризация, шаблоны c++, шаблоны проектированияGitHub опубликовал ежегодный статистический отчет
2019-11-08 в 17:50, admin, рубрики: 2019, github, java, open source, python, програмирование, Программирование, статистика, Статистика в IT
Веб-сервис для хостинга IT-проектов и их совместной разработки GitHub опубликовал сводный отчет за прошедший год с анализом разнообразной внутренней статистики по многим направлениям разработок, а также возможностям и достижениям своих пользователей. Оказалось, что Python теперь на втором месте в рейтинге популярности языков программирования, используемых на GitHub, Java сместился на третье место, а лидером остается JavaScript. Количество пользователей GitHub возросло на 25%, а основные страны, где проживают пользователи сервиса — США, Китай и Индия.
Читать полностью »
Что делать, если для вашего любимого языка нет статического анализатора?
2019-11-08 в 7:55, admin, рубрики: copypaste, cpd, java, modelica, open source, pmd, static analysis, копипаст, Программирование, Проектирование и рефакторинг, статический анализНу, если под любимым языком подразумевается русский, английский и т. д., то это в другой хаб. А если язык программирования или разметки, то конечно писать анализатор самим! На первый взгляд, это очень сложно, но, к счастью, существуют готовые многоязыковые инструменты, в которые относительно легко добавить поддержку нового языка. Сегодня я покажу, как можно с достаточно незначительными затратами времени добавить поддержку языка Modelica в анализатор PMD.
Кстати, знаете, что может ухудшить качество кодовой базы, полученной из последовательности идеальных pull request-ов? Тот факт, что сторонние программисты копировали в свои патчи куски существующего кода проекта вместо грамотного абстрагирования. Согласитесь, в какой-то мере такую банальность отловить ещё сложнее, чем некачественный код — он же качественный и даже уже тщательно отлаженный, поэтому тут недостаточно локальной проверки, нужно держать в голове всю кодовую базу, а человеку это непросто… Так вот: если на добавление полной поддержки Modelica (без создания конкретных правил) до состояния «может запускать примитивные проверки» у меня ушло около недели, то поддержку только copy-paste detector часто можно вообще добавить за день!
Разбор задач Одноклассников на Joker 2019
2019-11-05 в 7:58, admin, рубрики: java, Блог компании Одноклассники, задачи
С 28 по 29 октября в Санкт-Петербурге проходила Joker 2019 – самая большая и хардкорная на просторах России конференция, посвященная Java-разработке. Мероприятие проходило в седьмой раз и как всегда побило рекорд по посещаемости, в этот раз мероприятие привлекло более 2000 специалистов.
Одноклассники традиционно принимают участие в Joker в качестве партнеров мероприятия. В этом году на нашем стенде можно было попробовать справиться со знаменитыми «нерешаемыми» задачами от ведущих инженеров OK.RU. Участники конференции, правильно ответившие на вопросы, получили призы.
Справедливости ради надо сказать, что из 1 000 листочков с задачами, которые мы раздали, обратно было получено менее 100. Лучшим оказалось решение, набравшее 4.5 балла из 5 возможных.
Мы публикуем задачи и их решения, чтобы вы смогли проверить свои силы.
Читать полностью »
Использование нативных корутин в Java
2019-11-04 в 8:01, admin, рубрики: c++, C++20, coroutines, java, kotlinМногие современные языки поддерживают работу с корутинами на уровне языка. Java в данный момент не поддерживает корутины, но есть надежды что в будущем все может измениться.
Читать полностью »
Joker 2019: триумф года
2019-11-03 в 14:25, admin, рубрики: java, jetbrains, jfrog, jpoint, jug.ru, oracle, spring, teavm, testcontainers, конференцииНеделю назад, 25-26 октября 2019 года, в Санкт-Петербурге прошла Java-конференция Joker 2019. Что на ней происходило, какие доклады были, что показалось интересным — обо всём этом дальше.
Реализация шлюза P2P операций перевода с карты на карту
2019-11-02 в 18:59, admin, рубрики: java, p2p-платежи, processing, платежные системы, платежный шлюзДля своего проекта мне потребовалось реализовать возможность перевода с карты на карту. Для официального подключения к интерфейсу любого банка необходимо заключение договора и выполнение ряда условий. Поэтому было принято решение сделать шлюз к публичной странице банка. Для этих целей были выбраны два банка Тинькофф и БИН Банк предоставляющие возможность перевода на “свои” карты без комиссии. Подробней о тарифах и ограничениях на перевод вы можете ознакомиться на соответствующих страницах банков. В этой статье краткое описание работы шлюза, реализующего функциональность приема платежей на карту.
Требуется реализовать перевод с любой карты на заранее выбранную карту, с поддержкой процедуры авторизации 3DSecure. 3DSecure это защищенный протокол авторизации пользователей для CNP-операций (без присутствия карты). Подробней вы можете почитать на специализированных сайтах, ниже на схеме приведена упрощенная схема, как это работает с точки зрения пользователя.
Привет! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka.
Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK.
Читать полностью »
Внедряй, масштабируй: опыт применения автотестов в ВТБ
2019-10-31 в 12:57, admin, рубрики: cucumber, java, maven, selenoid, Блог компании ВТБ, втб, тестирование, Тестирование IT-систем, финансы в ITНаше подразделение создает полностью автоматические пайплайны для вывода новых версий приложений в прод-среду. Разумеется, для этого требуются автоматизированные функциональные тесты. Под катом — история о том, как, начав с тестирования в один поток на локальной машине, мы дошли до многопоточного запуска автотестов на Selenoid в пайплайне сборки с Allure-отчетом на GitLab pages и в итоге получили крутой инструмент для автоматизации, который смогут использовать будущие команды.
Чем нам запомнилась последняя JokerConf
2019-10-31 в 8:01, admin, рубрики: funcorp, java, joker 2019, jokerconf, jugru, Блог компании FunCorp, конференцииНа прошлой неделе в Санкт-Петербурге прошла международная Java-конференция Joker. Мы попросили наших ребят, которые её посетили, рассказать немного об организации и самых интересных, по их мнению, выступлениях. Кто-то отметил самые хайповые и весёлые, кто-то — самые актуальные и полезные. Впрочем, читайте об этом «из первых рук».




