• Когда использовать Netty/Jetty а когда не париться и юзать Tomcat?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Tomcat
    Седой и строгий
    Прежде всего, Jetty вы зря поставили в один ряд с Netty. Совсем разного поля ягоды. Jetty - это web-контейнер. Netty - фреймворк для разработки асинхронных приложений. Jetty используется, когда нужен маленький и простой web-контейнер. Часто как встроенный web-сервер. Netty в основном для разработки восокопроизводительных серверов. Причём необязательно web-серверов.

    Если же сравнивать Jetty и Tomcat, они полностью взаимозаменяемы. Обычно, Jetty используют для самостоятельных приложений, упакованных в один jar-файл. А Tomcat тогда, когда вам нужно обслуживать несколько десятков приложений, упакованных в war-файлы. Но можно и наоборот.
    Ответ написан
    Комментировать
  • Java libgdx или C# Unity3D?

    leni8ec
    @leni8ec
    Программист, разработчик игр.
    Действительно, как и пишут выше - все зависит от цели, если вам хочется разобраться именно в процессе написания кода для игры, узнать как оно все устроено, то libGDX хорошо подойдет для этой цели. В Unity же сложнее понять "как оно все устроено?", т.к. все сделали уже за вас, но при определенных стараниях - результат и там и там будет примерно одинаков.

    Я начинал писать с libGDX, затем перешел на Unity, так как он начал набирать популярность, ну и как потом оказалось - это классный движок! Проблем с переходом с Java на C# не было, просто открыл новый редактор и начал писать. Да есть свои ньюансы и подводные камни, но гугл все решает :)
    P.S. Сейчас же собираемся переходить на другой фреймворк, т.к. движок Unity для наших целей - слишком громоздок и неповоротлив.
    Ответ написан
    3 комментария
  • Java libgdx или C# Unity3D?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Java и шарп действительно сильно похожи синтаксисом но внутренние отличия довольно большие. В общем перескочить можно с малой кровью.
    Сравнивать libgdx и юнити очень некорректно.
    Юнити это готовый и законченный движек с готовыми утилитами под него.
    LibGDX это только фреймворк над базовыми вещами. Т.е. рендер\систему ресурсов\сеть\базовые классы игры, все придется писать самому. Утилиты,равно как и форматы хранения контента придется тоже писать самому. Редактор карт тоже придется писать самому. Другой вариант что многие описанные вещи можно найти уже написанные кем то и слепить все воедино.

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

    К примеру если игра изначально задумывается в виде платформера то намного удобнее написать все свое конкретно для данной игры на LibGDX, скорее всего это будет даже быстрее чем на юнити.
    Если игра будет чем то вроде КС то такую игру намного проще и быстрее делать на Юнити но позже будет сложнее дорабатывать ради уникальных фишек и количество костылей будет расти пропорционально числу уникальных фич.
    Ответ написан
    Комментировать
  • Что такое ElasticSearch?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Знаете, я с вами соглашусь, что хорошую вводную по Elastic трудно найти. Пока сам не переварил доков и не набил шишек многие элементарные понятия оставались для меня неясными. Поэтому вот моя вводная: Elastic можно использовать как NoSQL БД, только надо быть внимательным, т.к. всё-таки его основная задача поиск, а не удовлетворение функций БД. Например, если вы не настроили хранение исходных данных, а только индексацию, то свои данные вы уже не извлечёте из него. НИКОГДА. Только отдельные выражения, удовлетворяющие условиям поиска. Всё, тупик. Так же нельзя повторно индексировать уже загнанные в него данные. Т.е. перед загрузкой данных надо грамотно настроить индексацию, т.к. перестроить индекс, как это делается в реляционной БД невозможно. Нужно придумать новую схему индексации и перезалить данные в Elastic. Именно поэтому основное использование Elastic - как дополнение к существующей БД из которой данные можно перезалить по одному или полностью в Elastic (можно, конечно сделать схему Elastic->Elastic, но тоже есть нюансы).
    Ещё пару слов про схему. Это ЛОЖЬ, что в Elastic нет схемы данных. Она как раз есть и ооочень жёсткая. Жёсткая до того, что однажды определив, вы не сможете её поменять. Изначально Elastic оказывает медвежью услугу, разрешая вам дополнять схему по-умолчанию, но когда вы разберётесь с этой темой, то можете обнаружить, что Elastic "понастроил" такого у себя внутри, что остаётся только охреневать и переделывать всё явно, отказавшись от его "услуг" по автоматическому добавлению полей в схему.
    Так же в Elastic очень непросто строить сложные запросы на поиск и агрегатные запросы. Совершенно неинтуитивно. Но если освоитесь, то будет вам счастье. )))
    Несмотря за такие "страшные" вещи - Elastic классная система и по производительности агрегатных запросов не уступает платной версии MSSQL в поиске в многопроцессорных системах (проверял на одинаковых аппаратных конфигурациях с 16 ядрами). Так что если вам хочется большую скорость в агрегатных запросах и главное - это бесплатность, то берите и осваивайте Elastic. Мощности и возможности у него огромные. Но... нужно потратить приличные усилия на изучение.
    Ответ написан
    1 комментарий
  • Доменная зона .io — что я пропустил?

    Один из омонимичных доменов:

    .am — национальный домен Республики Армения, созвучен с диапазоном радиостанций AM или как зона AMerica.
    .cd — национальный домен Демократической республики Конго (иначе — Заира), совпадает с сокращением для компакт-диска.
    .dj — национальный домен Джибути, совпадает с сокращением «диджей».
    .fm — национальный домен Федеративных Штатов Микронезии, созвучен с диапазоном радиостанций FM. Пример: last.fm.
    .im — национальный домен Острова Мэн. Совпадает с сокращением Instant Messaging («мгновенные сообщения»).
    .io — национальный домен Британских территорий в Индийском океане. Совпадает с сокращением Input Output («ввод/вывод»).
    .is — национальный домен Исландии. Совпадает со словом is, формой третьего лица единственного числа английского глагола to be. Пример: who.is
    .it — национальный домен Италии. Совпадает с сокращением IT (информационные технологии), а также с английским местоимением it («это»). Пример: ok.undo.it
    .md — национальный домен Молдавии. Совпадает с сокращением аудионосителя MiniDisc и с сокращением Must Die. Также совпадает с сокращением от англ. medical doctor, используемым повсеместно в англоязычных странах. Например, известный американский сериал «Доктор Хаус» в оригинале называется House, MD.
    .me — национальный домен Черногории. Совпадает с местоимением «меня», «мне» в английском и других европейских языках.
    .net — общий домен верхнего уровня, совпадает с русским словом «нет», из-за чего обрёл в России (и не только) дополнительную популярность. Часто используется с доменными именами в виде транслитерированных русских слов. Примеры: mozga.net, lishnih.net.
    .nu — национальный домен острова Ниуэ, созвучно со словом ню.
    .tm — национальный домен Туркменистана, совпадает с аббревиатурой «™» (англ. trade mark — торговая марка).
    .tv — национальный домен Тувалу, совпадает с аббревиатурой «Телевидение».
    .ws — национальный домен Западного Самоа, совпадает с аббревиатурой Web Site.
    .in — национальный домен Индии, с английского языка переводится как предлог «в».
    .li — национальный домен Лихтенштейна. Совпадает с окончанием глаголов и имён существительных в русском языке. Используется с доменными именами в виде транслитерированных русских слов. Примеры: zadolba.li, zastuka.li, vaf.li, gus.li, yas.li.
    .pro - общий домен верхнего уровня для профессионалов в своей области.
    Ответ написан
    3 комментария
  • Какую систему сборки для Java выбрать?

    javax
    @javax
    Software Architect, Java Developer since 1996
    Идея мавена, мне кажется, очень крута — описательный вид сборки-
    т.е. проект у меня такой то, зависит от того то и того то — а теперь построй его!

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

    Если же нестандартного много, можно посмотреть на gradle — это мавен на груви вместо XML — т.е. пока все стандартно используем описательный стиль, а когда надо — пишем куски скрипта на груви
    Ответ написан
    1 комментарий
  • На чём написан Хабр?

    seriyPS
    @seriyPS
    да вообще то вот: habrahabr.ru/blogs/habraworks/36692/
    Ответ написан
    Комментировать
  • На чём написан Хабр?

    xn__p2a
    @xn__p2a
    > На чём написан Хабр?

    Иногда мне кажется, что на коленке… (особый привет хабра-парсеру!)
    Ответ написан
    Комментировать
  • Как из Flash читать/писать в базу данных (MySQL или MSSQL)

    @verwolfdotss
    Coldfusion продвигаемая Адобом серверная платформа для веб-приложений основанная на J2EE.
    По сути для общения с базой данных в любом случае прийдется писать некий серверный компонент обрабатывающий запросы клиентов на swf и производящий различные операции с БД. По сути выбор сводиться к языку программирования с которым вам удобнее работать.
    Ответ написан
    2 комментария
  • Распространенность SilverLight

    schursin
    @schursin


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

    Источник: www.gotdotnet.ru/blogs/sanchez911/7055/
    Ответ написан
    2 комментария
  • Выравнивание символа * в строке

    Habroche
    @Habroche
    Вопрос вроде бы насчёт конкретного символа, но на всякий случай —
    ∗ Math asterisk не подойдёт? (U+2217: ∗)
    Ответ написан
    3 комментария
  • Биты и байты

    Gard
    @Gard
    Отчасти сложилось исторически. Ведь программисты и компьютеры работают с байтами. А вот телеком оборудование работает с бодами и битами. Пример: стандарт 100BASE-TX кодирует сигнал по алгоритму 4B/5B (добавляет 5 бит для отсутствия долгого сигнала на линии). Уже расхождение с байтами.
    Отчасти маркетинг. Раз сетевое оборудование работает с битами — компании провайдеры не переводят величины и пользователю кажется что канал будет больше, чем он видит сейчас в download speed.
    Ответ написан
    Комментировать
  • Выравнивание символа * в строке

    Вам поможет css-свойство vertical-align. Пример:
    2<span style='vertical-align:-20%'>*</span>2 = 4
    Ответ написан
    3 комментария
  • HTML шаблоны

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Ну например: habrahabr.ru/blogs/css/70203/
    Ответ написан
    Комментировать
  • Лишняя запятая в JS

    charon
    @charon
    на мой непрофессиональный взгляд неправ программист. Запятая явно тут лишняя, в какой грамматике ни думай.
    Ответ написан
    2 комментария
  • Отступ <textarea> в WebKit при Strict?

    bigdogsru
    @bigdogsru
    Попробуйте textarea {display: block;}
    Не уверена, но помогало при появлении аналогичных отступов в IE у изображений
    Ответ написан
    1 комментарий
  • Получение значения элемента <version /> из pom.xml в коде проекта

    @MikeMirzayanov
    Надо сделай ресурс, например your-project-name.properties, который фильтрующе копируется и содержит строку «project.version=${project.version}». Потом в рантайме вы можете вычитать это значение из properties-файлика, как и другие значения конфига.
    Ответ написан
    2 комментария
  • Почему singleton круче global?

    Действительно, понятия немного из серии «что лучше, Алла Пугачева, или цветной телевизор». Однако если я правильно понял мысль автора, постараюсь ответить :)

    Все очень зависит от используемого языка. Но в целом сразу видятся такие причины:

    1. Глобальную переменную может случайно переопределить другой модуль. Получим сложно отлавливаемую ошибку. Класс же, посредством которого реализован паттерн синглтон в большинстве языков переопределить нельзя. Ну или по крайней мере можно получить ошибку компиляции (в компилируемых языках).

    2. Область видимости имен классов обычно не зависит от контекста. Глобальная же область переменных в некоторых языках опять же может меняться.
    Ответ написан
    Комментировать
  • Когда вы занимаетесь самообразованием?

    В рабочее время (когда свободен) + когда добираюсь и возвращаюсь с работы. В день около 2 часов уходит на самообразование.
    Ответ написан
    Комментировать