Что мне мешает запустить EXPLAIN, увидеть там nested loops, пойти в документацию и прочитать там, что это значит, какие могут быть варианты, и как на это влиять через синтаксис и настройки?
Для каждого заказа и запрашивать. Только не из базы, а из кеша в оперативной памяти. Из этого же кеша смогут запрашивать и другие списки или отчеты. Уж что-что, а ФИО клиента не меняется практически никогда.
Для этого надо знать особенности хинтов, индексов и анализатора запросов конкретной СУБД. Уметь реализовать join в программном коде для этого не нужно.
Кстати, вопрос к автору. Что именно вы ожидаете услышать в устном ответе на вопрос "как внутри работает JOIN в SQL"? Приведите конкретный пример ответа, пожалуйста. Просто чтобы знать, что ожидает услышать интервьюер.
В чем именно ложность? Вы не используете ОС или сеть?
Наука и техника развиваются много лет и многими людьми. Невозможно знать все в подробностях.
Профессионал должен знать не только свой код, но и примерное устройство соседей по стеку
Вся разница в понимании слова "примерное". Например, в моем понимании "волшебные деревья и индексы" — это и есть примерное устройство (даже с учетом того, что на собеседовании код для nested loops я бы пожалуй написал). Потому что у меня есть конкретное выражение "LEFT JOIN" в синтаксисе, и влиять на его работу я не могу. Когда я пишу запрос с джойнами, я мыслю немного другими категориями, чем вложенные циклы и выражения вида "Triple<K, V1, V2>" — например, множество, тип связи, направление (с какой стороны "1", с какой "много").
А для того, чтобы вскипятить чайник, надо в подробностях знать термодинамику. А для того, чтобы пользоваться компьютером, надо знать электротехнику и электронику. Сколько программистов может вспомнить без гугла законы Кирхгофа?
А для того, чтобы программировать, надо знать как работает защищенный режим и виртуальная память. А заодно загрузка с жесткого диска с чтением нулевого сектора и планировщик задач. А уж структуру IP-пакета точно должен знать каждый. А также уметь рассказать обо всем этом на собеседовании, и реализовать программно без IDE в Google Docs.
А вас не смущает, что несколько возвращаемых значений сами по себе создают такой массив?) Кстати, не подскажете аналогичную ссылку для Go, как это происходит на низком уровне и сколько памяти занимает?
Автор хотел показать, что это именно отличие Go от PHP. И в этом он ошибся. Если бы он хотел просто показать множественное присваивание в Go, то про PHP там бы ничего написано не было, так же как в разделах про переменные, циклы и структуры.
В PHP тоже можно делать так, как вы написали в обоих примерах. По факту отличие только в том, что в Go определена операция "запятая", которая создает… Хм, что же она создает, уж не список ли разнотипных значений, который в PHP называется массивом?
И что подставить на второй половине значение все-таки имеет. В Go нельзя слева написать 2 переменных, справа 3, в PHP можно.
Да я в общем-то не об этом, а о том, что у человека неправильное представление об армии. Офицеры и солдаты — это 2 разных лагеря, первые ездят на работу с 9 до 6, вторые живут год в казарме. И командиры — это в большинстве своем то же быдло, которое проявляет дедовщину по отношению к молодым, просто получившее официальную власть. Нормальных людей там мало, они в армии обычно не задерживаются.
PS: Вполне допускаю, что у меня просто "нерепрезентативная выборка", но после службы у меня осталось именно такое впечатление
Да так-то такой подход много где используется. Я использую фреймворк Yii, там есть нечто похожее. Генерация простая, вида "'w' .+ $counter++" ('w' от слова widget). А в web forms это как делается?
Казалось бы, для делопроизводства нормально. Но комп лагал невыносимо.
Встречал в армии 100-мегабайтный вордовский файл. Картинки фотографировались на цифровой фотик (N мегапикселей), вставлялись в Word, и ресайзились до размера превьюшки 100x60 или типа того. Ворд сохраняет исходник. При сохранении такого файла комп тоже лагал невыносимо. Сделал нормальную обрезку, файл уменьшился до 6 Мб.
Еще встречал схемы обстрела, нарисовнные в экселе. Там была какая-то привязка к координатам ячейки, видимо поэтому и выбрали Excel.
Иногда вместо ужина Володя оставался, чтобы апгрейдить свой компьютер.
А я иногда вместо пары часов сна оставался что-нибудь печатать. Из-за этого перед дембелем решил пошутить — добавил в автозагрузку скрипт на VBA, который через 4 дня после нашего дембеля начинает выводить MessageBox с текстом "Разрешите доложить, заебался я служить".
Есть библиотека pclzip. Можно написать 2 скрипта для запаковки и распаковки папки с проектом, которые запускаются из браузера, и качать через ftp один архив.
редактировать собственный алгоритм… именно эта возможность является необходимой и достаточной для существования… искусственного интеллекта.
Обучающиеся системы не меняют свой алгоритм, они меняют реакцию на входные данные. Алгоритм обучения и функционирования всегда один и тот же.
В самоизменяющихся программах нет ничего нового. Любой полиморфный вирус меняет свой машинный код в процессе работы. Также генерацию кода можно сделать в любом языке, в котором есть функция eval().
Программа, генерирующая рандомные арифметические операции, не является примером самообучаемой. Потому что нет цели обучения и метода определения, обучилась или нет.
Наука и техника развиваются много лет и многими людьми. Невозможно знать все в подробностях.
Вся разница в понимании слова "примерное". Например, в моем понимании "волшебные деревья и индексы" — это и есть примерное устройство (даже с учетом того, что на собеседовании код для nested loops я бы пожалуй написал). Потому что у меня есть конкретное выражение "LEFT JOIN" в синтаксисе, и влиять на его работу я не могу. Когда я пишу запрос с джойнами, я мыслю немного другими категориями, чем вложенные циклы и выражения вида "Triple<K, V1, V2>" — например, множество, тип связи, направление (с какой стороны "1", с какой "много").
А для того, чтобы программировать, надо знать как работает защищенный режим и виртуальная память. А заодно загрузка с жесткого диска с чтением нулевого сектора и планировщик задач. А уж структуру IP-пакета точно должен знать каждый. А также уметь рассказать обо всем этом на собеседовании, и реализовать программно без IDE в Google Docs.
В PHP тоже можно делать так, как вы написали в обоих примерах. По факту отличие только в том, что в Go определена операция "запятая", которая создает… Хм, что же она создает, уж не список ли разнотипных значений, который в PHP называется массивом?
И что подставить на второй половине значение все-таки имеет. В Go нельзя слева написать 2 переменных, справа 3, в PHP можно.
PS: Вполне допускаю, что у меня просто "нерепрезентативная выборка", но после службы у меня осталось именно такое впечатление
Простите, а кому это решать?
Встречал в армии 100-мегабайтный вордовский файл. Картинки фотографировались на цифровой фотик (N мегапикселей), вставлялись в Word, и ресайзились до размера превьюшки 100x60 или типа того. Ворд сохраняет исходник. При сохранении такого файла комп тоже лагал невыносимо. Сделал нормальную обрезку, файл уменьшился до 6 Мб.
Еще встречал схемы обстрела, нарисовнные в экселе. Там была какая-то привязка к координатам ячейки, видимо поэтому и выбрали Excel.
А я иногда вместо пары часов сна оставался что-нибудь печатать. Из-за этого перед дембелем решил пошутить — добавил в автозагрузку скрипт на VBA, который через 4 дня после нашего дембеля начинает выводить MessageBox с текстом "Разрешите доложить, заебался я служить".
Напрашивается картинка про 14 конкурирующих стандартов
Обучающиеся системы не меняют свой алгоритм, они меняют реакцию на входные данные. Алгоритм обучения и функционирования всегда один и тот же.
В самоизменяющихся программах нет ничего нового. Любой полиморфный вирус меняет свой машинный код в процессе работы. Также генерацию кода можно сделать в любом языке, в котором есть функция eval().
Программа, генерирующая рандомные арифметические операции, не является примером самообучаемой. Потому что нет цели обучения и метода определения, обучилась или нет.