• Чем делать такую разметку?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Думал сделать 4 колонки

    Как раз 4 колонки тут и будут идеальным решением.

    но из-за разного кол-ва блоков в колонках будут проблемы с адаптивностью

    Не понятно, какие могут быть проблемы.

    Flex сюда тоже так себе подходит

    И флекс сюда подходит нормально. 4 колонки, внутри колонок flex-direction и всё встанет отлично.

    CSS-Grid не предлагать ;)

    Вот тут согласен, пока рановато его использовать.

    https://jsfiddle.net/webirus/c0ktt24m/
    В принципе, если высота известна, проблем вообще нет.
    Если не известна, пару строк на JS, которые будут равнять блоки.
    Ничего особенного нет.
    Перестроение также легко делать через дополнительные классы в стиле bootstrap.
    Аля column-xs, column-ls и так далее.
    Ответ написан
    2 комментария
  • Как решить проблему связи между https и http?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Воспользоваться сертификатом Let’s Encrypt, он бесплатный: https://letsencrypt.org/
    Ответ написан
    1 комментарий
  • Как сделать верстку?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Не занимайся херней, отдай верстальщикам.
    Ответ написан
    5 комментариев
  • Как сделать такие переходы между страницами?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Как реализовать такой сайт?
    Какой смысл спрашивать второй раз?
    Ответ уже давали, другого не будет.

    Уж не спам ли это?
    Ответ написан
    4 комментария
  • Освоение HTML5, CSS, JS. Как продвигаться?

    jenovas
    @jenovas
    И еще момент, уберите пока бутстрап, сначала разберитесь как все работает без бутстрапа, а потом уже сами поймете нужен вам цсс фреймворк или нет. То же самое с препроцессорами, сначала чистый цсс, после уде подключайте все остальньное
    Ответ написан
    Комментировать
  • Тематика курсовой работы?

    swanrnd
    @swanrnd
    Издатель HTML5 игр
    Сделайте приложение по анализу интересов например.
    Допустим в университете учится 10 000 человек.
    В каких группах они состоят, какая демография, школы и прочее. А потом куча красивых графиков.
    С ВК API работать просто, если:
    1) сможете сделать GET или POST запрос
    2) сможете распарсить XML и JSON.
    Ответ написан
    Комментировать
  • Где найти практику\работу\стажировку?

    daager
    @daager
    Судя по вашему прошлому вопросу за два месяца вы ничего не сделали и не продвинулись. Мне кажется вам просто лень самому разбираться и вы ждете, когда вам покажут ссылку на линейный путь развития PHP-разработчика, список пунктов, который весь прошел и значит ты разработчик. Нет, такого не будет. Это развитие нелинейное. Ставится задача, ты её решаешь, нашел сложность, пошел изучать её, потом вернулся и так всегда.
    Ваша просьба будто "как сделать cms из одного файла, чтобы подряд написать", когда файлов много и вам нужно параллельно их развивать.
    Пробегитесь по документации php, по её функциям. Можете не запоминать их все, хватит того, что вы будете знать, что есть функция, которая что-то делает, название как-нибудь найдете. Нагуглите топ используемых функций и вот их нужно хотя бы примерно запомнить. Боитесь своего проекта? А как кодить-то научиться? Что-то делать же надо. Начните решать какие-нибудь свои задачи на php. Разберите csv и постройте таблицу. Сделайте форму с текстовыми полями и посчитайте квадратное уравнение на php, попробуйте сделать форму создания, редактирования, удаления, обновления(CreateReadUpdateDelete) какой-нибудь записи из бд. Я начинал с того, что сразу начал кодить небольшие хаки для простенькой cms. Придумываете себе задачу и начинайте её решать. Возьмите и скачайте страницу какую-нибудь, вытащите оттуда все заголовки (h1,h2,h3,etc) и отсортируйте по алфавиту. Отсортируйте ряд чисел 5,1,1,7,9,2 по возрастанию.
    PHP-разработчик, это разработчик, который может решить задачу на PHP, но именно разработчик. Нужно какое-то время на перестроение мышления и дальше вам пофиг на язык, вы думаете конструкциями, а дальше просто ищете вариант решения на конкретном языке.
    Ответ написан
    5 комментариев
  • Как организовать ведение блога для руководителя, без доступа в админ?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Все очень просто:
    1. пишите api для сайта
    2. пишите мобильное приложение
    3. пишите десктопное приложение
    4. пишите расширение для браузера
    5. пишите скрипт для системы умный дом
    6. соединяете все вместе и ждете, что человек. который не раздуплил админку, раздуплит все остальное
    Ответ написан
  • Стоит ли делать апдейт ubuntu 14.04 до 16.04?

    @pfg21
    ex-турист
    Работает - не трогай !!
    побуду за КО

    1. исправление старых багов и пополнение новыми багами :) (тупой ответ, согласен)
    3. номинально будет, как повезет. больше будет косяков с новыми версиями.
    К примеру в 16.04 внедрен systemd, и почему-то не у всех демонов под него есть конфиги :-/

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

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Да вот же:
    'use strict';
    var positions = ['Яблоко','Груша','Апельсин','Банан'];
    var i = 1;
    console.log('Список наименований');
    console.log( positions.reduce((p,c)=> p+"\n"+i+++". "+c,""));


    929ae4b27fb747fca1cef8f785332dbf.png
    Ответ написан
    Комментировать
  • Я новичок, объясните правильно ли я использую pdo и обрабатываю ошибки?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Нет, здесь все неправильно.

    Если коротко, то

    1. Класс Database выкинуть на помойку.
    2. Все exit() в коде выкинуть на помойку
    3. Все try..catch туда же

    В итоге у нас останется

    class article {
        public function __construct($pdo)
            $this->pdo = $pdo;
        }
        public function get_all_db() {
            $sql = "SELECT `articles_id`, `title`, `keywords`, `description` FROM `articles`";
            return $this->pdo->query($sql)->fetchAll();
        }
        public function get_one_db($id){
            $sql = "SELECT `articles_id`, `title`, `keywords`, `description` FROM `articles` WHERE articles_id = ?";
            $stmt = $this->pdo->prepare($sql);
            $stmt->execute([$id]);
            return $stmt->fetch();
        }
    }


    Все удобно, компактно и безопасно.
    Кода получается меньше чем в mysqli и mysql вместе взятых.
    Ответ написан
  • Почему я получаю undefined?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Метод getElementsByClassName возвращает коллекцию элементов, а вы пытаетесь работать с ней как с единственным элементом. document.querySelector('.woof_select_product_cat') спасёт отца русской демократии.
    Ответ написан
    1 комментарий
  • Как защитить ссылку на видео от распространения?

    @kstyle
    на vimeo есть варианты приватности.
    можно сделать просмотр только на своем сайте и для каждого клиента генерировать свою ссылку, а далее уже анализировать кто смотрит, с каких ip и т.д.
    Ответ написан
    1 комментарий
  • Где найти много материала(плюшек) по фронтенд разработке?

    anamorph
    @anamorph
    javascriptLover
    еще как вариант:
    https://vk.com/love_frontend
    Ответ написан
    Комментировать
  • Как правильно хранить контент сериала?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    Для каждого нового сериала новые таблицы? – нет, это неприемлемо.

    Сделайте примерно так:
    • Таблица «Сериалы»: id, название, год, описание, режиссёр, рейтинг IMDB и т.п.
    • «Серии»: id_сериала, id_серии (в формате S02E05), ссылка
    • «Оценки»: id_юзера, id_сериала (+id_серии?), оценка
    • «Юзеры»: id, ник, хэш пароля, дата последнего визита
    • «Комменты»: id, id_сериала, id_юзера, текст коммента


    Ответ написан
    1 комментарий
  • Можно ли передавать по сети OpenSSL encrypt/decrype?

    NeLexa
    @NeLexa
    Можно ли передавать по сети OpenSSL encrypt/decrype?

    Конечно можете. Главное, чтобы совпадал пароль и IV.
    Для блочного шифрования обычно используют AES-256-CBC.
    Если планируется использовать всегда разные пароли, можно продумать схему обмена ключами клиента с сервером по алгоритму Диффи-Хеллмена и на их основе создавать пароль и IV по определённому алгоритму.

    К примеру в телеграм используется следующий алгоритм для генерации ключа и вектора:
    // псевдокод
    x = 0 for messages from client to server 
    // or
    x = 8 for those from server to client.
    
    data = данные для шифрования или расшифрования
    auth_key = ключ аутенификации 256 байт (зашить в клиент и сервер или получать при обмене ключами при помощи DH)
    msg_key = substr(SHA1(data), 0, 16)
    
    sha1_a = SHA1 (msg_key + substr (auth_key, x, 32));
    sha1_b = SHA1 (substr (auth_key, 32+x, 16) + msg_key + substr (auth_key, 48+x, 16));
    sha1_с = SHA1 (substr (auth_key, 64+x, 32) + msg_key);
    sha1_d = SHA1 (msg_key + substr (auth_key, 96+x, 32));
    aes_key = substr (sha1_a, 0, 8) + substr (sha1_b, 8, 12) + substr (sha1_c, 4, 12);
    aes_iv = substr (sha1_a, 8, 12) + substr (sha1_b, 0, 8) + substr (sha1_c, 16, 4) + substr (sha1_d, 0, 8);

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

    Сомнения вызывает ф-ия openssl encrypt/decrypt - они кодируют/раскодируют только на основе соли или ещё каких-то данных свойственных железу напр? :)

    Нет, всё чётко. Это же не random.
    Ответ написан
    Комментировать
  • Как сделать авторизацию разных пользователей с одним логином?

    @newpy
    web-dev
    Если я правильно понял, то вам лучше сделать одну таблицу с пользователями, и сделать вторую таблицу групп пользователей. Авторизовывать группу по одному логину, но завести какой-то идентификатор пользователя в группе и пароль. А так как делаете вы, то ничего удивительного что пускает только одного.
    Например на странице авторизации вы видите поле ввода "логин", вводите туда логин группы, далее например появляется второе поле "выберите пользователя" и третье "пароль", вы выбираете пользователя из данной группы, и вводите только пароль который соответствует только выбранному пользователю. Это самое простое что пришло в голову "решение в лоб".
    Ответ написан
    Комментировать
  • Верно ли я понимаю безопасный подход к управлению сессиями?

    Stalker_RED
    @Stalker_RED
    Мануал не читай @ велосипед изобретай!

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

    Впрочем, допустим, вы изобрели что-то новое. Расскажите подробнее что такое, по вашему, сеанс связи, и что значит "все сессии живут только один сеанс".
    Ответ написан
  • Как сохранить Cookie?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Лучше хранить не в куках, а в LocalStorage - куки пересылаются между сервером и клиентом при каждом запросе-ответе, ни к чему их раздувать. Вдобавок, у кук серьёзно ограничен максимальный объём - обычно не более 5 Мб.
    Вот пример конвертации изображения в бинарный формат и его последующего рендеринга: https://jsfiddle.net/alexey_m_ukolov/fnjsubkm/
    Как работать с localStorage описано по ссылке.
    Ответ написан
    6 комментариев
  • Как передать данные с формы с помощью ajax php скрипту в wordpress?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Ajax на морде сайта работает так, как собрать данные с формы, и отправить их почтой думаю сообразите, оно ничем не отличается от обычной отправки

    PHP подключение скрипта с запуском AJAX и обработчик
    <?php
    #Подключение JS
        function my_enqueue_js() {
            #Скрипт с обработчиком код скрипта ниже
            wp_enqueue_script( 'my-ajax', get_template_directory_uri() . '/assets/js/my-ajax.js', array('jquery'), '1.0.0', true );
            #Отпрака переменных в скрипт
            wp_localize_script( 'my-ajax', 'MyAjax', array(
                'ajax_url' => admin_url( 'admin-ajax.php' ),
                'security' => wp_create_nonce( 'my-security-string' )
            ));
        }
    
        add_action( 'wp_enqueue_scripts', 'my_enqueue_js' );
    
        #Обработчик
        function my_action_callback() {
            check_ajax_referer( 'my-security-string', 'security' );
            $int = intval( $_POST['int'] );
            $int += 10;
            echo $int;
            wp_die();
        }
    
        #Добавление обработчика
        #  вешается на wp_ajax_{имя_экшена}
        # имя экшена должно совпадать с тем, которое задано  в js
        add_action( 'wp_ajax_my_action', 'my_action_callback' );
        #не забываем про nopriv для неавторизованных юзерей
        add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' );


    Скрипт my-ajax.js в данном примере должен лежать по адресу
    КОРЕНЬ_ТЕМЫ/assets/js/my-ajax.js
    jQuery(document).ready(function($) {
    
      var $data = {
        action: 'my_action',
        security : MyAjax.security,
        int: 1234
      };
    
      $.post(MyAjax.ajax_url, $data, function($response) {
        alert('1234 + 10  =  ' + $response);
      });
      
    });
    Ответ написан
    2 комментария