• Как прописать в договоре на создание сайта, что таким подобным проектом мы заниматься не будем?

    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 раза в неделю.

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

    @neol
    Если речь про Innodb, то
    Indexes other than the clustered index are known as secondary indexes. In InnoDB, each record in a secondary index contains the primary key columns for the row, as well as the columns specified for the secondary index. InnoDB uses this primary key value to search for the row in the clustered index.

    If the primary key is long, the secondary indexes use more space, so it is advantageous to have a short primary key.

    https://dev.mysql.com/doc/refman/5.7/en/innodb-ind...

    В вольном переводе каждый из ваших вторичных индексов будет содержать в себе значение из primary key (PK) и чем длиннее PK, тем больше все индексы в таблице.
    Вполне вероятно, что при таких раскладах PK даже из 8 байтового bigint сильно выиграет у 36 байтового char+int (а то и 102, если с дуру сделали ID utf8mb4). Как минимум по занимаемому месту.
    Ответ написан
    Комментировать
  • Как проверить вхождение даты в определённый диапазон?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Перевести дату в стандартный формат YYYY-MM-DD или в unix timestamp, потом обычным сравнением.
    Ответ написан
    Комментировать
  • Какие есть программы для "перемагничивания" жестких дисков?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ох уже эти сказки. Ох уж эти сказочники

    Раньше чем это произойдет, у диска откажет механическая часть.

    В целом, вопрос вида "есть информация" (откуда? Научная статья, техническая статья, бабули у подъезда, лично наблюдали, как магнитный монополь сваливал гермозоны)

    должен включать в себя ссылку на источники информации. А то я тоже могу рассказать, как в Африке кур доят.
    Ответ написан
    4 комментария
  • Стоит ли идти в NoCode разработку?

    BorLaze
    @BorLaze
    Java developer
    Как бы вайти в айти, но так, чтобы не учить ничего по айти?
    Ответ написан
    Комментировать
  • Стоит ли идти в NoCode разработку?

    xenon
    @xenon
    Too drunk to fsck
    Общее правило: Если технологию можно легко освоить в короткое время, тогда, даже если такая технология будет в самом деле ценной, все равно, в ней будет слишком много специалистов, высокая конкуренция и низкие доходы. (например, Uber. Стать таксистом несложно, зарабатывают таксисты немного.)

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

    Adamos
    @Adamos
    Лучше априори предполагать, что любой в интернете знает, что и где лежит у вас на сайте.
    Может, меньше дыр в безопасности будет...
    Ответ написан
    Комментировать