Задать вопрос
  • Какая зависимость в Java приложении к подключению БД?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    1. Java (JDK/JRE) не содержит в себе драйверов доступа к БД вообще. В ней определен только базовый
    интерфейс java.sql.* и существует некий стандарт на то как драйверы должны работать. Например когда мы делаем ResultSet::close, или Statement::close, драйвер может ничего и не делать в этот момент. Все зависит от того
    как производитель (Oracle, MSSQL) реализовал под капотом работу драйвера. Поэтому как работает внутри драйвер это - тайна.

    2. Обычно если в приложении тебе часто и много нужно создавать объектов Connection, то используют пулы коннектов (Hikari Connection pool, DBCP, C3PO). Почитай в этом направлении. Пулы экономят сессионные
    объекты на стороне БД и создают новые коннекты быстрее за счет переиспользования сущесвтующих коннектов.
    В обычном (прямом режиме) работы с БД процесс установки соединения может занимать несколько секунд.
    Это может быть запредельно медленно для некоторых алгоритмов.

    3. В сложных ent. приложениях используются фреймворки типа Spring которые декларируют зависимости одник
    компонент от других
    и также обеспечивают ленивую инициализацию и работу синглтона. Всем новичкам
    нужно знать что такое синглтон и уметь им пользоваться. И лучше уметь это сначала без фреймворка
    чтобы понимать уже как это делает фреймворк.
    Ответ написан
  • Что такое культура программирования?

    xez
    @xez
    TL Junior Roo
    Почти то же самое, что культура коммуникации.
    - Следование код-стайлу. Адекватный нейминг.
    - Умение писать выразительный, понятный код. Без лапши, без убер-методов на миллион строк, без олимпиадных трюков (если нет такой необходимости); код, в котором можно будет легко разобраться.
    - Любовь к тестам. Понимание почему и зачем тесты писать и почему и зачем не писать.
    - Следование общепринятым инженерным практикам. В Гите не пушить без реквеста в мастер, не ребейсить без необходимости, подписывать комиты, описывать реквесты. В бд предпочитать миграции и не лазить в прод трясущимися, грязными ручонками. Релизы согласовывать, к стейджам относится уважительно. В очереди не срать. Рута избегать.
    - Скилл в декомпозиции и оценке. Умение прогнозировать разработку, умение давать обещания и умение их выполнять.
    - Отсутствие магического мышления. Понимание причино-следственных связей. Знание что такое логи и что такое метрики.
    - и т.д..
    Ответ написан
    Комментировать
  • Что такое культура программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Просто умение работать по стандартам принятым в этой организации, умение работать в команде этой организации.

    А так - слишком обтекаемая фраза, чтобы приделять слишком большое значение
    Ответ написан
    1 комментарий
  • Почему при объединении двух объектов в один они автоматически сортируются?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    По стандарту ECMAScript 2023 список ключей объекта формируется в определённом порядке:

    10.1.11.1 OrdinaryOwnPropertyKeys ( O )
    The abstract operation OrdinaryOwnPropertyKeys takes argument O (an Object) and returns a List of property keys. It performs the following steps when called:
    1. Let keys be a new empty List.
    2. For each own property key P of O such that P is an array index, in ascending numeric index order, do
    a. Append P to keys.
    3. For each own property key P of O such that P is a String and P is not an array index, in ascending chronological order of property creation, do
    a. Append P to keys.
    4. For each own property key P of O such that P is a Symbol, in ascending chronological order of property creation, do
    a. Append P to keys.
    5. 5. Return keys.
    Ответ написан
    1 комментарий
  • Подключение к Postgres из JetBrain Golang: пользователь/пароль не верны, что делать?

    @Everything_is_bad
    Получается чтобы создать пользователя БД требуется создать его же в самой Убунте
    нет, неправильный вывод. К учетке в БД kuplin может подключиться любой пользователь системы, тебе надо разобраться с разрешениями в pg_hba.conf
    Ответ написан
    3 комментария
  • Как можно ускорить выполнение SQL запроса?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    как понимаю это сортировка товаров от наиболее подходящих до обладающих 1м из признаков.
    Сделай вспомогательную таблицу статистики сколько товаров всего с заданным проп_ид.
    обновление по тригерам.

    потом смотришь в нее и береш максимальный из (1,2,3...) например 3
    Далее запрос будет из двух проекций (A и B) на твою таблицу
    select product_id from `product_prop` A where prop_id=3 (этим мы уходим от фулскана по 85М)
    и добавляем подзапрос посчитать сколько совпало осталных свойств
    select product_id,(... подзапрос .....) from `product_prop` A
    Ответ написан
    2 комментария
  • Как программировать на машинных кодах?

    @Belvarm
    Java TeamLead, интеграционные решения
    Ответ написан
    Комментировать
  • Как вставляют данные в сайт типа ruskino.ru?

    vabka
    @vabka Куратор тега Веб-разработка
    Есть база данных - в неё каким-то образом заносят данные (в данном случае о фильмах и актёрах). Потом из этой базы данных данные достаются тоже каким-то образом и вносятся в html.

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

    Более подробный ответ на этот вопрос будет уже по сути пересказом курса по разработке ПО.
    Ответ написан
    Комментировать
  • Как подключить онлайн платежи?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    без ип = экваринг для самозанятых
    иначе незаконная предпринимательская деятельность

    (попрошу полную инструкцию т.к никогда с таким не работал)

    а вот на это
    Инструкция
    открываете https://freelance.habr.com/ и размещаете заказ.
    Ответ написан
    3 комментария
  • Как вызвать метод подкласса в родительском?

    @Everything_is_bad
    У меня есть родительский класс, в котором вызываются методы дочерних классов:
    Когда родитель должен знать что-то про потомков это ошибка в проектирование, зачем вообще тогда тебе такое наследование? Рекомендую полностью переделать, то что ты натворил.
    Ответ написан
    4 комментария
  • Имеет ли смысл полностью изучить Django бэкендеру?

    Rimush
    @Rimush
    Естественно нужно, кто будет модели описывать, миграцию делать, статику настраивать, да и сам джанго конфигурировать. Шаблоны это малая часть джанго.
    Ответ написан
    1 комментарий
  • Как создать новостную ленту подписчиков на высоконагруженных веб-проектах?

    @Everything_is_bad
    В высоконагруженных проектах "скрипт тупо берет данные из таблицы и показывает их пользователю" и "скрипт во всех базах данных меняет контент" не работает, там уже появляется такое понятие как очередь сообщений, шина данных и т.п., конкретных вариантов реализации очень много и они зависят от внутреннего устройства проекта.
    Ответ написан
    Комментировать
  • Есть сервера, которые стоит написать именно на Java, а не на Node?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Если выбирать Java для веба, то в чем она лучшая там?

    Примерно всем.
    Был вопрос насчет времени запуска приложения, но и его вроде как решили.
    Ответ написан
    6 комментариев
  • Какой ЯП подходит для производственного ERP?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Какой хочешь.
    Равнозначно

    UPD:
    Лично я, как предприниматель, бы делал выбор между C# / Java
    Причины:
    1. Сформированное, "взрослое" (mature) сообщество, которое может помочь
    2. Существуют проверенные/документированные фремворки
    3. Для общих случаев (настройка БД, создание диаграмм, документирование кода, какие-нибудь паттерны) уже есть удобные инструменты/фреймворки
    4. Рынок разработчиков большой
    5. Эти ЯП позволяют абстрагироваться от инфраструктуры или упростить работу с ней (управление памятью, вопросы ABI, версионирование, сборка и т.д.)
    Ответ написан
    1 комментарий
  • Почему в semaphore методы acquaire() и tryAcquire() захватывают блокировку по разному?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    А что тут не понятно?
    1. Все потоки быстро запустились, вызвали tryAcquire и, т.к. он не блокирующий, тут же вызывается Thread.Sleep() на всех потоках - поэтому в первом случае в конце видны Thread-x-released (все потоки закончили работу). Время выполнения всего приложения -
    2. Все потоки постепенно захватывают семафор, т.е. ждут пока предыдущий его освободит и только потом засыпают. Уже тут время выполнения - 1с * (кол-во потоков / 2)

    P.S. Не забывай вызывать Thread.join после запуска!
    Ответ написан
    Комментировать
  • Hdd на всю жизнь?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Не может.
    - В том числе не могут сохраниться данные (размагнитятся).
    - Если это SSD - тоже не могут (заряд утечет из ячеек, но появится посторонний от окружающей радиации).
    - В том числе выйдет из строя механика (или от работы, или от лежания - "прикипит").
    - В том числе окислятся и потеряют рабочие свойства электрические элементы (изоляция, пластик, дорожки, токоведущие кабели головки станут хрупкими).

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

    Посмотрите пример на практике - Вояджеры. Почти 40 лет, и уже куча проблем. И они намного проще современной техники и разработаны с запасом надежности, и там нет диска...
    Ответ написан
    Комментировать
  • Ошибка аргументоа (мешает self), что делать?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    def download(link, path, mp, self):
    Нужно задекорировать метод как классовый или сттический. Если классовый, то надо указать первым аргументом cls
    Ответ написан
    Комментировать
  • Как сгенерировать pdf из кастомного html (Django Templates), чтобы работало стабильно?

    @Everything_is_bad
    Генерация pdf боль, а нормального конвертера из html я вообще не видел, в итоге проще всего оказалось сделать генерацию через pdfmake на js, по факту потребуется переделать свои шаблоны в описание на json, а от "Сложные css-стили" скорее придется отказаться. Либо отрисовывайте на более низком уровне тем же ReportLab
    Ответ написан
    8 комментариев
  • Как можно распарсить текст на python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Схема проста и есть несколько вариантов:
    1) Пойти к фрилансерам и купить решение. Это самый простой быстрый и дешевый способ.
    2) Самостоятелбно:
    - Изучить основы питона
    - Разобраться что такое регулярные выражения
    - Написать функцию, которая из строки достаёт 2 нужных значения.
    - Применить функцию ко всем строкам.
    - ...
    - Профит!

    А вообще тут регекспы и не нужны вовсе. Достаточно разбить весь текст по символу абзаца на строки, а потом каждую строку разбить сплитом по пробельным символам (без аргументов). Всё, осталось взять только нужные столбцы получившейся таблицы.
    Ответ написан
    1 комментарий
  • Как отключить Debug в проекте Django Что бы не слитела статика и медиа?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Настроить статику на раздачу через веб-сервер, как и положено.
    Ответ написан
    2 комментария