• Как вы планировали своё учебное время?

    mistik_max
    @mistik_max
    Копирайтер, йог и созидательный инвестор))
    Как по мне самый идеальный вариант - это изучить основы и сразу пробовать самому делать проект какой либо, и уже в процессе практики черпать дополнительные знания...
    Ответ написан
    Комментировать
  • Насколько серьзно требование хостить сайт .by в Белорусии?

    Zifix
    @Zifix
    Barbatum
    KGB приедет и покарает.

    Если серьезно, то некоммерческим сайтам не относящимся к юрлицам вроде как ничего не грозит.

    Юрлицам и ИП — штраф до 30 базовых величин.
    Ответ написан
    5 комментариев
  • Из QA в Junior developer?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    "Мой опыт в IT - 1 год."
    "Вопрос в том: как глубоко еще копать, чтобы вступить на дорогу разработчика Java? Что сесть учить? Spring?"

    Вы работаете уже целый год. Неужели во всем вашем проекте есть только тестировщики? А кто код пишет? Пообщайтесь с вашими коллегами - вполне возможно, что можно просто стать джуниор разработчиком прямо в вашем проекте, что для вас (как человеку, знакомым с продуктом), будет проще.
    Попросите опытных коллег провести с вами несколько собеседований, чтобы выяснить дыры в знаниях.
    Попросите их проводить собеседования раз в 2-3 месяца, и активно занимайтесь, чтобы эти дыры устранить.
    Возможно кто-то из коллег имеет в качестве хобби open-source проект. Попросите в обмен на кураторство, выполнить какие-то задачи в этом проекте.
    В общем при умении пользоваться поиском, ответов в инете более чем достаточно. Главное правильно формулировать вопросы.
    Ответ написан
    2 комментария
  • Что лучше JOIN или использование нескольких таблиц в запросе?

    Melkij
    @Melkij
    PostgreSQL DBA
    mysql> explain select test6.i from test6, test9 where test6.i=test9.i;
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+
    | id | select_type | table | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra                                              |
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+
    |  1 | SIMPLE      | test6 | NULL       | ALL  | NULL          | NULL | NULL    | NULL |    2 |   100.00 | NULL                                               |
    |  1 | SIMPLE      | test9 | NULL       | ALL  | NULL          | NULL | NULL    | NULL |    4 |    25.00 | Using where; Using join buffer (Block Nested Loop) |
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+
    2 rows in set, 1 warning (0,00 sec)
    
    mysql> show warnings;
    +-------+------+-----------------------------------------------------------------------------------------------------------------------------------------+
    | Level | Code | Message                                                                                                                                 |
    +-------+------+-----------------------------------------------------------------------------------------------------------------------------------------+
    | Note  | 1003 | /* select#1 */ select `test`.`test6`.`i` AS `i` from `test`.`test6` join `test`.`test9` where (`test`.`test9`.`i` = `test`.`test6`.`i`) |
    +-------+------+-----------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0,00 sec)
    
    mysql> explain select test6.i from test6 join test9 on test6.i=test9.i;
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+
    | id | select_type | table | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra                                              |
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+
    |  1 | SIMPLE      | test6 | NULL       | ALL  | NULL          | NULL | NULL    | NULL |    2 |   100.00 | NULL                                               |
    |  1 | SIMPLE      | test9 | NULL       | ALL  | NULL          | NULL | NULL    | NULL |    4 |    25.00 | Using where; Using join buffer (Block Nested Loop) |
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------------------------------------------+
    2 rows in set, 1 warning (0,00 sec)
    
    mysql> show warnings;
    +-------+------+-----------------------------------------------------------------------------------------------------------------------------------------+
    | Level | Code | Message                                                                                                                                 |
    +-------+------+-----------------------------------------------------------------------------------------------------------------------------------------+
    | Note  | 1003 | /* select#1 */ select `test`.`test6`.`i` AS `i` from `test`.`test6` join `test`.`test9` where (`test`.`test9`.`i` = `test`.`test6`.`i`) |
    +-------+------+-----------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0,00 sec)

    Как можно заметить, оба стиля переписаны в одно и то же представление.

    Имеет смысл использовать join on по соображениям читаемости человеком, т.к. такой join сразу говорит, по каким полям связаны таблицы, а where органично остаётся для фильтрации.
    Плюс, в случае как у вас со связью по паре одноимённых полей можно написать
    SELECT maker, price FROM Product JOIN PC USING(model)

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Изучение английского для общение и изучение грамматики по учебникам - совершенно разные вещи.
    ВСЕ люди свой родной язык изучают без всякой грамматики (сперва язык, затем грамматику), потому что воспринимать речь на слух в быстром темпе и грамматика - не особо связано друг с другом.

    Вывод - любой сервис, типа linguleo для увеличения словарного запаса, и любые возможности общения, желательно с носителями языка.
    Ответ написан
    Комментировать
  • Чем осуществить парсер/граббер защищенного сайта?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Ну если человек сидит с одного IP и его не банят, значит надо сделать так, как будто по сайту ходит "человек".

    Для этого предлагаю вспомнить общеизвестную задачу "банерокрутилку". Имеется N банеров. Их надо прокрутить каждый по 1 разу и за K секунд.

    В вашем случае в качестве банеров выступают URL-ы. K секунд делим на Т url-ов и получаем время на каждую ссылку. Но. Чтобы внести не детерменированность, то делаем это с разными промежутками времени перед между очередной итерацией парсинга.

    Посмотрите внимательно на вывод:
    site.ru/?page1
    site.ru/?page2
    ...
    site.ru/?pageN .

    Видите?

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

    Как правило люди пишут "влоб" потому что головою думать не хотят!

    Надо сделать "прогулку" по сайту так: site.ru/?page15, site.ru/?page179, site.ru/?page1, ... Одну страничку за 5 сек посмотрели, а другую 1минуту и т.д. Понаблюдайте за собою, как вы ходите по сайтам? Вы разве за 1-2 сек успеваете прочесть статью? Уверяю вас вы хаотично бродите по сайту. То в личные сообщения, то в избранные, то в поиск заглянете, то из выдачи поиска по какой-то статье. Вот и в парсинг вносите хаотичность

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Поработаете - привыкните.

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

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    cms править зае****ся. нужно делать на фреймворке.
    Ответ написан
    2 комментария
  • Как в sql запросе ограничить выборку по определенному полю?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    SELECT * FROM books WHERE author_id=1 or author_id=3
    UNION (SELECT * FROM books WHERE author_id=2 LIMIT 2)
    Ответ написан
    5 комментариев
  • Как и где найти разработчика php/MySQL/Wordpress?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Я бы с вами тоже дел не имел:
    Одни ваши "Работы примерно на 2 недели", "шаблон как раз грамотно сделан, много продаж" - ну не шарите вы - к чему вы начинаете оценивать? Визажиста работа тоже простая - накрутил, побрызгал лаком и готово. Делов то...

    "Я общалась с иностранными разработчиками" - ну и какие проблемы плюнуть на "школоту" и пойти на запад?

    Я подозреваю что вы хотите все и еще гору тележек за минимальные средства. А на запад идти - придется нехило так бюджет потратить.
    Ответ написан
    Комментировать
  • Как скрывать элемент конкретно в одном блоке?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    А не проще через CSS скрыть? Зум внутри блока?

    .caption .zoom { display: block; }
    .caption:hover .zoom { display: none; }
    Ответ написан
    1 комментарий
  • Этично ли при работе над проектом избавляться от посредников?

    Andrey_Pletenev
    @Andrey_Pletenev
    Pletenev.com
    Не буду касаться целесообразности вашего решения. Об этом уже много написали.
    Что касается этики, мое мнение следующее:
    Ваше поведение НЕ является неэтичным, поскольку:
    1) Вы не нарушили своих обязательств перед студией в рамках заказа, который выполняли для нее.
    2) Уход от них к вам клиента произошел не по вашей инициативе, а по инициативе клиента и из-за ошибки студии в договоренности с клиентами.
    3) На вопрос студии вы ответили честно и не стали их обманывать.
    Ответ написан
    Комментировать
  • Как при работе единственным веб-мастером-на-все-руки в компании максимально эффективно прогрессировать в веб-разработке?

    @polifill
    Мастер на все руки - это круто и полезно для расширения кругозора.
    Хорошо для некого обзора-старта в ИТ.
    Но не более.

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

    Увольняйтесь.

    Идите в большую контору.
    Сразу договоритесь - что вы там не будете фулстеком.

    Если вам интересны разные направления - то поспециализируйтесь на одном, потом на другом.

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

    @zhainar
    Гуглю за вас
    Был таким же, но потом понял что в такой организации одному развиваться невозможно.
    Ответ написан
    Комментировать
  • Этично ли при работе над проектом избавляться от посредников?

    riky
    @riky
    Laravel
    ничего особенного не произошло (этично/не этично это фигня), просто вы работаете без договора и это не было прописано.

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

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

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    когда каталы играют друг с другом, и кого-то палят, они не бьют друг другу морды / не режут, просто пишут штраф/проигрыш сдачи/игры

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

    если же спалили но не увоили, а "угоржают", то студия считает, что лучше иметь 50% в хорошем гешефете, чем 100% в пропащем. Пользуйся.
    Ответ написан
    Комментировать
  • Jquery, как получить доступ к элементу?

    bootd
    @bootd Куратор тега HTML
    Гугли и ты откроешь врата знаний!
    api.jquery.com/jquery.parsejson Не поможет?
    Ответ написан
    Комментировать
  • Почему при создании интернет-магазинов не используеться AngularJS?

    AMar4enko
    @AMar4enko
    Потому что интернет-магазины без SEO никуда, а для полноценной SEO-оптимизации нужно, чтобы страница возвращалась наполненной сразу с сервера. Все истории о том, что Google умеет выполнять JS на странице это разговоры в пользу бедных - уметь он умеет, вот только как конкретно он это делает никто не знает и в плане SEO полагаться на слепую удачу никто не будет, потому что это деньги.
    Сделать рендеринг Angular 1.x приложения на сервере возможно, но это огромный костыль, надежность которого оставляет желать лучшего.
    Поэтому все и делают по-старинке. Само собой, Ангуляр можно использовать в каких-то частях магазина, например в корзине или админке, плюс для добавления каких-то интерактивностей на статику с сервера.
    Если все-таки хотите Angular, то тогда вам нужна версия 2. Но сразу оговорюсь - Angular Universal (проект для серверного рендеринга) не является официальной частью Ng2, во всяком случае пока.
    Вам понадобятся навыки в NodeJS и Express плюс немного изобретательности.
    Ответ написан
    1 комментарий
  • Что делать, если воруют контент?

    @polifill
    Самый жесткий вариант - засвидетельствовать у нотариуса.
    И в суд.
    Сайт вора - забанят. Все его усилия по раскрутке - сливаются.

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

    Внесудебный вариант:
    Регистрация уникального контента в поисковике. У Яндекса есть для этого специальный раздел
    https://webmaster.yandex.ru/site/index-setup/origi...
    https://yandex.ru/support/webmaster/authored-texts...
    Ответ написан
    13 комментариев