• Как заставить браузер на удаленном сервере вести себя 'как обычно' при отключенной сессии?

    Snowindy
    @Snowindy Автор вопроса
    В итоге удалось решить очень интересным способом.

    Соединяюсь с сервером через https://remotedesktop.google.com/, и там оставляю браузер с открытой вкладкой, а также открываю Chrome Dev Tools в отдельном окне для этой вкладке. Судя по всему, это особый режим хрома, чтобы он не гасил вкладку в режиме отладки.
    Ответ написан
    Комментировать
  • Как сделать Git-hook для принуждения к правильному формату сообщения коммита?

    Snowindy
    @Snowindy Автор вопроса
    В итоге проще всего оказалось сделать хук для системы pre-commit.

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

    https://github.com/snowindy/msg-rules-enforcement-hook
    Ответ написан
    Комментировать
  • С чего начать при создании серверной части для мобильного приложения?

    Snowindy
    @Snowindy
    Для контраста с другими ответами и расширения кругозора, API также может быть совсем и не RESTful.
    К примеру, RPC-style API на основе SOAP, XML-RPC или JSON-RPC.

    Отличия RESTful и RPC-style:
    - С точки зрения REST - приложение представляет собой набор ресурсов, доступных по URI и залинкованых между собой. Для понятности, это грубо аналог - WWW, гипертекстовых страниц, форм и т.п. А клиент - браузер. Браузер мало что знает об устройстве каждого конретного сайта, но понимает общие принципы устройства сети, поэтому все и работает.
    - RPC-style, наборот, предполагает, знание клиента об устройстве приложения. Приложение в свою очередь - просто набор функий, доступных через контракт (документацию) и API.

    Что конкретно использовать - решать вам. Сейчас модно делать RESTful сервисы, так как зачастую эта архитектура хорошо ложится в парадигму CRUD.
    Ответ написан
    Комментировать
  • Искать ли альтернативу Java?

    Snowindy
    @Snowindy

    Не ищите альтернативу Java. Язык проще, чем C, намного более управляемый с точки зрения дурацких ошибок новичка (ваш случай). К тому же, если вдруг соберетесь работать программистом, вероятность найти работу на C и C++ значительно меньше, чем на Java.

    Ответ написан
    2 комментария
  • Функциональное тестирование RESTful API

    Snowindy
    @Snowindy Автор вопроса
    Выбор пал на JMeter:
    — Может запускать тесты из GUI и CLI
    — Может проксировать и записывать все взаимодействия по сети, позволяя вручную не набирать последовательности запросов
    — Обладает широкой поддеркой встроенных динамических языков: Javascript, Groovy и т.д.
    — Любой тест может быть превращен в нагрузочный за несколько кликов

    Туториал по записи действий и созданию тестов:
    www.youtube.com/user/MuthukumarJayakumar?feature=watch
    Ответ написан
    Комментировать
  • Ноутбук Lenovo EDGE 15 закипает в играх (100С) Как раскрутить вентилятор

    Snowindy
    @Snowindy
    У меня на Lenovo T420s по умолчанию кулер тоже не особо раскручивал.

    Я поставил утилиту TPFanControl, с ней стало значительно холоднее процессору.
    Висит постоянно теперь в автозагрузке.
    Ответ написан
    Комментировать
  • Поворот без поворота руля

    Snowindy
    @Snowindy
    Вас, возможно, еще заинтересует такой прием как «контрруление»: для поворота в одну сторону руль на долю секунды поворачивают в противоположную, таким образом заставляя средство передвижения терять равновесие и «падать», начиная поворот наклоном.
    Ответ написан
    Комментировать
  • Как правильно писать на Java/Scala/C#/etc?

    Snowindy
    @Snowindy
    На Java, особенно с использованием Spring Framework, нормальная разработка примерно такова
    1) делим систему на слои: слой хранения данных с интерфейсом, слой бизнес-логики с интерфейсом, слой веб-приложения или веб-сервиса (к примеру).
    2) Каждый из слоев обкладывается Unit-тестами (автоматизированное тестирование), при этом остальные части системы, на которые есть зависимости, выглядят просто как интерфейсы, которые можно «эмулировать» на время тестов (техника test mocking).
    3) Интеграционное тестирование (автоматизированное/полуавтоматизированное тестирование) — несколько слоев запускаются почти в реальном окружении, и тестируются вместе наподобие черного ящика. Смотрим на то, как работает система в сборе.
    4) Ручное тестирование всей системы перед релизом — к этому вы как раз привыкли.

    Основная работа происходит на этапах 1 и 2. Цикл тест-изменение кода-тест — происходит обычно в течение нескольких секунд, так как Unit-тесты легковесные.

    Цикл разработки, описанные вами, обладает одним серьезным ограничением — никакой автоматической защиты от регрессий функциональности. Для этого и пишут тесты.
    Ответ написан
    5 комментариев
  • Порекомендуйте стек технологий основанный на Java для вебприложения?

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

    Некоторые веб-фреймверки так устроены, чтобы брать на себя многие функции по работе с БД (к примеру, Grails использует для этого очень удобный ORM «GORM»). Таким образом, выбрав подобный фреймворк и не имея с ним особого опыта, и посмотрев сетевые примеры приложений типа PetStore (т.е. карманные приложения для примера работы фреймворка), можно случайно наколбасить так, что произойдет лок функциональности внутри веб-приложении.
    Пример: Случайно может получиться так, что вся логика асинхронного процессинга сообщений окажется внутри веб-приложения. Я видел такое. Веб-приложение запускалось 5 минут…

    Сразу это учитывайте при выборе архитектуры, разделяйте функциональность по слоям.
    К примеру,
    1. бэкенд для всей логики, не касающейся веб-приложения на Spring
    2. Фронт на Grails, только необходимое
    3. Оба модуля могут смотреть на одну и ту же базу, так что можно использовать лучшее из обоих миров, к примеру Spring-Data-JPA для бэкенда и GORM для фронта.
    Ответ написан
    Комментировать
  • Сайты веб-фрилансеров?

    Snowindy
    @Snowindy
    free-lance.ru наиболее популярный, около 1000 объявлений в день (во всех категория)
    weblancer.net и freelance.ru — менее популярные ресурсы — по 300 объявлений в день (во всех категория)

    Снимаю статистику с них в настоящее время, поэтому знаю.
    Ответ написан
    1 комментарий
  • Особенности учета трафика мобильного интернета компании Мегафон

    Snowindy
    @Snowindy
    Торрент-клиент, автоматическое обновление браузеров, апдейты операционной системы…
    И все это добро начинает качаться, как только есть любое доступное соединение, не разбираясь в подробностях тарификации трафика.
    Ответ написан
  • Загородный коворкинг в заповеднике на берегу озера

    Snowindy
    @Snowindy
    Мне интересно тоже. Сейчас во Вьетнаме, работать получается нормально, значит и дома можно это попробовать.
    Важно, чтобы была возможность занять подругу делами, пока работает. В этом случае можно жить хоть месяц там.
    Пожалуйста, уведомляйте о вашем прогрессе!
    Ответ написан
  • Android-разработка с использованием телефона Fly?

    Snowindy
    @Snowindy Автор вопроса
    Также искал на 4pda, но предыдущий поиск не был успешен почему-то.
    после более подробного поиска в треде успешно установил драйвер из шапки треда.
    Ответ написан
    Комментировать
  • Как организовать хранение последних изменений в БД проекта?

    Snowindy
    @Snowindy
    Одно из отраслевых решений для миграции БД.
    Не идеальное, есть некоторые шороховатости, не удобно мигрировать данные…

    Но это лучше чем без него
    www.liquibase.org/
    Ответ написан
    Комментировать
  • Откуда начать изучение Java?

    Snowindy
    @Snowindy
    Если вам надо только оптимизировать приложение, гораздо дешевле будет взять и прооптимизировать его архитектурно, чем
    1) решаться изучать _в_теории_ более быстрый язык программирования и
    2) полностью переписать на нем все без потери скорости

    Изучение всех возможностей Java может длиться годами, я уже все 4 года как плотно на ней работаю, а Java EE до сих пор отчасти путано понимаю
    Ответ написан
    1 комментарий
  • Как искать на Хабре?

    Snowindy
    @Snowindy
    На всех открытых сайтах проще всего искать гуглом.
    Это обычно надержнее, чем встроенными кривыми алгоритмами.
    www.googleguide.com/advanced_operators.html#site
    Ответ написан
    4 комментария
  • Как обновить большой объём данных?

    Snowindy
    @Snowindy
    На другой машине написать скрипт с неограниченным временем выполнения, который подключится к базе на вашем хостинке и сделает всю работу.
    Базу данных, соответственно, надо научить слушать не только локальные обращения (в MySQL можно ограничить внешние обращения до списка IP-адресов).
    В базе данных для тяжелых операций внутри самой базы написать утилитарные хранимые процедуры, чтобы не гонять данные по сети.
    Ответ написан
    Комментировать
  • Как вы используете Groovy в своем Java проекте?

    Snowindy
    @Snowindy
    В другом проекте серьезно используем Groovy скрипты внутри docx-документа для формирования договоров в формате docx.
    Я даже специально написал библиотеку в общем доступе. snowindy.github.com/scriptlet4docx

    Ну и конечно Grails-сайты.
    Ответ написан
    Комментировать
  • Как вы используете Groovy в своем Java проекте?

    Snowindy
    @Snowindy
    Используем для скриптов валидации выходных данных системы. Тест-кейсы и валидирующие скрипты пишутся тестировщиками.
    Все пути к скриптам валидации настроены через БД, так что команда разработчиков не сильно вмешивается в автотесты.

    Также тестировщики пишут код для SoapUI-моков, там также используется Groovy.
    Ответ написан
    1 комментарий
  • jdbc - два запроса в одном соединении

    Snowindy
    @Snowindy
    Скорее всего, вам нужно будет получить другое соединение для второго запроса. Но я бы так не делал.
    Если вам надо одновременно читать из двух мест в одной базе, значит проблема в дизайне. Вероятно, стоит применить одно из:
    1) написать один JOIN для двух таблиц и вернуть его
    2) Начитать первый результат в память и работать с этими данными во время итераций по второму
    3) Использовать хранимую процедуру в БД, которая сделает всю логику и вернет результат.
    Ответ написан