Рубрика «Программирование» - 491

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

Таких кейсов может быть очень много — инверсия зависимостей (как пример архитектурных измений), добавление аттрибутов, внедрение аспектов (пример добавления сквозной функциональности) и разнообразные компоновки кода в классы и методы, а также переход к новой версии API — в этой статье рассмотрим этот случай подробно.

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

Программная инженерия отличается от программирования - 1

Перевод Software engineering is different from programming.

Некоторым людям не нравится термин «программный инженер» из-за метафоры с инженерным делом. Но эта статья не про термин. Если он вам не нравится, замените на Автора программ, Умельца по программному обеспечению или Программного художника!

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

Умение программировать не делает вас программным инженером.
Читать полностью »

Чем «транскрибирование» отличается от «распознавания голоса» - 1

Голосовых помощников сейчас делают все. Их встраивают в телефоны, наушники, отдельно стоящие колонки, они пытаются с нами общаться при звонках в тех поддержку и заменить «нажмите 1 чтобы связаться с оператором» в голосовых меню. Наше «лего для телефонии» Voximplant предлагает разные варианты распознавания голоса уже много лет, и под катом я на примере нескольких строк JavaScript покажу основные варианты, чем они отличаются друг от друга и почему «потоковое распознавание от гугла» — это не всегда самый лучший вариант.
Читать полностью »

«Хочу мобильное приложение для интернет-магазина» — такие запросы все чаще поступают от владельцев брендов к веб-разработчикам. Но как обычной веб-студии удовлетворить столь масштабный запрос, если среди компетенций компании есть только веб-разработка?

По нашим данным, в большинстве случаев небольшие веб-студии пытаются отговорить клиента от мобильного приложения в пользу обычной адаптивности сайта или независимой мобильной версии. Часто это удается, хотя приходится отбиваться от множества сложных вопросов, например, таких как: “А почему у всех брендов, которые на слуху есть собственное мобильное приложение, зачем они тогда его делают?”.

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

В 2016 году мы оценили эту проблему и спустя год предложили готовое решение для создания мобильного приложения для интернет-магазинов, разработанных на платформе ReadyScript. Как обычно, мы предлагаем и SaaS и коробку. Новый сервис получил название ReadyScript Mobile.

ReadyScript Mobile — готовое eCommerce мобильное приложение - 1

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

Добрый день!

Речь в этой статье пойдет о том, как частично сократить объем кода, который зачастую приходится набирать вручную или откуда-то копипастить (боже упаси), средствами IntelliJ IDEA, а конкретнее — шаблонами файлов и кода. Если вы не достаточно знакомы с расширенным использованием возможностей этой IDE, то добро пожаловать под кат.

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

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

Под катом вы найдете ссылки на блоги, рекомендованные резидентами разных платформ: Quora, Stack Overflow, Hacker News, Reddit и др. Авторы этих блогов занимают самые разные должности в ИТ-экосистеме: разработчики, тестировщики, дизайнеры, управленцы, и пишут как статьи для начинающих, так и более продвинутые материалы.

Другие наши тематические подборки:

33 независимых блога о UI-дизайне, веб-разработке и программировании - 1Читать полностью »

long long ago; /* in a galaxy far far away */
 //
    //                       _oo0oo_
    //                      o8888888o
    //                      88" . "88
    //                      (| -_- |)
    //                      0  =  /0
    //                    ___/`---'___
    //                  .' \|     |// '.
    //                 / \|||  :  |||// 
    //                / _||||| -:- |||||- 
    //               |   | \  -  /// |   |
    //               | _|  ''---/''  |_/ |
    //                 .-__  '-'  ___/-. /
    //             ___'. .'  /--.--  `. .'___
    //          ."" '<  `.____<|>_/___.' >' "".
    //         | | :  `- `.;` _ /`;.`/ - ` : | |
    //            `_.   _ __ /__ _/   .-` /  /
    //     =====`-.____`.___ _____/___.-`___.-'=====
    //                       `=---='
    //
    //
    //     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    //               佛祖保佑         永无BUG
    //

«Слава богу, багов нет»
Читать полностью »

FPConf 2017. Интервью с Александром Вершиловым - 1 Привет!

Продолжаем говорить про Haskell со спикерами FPConf 2017.

Павел Аргентов задал несколько вопросов Senior Software Engeneer в Tweag I/O Александру Вершилову, программисту, который уже 10 лет продвигает Haskell в индустрии.
Читать полностью »

Команда Rust рада сообщить о двух новых версиях Rust: 1.22.0 и 1.22.1. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Подождите, две версии? В последний момент мы обнаружили проблему с новой macOS High Sierra в версии 1.22.0 и по разным причинам выпустили версию 1.22.0 как обычно, но так же выпустили 1.22.1 с исправлением. Ошибка была найдена в менеджере пакетов Cargo, а не в rustc, и затронула только пользователей macOS High Sierra.

Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить:

$ rustup update stable

Если же у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.22.0 и 1.22.1 можно ознакомиться на GitHub.

Что вошло в стабильную версии 1.22.0 и 1.22.1

Самое главное изменение в этой версии, которого многие долго ждали: теперь вы можете использовать ? с Option<T>! Около года назад, в Rust 1.13, мы ввели оператор ? для работы с Result<T, E>. С тех пор ведутся дискуссии о том, как далеко оператор ? должен зайти: Должен ли он остаться только для Result? Разрешать ли пользователям расширять его? Должен ли он использоваться с Option<T>?

В Rust 1.22, основное использование оператора ? с Option<T> стабилизировано. Теперь такой код соберется:

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

Java Jam: правда о Java в Badoo, реалтайм-кодинг под Vert.x, собственный API и spring-стартеры - 1

На прошлой неделе в стенах Яндекс.Денег прошла встреча Java-разработчиков. На ней много говорили про Vert.x, обсуждали пользу от Kotlin, когда все и так неплохо, а также особенности разработки собственного REST-подобного API.

Самое время поделиться записями докладов от Яндекса, Badoo, Альфа-Лаборатории и Яндекс.Денег.Читать полностью »


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