• Стоит ли идти в HR?

    sim3x
    @sim3x
    Возвращаться в Киев, Львов, Одессу, Днепр
    Получать зп в валюте за найм разрабов или за работу разработчиком
    В конце месяца иметь профит больше чем в мск
    Ответ написан
    9 комментариев
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

    4) в принципе использование переменных там где их быть не должно

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

    1) если вы пишите комментарии к таким маленьким кускам кода - стало быть у вас хромает именование вещей. Все должн быть понятно просто из названий методов/функций/переменных. При работе в команде над серьезными проектами это немаловажно, ибо код чаще читают чем пишут и экономить нужно именно это время.

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • Что будет перспективней в данном случае?

    ncix
    @ncix
    Предприниматель
    Есть ли смысл менять Python на php работать с ним?
    Вопрос не совсем корректный - вы не меняете, а дополняете свой "стек" новым языком.
    Двигайте туда где интересно. И поищите работу в интернете, если локально во Владе с этим напряг. Английский прокачайте немного.
    Мой вам совет - не бойтесь новых и абсолютно вам неизвестных языков, фреймворков и технологий. После 2-3 языков остальные пойдут уже очень легко, и будут выглядеть вариациями одних и тех же общих принципов. То же самое и с фреймворками.
    Я за 12 лет в программировании овладел профессионально VB, Delphi и SQL, потом за пару лет С++ и Qt, затем за 3 месяца Java/ADT (Android), сейчас вот без проблем развиваю в себе PHP и JS, посматриваю с любопытством на AngularJS. Кроме того параллельно занимаюсь контроллерами - начиная от Arduino с его любительским фремворком и до голого С и даже ассемблера.
    И чем больше охватываю технологий тем проще дальше развиваться.
    Ответ написан
    5 комментариев
  • PHP, или как не научиться неактуальному?

    @hungry-devel
    Продублирую ответ Сергей Протько
    Это поможет не городить костыли)
    Главное - понимание основ. Язык и вся инфраструктура( докер,вагрант,фреймворки и т.п) - всего лишь инструменты, которые осваиваются довольно быстро при хорошем фундаменте.
    Не претендую на абсолютную истину..просто личное мнение
    Ответ написан
    1 комментарий
  • Как обновить сессию?

    @IceJOKER
    Web/Android developer
    Комментировать
  • Чем вы пользуетесь, sprintf или оператором(точкой) для внедрения параметров в строку в PHP?

    DevMan
    @DevMan
    лучше - использовать подготовленные выражения.
    если абстрагироваться от sql, то предпочитаю второй вариант из-за большей наглядности/легкости чтения.
    Ответ написан
    6 комментариев
  • Какие вы знаете русскоязычные сайты для изучения программирования?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Только есть одно условие - сайт и курсы на нем должны быть на русском языке.


    HSLivcueqro.jpg

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

    По программированию рекомендую книгу "структура и интерпретация компьютерных программ", она есть в хорошем переводе на русском, и по ней учат в MIT. Но для ученика школы может быть тяжелова-то. Потому лучше воспользоваться какими-то упрощенными штуками типа codeschool, а там уже нужен язык.
    Ответ написан
    9 комментариев
  • В чем ошибка PDO?

    BuriK666
    @BuriK666
    Компьютерный псих
    password_hash генерирует каждый раз разные строки. используйте password_verify для проверки.

    include_once 'connectDB.php';
        
    if (isset($_POST['entry'])) {
        $login = $_POST['login'];    
        $sql = $pdo->prepare("SELECT login, password FROM dataname WHERE login=?");
        $sql->execute([$login]);
        $data = $sql->fetch();
    
        if (password_verify($_POST['password'], $data['password'])) {        
            echo 'YES';
        }
        else {
            echo 'NO';
        }
    }
    Ответ написан
  • PHPStorm.Как изменить цвет панелей?

    elevenelven
    @elevenelven
    Php Dev @ Amadeus
    Поставьте плагин.
    Цвет панелей совпадет с основным бекграундом. И надо перезапустить IDE после смены цвета.
    Я пользуюсь светлой темой, а поэтому приглушил белый цвет панелей.
    https://plugins.jetbrains.com/plugin/7055?pr=clion

    Можете еще поставить этот. Он добавляет немного фиксов артефактов. У меня правда не бывало проблем. Смотрите на совместимость с вашей версией сторма.
    https://plugins.jetbrains.com/plugin/7081?pr=
    Ответ написан
    Комментировать
  • Как передать в base64 зашифрованную строку и раскодировать независимо от версии php?

    27cm
    @27cm
    TODO: Написать статус
    Что-то не видно различий в разных PHP: https://3v4l.org/CoWfs

    UPD: Ну так у вас же в коде рандомится $iv, вот и результат везде разный.
    Ответ написан
    2 комментария
  • Картинка из картинок.Как сделать??

    @Mercury13
    Программист на «си с крестами» и не только
    Простейший вариант…
    1. Для каждой малой картинки выбрать «средний» цвет.
    2. Уменьшить исходное изображение до M×N px, и в каждый пиксель вместо сплошного цвета подставить ту картинку, которая больше всего подходит по цвету.

    Алгоритм можно совершенствовать — например, подставлять одну из 10 наиболее подходящих, а если в радиусе, скажем, 30 единиц есть куда больше 10 картинок — брать их все. А можно ещё использовать метод коррекции ошибок Флойда-Стейнберга (наиболее удачный метод при переводе картинок в N цветов)
    Ответ написан
    3 комментария
  • Как создать сайт вроде спрашивай.ру?

    HoHsi
    @HoHsi
    Не стоит сразу же замахиваться на большой сервис, начните постепенно. Каждый начинающий программист первым своим проектом грезит сделать убийцу ВК / FB. Скажу сразу, это с первого раза не выйдет. Как не выйдет и с 10. Но! Это не повод, что-бы не развиваться и не учиться. Итак если вы все же решили потрать пару месяцев на обучение, или вы уверены, что пойдет меньше, начните так:

    Шаг первый
    Html. Это язык разметки, на котором написано 100% веба, то есть это необходимая вещь де-факто. Он позволит вам разместить текст на странице, оформить ее.
    В базовой аналогии, это ворд для интернета (кышь Ъ праграммысты, это довольно хорошая аналогия для новичка, продолжим...).

    Это займет +- 1 неделю

    Вам помогут:
    * htmlbook

    Шаг второй
    CSS. Это язык стилизации. Перекрасить текст, увеличить отступы, сделать тень у блоков это к нему. Все крависости в интернете делаются на нем. 99% веба использует для стилизации именно его, так что опять же это стандарт.

    Это займет +- 2 недели

    Вам помогут:
    * Sorax

    Шаг третий
    PHP. Это уже язык программирования (плохой, больной, уродливый, но язык. Да начнется холивар). Он поможет вам понять как это работает, как устроена кухня. Поковыряйте его, обучитесь начальной логике и алгоритмам. Он поможет вам выводить HTML более осмыслено, т.е. вы сможете уже составлять динамические страницы, которые могут подстраиваться под пользователя, добавлять посты, вопросы, картинки и т.д.

    Это займет +- 2 месяца

    Вам помогут:
    * php.net

    Шаг четвертый
    Wordpress. Это почти готовый сайт. В нем уже есть все, что вам нужно. Вы можете писать посты, делать обсуждения и т.д. На его основе вы сможете вылепить что угодно, даже тот самый вопросник. Он написан на PHP, так что он будет дополнять ваши знания. Как только научитись ставить WP, попробуйте написать для него шаблон, потом плагин, и еще и еще. Это закрепит и разовьет ваши предыдущие знания.

    Это займет +- 2 месяца

    Вам помогут:
    * wp-kama

    Шаг пятый
    MySQL. И в частности язык запросов SQL. Это база данных. Они нужны, что-бы хранить информацию вашего сайта в удобном виде. Т.е. по своей сути это таблица экселя, в ней есть поля и их значения. Это так же необходимые знания, так как ваши вопросы из вопросника будух храниться именно там.

    Это займет +- 1 месяц

    Переломный момент
    Наступает переломный, это значит что по истечению полу-года вы должны сесть и подумать, нравится ли вам, что вы делали. Это важно. Так как дальше не будет проще, не будет легче. Начнутся такие вещи как Асинхронность, Брокеры сообщений, ООП, MVC, и другие страшные слова, которые ровно как и предыдущие шаги по-началу будут вас пугать, но потом станут лучшими друзьями.

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

    Не спешите так же переходить к шагам ниже, если не уверены в своих силах. Нет ничего плохого, что-бы "посидеть" еще на предыдущих шагах.

    Шаг пятый
    JavaScript. Ура, вы решили, что вы хотите быть программистом, похвально. Этот язык позволит вам сделать ваши страницы более динамичными. Добавить на них анимацию, логику. Этот язык использует 90% веба, так что сомневаться в его значимости нет смысла. Он позволит вам добавить жизнь на ваш сайт.

    Это займет +- 2 месяц

    Вам помогут:
    * Sorax
    * learn.javascript.ru

    Шаг шестой
    Jquery. Это продолжение JS. Это фреймворк (набор готовых функций). Он облегчит вашу работу с JS и позволит делать ее более качественно и быстро.

    Это займет +- 1 месяц

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

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

    Итак развилка:
    Мне нравится PHP, мама я женюсь!
    Ок, тогда вам стоит взглянуть на фреймворки Laravel, Yii 2, вполне хороши. Они довольно мощные и позволят много чего на себе сделать.

    PHP какой-то странный, но мне понравился JavaScript
    Шикарно, значит есть смысл попробовать NodeJS. Это версия языка (Да, я знаю, что нода это среда а не язык, дайте уже объяснить человеку) расчитаная на составление страниц, как PHP. Это очень мощный инструмент, поняв который, вы вряд ли захотите уйти с него. Он поможет вам писать не только сайты, но и приложения для телефонов / планшетов, программы для ПК, возможно игры (но не стоит. По крайней мере с текущим развитием инструментов), демоны, сервисы, консольные приложения и т.д.

    Они оба мне не нравятся
    Что ж, тогда вам могут приглянуться Python, Ruby - эти два языка более близки к PHP, чем JS.
    Или вы за год стали адептом скорости, и не видите большей радости в жизни чем оптимизация и быстрото рендеренга. Ну тогда вам точно понравятся GO и Rust.
    А может быть Dart к тому временем станет мейн стримом, это уже покажет время.

    Что-бы вы не выбрали, это будет хорошим решением.

    Шаг восьмой
    Как говорится, я просто оставлю это здесь. Сейчас нет смысла объяснять, что это, зачем оно и с чем его едет, вы просто взглянете через год на этот список и все поймете.

    CSS:
    * Sass / Less / Stylus

    JS:
    * CoffeeScript / LiveScript / TypeScript
    * Angular
    * Promise

    NodeJS:
    * NPM
    * Express

    Ускорение работы:
    * Gulp
    * Jade
    * Yo

    Остальное:
    * MongoDB
    * MariaDB
    * RabbitMQ

    Шаг 7 и 8 займут у вас всю жизнь
    Это не в коем случае не значит, что язык будет тем же, просто Язык / Технолигия будут заменяться на другую, а смысл будет тем же. Будут новые технологии, будут новые подходы, новые языки. Будет интересно и весело.
    Ответ написан
    15 комментариев
  • Стоит ли создавать интернет-магазин для портфолио на чистом PHP?

    @Afatar
    Конечно делай. Если есть время и тебе лет 13-15, то это отличный способ набить шишки и прокачать свой скилл. Обычно так и становятся программистами. С начало пишешь говно, потом читаешь про MVC, переписываешь, получается MVC говно, потом узнаешь про фреймворки и пишешь говно на фрейворке. Потом идешь в крутую контору и из тебя год выбивают все говно и после этого становишься специалистом.
    Ответ написан
    1 комментарий
  • Стоит ли создавать интернет-магазин для портфолио на чистом PHP?

    opium
    @opium
    Просто люблю качественно работать
    Всегда есть смысл что то делать для портфолио.
    Ответ написан
    Комментировать
  • Стоит ли создавать интернет-магазин для портфолио на чистом PHP?

    Stalker_RED
    @Stalker_RED
    С точки зрения фриланса, лучше взять готовый известный продукт, типа opencart. Может быть пару модулей к нему написать. Во фрилансе большинство заказчиков хочет "быстро, дешево и с хорошей поддержкой". Завтра вы уйдете в другой проект, и кто будет разбираться в вашем коде?

    А при устройстве на работу - работа бывает разная. Большинство хотят чтобы вы знали хотя-бы один крупный фреймворк - типа zend, symfony, yii, lavarel. Знаете один - сможете в приемлемое время разобраться и с другим. А конкретную CMS хотят в основном те, у кого уже есть ряд продуктов на этой CMS.
    Ответ написан
    Комментировать
  • Почему не работает onchange?

    miraage
    @miraage
    Старый прогер
    Изи же...

    <label contenteditable oninput="console.log(123456)">pewbar</label>
    Ответ написан
    Комментировать
  • Как правильно построить регулярное выражение?

    rusbaron
    @rusbaron
    Не стыдно не знать, стыдно не интересоваться
    str.match(/([A-Za-z])*\w+/g)

    и чем вам split не подошёл то?
    Ответ написан
    Комментировать