• Зачем используют Django и Python, разве не удобнее сразу все сделать через Node.js и javascript фреймворки?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Бекенд - это не язык. Это понимание соответствующих технологий работы с базами данных, кешированием, работы со структурами данных, протоколами, технологиями, алгоритмами, построением архитектуры и связыванием с внешними сервисами и прочее...
    А поскольку это охватывает очень большой пласт проблем - и произошла специализация.

    А Python разработчики имеют дело в основном только с бэкенд - и понятия про фронтенд у них будут на уровне dummy html, css, bootstrap.

    Угу... При таком подходе - с чего вы взяли тогда что у фронта будут достаточные знания о работе бекенда? Раз по-вашему бекендер только в dummy html может, - а фронтендер сразу с ходу сможет оптимизированные запросы к БД к примеру писать? )))) Если ваш фронтендер настолько крут - то в принципе незнание языка не помеха, поскольку язык - только инструмент.
    Ответ написан
    3 комментария
  • Зачем используют Django и Python, разве не удобнее сразу все сделать через Node.js и javascript фреймворки?

    @calculator212
    В итоге получается что у JS огромное преимущество перед Python в области разработки сайтов, так как на нем можно сразу писать и бэк, и фронт.
    Вообще вы не правы, есть много вакансий, на которые нужны только Node.js разрабы.

    В итоге проект повиснет в ожидании исполнителя.
    А если разраб один, то вообще всё повиснет если он уйдёт. Фулстеков на джанго не намного меньше чем фулстеков на js.

    Прикрутив Bootstrap мы немного приукрасим скелет, но он все равно не будет отвечать требованиям современных динамических сайтов, типа асинхронная подгрузка комментов, вывод онлайн лайков, дизлайков. Все это может реализовать только умелый js программист.
    Для проектов у которых есть 2 программиста обычно это не ключевые моменты (да и не все пишут соц. сети и клоны ютубов). Есть проекты, где статических сайтов будет достаточно, а если работодатель хочет дешево заплатить за сложную работу, то он должен понимать к чему это может привести.
    Ответ написан
    Комментировать
  • Как сделать последовательные fetch запросы?

    @alekcena
    Нелинейный наставник
    Не знаю почему у вас не работает написал почти также. Через консоль всё работает.
    fetch('https://json.geoiplookup.io')
        .then(response => response.json()).then(({ip})=>{
    
     fetch(`https://ipapi.co/${ip}/json/`)
            .then(resp => console.log(resp));
    })

    П.С: Проверил ваш код, тоже работает.
    Ответ написан
    5 комментариев
  • Как оповестить создателя о начале работы модератора?

    nowm
    @nowm
    Ваши вопросы, скорее всего, удаляют из-за того, что они не конкретные. Вы не пытались самостотельно ничего делать, не натолкнулись в процессе на ошибку, которую не знаете как пофиксить. Вместо этого вы говорите, что у вас есть непонятные функции /work start и /work stop (у вопроса тег «Java», но такие функции в нём синтаксис не позволит создать, значит речь о чём-то другом, а не о Java).

    Дальше, непонятно, кто такая администрация, кто такие модераторы и кто создатель. Такая информация зашивается в ваш плагин или хранится в какой-то базе данных?

    Что значит «оповестить создателя»? Написать ему сообщение в Телеграме, отправить письмо на электропочту, показать всплывающее окошко на сайте или в реальной жизни передать записку?

    И ещё куча таких вопросов. Все они возникают из-за того, что вы не конкретизируете вопрос, надеясь что у всех работает телепатия и они могут узнать детали из ваших мыслей.
    Ответ написан
    1 комментарий
  • Как найти удаленную работу системным администратором если нет опыта?

    Jacen11
    @Jacen11
    вот перечитай сам что написал
    есть опыт в сборке железа

    ищу данну вакансию на удаленке
    вот как ты будешь собирать это самое железо на удаленке? вот уже твой плюс становится никому не нужен
    примерное понимание задач поставленных системным администратором следить за всеми ресурсами, настраивать все таким образом чтоб была минимальная отказоустойчивость всех ресурсов
    ну это конечно хорошо, что ты знаешь, что нужно сделать все хорошо, а как это сделать знаешь?
    Конечно составлять sql запросы я не умею
    а вряд ли, потому что вот это элементарно, но админу нужно разбираться в бэкапе, обновлении, импорте, экспорте бд, это знания более глубокие, чем составление запросов и шедавральное "понимание что такое БД ". Я кстати уверен что у тебя почти нет никакого понимания.

    Я готов работать на минимальной ставке
    проблема что ты будешь даже при этом приносить убытки, а значит никому не нужен

    Одна из главных причин ищу данну вакансию на удаленке но тут палка на двух концах
    причин для чего? ты сам то понял что хотел сказать?

    но уже научился git)
    ох, чему там учиться? поверхностно за пол часа осваивается, детали ты точно не знаешь

    Что можете посоветовать в данной ситуации
    учиться, настолько чтобы посчитали тебя обученным и готовым к работе. И я не только про проф скилы, можешь сколько угодно затирать про "нерадной" язык, но текст ужасен. Логические нестыковки, ошибки всех видов и тд. Ты понимаешь что на удаленке чаще всего общение в письменном виде? оно и без удаленке довольно много переписки бывало. У тебя какой то поток сознания, а не связанный текст
    Ответ написан
    6 комментариев
  • Стоит ли размещать сервер в офисе?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Сначала стоит посчитать - какой ширины канал потребуется, чтобы на пике обеспечить одновременно всех возможностью передачи таких файлов.
    Потом покачать головой и урезать хотелки. И снова посчитать.
    И снова покачать головой и урезать. И снова посчитать.
    ...
    И так до тех пор, пока не придете к реальности, которая есть весьма суровая штука. Или я что-то не понял, и 10 тыс. чел. - это не одновременное количество юзеров, а вообще их количество (для расчета стора, например)? Тогда нужно задаться количеством одновременных подключений - и все равно посчитать требуемую ширину канала. Потому что в первую очередь упрется все в это (если конечно это не сервер для обмена данными внутри офиса :) )
    Ответ написан
    1 комментарий
  • Какой выбрать учебник по Java для новичка в программировании?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    книга вроде ориентированна на новичков но это не так, есть задание где ответ ты получишь только спустя 10 страниц

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

    так же 5 версия Java в 2022 году книга СТАРА как мир!

    У Java полная обратная совместимость, до сих пор актуальны знания по Java 2, а новичку как раз нужна база, а не самые современные технологии.

    Философия Java - несколько гуру на Habr Q&A советовали ее, но открыв сам автор пишет что рассчитывает на людей с опытом в CS + базовое знание С, так же используеться старая Java ну и книга то же древняя

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

    дочитал до this вообще не понятно ЧТО ЭТО И ЗАЧЕМ это, такое чувство что автор думает что у меня в школе была хорошая информатика что ли?

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

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

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

    Дерзайте.
    Ответ написан
    Комментировать
  • Какой самый быстрый способ проверить доступность сайтов?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Это не вопрос ли на собеседовании в бадушечке?

    Грубо, 125М на ноду, 86к секунд в сутках, получается полторы тыщи хостов в секунду.
    Если взять среднее время отклика в пол-секунды, то надо от 700 параллельных процессов.
    А уж кто там крутится - без разницы, тупо курл.
    Ну и диспетчер, который будет всем этим управлять.

    Хотя вру. какие пол-секунды. Мы ж доступность проверяем, то есть какая-то часть будет упираться в таймаут => процессов сильно за тыщу. Боюсь, вдс лопнет.

    В общем, ответ как обычно - наймите специалиста/сервис
    Ответ написан
    24 комментария
  • В каких случаях стоит создавать свои пространства имен?

    @calculator212
    На мой взгляд это стоит делать почти в любой программе, т.к. это защитит от дублирования имен функций, да и так легче ориентироваться по кускам кода и это удобный метод разбивать разбивать код на модули.
    Ответ написан
    Комментировать
  • Сложно ли подделать IP апдрес при запросе $_SERVER['REMOTE_ADDR']?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Насколько я помню сетевые технологии, к которым на самом деле относится вопрос "Можно ли подделать IP адрес", подделать исходящий адрес в TCP заголовке можно. И такой запрос пройдет проверку. Но ответ на него уйдет на этот поддельный IP. То есть соединение оборвется на этапе TCP хэндшейка

    Отсюда можно сделать вывод: подделать адрес можно, но это не поможет сделать что-то вредоносное.

    Если поставить этому вопросу нормальные теги, а не взятые с потолка, то ответят настоящие специалисты в этом вопросе.
    Ответ написан
    3 комментария
  • Почему интерпретатор php не воспринимает кириллицу?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Перед тем, как писать веб-серверы на C#, надо учиться описывать проблемы не языком домохозяек.

    Не существует такой кодировки - "кириллица". Есть конкретная кодировка, которую необходимо указать в вопросе.
    Нет такой команды в C# -"послать интерпретатору". Есть конкретная команда или действие, которое надо описать в вопросе.
    Нет такой команды - "сказать, что находится по пути". Есть конкретный код, который надо привести в вопросе.
    РНР - не посетитель в ресторане, чтобы "отказываться". Это программа. Которая либо работает, либо выдаёт сообщение об ошибке. Которое программист должен прочитать. Или по крайней мере, если не понял в нем ни одного слова, то аккуратно скопировать в свой вопрос.

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

    Для того чтобы убедиться в том, что РНР прекрасно работает с русскими буквами, надо создать скрипт test.php
    <?php
    header('Content-Type: text/html; charset=utf-8');
    echo hex2bin('d0bfd180d0b8d0b2d0b5d182'); 
    // текст UTF закодировн в hex чтобы избежать влияния кривых ручек тестировщика/выкрутасов Виндоус


    перейти в папку с ним
    запустить встроенный веб-сервер
    php -S localhost:8081
    и открыть в браузере адрес localhost:8081/test.php

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

    Судя по классической картинке, https://habr.com/en/post/147843/ где-то происходит перекодирование utf-8 -> 866(!)
    Ответ написан
    1 комментарий
  • Как поставить интерпретатор php в PhpStorm нужной мне версии?

    myks92
    @myks92
    Нашёл решение — пометь вопрос ответом!
    Чтобы интерпретатор PHPStorm работал правильно — нужно указать полный путь к интерпретатору. Это можно сделать двумя способами:
    1. Указать путь /usr/bin/php и изменить симлинк ($PATH) на новую версию PHP.
    2. Использовать полный путь к интерпретатору php8. Например /usr/bin/php8.0,/usr/local/Cellar/php@7.4/7.4.16/bin/php и т.д. Ваш путь может быть другим.

    Чтобы узнать путь текущего интерпретатора можно запустить команду :
    $ which php
    : /usr/bin/php
    Ответ написан
    Комментировать
  • Как защититься от двойного списания в многопоточном приложении?

    если проверка прошла, то обе выполнятся

    Кто сказал что СУБД позволит выполнить обе транзакции с одними и теми же исходными данными?
    Если обе транзакции начали исполняться параллельно, прочитали одни и те же данные, и пытаются их перезаписать, как СУБД будет себя вести? Позволит ли она вообще отработать обеим транзакциям? Или одна их них подождёт, пока не закончит работу другая? Вопрос гораздо интереснее, чем кажется. И, что самое главное, неглупые люди уже подумали над ним. Очень хорошо подумали.

    В доках постгреса написано ещё лучше.

    Или лучше каждый раз пересчитыапть из истории?

    Запаритесь пересчитывать, это не масштабируется, сложность расчёта будет всё время расти. Если считаете, что можете накосячить с текущим балансом - сделайте возможность его пересчёта согласно истории пополнений/трат. Это называется денормализованными данными. Это один из тех случаев, когда оправдано применение хранимых процедур для актуализации таких данных. Т.е. вместо непосредственной записи одновременно и в историю пополнений/трат и в актуальный баланс прямо из приложения, вы вместо этого вызываете хранимую процедуру, которая атомарно как пишет новую операцию - это ваши основные данные - так и меняет нужным образом ваши денормализованные данные - т.е. ваш баланс. Заодно в этой же хранимке можно дополнительно проверить возможность списания. Это решение не очень хорошо масштабируется, и вообще хранимки это антипаттерн для современных модных-молодёжных распределённых приложений, но судя по вашим вопросам врядли вы отвечаете за разработку сервиса, где таких списаний десятки тысяч в секунду, так что вам хватит.

    Вот на SO ещё предлагают много решений этой классической проблемы, ни одно из которых не является идеальным и лучшим для всех ситуаций.
    Ответ написан
    Комментировать
  • Какие существуют события для фиксации выхода пользователя сайта?

    Adamos
    @Adamos
    Дурь это все. Максимум, что вы можете контролировать - это пребывание пользователя на сайте.
    А когда айфон спит, но вкладка открыта, или когда юзер просто сбросил браузер (например, зависший от нехватки памяти) - ни хрена вы не зафиксируете.
    Ответ написан
    Комментировать
  • Что принципиально отличает Symfony 5 от Laravel 8?

    @galliard
    1. IDE понимает Symfony без дополнительных плагинов, на Laravel без плагинов писать не удобно.
    2. Вам придется повсеместно использовать внедрение зависимостей через конструктор. Вы это и в Laravel могли делать, но там и другие варианты были (фасады, app('service_name')). В Symfony только DI и только через конструктор.
    3. В Symfony вам придется пробрасывать данные к месту использования через аргументы. В Laravel вы могли достучаться до любого компонента при помощи статических фасадов и функций, вызвав их в любом произвольном месте, например могли вызвать request() где-то в модельке. В Symfony нужно будет пробросить данные запроса из контроллера через аргументы по всему стеку вызовов.
    4. В Symfony вы перестанете наследовать свои классы от классов Symfony (за рядом исключений).
    5. Конфиги вы будите писать в yaml (в этом есть плюсы и минусы)
    6. В Symfony нет middleware (возможно есть какие-то сторонние пакеты, которые их реализуют, но обычно такой подход при разработки на Symfony не применяется)
    7. В Symfony вы перестанtте манипулировать айдишниками и начнете манипулировать сущностями. То есть код $order->user_id = $user->id; превратится в $order->setUser($user);
    8. Больше не надо писать миграции вручную, доктрина автоматически их сгенерирует.

    Ну это то, что вспомнил, так то отличий может и больше будет.
    Ответ написан
    1 комментарий
  • Как понять лучше архитектуру эвм?

    @rPman
    что значит проект настоящего cpu?

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

    в образовательных целях используют упрощенные варианты

    ради интереса спросил гугл 'информацию про архитектуру эвм', в первых ссылках выдал лекцию томского университета

    полистал, там очень подробно расписана архитектору как эвм так и периферии, мониторы мышки принтеры (даже про 3d принтер маленький абзац есть)
    Ответ написан
    Комментировать
  • Как сделать прогресс бар с отрезками?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Задачка, конечно, очень смешная.
    И как всегда - на арифметику

    Шкала у нас нелинейная, первый шаг 100 единиц, последний - 2000.
    Но при этом для вычислений мы берём не позицию шага, а его значение.
    Ну и разумеется получаем то, что получаем.
    250 от 3000 - это никакие не "примерно 50 единиц", а примерно 8 процентов. Вот эти 8 процентов вам и показывает.

    Длина отрезка при разбивке на 5 частей будет 20%
    И вот 8 от 20 как раз и составляет те самые "примерно 50" процентов длины первого отрезка :)

    Выше товарищ правильно пишет про отладку.
    Но отладка в обязательном порядке состоит из двух вещей:
    1. Надо понимать, что делает твой код. В частности, иметь представление, какое значение каждая переменная должна иметь на каждом этапе.
    2. Запускать код, выводя промежуточные результаты, и сравнивая их с ожидаемыми.

    Без п.1 заниматься отладкой бессмысленно.
    Именно поэтому для программиста очень важно понимать, как работает его код. Иначе он просто не сможет его отладить.
    Ответ написан