Задать вопрос
  • Как убрать конкретный сайт из своей выдачи Google?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Нужно добавить к поисковой фразе: -site:domain.ltd
    где domain.ltd - домен, который нужно исключить из поиска.
    Ответ написан
    2 комментария
  • Как к дате добавить один год и вычесть день?

    qonand
    @qonand
    Software Engineer
    $newDate = date_create_from_format('Y-m-d', $date);
    $newDate->modify('+1 YEAR -1 DAY');
    echo $newDate->format('d.m.Y');
    Ответ написан
    1 комментарий
  • Что за шум вокруг темы, что программисты скоро не нужны?

    kumaxim
    @kumaxim
    Web-программист
    Я согласен с вышеупомянутыми личностями, но лишь отчасти. На мой взгляд, часть людей, которые пришли в сферу за легкими деньгами действительно уйдут/потеряются/вымрут, но это произойдет не потому что программисты больше станут не нужны, а потому что сфера изменится. Трансформируется окружающая среда, которая будет требовать не программистов, а, предположим, аналитиков, которые теперь будут не писать код на C++/JAVA/PHP и т.п., а составлять описание бизнес-процессов для генератора алгоритмов, который сам будет уже делать нужный код.

    Программист - это не человек, который по 6-8-12 часов в сутки набирает код. Программист - это человек, способный посмотреть на проблемы/задачи/процессы под другим углом, чтобы найти более рациональное решение. Я думаю, что ребята, которые чисто набирают код, действительно, в обозримом будущем могут стать ненужными, однако, чтобы светлый ум стал ненужен... Лично я себе такой ситуации представить не могу.

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

    Jump
    @Jump
    Системный администратор со стажем.
    Больше всего интересно с чего оно вообще начало прогрессировать?
    С высказываний не очень умных людей вроде Грефа и ему подобных.

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

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    программисты не будут скоро восстребованы.

    Когда мне было 16, я начинал только программировать, меня волновал тот же самый вопрос. Вот даже тему создавал на форуме www.cyberforum.ru/job/thread127123.html (сильно не читайте, мне стыдно за свои сообщения того времени =) ) Это было 7 лет назад, за это время особо ничего не изменилось, поэтому думаю через еще 7 лет будет все нормально.
    Работы для программиста море, а работники нормальные как правило отсутствуют. Понятное дело, что программирование стало "мейнстримом", делать сайты идут все кому не лень, т.к. везде кричат "Программирование сделает вас богатыми! Всего за месяц вы научитесь создавать сайты за деньги!", благо майнинг переманивает людей, желающих легких денег (не в обиду профессиональным майнерам). Но скажу точно, если вы прочитали хоть одну книжку по своему языку программирования, можете писать без использования jQuery и Boostrap (не в обиду этим технологиям, просто часто вижу, что люди учат не JS/CSS, а jQuery/Boostrap), умеете ставить правильные сроки, сможете написать игру "змейка" - то вы уже лучше 90% программистов, а то и больше.
    будут такие инструменты

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

    Так будет с большинством профессий, даже со специалистами по машинному обучению. Но надо понимать, что это случится еще не скоро, лет 10 у вас есть, а там сделают безусловных доход в развитых странах, а в менее развитых, сделают закон, требующий чтобы более 50% сотрудников были не ИИ :-)
    Скажу точно, если вам программирование не очень нравится, то советую уйти в другую профессию, т.к. без любви к этой профессии будет сложно часами сидеть и учить материал (когда тебя не заставляют). Деньги легкие вы тут тоже не сделаете.
    Ответ написан
    10 комментариев
  • Изучение и продвижение в PHP?

    @xCyber
    Ответ написан
    Комментировать
  • Правда ли что программистам навязывают определенные мысли?

    opium
    @opium
    Просто люблю качественно работать
    Что вы вообще курите чтобы такое придумать то. Это реально выдумывают только молодые разрабы, работодателям такой бред не нужен
    Ответ написан
    Комментировать
  • Известны ли вам примеры ситуаций, когда разработчики сделали open source проект и пожалели об этом?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    Фишка опенсорса в том что этим очень сложно "запороть" проект...
    Сложный проект это не только код, но и команда, инфраструктура, узнаваемое имя.
    Если угнать например исходники фейсбука, то хоть ус*ись но неполучится сделать в обозримое время клон фейсбука...проще будет его с нуля написать
    ==
    И если вдруг действительно конкурент сможет сделать на базе вашего кода точно такойже более успешный сервис, это будет лишь показателем того что ваш продукт бы умер в любом случае...но разница в том что о нём бы никто не узнал
    Ответ написан
    8 комментариев
  • Разговаривал по телефону, через пару дней вижу рекламу Вконтакте про то о чем говорил, Как так?

    vicodin
    @vicodin
    Имею некоторый опыт
    Может потому что ваш друг является также и вашим другом Вконтакте, и искал через поиск по вк автошколы, а реклама как нибудь настроена на показ и друзьям искавшего?
    Ответ написан
    1 комментарий
  • Используете ли вы видеозвонки при работе с зарубежными заказчиками?

    kawabanga
    @kawabanga
    В видеозвонках только один минус - ваш рабочий кабинет)
    Ответ написан
    Комментировать
  • Стоит ли новичку начинать с фреймворка или лучше учиться на чистом php?

    @vodniciarv
    Пиши свои штуки на чистом PHP на процедуральном стиле.
    Потом изучай ООП и начни что-то сделать своё но уже на ООП.
    Потом изучай MVC и уже переходи к фреймворкам.
    Ответ написан
    32 комментария
  • Сколько нужно знать слов, чтобы начать учиться только на английском?

    search
    @search
    мама говорит что я особенный
    10800 по результатам вашего теста. Начал 3 года назад тоже с примерно 3500. Вот, на мой взгляд, лучшая методология изучения языка www.antimoon.com/how/howtolearn.htm

    Немного лайфхаков:
    * гуглите только на английском
    * любой контент смотреть/читать/слушать только на английском. Первые 2 года будет сложно, но оно того стоит

    Вот ради чего стоит напрячься:
    * контент, который доходит до нас в переведенном виде - это процентов 10 от существующего контента. Знание языка даёт доступ к остальным 90%. Это очень много полезной информации. Причём в любой области. Какое бы у вас не было хобби, оно сильно обогатится, если выучить язык
    * если вы программист, то автоматически зарабатываете в 2-3 раза больше соотечественников, работая на буржуев
    * вам открывается доступ к американской/английской стендап комедии, она весёлая и почти не поддаётся переводу
    Ответ написан
    Комментировать
  • Как объяснить рядовому клиенту, что сайт, сделанный руками, а не на шаблоне, для него будет лучшим выбором?

    VasyaPertrov
    @VasyaPertrov
    Изготовление и безопастность сайтов. WP и др.
    проект, созданный командой разработчиков (UX-дизайнер, верстальщик, программист и т.д.) будет заведомо лучшим выбором, нежели, чем тот, который собран на коленках школьником вечером после уроков быстро/сердито/дешево?

    1. С чего ты взял что твой "проект" будет лучше шаблонов, сделанных специалистками и проверенными-перепроверенными ещё сотней-тысячью других? ЧСВ зашкаливает?

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

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

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

    @lubezniy
    А Ваша ли это целевая аудитория? Если у сайта будет посещаемость 10 человек в день, зачем заказчику оплачивать дорогой труд множества специалистов, когда такой сайт на коленке легко построит студент? Большие затраты на такие сайты просто не окупятся. Вот когда клиент поймёт, что "перерос" такие сайты, тогда уже ему и нужны будут подобные предложения. И, исходя из этого, и нужно ориентировать рекламу, ответы на вопросы и т. п. (слоганы вроде "задолбался - иди к нам будем долбаться вместе).
    Ответ написан
    Комментировать
  • Как генерировать динамическое количество компонентов в React?

    Сделайте компонент ItemsList и Item:

    class Item extends React.PureComponent {
      render() {
        const { name, color } = this.props
    
        return (
          <li>
             <b>{name} ({color})</b>
          </li>
        )
      }
    }
    
    
    class ItemsList extends React.PureComponent {
      render() {
        const { items } = this.props
    
        return (
          <ul>
            {items.map(item => (
              <Item key={item.id} {...item} />
            )}
          </ul>
        )
      }
    }


    Тут обратите внимание на свойство key - оно необходимо, когда у вас используются динамические children.
    Ответ написан
    Комментировать
  • Какой слайдер лучше?

    @pirojok_yoyo
    использую swiper. отличный удобный, хорошая документация
    idangero.us/swiper
    Ответ написан
    1 комментарий
  • Как вы понимаете (исходя из своего опыта), что на заказ (на фрилансе) откликаться не стоит?

    @ehs
    Architect / 3d designer
    Есть еще хороший маркер - заказчик думает что лучше вас знает как делать работу, как частный случай - "This will take no more than an hour for a good professional"
    Ответ написан
    2 комментария
  • Несколько вопросов о mongodb?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я работаю с MongoDB уже более 3 лет, поэтому буду рассказывать и давать советы опираясь на личный опыт эксплуатации.

    Получается, что нас всю жизнь учили данные нормализовывать и объясняли, почему это хорошо, а теперь все с точностью наоборот?

    Не совсем. Вас учили работать только с одной разновидностью баз данных - реляционной. Теперь вы увидели, что бывают еще и другие, документ-ориентированные. Разумеется, в каждой разновидности будут свои подходы к хранению и организации данных.
    Это не хорошо и не плохо, это иначе.
    Несомненно, ажиотаж вокруг термина NoSQL существует. И на то есть причины, в основном то, что данных действительно стало больше. Информационная энтропия увеличивается и ее все сложнее укладывать в рамки реляционных баз данных. Здесь можно долго рассуждать, но могу с уверенностью сказать, что сейчас появился спрос на такие хранилища, в которых структуру нужно менять более быстро, чем это могут позволить реляционные базы данных.

    Объясните, пожалуйста, на пальцах, правильно ли я все понимаю?

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

    Как в монго при этом обновлять данные, которые хранятся в каждом документе?


    Это реализуется с помощью банальных обновлений.
    Например, если у меня есть коллекция с книгами, в которой мне нужно обновить авторов.

    Типичная запись в ней выглядит так
    {
        "_id" : ObjectId("5801aa17964c6b2a050041a7"),
        "title" : "New Book",
        "authors" : [ 
            {
                "_id" : ObjectId("5801aa0f964c6b26030041a9"),
                "firstName" : "Phil",
                "lastName" : "Tkachev"
            }
        ]
    }


    И я хочу заменить имя в тех книгах, в которых я - автор, то мой запрос будет выглядеть так:

    db.getCollection('book').update(
     {'authors._id':ObjectId("5801aa0f964c6b26030041a9")}, 
     {$set: {'authors.$.firstName': 'Philipp'}  }, 
     {multi: true } 
    )


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

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


    Есть ряд случаев, когда так и делают. Например есть разного рода ORM, тот же Mongoose, который так и делает.

    И принято ли так работать?


    И да, и нет. Когда вы работаете с такого рода базой данных, вам нужно подходить к организации данных исходя из решаемой проблемы, отталкиваться от проекта будущего приложения или решения задачи.
    Вам просто нужно ответить на вопрос, что дешевле, запросить документ по ключу или обновить запись внутри документов.
    Взять к примеру, ваш сайт, в котором есть новости и их авторы. Новости могут читать миллионы, а значит при обращении к каждой новости нужно будет делать подзапрос на информацию о каждом авторе. Т.е. вместо одного запроса, при просмотре новости, нужно будет делать 2. А если показывать список из 100 новостей? Будете делать 100 вторичных запросов? Нет, это тоже неправильно. Нужно будет получить список новостей, в коде приложения собрать идентификаторы авторов, сделать второй подзапрос, получить информацию об авторах, затем объединить ее с уже полученным списком статей. Это немного усложнит ваше приложение, но тоже позволит сэкономить ресурсы. Если вы встроите авторов внутрь статьи, это позволит вам обойтись одним запросом к базе, хоть на просмотр, хоть на список новостей. С другой стороны вам прийдется подумать об обновлении информации об авторе. Но, т.к. такая информация меняется сравнительно редко, то есть смысл встраивания.

    Что делать, если изменилась структура данных, если структуры то и нет?


    Здесь все просто. Когда вы разрабатываете свое приложение, вы изначально закладываете в него обработку изменений. Например, вы можете добавить поле версии документа, в котором храните номер версии структуры и реагировать на ее изменение в коде. Либо вы можете просто писать приложение таким образом, что оно автоматически будет конвертировать структуру из старой в новую при первом обращении.

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

    Коллекция новостей:

    {
    	_id: 'MongoId',
    	title: '',
    	body: '',
    	author: {
    		_id: 'идентификатор пользователя',
    		name: 'Имя пользователя',
    		subscribers: 'Количество подписчиков'
    	}
    }


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

    Коллекция пользователей:

    {
    	_id: 'MongoId',
    	name: 'Имя пользователя',
    	email: '',
    	roles: ['user', 'author', 'admin'],
    	subscribers: 'Number'
    }


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

    Коллекция подписок:

    {
    	initiator: {
    		_id: 'идентификатор пользователя, который инициировал подписку',
    		name: 'Имя пользователя'
    	},
    	target: {
    		_id: 'идентификатор автора',
    		name: 'Имя пользователя'
    	},
    	date: 'ISODate',
    	confirmed: 'bool'
    }


    Здесь вы можете подстроить, как список подписок, так и список подписчиков одним запросом.
    Ответ написан
    1 комментарий
  • Как вывести ошибку прохождение Recaptcha в форму отправки?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    валидировать на JS перед отправкой формы.
    Ответ написан
    Комментировать