• ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO): что делать?

    @lexadef
    Это может быть, если пароль не был задан при установке.

    Порядок действий для установки/смены пароля root в mysql следующий:

    1. Остановить mysql:
    sudo service mysql stop

    2. Запустить сервис со следующими параметрами:
    sudo mysqld --skip-grant-tables --user=root

    Если выдал ошибку то в файле /etc/mysql/mysql.conf.d/mysqld.cnf в секцию [mysqld] добавить строчкуskip-grant-tables и выполнить sudo service mysql restart

    3. После этого подключиться к mysql командой:
    mysql -u root

    4. Обновить пароль root'a:
    UPDATE mysql.user SET authentication_string=PASSWORD('<новый пароль>'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';    
    FLUSH PRIVILEGES;


    5. И перезапустить сервис:
    sudo service mysql restart
    Если на шаге 2 вы добавляли skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf - удалить эту строчку.


    Подробнее в Русскоязычной документации Ubuntu
    Ответ написан
    3 комментария
  • Плагин Carbon Fields .Как вывести image?

    @Padavan_web Автор вопроса
    Кому интересно.Решение такое
    <?php 
    $thumbnail_id = carbon_get_theme_option('photo', 'image'); // получим ID картинки из опции темы
    $thumbnail_url = wp_get_attachment_image_url( $thumbnail_id, 'full' );  // ссылка на полный размер картинки по ID вложения
    ?>

    <img src="<?php echo $thumbnail_url; ?>" alt="" /> / выводим картинку в index.php


    Замечаниям и дополнениям буду рад! Всем успехов!
    Ответ написан
    1 комментарий
  • Как реализовать парсинг бухгалтерского баланса и отчета о финансовых результатах, если они в виде фотографии?

    PeterLS
    @PeterLS
    Руководитель веб-студии
    Есть сайты, в которых можно за определенную плату распознавать изображения. У некоторых есть подобие API.
    К примеру, сайты antigate.com, captchabot.com, anti-captcha.net, wisetrend.com. (Последние 2 ссылки, там кажется можно протестировать бесплатно)
    Можно еще использовать GOCR jocr.sourceforge.net
    И вызвать ее из PHP:
    $output = shell_exec('/usr/local/bin/gocr -i ' . escapeshellarg($image_file));

    А дальше - чисто вопрос программистских навыков. Все это дело проверить регулярными выражениями, разбить в определенную структуру и записать в БД.
    Ответ написан
    Комментировать
  • Visual Studio Code. Деплой папки на хост?

    Vampireos
    @Vampireos
    https://vk.com/axelaredz
    Лучше научиться деплою с github, bitbucket или др на хостинг,

    тобишь понадобится пак расширений Git Extension Pack
    репо на любимой гит площадке и например онлайн сервис deployhq.com.
    Чтобы когда в VS code сохраняете, коммитте и пушите, сервис загружал изменения на хостинг.
    Ответ написан
    Комментировать
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Во первых: совершенству нет предела.
    Во вторых: невозможно объять необъятное и впихнуть невпихуемое.
    В третьих: как ты не крутись, а технологии развиваются быстрее, поэтому отставание неминуемо, как следствие приходится всегда чем-то жертвовать ради чего-то более важного.

    Итого: заказчика не интересуют твои философские страдания. Его интересует как быстро, качественно и за какие деньги ты решишь его проблемы. Решаешь за разумное время, адекватный ценник и с удовлетворительным качеством - не важно как ты себя именуешь, спрос на тебя будет.

    Джуниористость/синьористость конкретного разработчика - штука весьма условно субъективная. На собственном опыте скажу, что одно дело, когда ты первый и единственный парень на деревне - ты почти что бог, потом с той же головой, теми же руками, опытом и знаниями оказываешься в среде подобных себе, разной степени синьористости божков, и, внезапно, ты сырой джун но с очень хорошим потенциалом.

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

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

    Меня на программирование пропёрло весьма рано, лет в 14-15. Я ощущал собственное безграничное могущество, послушная железяка выполняла любое моё повеление, любой мой каприз, при условии, что он правильно сформулирован. Если железка не делала что нужно, или делала что не нужно, то это всегда была моя вина, это значило что я прокосячился. Подобное осознание настигло меня весьма скоропалительно, после чего мозг начал усиленно дисциплинироваться, и количество лютых фейлов пошло на убыль.

    Коммерческая разработка - это, примерно, от 70% времени/сил на дебаг и фиксы, потому что мало где процессы поставлены грамотно. По хорошему до сего дня (а мне под 40) я только одну команду видел, где процессы прям вообще очень хорошо поставлены и мне посчастливилось какое-то время с ними поработать. За эти несколько месяцев я подрос на целую голову. Самостоятельно достичь сходных результатов было бы весьма затруднительно.

    Сам я сменил стек совсем недавно, начал в конце 15 года, и процесс продолжается до сих пор. Сменил я по одной простой причине - во всех моих прежних проектах большая часть логики с бэка уехала на фронт, и прекраснейший jQuery перестал справляться чуть более чем полностью. Он, по прежнему, хорош, но задачи, которые приходится решать, требуют совершенно других подходов. Для себя я выбрал React, но в целом на рынке имеются альтернативы. По моим данным очень большим спросом пользуется Angular 2+.

    Когда говорят о фронтенд разработке, постоянно говорят о технологиях, стеке, но почти никто не упоминает, что не стеком единым... Существенная часть разработки - это, для начала, понять задачу и построить у себя в голове модель. Заказчики бывают разные, от очень толковых, до очень безтолковых. Соотношение первых ко вторым примерно 1% и всё остальное... Т.е. в большинстве случаев тебе скажут минимум, своеобразно, плюс ты это поймёшь по своему. Потом, по ходу пьесы, в самые неподходящие моменты, начнут всплывать подробности, которые: забыли упомянуть; ну это же очевидно, ты же профи; мы сами не знали, это только выяснилось; ну это же мелочи, мы думаем тебе это будет не сложно; а ты не спрашивал; и т.п....

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

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

    Если ты попадешь в команду, где люди будут понимающие, квалифицированные, процессы выстроены, а джуну задачи будут сгружать джунские, то, считай, тебе крупно повезло. Шансов на это примерно 1%. Особенно учитывая, что джуны это обычно студенты лет в районе 20...

    Когда я менял стек, то я тоже был какое-то время 35-летним джуном. С этим ничего не поделать, потому что, внезапно, стек это не просто так, и имеется масса нюансов, которые с наскоку не освоишь. Чтобы все пощупать, попробовать на зубок, понять и осознать требуется время и усилия, иногда много времени и много усилий. Да, весь прежний багаж служит опорой и поддержкой, и там, где настоящий джун будет копаться недели, ты за пару часов по аналогии поймаешь идею и двинешь дальше. Но эти пару часов никто не отменял, а идей которые нужно отловить сотни, если не тысячи...

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

    Даже если тебе попадается практически идеальный проект, внезапно оказывается, что твоя оперативная память это 5-7+-2 объекта, а удерживать в голове одновременно нужно сотни...

    Зачем я все это рассказываю? Затем, что это реальность, которая для джунов не делает исключений.

    Термин "фигак-фигак и в продакшен" встречается повсеместно, т.к. ресурсы (деньги, время, кадры) практически всегда весьма жестко ограничены и ничего ты с этим не поделаешь.

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

    С другой стороны сейчас предпочитают фронта, который еще и неплохо верстает. Слава флексбоксам и современным браузерам, сейчас это делать намного проще, чем годы назад.

    Теперь относительно того что делать - если в бэкграунде нет сильных скиллов по алгоритмике и структурам данных (олимпиады по программированию, универский курс информатики), то прям очень сильно рекомендую прокачать. Будучи наставником на нескольких курсах фронтенда я постоянно встречают студентов, которые "вроде бы" знают язык, но затрудняются скомпоновать пару циклов с условиями, вот буквально просто виснут на неопределенное время, причем без результата. Лично я рекомендую кодварс. Своих студентов я прокачиваю именно там. Достаточно прорешать 30-40 задачек, чтобы базовые скиллы ушли на уровень рефлексов и перестали парить мозг. Правда желательно решать это все с наставником.

    Косвенный бонус тут будет в том, что ты привыкнешь решать задачи на JavaScript. Я когда менял стек, поначалу мыслил на PHP, и подобный финт на кодварс позволил мне переформатировать мышление на JS. Вот мой профиль на кодварс как пруф: https://www.codewars.com/users/iCoderXXI

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

    Понять надо настолько глубоко, чтобы легко и просто, с юморком, рассказывать это любой первой встречной бабушке, да так, чтобы та всё поняла... Это вот прям залог успеха в JS, потому что все остальное держится на этих двух китах. В ютубе имеется курс Зоракса (Zorax) и JavaScript Weird Parts, оба про то же самое, первый на русском, второй на инглише. Кантор, безусловно, крут, но эти двое объясняют попроще и понятнее (имхо).

    После этого прокачиваемся в использовании встроенных методов JS, таких как map, reduce, includes, replace и пр. (на том же кодварс)

    После этого нужно прокачаться в ES6+, стрелочные функции, let/const, деструктурирование, рест оператор, классы, промисы, генераторы, async/await, декораторы - без этих продвинутых штук в современных фреймворках ловить нечего.

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

    Потом уже заостряемся на API форм, DOM, AJAX (fetch/axios), вебсокетах, Localstorage и пр.

    И вот только теперь можно переключаться на фреймворки. Проще всего освоить Vue (по слухам), наибольшим спросом пользуются React и Angular, для общего развития так же неплохо бы немного послушать про Ember.JS.

    React только на первый взгляд выглядит простым, на самом деле это только view-библиотека, а в любом нормальном SPA есть много чего еще кроме view, поэтому React всегда идет в компании Redux, Router, и еще целой толпы всего, что тоже придется осваивать, не только с точки зрения API, но и с точки зрения философии (а нахрена оно вообще сдалось?)

    Перед походами на собесы очень желательно иметь портфолио из нескольких готовых проектов, вылизанных стилистически.

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

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

    Еще вроде большие компании вроде Яндекса устраивают летнее обучение, с последующим трудоустройством лучших кандидатов, но это не точно.

    Оптимистичный прогноз - 6-12 месяцев плотного фигачинга и ты в тренде.
    Ответ написан
    7 комментариев
  • Что читать после learn.javascript.ru?

    bondpuoq
    @bondpuoq
    Web-программист с недавних пор
    Не туда ответил сначала,
    Имхо, базовые знания языка важны, хотя бы просто потому, что когда прочитаешь книгу - узнаешь некоторые особенности языка, вообще что он может, какие есть функции, ну а дальше практика, как тут уже писали.
    Большую часть вещей лично я научился делать, когда мы с коллегами решили взяться за сторонний проект, вот тогда я узнал и про git и про трекеры задач, про bootstrap, улучшил знания языка (в моем случае это C#).

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

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

    Когда я сталкиваюсь с тем, что надо что-то на JS писать, чего я не знаю, я беру справочник по JS и смотрю как там это реализуется, ну вот в таком например "JavaScript: Подробное руководство" Дэвид Флэнаган. Лично для меня, читать чужой код - мучение, поэтому мне не подходит обучаться через чтение чужого кода.
    Ответ написан
    Комментировать
  • В чем отличие между git push -u origin master и git push origin master? Зачем ключ -u для команды git push?

    EXL
    @EXL
    Энтузиаст
    В том случае, если ветка master (или branch_name) не является отслеживаемой веткой origin/master (или origin/branch_name), а вы хотите сделать её таковой.

    Выполнив команду git push -u origin master вы устанавливаете связь между той веткой, в которой вы находитесь и веткой master на удалённом сервере. Команду требуется выполнить единожды, чтобы потом можно было отправлять/принимать изменения лишь выполняя git push из ветки без указания всяких алиасов для сервера и удалённых веток. Это сделано для удобства.
    Ответ написан
    2 комментария
  • Как правильно организовать обработку ошибок на PHP?

    shaks
    @shaks
    Ошибки в лог надо писать все

    Вот простой быдлокодинг логирования ошибок. В лог попадает абсолютно всё, даже "засобаченное".
    error_reporting(E_ALL);
    ini_set('display_errors',0);
    ini_set('log_errors',1);
    set_error_handler("errorsLog");
    
    function errorsLog($errno, $errmsg, $file, $line)
    {
        $fp=fopen('log.txt', 'a+');
        fwrite($fp, "errno: $errno\ntext: $errmsg\nfile: $file\nline: $line\n (".date("r").") \n===========================================\n\n");
        fclose($fp);
    }


    Самому туда посылать ошибки можно функцией trigger_error()
    Ответ написан
    Комментировать
  • Как учиться новому после рабочего дня?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    1. 9 часов. Это уже ошибка. КЗОТ писали не дурни. 8 часов достаточно для работы, если человек не чаи пьет
    2. Пересмотрите процесс работы. По приходу на работу сначала делать самые важные. Прошу прочесть внимательно: сначала важные, а только потом срочные и другие. Отличие важных от срочных в том, что одни, как правило, делаются разово и про них забываются, а другие хоть и не срочные, но они влияют стратегически.
    3. Уделяйте время на то, чтобы подумать над "светлым будущим", т.е. создать\актуализировать список страгеческих целей и задач
    4. Делайте утром зарядку. Растяжку, отжимания, приседания. Это влияет на энергетику в организме
    5. Делайте перерывы во время работы.
    6. Чаще пейте воду
    7. Займитесь спортом. На своей шкуре опробовал и четко знаю то, что до занятия плаванием делал меньше, чем сейчас
    8. Окружите себя теми, кто куда-то стремится. Это не значит что надо всех других послать в Южную Америку на оз. Нахой. Это значит, что надо чаще общаться с одним типом людей и меньше с другим
    9. Стремитесь работать на результат, а не подсчет "жопочасов". В дальнейшем ставьте работодателю на собеседовании вопрос "Вам нужны жопо-часы или результаты?". Старайтесь выявить жмотов. Если вы вдруг справились не за 5, а за 4 часа, а работодатель жмотится и боится выделить время на самообучение сотрудника, хотя эти же знания будут применены при решении рабочих задач, то уходите от такого работодателя!

    Не смотря на то, что возникает соблазн прочесть еще одну главу в книге или что-то попрограммировать в ущерб занятиям спортом не стоит этого делать! Спорт обогащает энергетикой! При нём много чего развивается. К примеру из физических качеств развиваются выносливость и мышцы, а среди психологических стрессоустойчивость и упорство.

    После работы лучше тупить. Мозг должен "отдыхать". То есть заниматься структуризацией, обработкой того, что произошло за день.

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

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

    Через год начинайте ходить на собеседования. Вас пугают требования в описании вакансии? Когда я читаю требования на работе, где сейчас тружусь, то задаюсь вопросом "кто этот бред писал? и на хрена нам вот это все что там написано?". А все потому что пишут тексты HRы со слов "кого-то из отдела", сказанных несколько лет назад.
    В реальности по моим наблюдениям можем отказать довольно сильному разработчику потому что просто в данный момент вакансия не горит, а иногда, когда отдел завален работой, берем вполне себе средних, просто потому что срочно нужен. Аналогичная ситуация была и на предыдущей работе. Поэтому лично мое мнение - чтобы устроиться на работу надо обладать не только и не столько перечисленными в вакансии навыками, а скорее откликнуться в удачное время :) Ну и что-то знать конечно.

    И самое главное: два-три месяца работы в компании с более высоким уровнем разработки, чем у вас в данный момент, дадут вам больше, чем год бессонных ночей после работы. Поэтому не стоит пытаться сначала дорасти до определенного уровня, а потом устраиваться. Скорее всего не дорастете, только время потеряете. Изучайте базу и в бой!
    Ответ написан
    7 комментариев
  • Существует ли литература по вирусоведению?

    @Espleth
    Вы никогда не сможете быть на 100% уверены в чистоте своей системы, даже если вы только что форматнули хард и поставили на него лицензионную винду.
    Антивирус - вообще штука сомнительная. Голова на плечах куда полезнее будет. А без нее, как вы сами понимаете, и антивирус не поможет.
    Соблюдая элементарные правила безопасности можно обезопасить себя с довольно высокой вероятностью и без антивируса, а именно: сомнительные файлы не открывать, сомнительные флешки не втыкать, сомнительные сайты не посещать. В общих чертах это все.
    Я, например, уже давно сижу без антивируса и с отключенным файрволом. Изредка из любопытства проверяю комп утилитами типа Dr. Web CureIt, но они как правило ничего не находят.
    Ответ написан
    Комментировать
  • Полезен ли свой блог веб-разработчику?

    begemot_sun
    @begemot_sun
    Программист в душе.
    В некотором роде плюсом является. Например при приеме на работу, в блоге можно посмотреть с чем человек сталкивался и какие его решения были для преодоления трудностей. Как минимум блогер становится меньше "черной лошадкой", но больше "я знаю что этот человек может выполнить мою задачу".
    Например, @afiskon ведет eax.me -- как минимум у него спросите.
    Ответ написан
    Комментировать
  • Как продвинуть сайт-портфолио веб-дизайнера?

    Совместить его с блогом, публиковать текущий workflow - описывать задачи с которыми вы сталкиваетесь в повседневной жизни и как вы их решаете. Грубо говоря завести такой себе "онлайн дневник", и дать возможность обсуждать вашу деятельность. Пользователи сами заведуться, так как одна задача в одной голове, в один и тот же момент времени не решается...

    Для вас это бессплатный источник мотивации и критики.
    Для заказчиков - отличный способ оценить вашу работу, а также отследить тенденции личного развития, составить представление об общей перспективе сотрудничества.
    Ответ написан
    2 комментария