Задать вопрос
  • Как скрыть определенные элементы, с повторяющимися id, в определенном блоке при использовании change(), если этих блоков может быть много?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    Основы говорят что что на странице не должно быть одинаковых ID!

    Ошибка в том что получая вот так $("#main_cat").val() всегда берется первый найденый.

    Если все элементы сгруппированы то получать их надо внутри своего родителя.
    Ответ написан
  • Как сделать, чтобы язык в html файле выбирался в зависимости от языка системы пользователя?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    https://developer.mozilla.org/en-US/docs/Web/API/N...
    https://qna.habr.com/q/338809

    Правила сервиса:

    2. Перед тем как задать вопрос пользователь Сервиса обязан:

    2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос. Специально для этого талантливые IT-специалисты создали и развивают поисковые системы Яндекс и Google.
    Ответ написан
    Комментировать
  • Проблема с ajax?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    data: 'action=editAccount&settings=' + array_setting,

    В этой строке вы складываете строку с объектом. По стандарту JS при этом объект преобразуется в строку '[object Object]'.
    Ответ написан
    Комментировать
  • 0 Call to a member function get() on null как испаравить?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не записывать null в $params.
    Ваш К.О.
    Ответ написан
    Комментировать
  • Какстомный парсер цвета строки?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Навскидку - обходить строку регуляркой с флагом g, которая вылавливает эти фигурные вставки. Цвета могут быть вложенными - потому надо держать стек цветов, при открывашке добавлять, при закрывашке убирать цвет. Остальное неясно из условия: что надо с этим всем делать.

    Для простой замены можно так
    const result = '{red}hello world{endRed}'.replace(/\{(?:end[A-Z][a-zA-Z]*|([a-z]+))\}/g,
        (m, c) => c ? `<span style="color:${c}">` : `</span>`);


    здесь предполагается, что цвета указаны словами. Если есть ещё какие форматы задания цветов, например #hhhhhh, то опиши, как будет выглядеть
    Ответ написан
    Комментировать
  • Каким образом микроконтроллер может отправлять данные на сервер?

    gbg
    @gbg
    Любые ответы на любые вопросы
    0) Терминология. Микроконтроллер - это как правило, микросхема и только микросхема. Которая содержит в себе оперативку, вычислительное ядро, некоторые периферийные устройства (например, wi-fi стек, как ESP8266).

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

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

    В зависимости от этого, используют или HTTPS, как главный на сегодня протокол для безопасных коммуникаций в интернете, или MODBUS (в пределах локальной сети контроллеров со шлюзом в интернет), или свой велосипед.

    Использование в интернете каких-то протоколов, отличных от HTTP(S) сразу тащит за собой кучу проблем вида "а вот у меня провайдер режет порты".
    Использование HTTP влечет за собой проблемы вида "S in IoT stands for Secure". Ваш трафик сможет прослушивать и модифицировать любой желающий, а также встраивать в него рекламу.

    Вывод. Если ваш контроллер смотрит напрямую в Интернет, используйте HTTPS / WebSocket. Если через шлюз - используйте MODBUS.

    Для того, чтобы использовать велосипедное решение, нужно назвать как минимум три фатальных недостатка вышеперечисленных. Утверждение "это изобрел не я" не является фатальным недостатком технологии.
    Ответ написан
    Комментировать
  • Почему let x не попадает в window?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Мужик, ну ты хотя бы документацию прочитай, прежде чем вопрос задавать!!!

    Вот с MDN цитата

    На верхнем уровне скриптов и функций let, в отличии от var, не создаёт свойства на глобальном объекте.


    ДОКУМЕНТАЦИЯ!!! – наше всё.
    Ответ написан
    13 комментариев
  • Как прописать в договоре на создание сайта, что таким подобным проектом мы заниматься не будем?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    То есть наработав крутой и востребованный опыт, вы хотите перекрыть себе возможность его использовать. Вам платят столько, что можете больше не работать до конца жизни? Очень странный пункт в договоре, я бы посоветовал избегать такого заказчика. По существу вопроса максимально полно описывайте каждый момент из тз, чтобы всегда можно было сказать что есть отличие в новом проекте исчитать его таким же не получится.
    Ответ написан
    2 комментария
  • Почему когда заходишь на сайт, обратная связь сразу отправляет сообщение?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Добавьте проверку на существование переменных $_POST:
    <?php
    
    require "index.html";
    header("Content-type: text/plain; charset=utf-8");
    
    if (
    	$_SERVER['REQUEST_METHOD'] == "POST" &&
    	isset($_POST["name"]) && 
    	isset($_POST["message"])
    ) {
    	$to = "damirgaliev587@gmail.com";
    	$tema = "Форма обратной связи на PHP";
    	$message = "Ваше имя: " . $_POST["name"] . "<br>";
    	$message .= "E-mail: " . $_POST["email"] . "<br>";
    	$message .= "Номер телефона: " . $_POST["phone"] . "<br>";
    	$message .= "Сообщение: " . $_POST["message"] . "<br>";
    	$headers = "MIME-Version: 1.0" . "\r\n";
    	$headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
    	mail($to, $tema, $message, $headers);
    }
    ?>
    Ответ написан
    Комментировать
  • Почему когда заходишь на сайт, обратная связь сразу отправляет сообщение?

    @alekssamos
    Программист любитель
    <?php
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
        header('Content-type: text/plain; charset=utf-8');
        $to = "damirgaliev587@gmail.com"; 
        $tema = "Форма обратной связи на PHP"; 
        $message = "Ваше имя: ".htmlspecialchars($_POST['name'])."<br>";
          $message .= "E-mail: ".htmlspecialchars($_POST['email'])."<br>"; 
        $message .= "Номер телефона: ".htmlspecialchars($_POST['phone'])."<br>"; 
        $message .= "Сообщение: ".htmlspecialchars($_POST['message'])."<br>"; 
        $headers  = 'MIME-Version: 1.0' . "\r\n"; 
          $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
        mail($to, $tema, $message, $headers); 
    }
    header('Location: index.html');
    ?>
    Ответ написан
    Комментировать
  • AI c функцией Парсинг веб-данных сайтов?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Тут ничего сложного и никаких AI не надо. Стран ограниченное количество. Можно сделать просто параметризованный поиск по базе стран с параметрами или вообще просто сделать матрицу. С отелями сложнее - вас надо получать доступ к api агрегаторов и подписывать с ними договор
    Ответ написан
    Комментировать
  • Как сделать перебор элементов добавленных в DOM?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Селектор jQuery возвращает статичный набор элементов, которые нашлись на тот момент.
    Поэтому после добавления блоков надо снова вызывать этот выбор: $(".block").

    Или использовать «живую» коллекцию, которую возвращает, например, getElementsByClassName().

    Или «делегировать» события: ловить клики выше, на общем родителе, например, на document, и там уже смотреть, кликнули по элементу с нужным классом или нет.
    Ответ написан
    8 комментариев
  • Как узнать, сколько памяти "ест" сайт?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    5 комментариев
  • Почему [2] + 2 это 22, а не 4?

    lssssssssssl
    @lssssssssssl
    Массивы не имеют ни Symbol.toPrimitive, ни функционирующего valueOf, они реализуют только преобразование toString, таким образом, здесь [] становится пустой строкой, [1] становится "1", а [1,2] становится "1,2"

    https://learn.javascript.ru/array
    Ответ написан
    Комментировать
  • Возможно ли найти удаленную работу для junior iOS разработчика?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    1. Насколько сложно получить удаленную работу для начинающего iOS разработчика позиции Junior? Получить удалёнку, хотя бы, на самое первое время, с последующим переездом и работы в офисе на компанию?

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

    2. Являются ли вообще те самые объявления, немалое количество которых я нашел на HH - настоящими, подлинными, действующими? Т.е. те объявления где работодатели или компании действительно ищут начинающего разработчика iOS уровня junior, с возможностью удаленной работы?

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

    3. Отдельно хочу поинтересоваться насчёт прописанной в некоторых объявлениях по поиску junior(!) iOS developer'а возможности релокации из регионов и довольно отдаленных мест, в которых живёт тот, кто хочет начать работать начинающим специалистом, в офисы компаний, но без удаленной работы. Релокация из другого места ios junior'a, подходящего и соответствующего требованиям из объявления - такое тоже может быть возможно?

    Релокация в пределах страны - вещь не самая сложная, но даже ее обычно предлагать может компания с офисом, а не с подвалом. Поэтому для релокации можно конечно смотреть и перебирать HH, но надежнее будет найти топ-50 компаний и поискать список вакансий на их официальных сайтах.

    Все советы по поводу попасть в приличную компанию нужно естественно умножать на коэффициент вашей квалификации - от нее зависит почти все.
    Ответ написан
    Комментировать
  • Возможно ли найти удаленную работу для junior iOS разработчика?

    aRegius
    @aRegius
    Python Enthusiast
    Здравствуйте.

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

    Если вы сомневаетесь, что найти удаленную работу для junior iOS разработчика возможно - не ищите. Если решили искать - тогда уж не сомневайтесь.

    Пожалуйста.
    Ответ написан
    3 комментария
  • Какой язык программирования\игровой движок выбрать для реализации моей идеи?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Нулевое. На эту тему есть moodle. Это первое о чем вас спросят на любом конкурсе и первое от чего вам придется отбиваться (и вы не отобьетесь, потому что по сути, вы собираетесь сколхозить мудл, только с тридегуем и блекджеком (причем в вашем случае, буквально) - первое на обучение не влияет никак, второе влияет скорее отрицательно, потому что идет вразрез с психологией педагогического процесса)

    возможно ли на андройд

    Невозможно. Можно попытаться на андроиде, и то не факт.

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

    Идея в том, чтобы студенты и преподаватели входили через телефон (с Интернетом) на базе андроид в приложение


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

    У преподавателя должен быть доступ к загрузке\созданию теста\опроса


    Вы хотите, чтобы препод делал этот контент на телефоне? Садитесь, два.

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


    Идите и учите психологию/педагогику. От того, что вы заставите интроверта быть 90 минут экстравертом, вы в итоге получите отвали-от-меня-верта (с тревогой и депрессией), а не обученного студента. Интроверт в этом коллективном чатике будет точно также молчать, как и на паре.

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


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

    Оценка сама по себе не должна давать никому никаких преимуществ, а также не должна использоваться в качестве меры административного воздействия на студентов (как в качестве положительного, так и в качестве отрицательного стимула)

    Из хорошего
    Действительно годным элементом геймийикации могли бы стать ачивки. Вроде сданного на круглую сотню из ста баллов теста или N отсутствий прогулов подряд.

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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    База данных всегда сама подробно расскажет, почему у неё не получилось выполнить запрос. Надо её только об этом попросить.

    Поэтому сначала учимся правильно соединяться.
    Весь этот детский лепет "не могу соединиться с БД" выкидываем и пишем нормальный код, который сам, без всяких проверок, сообщит нам об ошибках.
    В случае mysqli это
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect($host, $user, $pass, $db_name);
    $link->set_charset("utf8mb4");

    Здесь первая строчка отвечает как раз за информирование об ошибках

    Кроме того надо не забыть про ошибки РНР
    Во-первых, всегда в коде должно быть error_reporting(E_ALL);
    Плюс на домашнем компе ini_set('display_errors',1);, а на боевом - ini_set('display_errors',0);ini_set('log_errors',1);, и смотреть, соответственно, в логах.

    После этого переписываем запрос. Причем так, чтобы данные в БД всегда попадали отдельно от самого запроса. Это непреложное правило, которое надо соблюдать всегда.
    Для этого надо
    • Заменить все переменные в запросе на специальные маркеры, которые называются плейсхолдеры или параметры, а по сути - просто знаки вопроса
    • Подготовить запрос к исполнению с помощью функции prepare(). Эта функция принимает строку запроса и возвращает экземпляр специального класса stmt, с которым в дальнейшем и производятся все манипуляции
    • Привязать переменные к запросу.
    • Выполнить подготовленный ранее запрос с помощью с помощью execute()

    В mysqli это будет так
    $sql = "INSERT INTO `events` (`title`, `discription`, `date`, `img`) VALUES (?,?,?,?)";
    $stmt = $link->prepare($sql);
    $stmt->bind_param("sssss", $title, $discription, $date, $path);
    $stmt->execute();

    bind_param() принимает в качестве параметров все переменные, которые должны попасть в запрос, в том же самом порядке, в котором стоят плейсхолдеры в запросе. Но кроме того, сначала в этой функции должны быть указаны типы для всех переменных, в виде строки, где тип переменной обозначается одной буквой. То есть букв в этой строке должно быть ровно столько, сколько дальше будет переменных. К счастью, можно особо не париться с типами и для всех переменных указывать тип "s".

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

    Но по-хорошему для работы с БД в РНР лучше использовать PDO, Тем более что там колупаться с bind_param не нужно, а можно сразу отправить все данные в execute

    Подключение
    $host = '127.0.0.1';
    $db   = 'test';
    $user = 'root';
    $pass = '';
    $port = "3306";
    $charset = 'utf8mb4';
    $options = [
        \PDO::ATTR_ERRMODE            => \PDO::ERRMODE_EXCEPTION,
        \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
        \PDO::ATTR_EMULATE_PREPARES   => false,
    ];
    $dsn = "mysql:host=$host;dbname=$db;charset=$charset;port=$port";
    $pdo = new \PDO($dsn, $user, $pass, $options);

    Здесь за информирование об ошибках отвечает параметр PDO::ERRMODE_EXCEPTION, а остальные просто для удобства/корректности.

    Выполнение запроса
    $sql = "INSERT INTO `events` (`title`, `discription`, `date`, `img`) VALUES (?,?,?,?)";
    $stmt = $link->prepare($sql);
    $stmt->execute([$title, $discription, $date, $path]);
    Ответ написан
    2 комментария
  • Почасовая оплата работы верстальщика?

    DevMan
    @DevMan
    никакая.
    за вёрстку начинающим сейчас готовы платить (если вообще готовы, такое тоже есть) на уровне уборщиков, приходящих 2-3 раза в неделю.

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