• Какой язык будет лучше для производства бизнес-приложений?

    EreminD
    @EreminD
    Кое-что умею
    Ну, судя по конечной цели, Java - она чаще встречается
    К тому же, если вы планируете ваш desktop и на винду и на мак писать, то лучше уж один раз писать
    Да, .net-овские приложения тоже можно запустить на маке, но для конечного пользователя проблем, в этом случае больше
    В общем, Java
    Ответ написан
  • Почему появилась мода на новый синтаксис?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    То есть varName : TypeName вместо TypeName varName ?


    Читабельность. "идентификатор varName содержащий TypeName" намного логичнее записывать именно в таком порядке. Ну и да, этот синтаксис не новый, далеко не новый.
    Ответ написан
  • Какие есть средства в Java для доступа к SOAP веб-сервисам няпрямую через SOAP?

    AxianLTD
    @AxianLTD
    Вручную написать коннектор и описать все объекты используемые при обмене - все то, что генерируется по WSDL-автоматически. Риторический вопрос - а зачем придумывать себе гемморой?
    Ответ написан
  • Все ли знания важны?

    dimonchik2013
    @dimonchik2013
    полковник Андрейченко
    на каком-то курсе препод вам расскажет байку: "должен вам сказать, что из всего, что мы изучили на этом курсе, в жизни вам пригодится максимум половина, и самое плохое, что я не знаю, какая это половина"
    Ответ написан
  • На чем писать браузерную 2D многопользовательску RPG игру?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Берете дизайнера, который нарисует вам интерфейс как в линедж только 2д.
    Берете художника, который понаделает вам графики как в линейдж, только 2д.
    Берете композитора, который сделает вам музыку как в линейдж только.... моно.
    Берете игровой вебдвижок, который может рисовать изображение как в линейдж только 2д.
    Изучаете ЯП, на котором будете писать игру как линейдж, только 2д.
    Пишите игру как линейдж, только 2д.
    Еще вам нужен сервер, как у линейдж, только для 2д мира.
    Ответ написан
  • Кодинг на бумаге?

    OnYourLips
    @OnYourLips
    Под "кодингом на бумаге" вы имеете ввиду конспекты?
    Это нормально, но иметь под рукой компьютер эффективнее.

    Купите хотя-бы старый нетбук за 4тр.
    Ответ написан
  • Почему не все серверы пишутся на Node js?

    un1t
    @un1t
    Язык "на любителя", если не сказать грубее, платформа сырая, библиотек мало, фреймворков полноценных нет, производительность низкая. Писать асинхронную лапшу на js удовольствие сомнительное, специальных средств поддерживающих асинхронность в языке нет. Единственный плюс ноды, что на ней хорошо собирать статику - всякие гранты, галпы, но это для верстальщиков больше чем для разработчиков. Я вот наоборот не понимаю мотивацию людей, которые пишут на ноде веб проекты. Нода подходит только для написания промежуточных звеньев между бакендом и фронтэндом, которая особо ничего не далает и не имеет сложной логики, а только делает несколько запросов в бакенд и выдает их на фронт. И даже в этом случае я бы предпочел другое решение.
    Ответ написан
  • Почему не все серверы пишутся на Node js?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Принципиальных качественных преимуществ у node.js перед остальными языками нет, как впрочем и недостатков. Просто yet another язык со своими особенностями. Соответственно если в вопросе заменить node.js на php/ruby/python итд - ничего не изменится.
    Вопрос по сути абстрактный "почему все не перешли на язык %%%%%"

    2. Ответ на абстрактный вопрос:
    а) Потому что существует огромное количество legacy кода который нужно поддерживать. Работы по поддержке и развитию существующего кода на порядок больше чем написания с нуля нового
    б) Потому что у разработчиков есть свой стек любимых технологий, изменять который без явных экономических причин основная масса не готова
    в) Потому что умные технические менеджеры выбирают стек технологий проекта исходя из имеющихся под рукой разработчиков и легкости поиска и заменимости оных.

    UPD
    hbrmdc
    У NodeJS есть уникальные и очень весомые преимущества, которых нет ни у одного другого языка. Например то, что это JS, и, следовательно, нет необходимости разучивать лишние языки - можно весь webapp писать на js.
    Личные предпочтения обоснованные привычками - это не имеющий значения аргумент в данном вопросе.

    1) Есть отличия, да. Только не те о которых Вы пишите. То что это "JS" вообще ни на что не влияет.
    JS хорошо знают фронтендщики - а кто пустит фронтэндщика к внутренней архитектуре? Там подход совершенно другой нужен, другие навыки, другое понимание как это все работает. Просто пересадить человека с фронта на бек - нельзя.

    На самом деле основные отличия другие:
    Постоянно живущий процесс, фактическая однопоточность. В зависимости от задачи - это может быть и плюсом и минусом. Условно для какого нибудь сокет-сервера - плюс (активно используем на живых проектах). Для middleware - я бы подумал. Для нагруженного сервиса с расчетами - точно нет.

    2) Личные предпочтения обоснованные привычками это основной аргумент.
    Я вот умею в php, умею в ноду, умею в еще десяток умных слов.
    Мне нужна новая команда на новый проект.
    Я открываю hh и что я вижу: node.js 279 резюме из которых половина фронтэндщики.
    PHP - 9613 резюме. Даже если 90% разработчиков PHP на hh - уроды которых к коду нельзя подпускать на пушечный выстрел - останется все равно в 3 раза больше чем есть node.js.
    Собственно на этом выбор и закончен.

    На малопопулярных языках пишут в случаях:
    a) это мелкий сервис с неявными перспективами который можно переписать за неделю
    б) это проект "для души" разработчика.

    Получается замкнутый круг на самом деле.
    Менеджер смотрит резюме, резюме на node.js нет =>
    Менеджер не начнет проект на node.js =>
    Не возникнет вакансия на node.js =>
    Разработчик анализируя вакансии не увидит вакансий на node.js =>
    Разработчик будет учить что то другое =>
    Менеджер смотрит резюме, резюме на node.js нет...

    Переломить ситуацию могут только очень крупные игроки обладающие возможностями формирования рынка (например Apple и Swift), и то не со 100% гарантией (samsung&c и Tizen)
    Ответ написан
  • Как лучше спроектировать базу данных?

    svfat
    @svfat
    ☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
    Основная проблема вашего варианта, то, что количество лекарств в курсе ограничено - а что, если их понадобится 100 или 1000? В таблице будет столько же столбцов? Это решается тремя таблицами. Вот псевдокод:
    # Это курс - он связан с моделью юзера
    class Course(models.Model):
        days = models.IntegerField()
        start_date = models.DateField()
        user =  models.ForeignKey(User)
    
    # Это лекарство - оно само по себе
    class Med(models.Model):
        med = models.ChoiceField()
        time = models.ChoiceField()
        med_amount = models.CharField()
        med_type = models.ChoiceField()
        descr = models.TextField()
        video = modesl.URLField()
        week = models.ChoiceField()
    
    # Это связывает курс с лекарством (и позволяет присваивать их неограниченное число раз)
    class CourseMed(models.Model):
        course = models.ForeignKey(Course)
        med = models.ForeignKey(Med)


    Используя встроенную админку такое приложение можно написать минут за 15
    Ответ написан
  • Идеи для Android приложений в портфолио?

    onepavel
    @onepavel
    Консультация и разработка мобильных приложений
    Напиши мобильную версию тостера
    Ответ написан
  • Как перебрать строковой массив?

    onepavel
    @onepavel
    Консультация и разработка мобильных приложений
    String[] cheats = {"de.Kradxn.Xray", "Sunstrike"};	
    Package Check = Package.getPackage(null);
    for (String item: cheats)
        if (Check != null && Check.equals(item)) {
            System.exit(0);
        }
    }
    Ответ написан
  • Какой фреймворк использовать для создания UI?

    @bromzh
    Drugs-driven development
    Бери JavaFX.
    Спринг можно использовать, но не для самого UI, а для всяких штук, типа связи с БД, DI (если это всё реально надо) и других, спринг же очень большой, охватывает многие области.
    Ответ написан
  • Как узнать ip человека из vk?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Отправляем пользователю ссылку на свой сервер вида
    васяпупкин.ру/смотри_большие_сиськи
    У себя на сервере сохраняем ip всех, кто переходил по ссылке
    Ответ написан
  • С чего начинать проектировать приложение?

    Jeiwan
    @Jeiwan
    Сначала нужно расписать функционал приложения по пунктам: составить список тех функций, которые будут у приложения. Далеко в будущее заходить не надо, так как планы могут поменяться.
    Потом взять те пункты, без которых приложение не состоится, самые минимальные и базовые вещи, и сделать их. Например, для магазина это: витрина товаров, возможность заказать товар, указав адрес доставки. Корзина и регистрация на этом этапе не обязательны, так как магазин может работать и без них. А без витрины и возможности заказать товар не может. После реализации этих базовых функций уже можно накручивать функционал дальше.
    Суть в том, что на каждом этапе у тебя должно быть законченное, рабочее приложение. Разница между этапами — степень проработки деталей функционала приложения. Это метод прогрессивного джипега :) Или agile.
    Чтобы понять, с чего начать, нужно посмотреть на приложение глазами пользователя: пользователь заходит на сайт, видит витрину товаров, видит описание у товара, цену, другие параметры, кнопку купить и т. д. То есть нужно реализовывать сценарии поведения пользователя. Можно даже acceptance-тесты накатать — помогает собрать мысли.
    Ответ написан
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Системный архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

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

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

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

    Теперь справа нарисуйте несколько длинных прямоугольников снизу доверху и написшите в них: логирование, конфигурация, мониторинг производительности, обработка исключений и что-то ещё, что является общей инфраструктурой (или сквозной функциональностью) для всех слоёв вашей программы.

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан