Задать вопрос
Профиль пользователя заблокирован сроком с 17 мая 2024 г. по 17 мая 2025 г. по причине: нарушение правил сайта
Ответы пользователя по тегу Java
  • Как получить файл присланный пользователем боту в Telegram на java?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Есть функция getFile

    getFile
    Use this method to get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size. On success, a File object is returned. The file can then be downloaded via the link https://api.telegram.org/file/bot%token%/%file_path%, where %file_path% is taken from the response. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling getFile again.
    Ответ написан
    1 комментарий
  • Как реализовать поиск данных в бд по заданным параметрам?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Я позволю поставить ссылку на недавний вопрос Как лучше устроить базу данных?

    Основные тезисы такие же:
    - иметь NN столбцов в одной таблице - однозначно плохо, поэтому умещать все в одной таблице - bad design.
    - в любой непонятной ситуации проектируйте базу исходя из 3НФ (google it) и все будет хорошо.

    В данном конкретном случае, у вас есть 2 основные сущности: рецепт и продукт с соотношением многие-ко-многим, соответственно правильная структура базы в упрощенном виде:

    1. Рецепт
    • id рецепта (integer, primary, auto increment)
    • название рецепта (varchar)
    2. Продукт
    • id продукта (integer, primary, auto increment)
    • название продукта (varchar)
    3. Единица измерения (добавил для примера, не обязательно)
    • id единицы измерения (integer, primary, auto increment)
    • название единицы измерения (varchar)
    4. Элемент рецепта
    • id рецепта
    • id продукта
    • id единицы измерения
    • количество продукта в указанных единицах измерения (decimal)

    В последней таблице можно сделать составной PRIMARY (id рецепта, id продукта), а можно добавить еще отдельный PRIMARY автоинкрементный, а указанный выше составной ключ сделать просто UNIQUE.
    Ответ написан
    Комментировать
  • Какой из вариантов публичного сервиса с публикацией данных, на ваш взгляд, более оптимален в данному случае?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    А почему бы просто не открыть Вашу админку наружу, допилив её по необходимости? Это очевидно наименее затратный способ, ну и вполне удобный для пользователей.
    И совсем хорошо бы дать наружу апи что бы можно было получать данные для самостоятельного анализа.

    По предложенным Вами вариантам:
    1)
    а) Есть ограничение на 50 постов в сутки в сообществах
    б) Не зная что у Вас за данные - сложно судить о востребованности их аудиторией VK, но в любом случае это выглядит странно
    2) Приложение само себя не пиарит (без финансовых вложений). Это может быть хорошей штукой в дополнение к основному каналу.
    Ответ написан
    3 комментария
  • Почему не все серверы пишутся на 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)
    Ответ написан
    13 комментариев
  • Стоит ли переходить сейчас с web разработки на android разработку?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Валера Программист
    буду писать сугубо на стандартном android sdk, востребованы ли андроид разработчики которые пишут на стандартном sdk
    Востребованы, причем значительно более чем любители не стандартных sdk.

    и стоит ли уходить с web на android
    у меня есть субъективная оценка что web java это такой enterprise, а mobile java - это стартапы. Соответственно другой стиль разработки, другой стиль руководства итд. Я enterprise на дух не переношу, но это личное.

    AlexLIn
    Совмещайте все. Сейсам клиент-серверный приложения очень востребованны.
    Приложения - да. А вот "мастера на все руки" нафиг никому не нужны.
    Смежную область хорошо знать на уровне "как оно работает вообще", но писать backend и mobile в одной конторе не придется.
    Ответ написан
    2 комментария
  • Переход с PHP на Java: как правильно составить резюме и найти работу?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    По поводу резюме: я считаю что любой опыт который имеет отношение к IT нужно писать.
    Помимо специфики конкретного языка - есть общие понимания по алгоритмам, сложности их работы, по базам данных в конце концов. Это все полезно.

    Но надо понимать что на собеседовании 100% прозвучит вопрос "почему Вы решили отказаться от нынешнего стека технологий, причем не через обучение новому в фоне, а через полный отказ и трудоустройство с понижением дохода/должности" - и от Вашего ответа на этот вопрос будет зависеть многое
    Ответ написан
  • Какие технологии используют для математич. обработки информации, получ. от пользователя на сервере?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Не очень понятно что именно Вы вкладываете в понятие "обрабатывать полученную информацию".
    В общем случае Вам полезно прочитать про REST API - чисто как подход к построению интерфейса взаимодействия.
    На каком именно языке это делать - в общем случае вторично.
    В enterprise по статистике популярна java, в вебе php, ruby, python (пожалуй что именно в такой последовательности). Все остальные языки обладают заметно меньшим комьюнити.
    Принципиальных отличий с точки зрения сложности разработки нет, поэтому если у вас проект одного человека - выбирайте тот язык что вам более знаком и вперед.
    Ответ написан
    Комментировать
  • Как в Android распарсить json с ошибками для nested model от Rails?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Пробегитесь по получившейся структуре данных в цикле и сформируйте новую структуру данных.
    Не понимаю в чем проблема.
    Ответ написан
    Комментировать
  • Как реализовать обновление базы данных на андроиде с сервера?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Если у Вас база обновляется редко, целиком и уже есть инструменты для этого - то можно и файлик на сервер заливать.

    Но классическое решение - сделать REST api, которое будет отдавать контент в мобильное приложение. Заодно в рамках api можно сделать версионность, и отдавать не все данные, а только то что изменилось.
    Ответ написан
    Комментировать
  • Как правильно разработать легкомасштабируемую платёжную систему?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Скрипт на крон - однозначно плохая идея. Более правильная история - постоянно работающий скрипт который из очереди получает очередную задачу. Отличный вариант для организации очереди rabbitmq

    2. Слабая связанность компонент это хорошо. В вашем случае однозначно api (не очень правда понимаю метания от php к java но дело Ваше. пишите на том, что лучше знаете) + расширяемые апи для внешних интеграций + интерфейсы цепляемые к апи.

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

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

    4. Вам важна data consistency. Сразу думайте про железо. Любые сервера горят. Брендовые сервера горят точно так же как и не брендовые. С учетом п3 - я бы делал полностью независимые друг от друга ноды, с физическим дублированием внутри ноды, и привязывал каждый счет к одной ноде.

    5 [философский] Поймите важный момент - без ОЧЕНЬ серьезных инвестиций в маркетинг, проекты не взлетают. Если бы эти инвестиции были - Вы бы тут не писали (не в обиду). Соответственно вероятность того что к Вам внезапно придет огромный поток транзакций - стремится к нулю. К тому моменту когда Вы раскрутитесь - Вы успеете 5 раз сменить архитектуру проекта. Нельзя иметь одну архитектуру у стартапа собранного одним человеком, и у проекта с высокими HL/HA.
    Пишите на чем нравится, у Вас будет куча времени что бы переписать узкие места например на C.

    6 [юридический] Вы в курсе что Вам нужна пачка лицензий на осуществление деятельности в качестве оператора электронных денег и денежных переводов без открытия банковского счёта? :)

    PS Я хочу верить что Ваш вопрос - это задачка для саморазвития. Иначе я не представляю себе что это за система платежная, которую делает один человек, спрашивающий совета как делать такие штуки (опять же не в обиду Вам ) :)
    Ответ написан
    Комментировать
  • Что из себя представляет веб-сервис?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Что такое веб-сервис и зачем он нужен написано в Wiki
    https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%...

    По сути веб-сервис это api к чему то.
    В enterprise кругах вообще и на java в частности модно писать это с использованием богомерзкого https://ru.wikipedia.org/wiki/SOAP , в то время как все нормальные пацаны перешли на https://ru.wikipedia.org/wiki/REST и json.
    Ответ написан
    Комментировать
  • Есть ли аналог teamtreehouse.com или похожий сервис ?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    В it без знания хотя бы технического английского делать нечего.
    90% материалов не переводятся и никогда не будут переведены на русский, а еще 9% - будут переведены через года 3 когда нафиг будут никому не нужны.

    Так что учите язык. За годик можно приноровиться
    Ответ написан
    Комментировать
  • Что больше всего загружает сервер?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Загрузка чего? Процессора?
    Отдача css и javascript никак не нагружает процессор.
    PHP гипотетически может (если у вас мега сложные вычисления или кривой код) ну и SQL само собой (опять же в случае кривого кода либо огромных таблиц)
    Ответ написан
    4 комментария
  • Чем занимаются Java программисты?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Java это еще и огромный мир enterprise разработки.
    Банки, крупные корпорации итд.

    Атмосфера там весьма специфическая, но многим нравится.
    Agile воспринимается как ругательство, а вот ежегодная обязательная сертификация и планирование на пару лет вперед - само собой разумеющееся.
    Ответ написан
  • Какие сейчас тренды в Web разработке на Java?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Основной тренд - не вести Web разработку на java.*
    * если вы не хмурый энтерпрайз разработчик в банке

    php - самый быстрый порог вхождения и самое большой спрос по количеству вакансий
    ruby
    python
    node.js
    Ответ написан
    Комментировать