• Инструменты для создания обучающих видео презентаций?

    alekseyHunter
    @alekseyHunter
    Android developer
    • Делаем презентацию (Power Point)
    • Добавляем эффекты по клику мыши
    • Включаем запись экрана и кликаем по презентации (Bandicam, NVidia Shadow Play)
    • Пишем отдельно звук (объяснения)
    • Склеиваем в видео редакторе (Sony Vegas, Adobe Premiere)
    Ответ написан
    Комментировать
  • Как вы учите новое?

    alekseyHunter
    @alekseyHunter
    Android developer
    нужно сначала получается какой-то большой проект сначала придумать (что уже проблематично)

    Напишите генератор идей или используйте готовый: andv.xyz/startupideas

    Допустим открыл я angular, запустил, попробовал компоненты и датабиндинг а дальше что?


    Решайте поэтапно, например: Работа с БД + Вывод в консоль, Верстка формы, Скрипты + Вывод в консоль. Потом объединяете: Верстка формы+Скрипты+Работа с БД.

    Какие цели надо ставить изучая программирование и как их достигать

    Послушайте первые 20-30 минут и узнаете: https://www.youtube.com/watch?v=KdZ4HF1SrFs
    Ответ написан
    Комментировать
  • Как сделать когда юзер вводит в поиске вывод похожих слов?

    alekseyHunter
    @alekseyHunter
    Android developer
    Можно попробовать библиотеку chosen
    Ответ написан
    Комментировать
  • Хочу перенести сайт с mysql на PDO или mysqli прочитал много статей хочу внести ясность по некоторым пунктам?

    alekseyHunter
    @alekseyHunter
    Android developer
    Может ли такой вид обезопасить сайт от иньекций?


    За код первых запросов хакеры вам скажут спасибо, им софт уже найдет уязвимость.

    Последний запрос такой же уязвимый, т.к. вы напрямую берете данные из массива.

    Ошибки:
    • Вы не проверяете значение, которое содержится в POST/SESSION (тип данных, пустая строка)
    • Вы не проверяете регуляркой эти данные
    • Вы не используете параметрические запросы


    Для наглядности простой пример:

    function registration($link,$login,$password,$email) {
    	$newlogin = preg_replace('%[^A-Za-zА-Яа-я0-9]%', '', $login);
    	$newpassword = preg_replace('%[^A-Za-zА-Яа-я0-9]%', '', $password);
    
    	if($newlogin !=$login || $newpassword != $password) 
                    return false;
    
    		$pass = md5($newpassword);
    
    		check_input_data($link,$login,$email); //Кидает ошибку, если логин уже есть в базе
    
    		$stmt = mysqli_prepare($link, "INSERT INTO users (login,password) VALUES (?, ?)");
    		mysqli_stmt_bind_param($stmt, 'ss', $newlogin, $pass);
    
    		mysqli_stmt_execute($stmt);
    
    		if(mysqli_stmt_affected_rows($stmt)==1) {
    			$user_id = get_user_id($link,$newlogin);
    //Что-то делаем
        } else {
          return false;
        }
          mysqli_stmt_close($stmt);
    
          return true;
    }
    Ответ написан
  • C# + MySQL как быть с необходимыми средствами или отказаться от него?

    alekseyHunter
    @alekseyHunter
    Android developer
    как теперь перейти на MySQL но в рамках C#

    Требуется устанавливать драйвера для подключения к этой БД, дальше соединяемся и работаем.

    MS SQL Server

    Кому где удобнее работать. Я с MySQL дружу только в вебе, на десктопе только MS SQL Server.
    Ответ написан
  • Откатить изменения git?

    alekseyHunter
    @alekseyHunter
    Android developer
    Если нужно удалить коммит, и его не опубликовали:
    git reset --hard HEAD^

    Если опубликовали, делаем коммит для отмены коммита. После делаем push.
    git revert commit-sha1
    Ответ написан
    1 комментарий
  • В какую разработку еще можно успеть войти помимо web?

    alekseyHunter
    @alekseyHunter
    Android developer
    Начитавшись недавних тем

    Лучше читайте доки к языкам программирования, полезнее будет.

    бессмысленности вхождения в нее

    Так можно сказать о любой из сфер программирования.

    чтобы быть востребованным и в перспективе выйти на хороший доход?

    Нужно отлично разбираться в одной сфере и поверхностно в других.

    как с работой в этих сферах

    На каждого разработчика найдется своя задача.

    Большой ли путь нужно совершить чтобы стать конкурентоспособным специалистом?

    Чем выше уровень (Стажер/Младший/Средний/Старший/Руководитель), тем больше времени.

    Как вообще с зарплатами и уровнем сложности?

    Чем меньше уровень сложности, тем меньше зарплата.
    Чем больше опыт работы, тем проще выполнять (сложные) задачи.

    И может подскажите какие еще бывают направления по разработке?

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

    alekseyHunter
    @alekseyHunter
    Android developer
    Скачайте шрифты, добавьте их в папку fonts, подключите в CSS:

    @font-face {
        font-family: Huntsman;
        src: url('../fonts/Huntsman.woff');
    }


    Загрузка страницы от шрифтов особо не зависит. Долго загружается, если выполняет много запросов к БД, которые должны быть обработаны php скриптом. Только после этого сформируется страница.

    Также может долго грузиться, если огромные (больше 1 Мб) картинки на странице.

    Совет: Используйте инструменты для проверки скорости загрузки страниц сайта, сжимайте картинки, уменьшайте количество запросов к БД.
    Ответ написан
  • Как правильно разобрать массив?

    alekseyHunter
    @alekseyHunter
    Android developer
    Странное решение. Зачем так хранить данные? Используйте объекты.

    var arr= [
    {
      characteristics: {first: 1, second: 2 },
      page: 2,
      price_max: 10,
      price_min = 1
    },
    {
      characteristics: {first: 1, second: 2 },
      page: 2,
      price_max: 10,
      price_min = 1
    }
    ];
    
    arr.forEach(function(element,i,arr) {
      element.page += 1;
    };
    Ответ написан
    5 комментариев
  • Какие разделы математики нужны в компьютерной графике?

    alekseyHunter
    @alekseyHunter
    Android developer
    Сначала нужно определиться что Вы хотите создавать (python и графики для визуализации данных, power point и презентации, autocad и создание чертежей, photoshop и создание иллюстраций, Unity/UE4 и создание компьютерных игр, Adobe Animate и создание анимаций или фильмов).
    Ответ написан
    5 комментариев
  • Как правильно оформить CSS для таблицы в мобильной выдаче?

    alekseyHunter
    @alekseyHunter
    Android developer
    В CSS замени table одним из следующих селекторов:
    .класс_родителя .your_class_for_table {
    //code
    }
    //Если таких таблиц много, усложняем селектор
    .класс_родителя table.your_class_for_table {
    //code
    }
    //Не работает? Может у родителя есть id?
    #id_родителя.класс_родителя table.your_class_for_table {
    //code
    }
    //Все еще не работает? Добавляем дочерний класс для таблицы
    #id_родителя.класс_родителя table.your_class_for_table.дополнительный_класс_только_для_этой_таблицы {
    //code
    }


    Остальные по такому же принципу пиши, то есть так :
    //рабочий вариант тэг
    .класс_родителя .your_class_for_table thead
    Ответ написан
    Комментировать
  • Как переделать массив с объектами?

    alekseyHunter
    @alekseyHunter
    Android developer
    const arr = [
            {uid: "55", ferstName: "Серега",sex:"2"},
            {uid: "43", ferstName: "Марк",sex:"2"},
            {uid: "73", ferstName: "Коля",sex:"2"},
            {uid: "104", ferstName: "Женя",sex:"2"},
            {uid: "23", ferstName: "Лена",sex: "1"},
            {uid: "6", ferstName: "Татьяна",sex:"1"},
            {uid: "93", ferstName: "Юлия",sex: "1"},
            {uid: "62", ferstName: "Злата",sex: "1"},
        ];
    
    function filterByIdAndSex(item) {
        if (item.id == 73 || item.sex == 1) {
            return false;
        }
        return true;
    }
    
    var resultArray = arr.filter(filterByIdAndSex);
    
    console.log('Отфильтрованный массив\n', resultArray);
    Ответ написан
    Комментировать
  • Как в юнити добавить датчик магнитометр?

    alekseyHunter
    @alekseyHunter
    Android developer
    Повесьте скрипт на объект Text и увидите значения осей компаса.
    using UnityEngine; 
    using System.Collections; 
    using UnityEngine.UI; 
    public class test : MonoBehaviour {
    
      public Vector3 xyz; 
      private Text textlabel; 
      // Use this for initialization 
      void Start () { 
        textlabel = gameObject.GetComponent<Text>(); 
        Input.compass.enabled = true; 
      } 
      
      // Update is called once per frame 
      void Update () { 
        xyz = Input.compass.rawVector; 
          textlabel.text = string.Format ("x={0}:y={1}:z={2}:enabled={3}",xyz.x,xyz.y,xyz.z,Input.compass.enabled); 
      } 
    }
    Ответ написан
    Комментировать
  • Бесконечный цикл или ненужная за циклом переменная?

    alekseyHunter
    @alekseyHunter
    Android developer
    бесконечный цикл выглядит страшновато

    Он будет вселять страх, если Вы у вас вместо инкремента будет декремент, а значит цикл точно будет бесконечным.

    Мой выбор за бесконечным циклом, понравились метки на ассемблере (нет) и ,конечно, goto на Си)

    Для второго цикла нужно искать объявление переменной, а это не всегда можно объявить ее перед блоком.
    Ответ написан
    Комментировать
  • Как создать БД/таблицу и записывать данные в SQLite react-native+expo?

    alekseyHunter
    @alekseyHunter
    Android developer
    DDL команда для создания таблицы:
    Create table TABLE_SKILLS (
                            ID integer primary key autoincrement,
                            NAME text NOT NULL, PROGRESS text DEFAULT '00:00:00' NOT NULL);


    DML команда для записи данных:
    Insert into TABLE_SKILLS ("name","00:10:00");

    DML команда для получения данных:
    Select * From TABLE_SKILLS;
    Ответ написан
  • Как отложить переход по ссылке (закрытие страницы), чтобы успела проиграть анимация перехода?

    alekseyHunter
    @alekseyHunter
    Android developer
    Нельзя отложить переход, поскольку окно не модальное.

    И вы не провели валидацию HTML.

    <!DOCTYPE html>
    <html lang="ru" class="main">
    <head>
      <meta charset="UTF-8">
      <title>Page Transition</title>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
    </head>
    <body>
    
    <div> //Забыли добавить
      <a class="header" href="https://google.com"><h1>Click Me</h1></a></div>
    <div class="cover enter"/> //Забыли закрыть
    
      <script src='https://cdnjs.cloudflare.com/ajax/libs/zepto/1.1.6/zepto.min.js'></script>
    
    </body>
    </html>
    Ответ написан
  • Что делает такая конструкция массива в php?

    alekseyHunter
    @alekseyHunter
    Android developer
    Это двумерный массив. Если $num или $item[$subItem] содержит строку, массив ассоциативный, то есть в качестве ключа выступает строка, а не число(0,1,2).
    $arr[''] [$num]
    Это одномерный массив.
    $item[$subItem]
    Ответ написан
    8 комментариев
  • Можно ли структурировать полученные в sql данные?

    alekseyHunter
    @alekseyHunter
    Android developer
    Можете сначала сделать запросы для каждой буквы, после этого из ответов создать массив.

    Если php, тогда создайте цикл, в котором будут проверяться значение поля letter. Одинаковые добавляем в массив, если следующий элемент с другой буквой, добавляем предыдущий массив в общий массив.

    $arr = array();
    $temp_var = "";
    $temp_arr = array();
    foreach($array_sql as $element) {
    if($temp_var == "")
    $temp_var = $element["letter"];
    $temp_arr[] = $temp_var;
    else if ($element["letter"] == $temp_var)
    $temp_arr[] = $temp_var;
    else if ($element["letter"] != $temp_var) {
    $arr[] = $temp_arr[];
    $temp_arr = array();
    $temp_var = $element["letter"];
    $temp_arr[] = $temp_var;
    }
    Ответ написан
    3 комментария
  • Как получить json значение по ключу?

    alekseyHunter
    @alekseyHunter
    Android developer
    В $_POST содержится ассоциативный массив, доступный по ключу. Вы отправили объект json - он содержится теперь в этом массиве, каждому ключу из объекта соответствует аналогичный ключ в $_POST.
    Обращайтесь так:
    $param = $_POST["param"];

    А чтобы декодировать json, нужно скормить строку с ним. А вы декодируете массив $_POST.

    $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';  //вот это может декодировать функция
    
    $data_json = json_encode($_POST); 
    json_decode($data_json);
    Ответ написан
    8 комментариев
  • Как сделать проверку что если хотя бы один чек бокс выбран?

    alekseyHunter
    @alekseyHunter
    Android developer
    Первый вариант - пробежаться циклом по всем чекбоксам и проверить атрибут checked.

    Другой вариант - разместить чек-боксы в форме, которая отправляется по нажатию на кнопку, появляющуюся рядом с выбранным чекбоксом. На стороне сервера проверяем массив чекбоксов, если он не пустой, возвращаем true, иначе false. Далее в ajax скрипте добавляем класс для родителя.

    Еще вариант - использовать метод Ajax - find().

    Пример для последнего варианта: https://jsfiddle.net/dlcwalkoff/jh5e3otx/9/
    Ответ написан
    Комментировать