• Как изучить основы программирования для последующего изучения С++?

    Adamos
    @Adamos
    Другой воробей на дороге стоял
    И под ноги очень серьезно смотрел.
    Хотел воробей научиться ходить
    И думал, с какой ему лапы шагнуть.

    Тщательная подготовка к тому, чтобы наконец заняться тем, чем собираешься заняться - это один из видов прокрастинации.
    Ответ написан
    4 комментария
  • Какой курс Java выбрать новичку с нуля?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Я считаю, что одного курса мало и одной книги мало.
    Чтобы получить быстрый результат нужно и книжки читать и курсы проходить и лекции слушать. Ну и практика самое главное.

    С книгами понятно все:
    1. Head First Изучаем Java
    2. Брюс Эккель: Философия Java
    3. Герберт Шилдт: Java. Руководство для начинающих.
    4. Кей Хорстманн: Java. Библиотека профессионала.
    Это основные для начинающих. Надо какую-то одну прочитать. Я Хорстмана читал. Кому-то head first неравится (мне не зашло).

    Курс, имхо, самый лучший - Java rush. Там короткие лекции и задания.

    Лекции:
    https://habr.com/ru/companies/golovachcourses/arti...
    Ответ написан
    6 комментариев
  • Какая зависимость в 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 которые декларируют зависимости одник
    компонент от других
    и также обеспечивают ленивую инициализацию и работу синглтона. Всем новичкам
    нужно знать что такое синглтон и уметь им пользоваться. И лучше уметь это сначала без фреймворка
    чтобы понимать уже как это делает фреймворк.
    Ответ написан
  • Приведите пример использования интерфейса, от которого есть польза, как понять что тут нужно использовать интерфейс, а тут не стоит?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Я в своей системе реализую некий UI Builder.
    Есть предопределенные поля Input, Checkbox и т.д.
    Однако, должна быть возможность создавать пользовательские поля.
    При этом такие поля обязаны придерживаться определенных соглашений, чтобы система не сломалась. Например, поля обязаны реализовать метод render. И не как-то, и именно так, как положено.
    Для этого я во всех встроенных полях реализую интерфейс FieldContract

    interface FieldContract {
      public function render(Repository $repository): ViewContract;
    }


    Теперь сторонний разработчик, захотевший написать расширение к системе будет обязан реализовать в своих кастомных полях интерфейс FieldContract.
    А я внутри системы всегда уверен, что у поля есть необходимый метод с необходимой сигнатурой, даже если это поле реализовал сторонний разработчик.
    Ответ написан
    Комментировать
  • Зачем ip телефония?

    @ewgenc
    В поликлинику по "дискорд, зум и тд." позвоните, или в налоговую, или скорую с пожарными вызовите. Как дозвонитесь - обязательно отпишитесь. IP телефония - это далеко не только офис.
    Ответ написан
    Комментировать
  • Не работает условие if else. Где ошибка?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Перепишите на нормальный язык и увидите где ошибка:
    <?php 
    	if (is_array($this->product->extra_field)){
    		foreach($this->product->extra_field as $extra_field){
    			if ($extra_field["id"] == 1){
    				print $extra_field['value'];
    			}
    		}
    	// } - here is error 
    	}else{ 
    		print $this->product->description; 
    	} 
    ?>
    Ответ написан
    2 комментария
  • Какой nodejs фреймворк предпочтительнее использовать в 2022 для разработки APi?

    Grapeoff
    @Grapeoff
    В чём концепция...?
    Вот уже 9 Месяцев пишу на NestJS за деньги, и пока что могу сказать — ничего лучше на данный момент для NodeJS я не нашёл.

    Благодаря экспрессу под капотом мы можем юзать кучу его крутых библиотек типа Swagger UI и так далее. Для всего тут автоматом генерируются тесты (темплейты). Можно адекватно пользоваться декораторами из тайпскрипта. А валидация в несте с его DTO это просто сказка.

    С нестом наконец-то можно писать настоящий бекенд на ноде.

    Конечно, Nest не идеальный. У меня много вопросов накопилось к этому фреймворку за время его использования, например про инъекцию зависимостей в гарды, интесепторы и т.д. из-за которой не получится нормально сделать JWT аутентификацию с помощью Nest модулей для этого (можно схитрить при помощи NestFactory.createApplicationContext(), а юзать этот обоссанный Passport.js я не хочу; выбрасывание исключений вместо нормального способа отправки ошибки пользователю, слабая документация. Однако я готов помучиться со всем этим, лишь бы не переходить на Express или любой другой фреймворк для ноды.

    Я даже купил книгу Роберта Мартина про архитектуру — вот насколько меня всё это вдохновило!
    Ответ написан
    1 комментарий
  • Стоит ли переходить на mikrotik 7?

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

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Это случается потому что припой на плате с компонентами остывает быстрее, чем та часть, что тянется за жалом.

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

    Альтернатива - использовать жало, к которому припой не пристает вообще. Такие есть. Разумеется подача припоя и флюса становится сложнее, тут и пригодится паяльная паста. Ну а там где паяльная паста, то уже недалеко и до паяльного фена.

    Еще можно купить вот такую хрень https://www.aliexpress.com/item/1005003523148728.html и паять все компоненты разом. Стоит не так дорого. Если у вас плата сделана правильно, то компоненты в перевернутом состоянии будут удерживаться за счет сил поверхностного натяжения.
    Ответ написан
    Комментировать
  • Если злоумышленник узнаёт мою сид фразу от Ethereum кошелька, то я не смогу её сменить?

    @rPman
    сменить не сможешь, твой сид однозначно определяет твой кошелек
    сменив сид ты меняешь кошелек и соответствующий адрес.

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

    пользоваться можешь но смысла в этом никакого, так как все доступные деньги злоумышленник заберет сразу как это станет возможным
    Ответ написан
    Комментировать
  • Ефир это solidity, то как называется язык для контрактов на bsc?

    EvgenyMamonov
    @EvgenyMamonov
    Senior software developer, system architect
    Тоже solidity, в BSC работает тот же EVM от эфира.
    Т.е. вы можете даже разрабатывать и деплоить смарт-контракты из Remix.
    Ответ написан
    Комментировать
  • Проблема с проектом на php?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Те два примера, которые Вы привели в вопросе, в первую очередь про проектирование базы данных и код, который будет "обслуживать" их изменение. Тут надо спроектировать таблицы и их связи, поднять веб-сервер, настроить хоть-какой-то роутинг, написать эндпоинты для http запросов, создать простой фронтенд (или API)...
    Скорее всего это уровень чуть выше того, с чем Вы успели ознакомиться.
    Книги в статье в принципе хорошие, но там сборная солянка книг для начинающих вместе с книгами по ООП, архитектуре и фреймворкам - это следующий этап после понимания базы. Мне лично когда-то помогла книга Котерова и Симдянова (тогда она была для PHP 5).
    Ответ написан
    Комментировать
  • Почему apache не может создавать папки/файлы?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Вы показываете конфиги, а надо показывать каталог, в котором у вас не создаётся - кто его владелец, какие разрешения, кто в каких группах и всё такое.
    Ответ написан
    Комментировать
  • Ошибка mysqli_query() excpects paramter 1 to be mysqli string given: line 29, как решить?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    var_dump($db);
    «Ах, точно ведь — это строка, потому что у меня в коде, который я не показал в вопросе, происходит …».

    Ну неужели это не очевидно из текста ошибки?
    Ответ написан
    Комментировать
  • Как ведут себя логические операторы в сложных ситуациях?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Console.WriteLine(-2 & -3); // -4

    Это всё булева логика, представь числа в двоичном представлении, примени операцию для каждого бита и всё станет понятней.
    Но |= , &= - что они делают?

    Если ты понимаешь, что происходит с +=, то почему возникает вопрос с этими, меняется ведь только операция?
    Ответ написан
    7 комментариев
  • Узнать информацию о процессе?

    IGHOR
    @IGHOR
    Qt/C++ DEV/CTO
    C++ это язык не имеющий отношения к системе.
    Все что связано с управлением системой и информацией о ней делается через Platform API.
    В случае с Windows это WinAPI, так что ищите нужные функции там.
    Ответ написан
    Комментировать
  • Почему C/C++ проекты очень долго компилируются?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Компилятор долго оптимизирует код. Смотрит, что где используется, что можно выкинуть, где можно переставить местами что-то неважное, где цикл развернуть, где еще чего. Очень много оптимизаций. Обработка каждого файла - долгое дело.

    Архаичная система заголовочных файлов же приводит к тому, что при изменении небольшой части проекта, фактически меняется куча файлов, которые все надо заново парсить и оптимизировать.
    Ответ написан
    4 комментария
  • Почему строка конвертируется в неправильное число?

    @Mercury13
    Программист на «си с крестами» и не только
    Ваш текст представляет собой число, превосходящее диапазон int. В таком случае ваша реализация atoi выводит максимум возможного.
    Можно использовать:
    • sscanf long long
    • atoll (C++11)
    • stoll (C++11)
    • from_chars (C++17)
    Ответ написан
    1 комментарий
  • Как по 1 разу выполнять действие в беск. цикле каждый раз, когда есть совпадение?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Банально слип на минуту можно сделать, если секунды не нужны
    Ответ написан
    Комментировать
  • Как запомнить число?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Как вариант можно использовать HashSet - это лучше, чем брать List и постоянно его сканить.
    var generatedNumbers = new HashSet<int>();
    var random = new Random();
    
    int GetRandomNumber() {
      int next;
      do {
          next = random.Next(); // Ну или ещё min-max передавать.
      } while(generatedNumbers.Contains(next))
      generatedNumbers.Add(next);
      return next;
    }

    В моём примере кода стоит ещё добавить какое-нибудь ещё условие выхода из цикла, иначе в определённый момент, когда все числа будут сгенерированы - произойдёт вечный цикл.
    Ответ написан
    Комментировать