Да, из Chrome убрали возможность сохранения страницы в виде .mhtml файлов.
Добиться похожего функционала можно при помощи расширений. (Например: Save Webpages Offline As MHTML).
Или если вы хотите сохранить страницу из интернета в одном файле, который затем можно будет просмотреть в любом браузере (без расширений), то можно воспользоваться расширением SingleFile, который пытается сливать все ресурсы страницы в виде одного .html
Для простых страниц с картинками это вполне работает, но если брать уже современные сайты с большим количеством динамики, то тут уже как повезет.
Свободный человек неизбежно лишен безопасности, мыслящий человек неизбежно лишен уверенности.
Эрих Фромм
Тот лучше всего защищён от опасностей, кто хранит бдительность и в зримой безопасности.
Публий Сир
Только те средства по обеспечению безопасности хороши, надежны и долговечны, которые зависят от вас самих и от вашей собственной энергии.
Николо Макиавелли
Автор — неординарная личность, который в свою эпоху с учетом накопленных знаний в послевоенные годы решил посвятить себя разработке новой системы решения инженерных задач своего времени, а также заложить некий базовый алгоритм для решения технических/инженерных задач для будующих поколений.
Книгу не читал, но зная что автор также был одним из ведущих писателей-фантастов 1960-x годов могу предполать о том, что именно подача его материала могла вдохновлять многих читателей на попытку использовать его систему, как универальной.
С точки зрения критического подхода, могу сказать, что ТРИЗ (Теория решения изобретательских задач) не является универсальной. Также в современном обществе наряду с последователями ТРИЗ (и современными направлениями на основе ТРИЗ: SIT (Systematic Inventive Thinkig), USIT (Unified Structured Inventive Thinking), Trizics) существуют и другие группы людей, которые используются альтернативные методы решения задач, такие как метод мозгового штурма, метод проб и ошибок, морфологический анализ и прочие.
По этому поводу также хочу добавить, что иногда предпринимались попытки составить некоторую классификацию методов и подходов, которые изобретатели используют в своей практике (Методы изобретательского творчества)
Но здесь следует еще остановиться на том моменте, что мы обсуждаем современные подходы инженера-программиста. В данном контексте можно сказать, что современная разработка делится на:
Создание ПО на основе уже ранее разработанных подходов, принципов, методологий
Незначительная или частичная модификация (upgrade) того ПО, которое используется уже десятилетия и больше.
Экспериментальное ПО/прототипы, которые позволяют оценить в реальности новые подходы, концепции, синтез нескольких идей в техническом виды (программа).
Учебные, научные, авторские программы, которые в большей степени направлены на решение собственных целей и проблем.
Другие области решения специализированных областей деятельности или использовании малораспостранненных аппаратно-программных систем.
В каждом из таких подходов уже есть свои приемы и методы, которые каждый инженер в явном или неявном виде будет использовать в своей работе на основе своих знаний, опыта и способностей.
Именно из-за того, что в мире существуют различные подоходы, методы и отсутствуют строгии ограничения, социальная изоляция (да здраствуют пока еще оплоты свободы в интернете) мы и можем наблюдать как люди использовают имеющие подходы, предлагают новые в одиночку и совместно, участвуют в конференциях, пишут open source библиотеки/программы/сервисы/книги/статьи. Каждый может выбирать на основе личных предпочтений, технических предпочтений, экономических ограничений (целосообразности) тот вариант, который позволяет решение стоящие перед человеком конкрентные задачи.
Являясь поклонником творчества фантастов XX века, и испытывая только теплые чувству к их творчеству, все же стоит признать то, что эти книги являются в большей степени фантастикой, чем научно-познавательной литератарой. Эти труды можно рассматривать как источники вдохновления и мотивиция, беря в пример нравственные черты главных героев и впечатляясь «полету мыслей» авторов.
С практической точки зрения намного полезнее заняться изучением и анализом уже накопленных науных знаний по интересующей человека теме, чем читать книги
людей, которые создавали увлекательные миры и выдвигали многие предположения о нашей вселенной, которые на текущий момент либо опровергнуты, либо не могут существовать в ближайшей перспективе.
Группа научно-популярной и биографической литературы:
Борис Черток, «Ракеты и Люди»
Бен Рич «Skunk Works» (перевод тут)
Уолтер Айзексон, «Стив Джобс»
Пол Грэм, «Вкус — созидателям»
Эти книги по большей части описывают исторические события, некоторой совокупностей мыслей, планов и принимаемых решений, которые привели к определенным последствиям. В основном они описывают мысли, биографические эпизоды и мировозрения либо со стороны автора, либо со стороны группы людей (участников и сторонних наблюдателей), которые хотят сохранить эти истории и передать потомкам.
Но всегда нужно помнить о том, что по большей части в таких книгах описываются некоторые феномены, которые с большей вероятностью не повторятся, потому что повторить с некоторыми оговорками те исторические события вряд ли получится. Другое время, другие люди, другие технологии, другие требования и проблемы…
В каждый момент времени всегда что-то отличается. Потому что практически никто не будет создавать с нуля новый iPod, потому что уже появились более современные модели и технологии, мало кто будет заново изобретать с нуля пленочную фото/видеокамеру, потому что современные цифровые камеры превосходят по некоторым показателям старые подходы, которые теряют в современном обществе актуальность. Первые модели ракет сейчас тоже нет смысла реализовывать на практике, а только изучать в теоретическом плане с точки зрения развития и эволюции ракетостроения, потому что они были по большей части исследовательскими проектами и имели некоторые проблемы, которые были решены в современных моделях (новые виды топлива, улучшенные технологии создания компонентов) и требуют сооблюдения других технических требования по надежности, экономичности и другим показателям для решения чисто практических задач.
Ричард Хэмминг, «Вы и ваше исследование»
Mitchell Waldrop, «The Dream Machine: История компьютерной революции»
Это как раз книги, которые должны передать «дух и веяния тех времен, когда люди задумывали свои новые проекты и исследования».
Они должны в свою очередь передать все накопленные мысли, предположения, пути развития, которые ставили перед собой первопроходцы («отцы-основатели»), а также погрузить читателя хоть немного в ту эпоху, когда это все происходило и должны попасть на «благоприятную почву», т.е. по сути найти последователей, которые разделяют такие же подходы и которым пригодится помощь и поддержка со стороны опытных специалистов с той лишь позиции, чтобы четко обозначить путь развития, но без научных знаний сами по себе эти книги также не имеет большой практической пользы. Потому что новое время и новые люди создают перемены в этом мире. Они должны переосмыслить и вырабатать свои мысли и свои навыки, а возможно и привнести новые знания в этом направлении на основе их опыта и научных экспериментов.
Поэтому я призываю не пытаться смешивать научно-популярную, мотивационно-публистическую, историческую и научную литературу в одну корзину.
Дональд Кнут — Искусство программирования (серия книг) [(!) спорная книга, так как она будет больше полезна для компьютерных исследователей и создателей новых алгоритмов, чем как практическое руководство в современном мире)
Теория и практика языков программирования. Орлов С.А. (2013)
Один совет авторам — спуститесь на грешную землю.
Во-первых нет никаких цифр, графиков, статических данных, которые бы описывали текущую ситуацию. Вместо них лишь шаблоны и картинки из интернета (по моему мнению, которые явно не для демонстрации контекста, а для сгущения красок у читателя).
Во-вторых: Что вы сделали чтобы ситуация поменялась? Я тоже могу сидеть у разбитого колодца и винить во всем других.
Доходит до того, что наши даже вполне патриотично настроенные ученые, которые занимаются наукой всерьез, уезжают в зарубежные научные центры просто потому, что там все, что им требуется для исследований, они могут получить чуть ли не на следующий день, а здесь – иногда и через год (и если докажут, что это действительно им зачем-то нужно и в прошлом году была соответствующая заявка).
Другие страны создают все условия для того, чтобы наука в их стране развивала. Компании принимают участие своим капиталом в сотрудничестве с институтами, либо образовательными сообществами, либо награждают своих сотрудников, когда им нужно решить новые, либо мало изученные задачи. А есть другие — те кто воруют, паразитируют, угнетают любые новые идеи. И когда таких компаний в стране становится большинство — то никому нет дела, потому что все силы идут на борьбу за существование.
У кого-то есть возражения?
У всех есть раздражения. Только каждый видит только свою картину мира. И даже если пытаться что-то изменить, то это просто капля в море, потому что это система (а любая устоявшаяся система стремится к устойчивости). В мире находят небольшие группы людей, которые хотят что-то поменять, но против них играет миллионная толпа, которая хочет чтобы им все блага доставались бесплатно и которые руководствуются принципом — сначала сделай, а мы уже потом украдем.
И по моему мнению, люди, которые имеют способности и желание обучать новых и грамотных специалистов, и видя то мракобесие в головах тех, кто сейчас управляет системой образования и на какие жертвы им нужно будет идти (маленькая зарплата, бюрократия, негативное отношение общества к системе) скорее пойдут работать репетиторами, либо заниматься другими делами, получая соизмеримую награду без лишних проблем, чем бороться за свои идеалы.
А о чем вообще статья?
Исходя из содержания я могу поделить всю статью на несколько тем:
нелепая вставка с вырванной из контекста фразы Пушкина от автора (в оригинале этого нет)
мода на роллы «Калифорния» в Америке,
холивары на счет интерфейсов (GUI vs TUI, Touch vs Кнопки, Apple круче всех)
ученые в очередной раз доказали о том, что мы нам тяжело менять свои привычки
по мнению одного человека, из-за того, что люди ленивые и не любят учиться новым и непонятным для них вещам, то компаниям тяжело заставить большинство купить их новую дорогую продукцию прямо здесь и сейчас, даже не прочитав отзывы и мнения независимых экспертов и не попытавшись понять зачем им это надо.
Какие выводы делает из этого автор:
Ролл «Калифорния» познакомил американцев с суши, используя знакомые ингредиенты, собранные вместе в новом формате.
В этой фразе всё хорошо с точки зрения обычного обывателя, но всё-таки происходит подмена понятия между объектом и субъектом.
Ролл (еда) не мог бы познакомить человека с едой. Это сделал автор рецепта в своем ресторане, а затем уже рецепт был взят «на вооружение» другими поварами. Поэтому можно только похвалить автора этого рецепта за изобретательность.
Правило ролла «Калифорния»: люди не хотят чего-то действительно нового — они хотят привычное, но сделанное иначе.
Меня очень удивляет привычка американцев давать новые названия для правил с необычными названиями, которые были уже сжато сформированы очень давно в виде простого и всем понятного предложения. Интересно, а ролл знает о том, что у него есть правила и соблюдает ли он их?
По-настоящему новым продуктам нужны привычные для мозга образы, чтобы пользователям было проще привыкнуть к ним (пример: скевоморфный дизайн Apple).
Это как раз тонкая грань в интерфейсе между соблюдением уже сложившихся образов, привычек, геометрических форм и созданием действительно простого и удобного интерфейса для вещей с одинаковым принципом работы. Ведь бумбокс, СD-плеер, iPod и bluetooth-колонки решают в своей основе одну и ту же задачу — воспроизведение звука, но только каждый из них появился в разное время, зависел от имеющихся в наличии необходимых достижений науки и техники, и по разному повлиял на популярность в обществе и культуры их использования.
Непривычные интерфейсы пользователь может не принять.
Именно поэтому некоторые проводят тестирования непривычных вариантов интерфейса на контрольной группе людей, чтобы иметь обратную связь от пользователей нового интерфейса, хотя это и не панацея.
Если ваш новый продукт или сервис недостаточно хорошо принимается пользователями, спросите себя: как найти мой ролл «Калифорния»?
Я не пробывал ролл «Калифорния». Где мне его искать?
Почему-то в голове возникает такой текст:
Я спросил у тополя: «Где моя любимая?»
— Ты б еще у тумбочки, идиот, спросил…
И в конце хочу завершить свой комментарий афоризмом:
Там, где нет перемен и необходимости в переменах, разум погибает.
Герберт Уэллс
Чтобы проект был успешным в 2018 году, в его названии обязательно должно быть упоминание криптовалют или блокчейн.
Хайп, хайп, хайп… И при чем тут вообще блокчейн и криптовалюты, если название проекта dev||bet?
Описание задачи намеренно было сделано запутанным и нечетким, чтобы сделать процесс интереснее.
Добавлю еще немного в копилку:
А поиграйтесь с цветами.
В вашем алгоритме нет души (стиля, индивидуальности)!
Сделайте так, чтобы сын члена жури смог понять, что делает этот генетический алгоритм за 5 слов. (Шутка. Так уж и быть. Можете воспользоваться еще тремя прилагательными).
Напишите весь код за наименьшее количество символов в одной строке.
Вы можете использовать только Vim!
Мы, зрители, хотим увидеть как обычные разработчики думают, гуглят, ошибаются, и в, конце концов, приходят к решению. Более того, нам скорее интереснее наблюдать за затыком лидов над библиотечной функцией, чем щелканье алгоритмов натасканным олимпиадником.
Мне кажется, что это противоречивое сочетание. В современном мире уже многие простые операции и алгоритмы давным давно написаны по нескольку раз в различных библиотеках, чтобы сделать экономически выгодным процесс написания ПО и не повторять код постоянным копированием. Многие современные программисты в большинстве случаев не писали давно известные алгоритмы, потому что они уже давно написаны и есть в интернете. И они проверены миллионы раз и давно работают.
_________________________
Но нет, давайте сыграем в Игру. Возьмем двух (А лучше пять!.. Нет. Десять!) разработчиков и поставим им несвойственную их опыту задачу и посмотрим, что они напишут за условные 10 минут. В случае поражения отберем у них смузи и котиков в интернете. Время пошло. Что же делать? Писать свой велосипед или же поискать в интернете?
Спросить у зала или пойти в чат к группе поддержки из 10 человек, которые уже вооружены интернетом и решениями предыдущих задач? Они уже ждут условного сигнала, чтобы скинуть готовый вариант решения.
А в это время...
А в это время зрители похоже уже устали смотреть за двумя людьми, которые просто будут задавать новые вопросы на StackOverflow или по другим «разрешенным» ресурсам для поиска уже готового решения задачи.
Но начинается то, чего мы долго ждали: люди не справляются с задачей и чтобы не проиграть, начинают мухлевать. Всё или ничего. В ход идут макросы, goto, «макаронный код», переменные перестают терять осмысленное название, у одного из участников совершенно случайно «ломается клавиатура» или «зависает компьютер»… Страсти накаляются, логика нервно курит в сторонке и мы видим как на лицах участников побеждают эмоции...
А потом...
А потом условные Васи, которые не факт, что сами хотя бы раз в своей жизни решили такую задачу правильно, будут судить наших «жертв» на публику.
При этом судьи скорее всего будут иметь запас времени, чтобы самим изучить уже готовые варианты решений, которые написаны экспертами, но не обладая полностью их знаниями о проблеме будут выносить приговоры.
До финала доходят только двое.
Они с отвращением и ужасом ждут очередного подвоха от судей.
Ведь зрители хотят хлеба и зрелищ. А значит, чтобы стать чемпионом нужно не просто решить задачу, а еще и красиво сыграть.
Кого играть? Это зависит от зрителей. Возможно им понравится образ ботаника в очках, или же татуированного накаченного парня с бицепсами. (а ведь еще недавно без бороды и старой огромной оправы ты бы вряд ли смог победить)
А в чате...
А в чате модераторы уже нещадно банят зрителей, которые хотят увидеть «блондинок» и «индусов» на этом шоу.
В финале нужно решить одну из задач, которую «не решал ни один в мире программист».
(Надеемся, что наши участники об этом точно ни разу не слышали).
Практический пользы в ней нет. Нужно написать алгоритм для автоматического проставления «like» в социальной сети для участников жюри. Ведь сейчас это популярно. (Пользователи уже ждут не дождутся халявных скриптов для накрутки счетчиков для собственных аккаунтов).
А кто больше всего «лайкнет» постов жюри, тот и победил.
Процесс пошел…
И вот звучит Имя победителя. Организаторы дарят ему спонсорский подарок (очередную крутую клавиатуру, которые компания выпустила специально для участников этого турнира, потому что имеет специальную подставку для кофе, которая так пригодится нашему победителю) и «фирменную чашку» (на самом деле такими чашками уже месяц пользуются члены жюри и им просто хочется заменить их на другие).
А наш герой уходит вдаль, чтобы освободить своё место для новой группы адептов Игры....
Где-то за несколько тысяч километров...
Где-то за несколько тысяч километров в это время группа ученых в тихой и спокойной обстановке разрабатывает новое программное обеспечение для исследования космоса, пытаются обучить нейронные сети, занимаются разработкой нового языка для программирования роботов и уже вечером, перед тем как закончится их рабочий день, обсуждают новые замыслы, идеи и мечтают познать еще неизведанные тайны Вселенной.
Каждый из них пришел сюда со своими способностями и опытом. Многие готовы поделился со всеми желающими своими знаниями и мыслями. Они не пытаются выяснить кто из них самый умный и поставить себя выше остальных (но в душе иногда и у них закрадываются такие мысли, хотя умом они понимают, что вместе они способны сделать больше, чем по одиночке). Ведь они знают, что каждый человек в чем-то уникален, что каждый имеет свои особенности, опыт, навыки, сильные и слабые стороны.
Но день подходит к концу и они заканчивают работать, зная, что дома их ждут родные, которые их любят. Ведь не смотря на все проблемы, которые случаются в их жизни, любовь и счастье близких людей, для которых они и стараются сделать этот мир лучше — это главное в их жизни.
Очередная попытка журналистов создать «шумиху» из нескольких инцидентов.
Проблема в том, что роботы лишены эмоций, а только следуют программам, которые заложены в них (на данный момент) человеком.
Исходя из приведенных случаев:
Автомобиль остановился на зелёный свет между пешеходными переходами, ожидая перехода всех пешеходов через 16-ю улицу. В это время другой пешеход приблизился с юго-западного направления перекрёстка улицы Валенсия и 16-й, пересекая первую под знаком «Переход запрещён» (Do not walk), и «с криками врезался в левую часть заднего бампера и кузова GM Cruise всем телом».
28 января 2018 года произошёл ещё один инцидент там же в Сан-Франциско неподалёку от места первого ДТП, и опять с участием GM Cruise. На этот раз беспилотный автомобиль двигался в режиме ручного управления. Он остановился позади автомобиля такси на Дюбус-авеню неподалёку после пересечения с Герреро-стрит. В этот момент «водитель автомобиля такси покинул транспортное средство, приблизился к GM Cruise и хлопнул по переднему пассажирскому окну, что привело к появлению царапины.
В апреле прошлого года пьяного местного жителя задержала полиция за «нападение и нанесение ударов роботу-охраннику Knightscope» в Маунтин-Вью, недалеко от штаб-квартиры Google.
В большинстве случаев люди были просто недовольны присутствием робота на улице и писали жалобы, но один человек, как сообщается, «разложил брезент, повалил робота и замазал соусом барбекю все его датчики».
В большинстве инцидентов не видно явных проблем или каких-либо нарушений со стороны «роботов». Проблема возникает в человеке, потому что человек под влиянием своих эмоций начинает совершать деструктивные действия.
Если заменить робота на человека — то может произойти всё то же самое. То есть, если вдруг какой-то правонарушитель посчитает себя выше некоторых правил или предписаний, а законопослушный человек попытается ему на этот факт указать, то случится конфликт. Результатом этого конфликта будет либо осознание правонарушителем и признанием плохим своего поведения, либо попытка решения вопроса «силовым путем» (Кто сильней тот и прав).
Будь на месте робота человек, он был мог сопротивляться и в ответ на силу — сам может применить силу, а в отношении текущих моделей роботов этого сказать нельзя.
Сейчас роботы не могут себя защитить (иначе тогда страх людей перед роботами усилиться) и некоторые люди просто вымещают на них свою агрессию.
Причины у этой агрессии в каждом случае будут разными. Бывший водитель может возненавидеть (ненависть) робомобили из-за того, что они отобрали у него работу. Роботы-охранники могли зафиксировать, что человек делает что-то подозрительное или запрещенное (страх). Даже роботы-повозки, если они никому не будут мешать, то часть людей может умышленно мешать им работе из-за зависти к их обладателям, потому что им приходится идти в магазин, а кто-то не хочет этого делать и ему это делать не обязательно.
И это ещё незначительные инциденты. Когда роботы ворвутся в нашу жизнь, то количество возможных страхов у людей будет только увеличиваться. (Робофобия)
В будущем часть людей будет винить роботов во всех своих проблемах, а также тех людей, которые будут управлять роботами. Это все приведет к новому расколу в обществе на тех, кто против прогресса, которые как луддиты будут до последнего жить по старым традициям (а также любыми средствами запрещать появляться роботам на их территории) и тех, кто научиться жить в новом мире сосуществуя с роботами, но быть подверженному большему технологическому риску (взлом, кража роботов, незаконная модификация, «сумасшедшие» роботы и роботы на службе у преступников).
Выскажу, возможно непопулярную мысль, но список этих вопросов (и ответов тех людей, которые их сформировали на ресурсе www.springboottutorial.com) с большей вероятностью создадут больше путаницы и недопонимания между различными группами людей, прочитав данную статью (опытные специалисты, новички, HR, начинающие PM, и др.)
Первое что бросается в глаза — это сам ресурс. Он спроектирован по большей части как рекламная площадка для сайта с курсами с сайта in28minutes[com], где все статьи специально сделаны так, чтобы привлечь внимание.
[2 бесплатных руководства по прохождению интервью, 90% скидка для нашего курса]
На сайте я нашел в основном статьи с заголовками «10 шагов для изучения технологии/фреймворка X», а также списки с публичными репозиториями других людей на Github, где авторы, не сильно вдаваясь в код и технические подробности, при помощи пары фраз объясняют как это все запустить и что с чем связано.
Также я не вижу, чтобы на вопросы из списка был дан прямой и ясный ответ по сути этого вопроса.
Некоторые ответы на вопросы состоят из одного предложения из которого ответ не является хоть отдаленно полным. (особенно это касается 16 вопроса).
Не знаю откуда авторы данного текста составили этот список вопросов, но неужели в отдельно взятой стране этого действительно достаточно для того, чтобы стать начинающим веб-разработчиком с навыками Spring?
Считаю что данный материал явно не выполняет то, что обещает:
Этот небольшой список вопросов даст вам понимание самых важных концепций Spring, а так же поможет подготовиться к собеседованию
Простейшее использование поиска поможет дать четкие определения для данных терминов.
Массив — это структура данных, элементы которого расположены в памяти друг за другом.
Обычно за именем массива скрывается указатель на первый элемент массива. Таким образом обратиться к нужному элементу массива можно при помощи указателя массива + сдвиг, где сдвиг численно равен размеру памяти одного элемента массива умноженного на порядковый номер нужного элемента.
Разница между статическим и динамическим массивом заключается в том, что размер статического массива известен заранее (на этапе компиляции) и его нельзя изменить в процессе выполнения программы, а динамический массив в большинстве случаев представлен в виде указателя, для которого в процессе работы программы выделяется блок памяти для хранения нового массива однотипных элементов необходимого размера. Ссылка на первый элемент в созданном массиве и присваивается указателю.
Преимущество массива в сравнении с односвязным списком состоит в том, что к нужному элементу можно обратиться за константную операцию.Но для добавление/удаление элемента нужно создать новый массив необходимого размера для того, чтобы сохранить финальный набор данных.
Односвязный список — это структура однотипных элементов, связанных между собой последовательно, посредством указателей (внутри каждого элемента находится указатель на другой блок). При этом в памяти они не обязаны находится непосредственно друг за другом.
Для этой структуры преимуществом является тот факт, что можно за константное время добавлять/удалять новой элемента на любую позицию.Но при попытке обратиться к элементу по индексу нужно будет пройти всю цепочку (в случае линейного односвязного списка) с первого элемента до того, который нам нужен.
Ни массив, ни односвязные списки на практике не создаются рекурсивно, так как рекурсия не предназначена для такого рода операций из-за огромных потерь производительности и дополнительных затрат памяти без существенного выигрыша в чем-либо. В основном используются циклы, а также вводится понятие итератора (указатель на текущий элемент).
Но стоит уточнить, что в качестве обучения динамический массив и односвязный список могут быть созданы и рекурсивно.
Более подробную информацию рекомендую почитаться в специальной литературе. Также следует иметь в виду, что для каждого языка реализация данных структур может отличаться ввиду их абстрактной природы.
Добиться похожего функционала можно при помощи расширений. (Например: Save Webpages Offline As MHTML).
Или если вы хотите сохранить страницу из интернета в одном файле, который затем можно будет просмотреть в любом браузере (без расширений), то можно воспользоваться расширением SingleFile, который пытается сливать все ресурсы страницы в виде одного .html
Для простых страниц с картинками это вполне работает, но если брать уже современные сайты с большим количеством динамики, то тут уже как повезет.
P.S. Прошу простить за мой корявый русский.
Книгу не читал, но зная что автор также был одним из ведущих писателей-фантастов 1960-x годов могу предполать о том, что именно подача его материала могла вдохновлять многих читателей на попытку использовать его систему, как универальной.
С точки зрения критического подхода, могу сказать, что ТРИЗ (Теория решения изобретательских задач) не является универсальной. Также в современном обществе наряду с последователями ТРИЗ (и современными направлениями на основе ТРИЗ: SIT (Systematic Inventive Thinkig), USIT (Unified Structured Inventive Thinking), Trizics) существуют и другие группы людей, которые используются альтернативные методы решения задач, такие как метод мозгового штурма, метод проб и ошибок, морфологический анализ и прочие.
По этому поводу также хочу добавить, что иногда предпринимались попытки составить некоторую классификацию методов и подходов, которые изобретатели используют в своей практике (Методы изобретательского творчества)
Но здесь следует еще остановиться на том моменте, что мы обсуждаем современные подходы инженера-программиста. В данном контексте можно сказать, что современная разработка делится на:
В каждом из таких подходов уже есть свои приемы и методы, которые каждый инженер в явном или неявном виде будет использовать в своей работе на основе своих знаний, опыта и способностей.
Именно из-за того, что в мире существуют различные подоходы, методы и отсутствуют строгии ограничения, социальная изоляция (да здраствуют пока еще оплоты свободы в интернете) мы и можем наблюдать как люди использовают имеющие подходы, предлагают новые в одиночку и совместно, участвуют в конференциях, пишут open source библиотеки/программы/сервисы/книги/статьи. Каждый может выбирать на основе личных предпочтений, технических предпочтений, экономических ограничений (целосообразности) тот вариант, который позволяет решение стоящие перед человеком конкрентные задачи.
Группа фантастов:
Являясь поклонником творчества фантастов XX века, и испытывая только теплые чувству к их творчеству, все же стоит признать то, что эти книги являются в большей степени фантастикой, чем научно-познавательной литератарой. Эти труды можно рассматривать как источники вдохновления и мотивиция, беря в пример нравственные черты главных героев и впечатляясь «полету мыслей» авторов.
С практической точки зрения намного полезнее заняться изучением и анализом уже накопленных науных знаний по интересующей человека теме, чем читать книги
людей, которые создавали увлекательные миры и выдвигали многие предположения о нашей вселенной, которые на текущий момент либо опровергнуты, либо не могут существовать в ближайшей перспективе.
Группа научно-популярной и биографической литературы:
Борис Черток, «Ракеты и Люди»
Бен Рич «Skunk Works» (перевод тут)
Уолтер Айзексон, «Стив Джобс»
Пол Грэм, «Вкус — созидателям»
Эти книги по большей части описывают исторические события, некоторой совокупностей мыслей, планов и принимаемых решений, которые привели к определенным последствиям. В основном они описывают мысли, биографические эпизоды и мировозрения либо со стороны автора, либо со стороны группы людей (участников и сторонних наблюдателей), которые хотят сохранить эти истории и передать потомкам.
Но всегда нужно помнить о том, что по большей части в таких книгах описываются некоторые феномены, которые с большей вероятностью не повторятся, потому что повторить с некоторыми оговорками те исторические события вряд ли получится. Другое время, другие люди, другие технологии, другие требования и проблемы…
В каждый момент времени всегда что-то отличается. Потому что практически никто не будет создавать с нуля новый iPod, потому что уже появились более современные модели и технологии, мало кто будет заново изобретать с нуля пленочную фото/видеокамеру, потому что современные цифровые камеры превосходят по некоторым показателям старые подходы, которые теряют в современном обществе актуальность. Первые модели ракет сейчас тоже нет смысла реализовывать на практике, а только изучать в теоретическом плане с точки зрения развития и эволюции ракетостроения, потому что они были по большей части исследовательскими проектами и имели некоторые проблемы, которые были решены в современных моделях (новые виды топлива, улучшенные технологии создания компонентов) и требуют сооблюдения других технических требования по надежности, экономичности и другим показателям для решения чисто практических задач.
Ричард Хэмминг, «Вы и ваше исследование»
Mitchell Waldrop, «The Dream Machine: История компьютерной революции»
Это как раз книги, которые должны передать «дух и веяния тех времен, когда люди задумывали свои новые проекты и исследования».
Они должны в свою очередь передать все накопленные мысли, предположения, пути развития, которые ставили перед собой первопроходцы («отцы-основатели»), а также погрузить читателя хоть немного в ту эпоху, когда это все происходило и должны попасть на «благоприятную почву», т.е. по сути найти последователей, которые разделяют такие же подходы и которым пригодится помощь и поддержка со стороны опытных специалистов с той лишь позиции, чтобы четко обозначить путь развития, но без научных знаний сами по себе эти книги также не имеет большой практической пользы. Потому что новое время и новые люди создают перемены в этом мире. Они должны переосмыслить и вырабатать свои мысли и свои навыки, а возможно и привнести новые знания в этом направлении на основе их опыта и научных экспериментов.
Поэтому я призываю не пытаться смешивать научно-популярную, мотивационно-публистическую, историческую и научную литературу в одну корзину.
Вот мой список книг, которые помогут развить и понять современную компьютерную инженерию:
Исторические книги: www.computer-museum.ru/books/polbooks.htm
Б.В. Кернига Р.Пайк — UNIX.Программное окружение / UNIX-универсальная среда программирования (1992)
Бах Морис — Архитектура операционной системы Unix (1986)
Робер Лав — Ядро Linux: описание процесса разработки, (3-е издание) (2017)
Во-первых нет никаких цифр, графиков, статических данных, которые бы описывали текущую ситуацию. Вместо них лишь шаблоны и картинки из интернета (по моему мнению, которые явно не для демонстрации контекста, а для сгущения красок у читателя).
Во-вторых: Что вы сделали чтобы ситуация поменялась? Я тоже могу сидеть у разбитого колодца и винить во всем других.
Другие страны создают все условия для того, чтобы наука в их стране развивала. Компании принимают участие своим капиталом в сотрудничестве с институтами, либо образовательными сообществами, либо награждают своих сотрудников, когда им нужно решить новые, либо мало изученные задачи. А есть другие — те кто воруют, паразитируют, угнетают любые новые идеи. И когда таких компаний в стране становится большинство — то никому нет дела, потому что все силы идут на борьбу за существование.
У всех есть раздражения. Только каждый видит только свою картину мира. И даже если пытаться что-то изменить, то это просто капля в море, потому что это система (а любая устоявшаяся система стремится к устойчивости). В мире находят небольшие группы людей, которые хотят что-то поменять, но против них играет миллионная толпа, которая хочет чтобы им все блага доставались бесплатно и которые руководствуются принципом — сначала сделай, а мы уже потом украдем.
И по моему мнению, люди, которые имеют способности и желание обучать новых и грамотных специалистов, и видя то мракобесие в головах тех, кто сейчас управляет системой образования и на какие жертвы им нужно будет идти (маленькая зарплата, бюрократия, негативное отношение общества к системе) скорее пойдут работать репетиторами, либо заниматься другими делами, получая соизмеримую награду без лишних проблем, чем бороться за свои идеалы.
Исходя из содержания я могу поделить всю статью на несколько тем:
Какие выводы делает из этого автор:
В этой фразе всё хорошо с точки зрения обычного обывателя, но всё-таки происходит подмена понятия между объектом и субъектом.
Ролл (еда) не мог бы познакомить человека с едой. Это сделал автор рецепта в своем ресторане, а затем уже рецепт был взят «на вооружение» другими поварами. Поэтому можно только похвалить автора этого рецепта за изобретательность.
Меня очень удивляет привычка американцев давать новые названия для правил с необычными названиями, которые были уже сжато сформированы очень давно в виде простого и всем понятного предложения. Интересно, а ролл знает о том, что у него есть правила и соблюдает ли он их?
Это как раз тонкая грань в интерфейсе между соблюдением уже сложившихся образов, привычек, геометрических форм и созданием действительно простого и удобного интерфейса для вещей с одинаковым принципом работы. Ведь бумбокс, СD-плеер, iPod и bluetooth-колонки решают в своей основе одну и ту же задачу — воспроизведение звука, но только каждый из них появился в разное время, зависел от имеющихся в наличии необходимых достижений науки и техники, и по разному повлиял на популярность в обществе и культуры их использования.
Именно поэтому некоторые проводят тестирования непривычных вариантов интерфейса на контрольной группе людей, чтобы иметь обратную связь от пользователей нового интерфейса, хотя это и не панацея.
Я не пробывал ролл «Калифорния». Где мне его искать?
Почему-то в голове возникает такой текст:
И в конце хочу завершить свой комментарий афоризмом:
Добавлю еще немного в копилку:
Мне кажется, что это противоречивое сочетание. В современном мире уже многие простые операции и алгоритмы давным давно написаны по нескольку раз в различных библиотеках, чтобы сделать экономически выгодным процесс написания ПО и не повторять код постоянным копированием. Многие современные программисты в большинстве случаев не писали давно известные алгоритмы, потому что они уже давно написаны и есть в интернете. И они проверены миллионы раз и давно работают.
_________________________
Но нет, давайте сыграем в Игру.
Возьмем двух (А лучше пять!.. Нет. Десять!) разработчиков и поставим им несвойственную их опыту задачу и посмотрим, что они напишут за условные 10 минут. В случае поражения отберем у них смузи и котиков в интернете.
Время пошло.
Что же делать? Писать свой велосипед или же поискать в интернете?
Спросить у зала или пойти в чат к группе поддержки из 10 человек, которые уже вооружены интернетом и решениями предыдущих задач? Они уже ждут условного сигнала, чтобы скинуть готовый вариант решения.
Но начинается то, чего мы долго ждали: люди не справляются с задачей и чтобы не проиграть, начинают мухлевать. Всё или ничего. В ход идут макросы, goto, «макаронный код», переменные перестают терять осмысленное название, у одного из участников совершенно случайно «ломается клавиатура» или «зависает компьютер»…
Страсти накаляются, логика нервно курит в сторонке и мы видим как на лицах участников побеждают эмоции...
При этом судьи скорее всего будут иметь запас времени, чтобы самим изучить уже готовые варианты решений, которые написаны экспертами, но не обладая полностью их знаниями о проблеме будут выносить приговоры.
До финала доходят только двое.
Они с отвращением и ужасом ждут очередного подвоха от судей.
Ведь зрители хотят хлеба и зрелищ. А значит, чтобы стать чемпионом нужно не просто решить задачу, а еще и красиво сыграть.
Кого играть? Это зависит от зрителей. Возможно им понравится образ ботаника в очках, или же татуированного накаченного парня с бицепсами. (
а ведь еще недавно без бороды и старой огромной оправы ты бы вряд ли смог победить)В финале нужно решить одну из задач, которую «не решал ни один в мире программист».
(Надеемся, что наши участники об этом точно ни разу не слышали).
Практический пользы в ней нет. Нужно написать алгоритм для автоматического проставления «like» в социальной сети для участников жюри. Ведь сейчас это популярно.
(Пользователи уже ждут не дождутся халявных скриптов для накрутки счетчиков для собственных аккаунтов).А кто больше всего «лайкнет» постов жюри, тот и победил.
Процесс пошел…
И вот звучит Имя победителя. Организаторы дарят ему спонсорский подарок (
очередную крутую клавиатуру, которые компания выпустила специально для участников этого турнира, потому что имеет специальную подставку для кофе, которая так пригодится нашему победителю) и «фирменную чашку» (на самом деле такими чашками уже месяц пользуются члены жюри и им просто хочется заменить их на другие).А наш герой уходит вдаль, чтобы освободить своё место для новой группы адептов Игры....
Каждый из них пришел сюда со своими способностями и опытом. Многие готовы поделился со всеми желающими своими знаниями и мыслями. Они не пытаются выяснить кто из них самый умный и поставить себя выше остальных (но в душе иногда и у них закрадываются такие мысли, хотя умом они понимают, что вместе они способны сделать больше, чем по одиночке). Ведь они знают, что каждый человек в чем-то уникален, что каждый имеет свои особенности, опыт, навыки, сильные и слабые стороны.
Но день подходит к концу и они заканчивают работать, зная, что дома их ждут родные, которые их любят. Ведь не смотря на все проблемы, которые случаются в их жизни, любовь и счастье близких людей, для которых они и стараются сделать этот мир лучше — это главное в их жизни.
Проблема в том, что роботы лишены эмоций, а только следуют программам, которые заложены в них (на данный момент) человеком.
Исходя из приведенных случаев:
В большинстве инцидентов не видно явных проблем или каких-либо нарушений со стороны «роботов». Проблема возникает в человеке, потому что человек под влиянием своих эмоций начинает совершать деструктивные действия.
Если заменить робота на человека — то может произойти всё то же самое. То есть, если вдруг какой-то правонарушитель посчитает себя выше некоторых правил или предписаний, а законопослушный человек попытается ему на этот факт указать, то случится конфликт. Результатом этого конфликта будет либо осознание правонарушителем и признанием плохим своего поведения, либо попытка решения вопроса «силовым путем» (Кто сильней тот и прав).
Будь на месте робота человек, он был мог сопротивляться и в ответ на силу — сам может применить силу, а в отношении текущих моделей роботов этого сказать нельзя.
Сейчас роботы не могут себя защитить (иначе тогда страх людей перед роботами усилиться) и некоторые люди просто вымещают на них свою агрессию.
Причины у этой агрессии в каждом случае будут разными. Бывший водитель может возненавидеть (ненависть) робомобили из-за того, что они отобрали у него работу. Роботы-охранники могли зафиксировать, что человек делает что-то подозрительное или запрещенное (страх). Даже роботы-повозки, если они никому не будут мешать, то часть людей может умышленно мешать им работе из-за зависти к их обладателям, потому что им приходится идти в магазин, а кто-то не хочет этого делать и ему это делать не обязательно.
И это ещё незначительные инциденты. Когда роботы ворвутся в нашу жизнь, то количество возможных страхов у людей будет только увеличиваться. (Робофобия)
В будущем часть людей будет винить роботов во всех своих проблемах, а также тех людей, которые будут управлять роботами. Это все приведет к новому расколу в обществе на тех, кто против прогресса, которые как луддиты будут до последнего жить по старым традициям (а также любыми средствами запрещать появляться роботам на их территории) и тех, кто научиться жить в новом мире сосуществуя с роботами, но быть подверженному большему технологическому риску (взлом, кража роботов, незаконная модификация, «сумасшедшие» роботы и роботы на службе у преступников).
Первое что бросается в глаза — это сам ресурс. Он спроектирован по большей части как рекламная площадка для сайта с курсами с сайта in28minutes[com], где все статьи специально сделаны так, чтобы привлечь внимание.
На сайте я нашел в основном статьи с заголовками «10 шагов для изучения технологии/фреймворка X», а также списки с публичными репозиториями других людей на Github, где авторы, не сильно вдаваясь в код и технические подробности, при помощи пары фраз объясняют как это все запустить и что с чем связано.
Также я не вижу, чтобы на вопросы из списка был дан прямой и ясный ответ по сути этого вопроса.
Некоторые ответы на вопросы состоят из одного предложения из которого ответ не является хоть отдаленно полным. (особенно это касается 16 вопроса).
Не знаю откуда авторы данного текста составили этот список вопросов, но неужели в отдельно взятой стране этого действительно достаточно для того, чтобы стать начинающим веб-разработчиком с навыками Spring?
Считаю что данный материал явно не выполняет то, что обещает:
Массив — это структура данных, элементы которого расположены в памяти друг за другом.
Обычно за именем массива скрывается указатель на первый элемент массива. Таким образом обратиться к нужному элементу массива можно при помощи указателя массива + сдвиг, где сдвиг численно равен размеру памяти одного элемента массива умноженного на порядковый номер нужного элемента.
Разница между статическим и динамическим массивом заключается в том, что размер статического массива известен заранее (на этапе компиляции) и его нельзя изменить в процессе выполнения программы, а динамический массив в большинстве случаев представлен в виде указателя, для которого в процессе работы программы выделяется блок памяти для хранения нового массива однотипных элементов необходимого размера. Ссылка на первый элемент в созданном массиве и присваивается указателю.
Преимущество массива в сравнении с односвязным списком состоит в том, что к нужному элементу можно обратиться за константную операцию. Но для добавление/удаление элемента нужно создать новый массив необходимого размера для того, чтобы сохранить финальный набор данных.
Односвязный список — это структура однотипных элементов, связанных между собой последовательно, посредством указателей (внутри каждого элемента находится указатель на другой блок). При этом в памяти они не обязаны находится непосредственно друг за другом.
Для этой структуры преимуществом является тот факт, что можно за константное время добавлять/удалять новой элемента на любую позицию. Но при попытке обратиться к элементу по индексу нужно будет пройти всю цепочку (в случае линейного односвязного списка) с первого элемента до того, который нам нужен.
Ни массив, ни односвязные списки на практике не создаются рекурсивно, так как рекурсия не предназначена для такого рода операций из-за огромных потерь производительности и дополнительных затрат памяти без существенного выигрыша в чем-либо. В основном используются циклы, а также вводится понятие итератора (указатель на текущий элемент).
Но стоит уточнить, что в качестве обучения динамический массив и односвязный список могут быть созданы и рекурсивно.
Более подробную информацию рекомендую почитаться в специальной литературе. Также следует иметь в виду, что для каждого языка реализация данных структур может отличаться ввиду их абстрактной природы.