>> Главное — чтобы математики тоже считали, что у них такие проблемы
Да вы не нервничайте, ваша склонность к свободе самовыражения не пострадает. Единственный важный момент, который вы упустили, это напоминание о свободе творчества за свой счёт, а не за счёт налогоплательщиков. То есть самовыражайтесь сколько угодно, но в официальную науку — ну не надо.
Хотя с другой стороны, в статье вполне конкретно указано — математики не читали креатив Лурье, но заметьте — это не помешало ему самовыражаться. Единственная проблема — кто оплачивал ему такой праздник жизни. Вот нет бы, по стопам Ферма, долгими зимними вечерами да в свободно время порождать гениальные творения. Но нет, без зарплаты, почему-то, математика не рождается. С чего бы это, а?
Почти шутка, но тем не менее, в ней есть доля истины.
Математика развивается хаотично, и в этом её проблема. Поясню на IT-примерах. Программисты каждый день ваяют новые фреймворки, каждый раз пытаясь в своём новом велосипеде решить старые как мир задачи по новому. И каждый раз автор поделия очень гордится величием достижений. Но на практике все достижения обычно умещаются в пару строк при использовании, а всё остальное — просто мусор из головы автора. Хотя чаще новые креативы вообще никто не замечает.
И точно так же в математике. Там ведь полная свобода, не правда ли? Вот и творят креатив. И да, разница с программированием большая — математики доказывают, что их креатив строго соответствует канонам математических доказательств. Но в обоих случаях польза от креатива бывает весьма скромной, а количество использующих — ещё скромнее.
Не скажу, что креатив математиков бесполезен, ведь и креатив программистов, как минимум, расширяет личный опыт автора, то есть какая-то польза есть всегда. Но в программировании всё же есть более обоснованный критерий разумности — польза для той конторы, на которую работает программист. Эта польза и не даёт возвышаться в безумные дали и отрываться таким образом «от коллектива». У математиков же нет никаких разумных ограничений. Поэтому можно взять некую мысль, поставить справа вторую и заявить — это… (далее следует некий латинизм со множественными возможными ассоциациями), затем можно добавить третью мысль, но уже сверху, потом увидеть в этом всём теорию множеств и само множество (в котором аж три элемента!), затем нужно прикрутить к изделию алгебру, которая сразу сделает набор мыслей крайне математичным и позволит записывать мысли о мыслях в виде алгебраических выражений типа М'+М=М". И действительно, если расшифровать значки справа над буквой М, то всем станет ясно, что в результате действительно получится ровно две буквы М, что и отражают наши замечательно подходящие к ситуации и очень удачно выбранные значки. Теперь дело за малым — нужно формально доказать, что количество М после применения к ним оператора + будет соответствовать именно двум штрихам, а не одному, и не трём. Вот какая прекрасная и полная глубоких смыслов получилась теория! Что? Вы не знаете как её применить? Да вы же не прочитали все 1000 страниц доказательств! Вот и не поняли ничего.
В общем математикам нужен архитектор, или тимлид, который бил бы по рукам за ковыряния в носу, ну и концентрировал усилия на чём-то более полезном с практической точки зрения. А то-ж несчастные уравнения Навье-Стокса уже сколько столетий так и не решены?
Коротко — подстраиваться. Хотя ещё есть вариант найти некое подразделение «перспективных разработок», где думают именно на перспективу. Но обычно под этой вывеской сидят зазнавшиеся бездельники и думают они лишь о том, как бы позабористей навешать лапши начальству.
В более реалистичном случае нужно просто неторопливо писать «правильные» библиотеки для себя, отбирать «правильные» готовые решения. В сумме получится приятная для существования экосистема. Но если придётся менять работу, то сразу наступит этап купания в ледяной проруби со всеми этими забавными игрушками, с которыми нужно разбираться и, самое главное, самому себя заставлять хлебать это гуано полной ложкой.
Ну и стоит заметить, что так же было бы неплохо научиться разделять фреймворки на «отстой» и «более или менее». То есть часто встречаются совершенно безумные поделия, но иногда можно найти что-то полезное, правда в обмен на полезности придётся мириться с некоторыми изысками авторов, которые могут не понравиться. Из второй категории можно постепенно выбрать инструменты для более глубокого ознакомления и длительного использования. Но опять же — на новой работе это всё может оказаться невостребованным.
А вообще, боль разработчиков по поводу «ну почему всё так убого» — разделяю. Хотя и объяснение давно известно — таков мир, который ни разу не идеален. Общее решение скорее должно касаться нахождения вашего личного места в этом мире.
Подход к архитектуре «вы узнаете всё за один месяц и 10000 рублей» плодит бесполезных людей и порождает у них бессмысленные ожидания. Хотя для хозяина курсов, наверное, смысл в этом есть.
Была здесь совсем недавно статья про изучение английского. Там честно сказано — от вас потребуется много работы и года 3-4 для более или менее вменяемого (всё ещё не нативного) уровня. И вот сейчас мы видим статью про «архитектуру за пару дней». Ну, вывод, мне кажется, очевиден.
Конструирование автомобиля предполагает знание математики, механики, физики, электроники, эргономики и даже дизайна, и всё это — в объёме не менее институтского курса. Почему программирование, да ещё принятие решений на уровне архитектуры (аналог разработки автомобиля) считается допустимым давать вот так за пару статей? При чём в статьях ни слова о программировании (математике, физике, механике и т.д.), сразу учат проектировать себе машину. Точнее не учат, а повторяют парочку определений из википедии, ну и вот вам целая статья.
Почему в программировании много начинающих и мало опытных разработчиков? Может потому, что массово учат именно вот так?
В электричках продают такие за 50 рублей. Они гнутся и можно легко поэкспериментировать. Так вот если её изогнуть и смотреть через неё на светлый предмет на тёмном фоне, а потом начать двигать линзу от себя (не разгибая), то в какой-то момент светлый объект размажется на всю линзу, а потом вся линза станет тёмной — светлый объект исчез. Хотя там всё мутно и никакие детали неразличимы, но принцип очень похож. Собственно для «вскрытия технологии» осталось просчитать, как там лучи света бегают через изогнутую линзу за 50 рублей, ну и выявить причину исчезновения светлого объекта.
А я вообще не гонюсь за последними версиями браузеров. Поэтому у меня работает. Но да, если все производители станут так над людьми издеваться — уж не знаю, придётся учиться плагины писать и всё на них переводить, или вообще свой браузер :)
>> Да, из Chrome убрали возможность сохранения страницы в виде .mhtml файлов. Добиться похожего функционала можно при помощи расширений.
А зачем добиваться от убитого гуглами продукта работоспособности за свой счёт? Не проще ли выкинуть это поделие на помойку и поставить нормальный браузер?
Мода следования за гуглами до хорошего не доведёт.
Согласен, при наличии политической воли организовать гораздо более осмысленный и упорядоченный отбор более качественных и креативных творений было бы не так сложно. Но всё отдано на откуп «невидимой руке», ведь самостоятельно такие задачи решать чиновники не хотят.
Правда всё же останется вопрос — а как отбирать «шедевры»? Если просто «лайками», то как вообще заинтересовать вменяемых людей просмотреть всё, что натворили созидатели? Творений же много, и каждое нужно внимательно просмотреть, оценить. Опять получится каша, где выбор будет таким же случайным, как и сейчас. Хотя на уровне государства, всё же, наверняка этот вопрос можно решить, но я глубоко здесь не копал.
>> Остаётся какая-то надежда, что через некоторое время эту 1-ю серию увидят те, кому надо, и она, как говорят, «выстрелит»
Да, надежда умирает последней.
Но большинство стартапов (читай — энтузиастов) умирают так и не получив прибыль. Скорее всего эта же судьба ждёт вас. Неприятно, даже говорить об этом не хочется, но это факт. Не убивайте гонца с плохой вестью.
Многие пробовали в жизни что-то создать, а потом как-то это использовать. Ну и основная судьба — повесить на стенку и иногда вспоминать. Может ещё знакомым показать. И всё.
Хотя с другой стороны, в каждом таком случае есть какое-то рациональное зерно. Если научиться эти зёрна выделять и умело проращивать — всем будет лучше. Можно попробовать на вашем примере — какое рациональное зерно есть в вашем творении? Рациональное здесь включает, в том числе, нечто иррациональное, то есть основанное на эмоциях, но в итоге порождающее удовлетворение, радость, или ещё какую-то ценность для получателя. А ценность — это до безумия рационально, на этом держится весь маркетинг (впаривают эмоции).
Более общий вопрос — как организовать систему выявления и удобрения зёрен?
Но вообще, тратить столько времени и денег на хобби, которое вряд ли принесёт какой-то доход, это не вполне обычно. А вот желание продвинуть своё творение — вполне обычное. И в этом у вас шансов больше, чем у тех, кто занимается распространёнными хобби. Так, фотографы-любители встречаются с мощнейшей конкуренцией со стороны миллионов им подобных, ну и профессионалов. А вы же имеете в конкурентах только профессионалов, что даёт вам фору при оценке массовой аудитории.
Вам не жалко потраченного времени? Хотя, возможно, не было более интересных альтернатив. Как вы относитесь именно к понесённым затратам? А выход на аудиторию — это надежда отбить вложения или «ну хоть как-то использовать»? Опять же — семья, как они реагировали на растрату семейного бюджета? А знакомые?
В общем — интересен более широкий вопрос об особенностях (и смысле) жизни творцов в обществе потребителей.
>> Я работаю со Спрингом уже 6 лет и приходилось решать довольно головоломные задачи. Иногда приходилось лазить в кишки, да. В 1 особом случае из 100. Во всех остальных хватало яндекса и СО.
Да, за 6 лет можно многое изучить. Вот поэтому вам и кажется, что «В 1 особом случае из 100». Я же, когда пробовал это чудо, получил гораздо больше проблем. И именно в начале пути. То есть если бы я усидчиво 6 лет изучал, как мне решить порождённые спрингом проблемы при помощи спринга, то наверняка сегодня я бы их почти все решил. Но я сделал другой выбор — отказался от спринга. Хотя да, поэтому меня нельзя назвать экспертов по нему, ну и к моему мнению можно не прислушиваться. Только вы знаете, потом мне было приятно ощущать отсутствие того самого напряжения, которое я почувствовал при попытке решить простые проблемы при помощи спринга.
>> Без примеров (пока я не увидел не одного) всё это общие слова.
Вам другие участники дали несколько примеров. Там ясно видно — ненужные приседания можно устранить, просто отказавшись от спринга. Разве это не так?
>> Как правило (сужу по своему опыту) человек, лезущий в кишки в 9/10 невнимательно прочитал документацию. А она в Спринге удивительно хороша, покрывает почти все тонкости.
На счёт качества документации — ну не знаю. Вот их сайт, искал на странице с гайдами по ключевому слову «архитектура». Нашёл одну (одну!!!) ссылку, и та — про безопасность. Внимание, вопрос — а где архитектура? Как без понимания архитектуры решать сложные вопросы? И как можно говорить, что «А она в Спринге удивительно хороша», когда там нет информации о самых важных вещах?
>> Опять же накоплен огромный опыт, который позволяет 99 задач из 100 решить одним поисковым запросом.
Опять же — ну не знаю, что у вас там за опыт. Опыт гугления (если речь о нём) приобретается за пару дней. А вот опыт изучения, понимания, и применения на практике информации по спрингу — это нечто большее, для такой задачи 99% решений не нагуглить. Хотя я не знаю, что у вас за задачи. Теоретически, всё то, что на 99% решается гуглением — это тривиальнейшие задачи. Хотя с другой стороны, если вы о поиске способа обхода внезапно возникающих проблем со спрингом, то сама необходимость постоянно гуглить (в 99% случаев) говорит о невозможности как-то осмысленно разобраться с происходящим внутри. И количество ответов по спрингу на СО — тоже свидетельство в пользу сложности сабжа. Там реально миллионы вопросов. Хорошо, что кто-то на них успел ответить, но может было бы лучше, если бы используемая библиотека не предполагала миллионы (!!!) вопросов? То есть не была такой запутанной и непрозрачной. Ну а если она запутанная и непрозрачная — зачем вообще её использовать? Только потому, что миллионы программистов очень часто ходили по этим граблям и смогут ответить на некоторые (не все, даже в вашей практике) вопросы?
В целом повторю своё впечатление — непрозрачно, много возни в нетривиальных случаях, а в тривиальных случаях код получается проще вообще без спринга. Хотя да, есть множество ответов на СО, есть толпа поимевших опыт работы с изделием (неглубокий, чаще всего). Если плыть по течению и стараться быть в толпе — ну ладно, тогда скорее выбор в пользу спринга. Но если понятие «архитектура» всё же важно для вас и вы не готовы постоянно прогибаться под чужой шаблон, по сути отдавая архитектуру на откуп этому шаблону, то я бы вам советовал подумать перед выбором такого инструмента.
Ну а тем, кто «уже 6 лет» и более — да, им остаётся только лишь монетизировать потраченное время путём расширения толпы фанатов. К счастью, меня сия участь миновала.
>> Всё сводится к «спринг плохой потому что потому».
Вам же прямо сказали — чуть в сторону и сразу всё очень плохо. Это что, достоинство?
Нет проектов, где не нужно «в сторону». Просто нет. Детский сад, понятно, исключаем. Поэтому любой, кто погружается в спринг, всегда будет обязан долго и нудно изучать его недра, а потом через известное место подстраиваться под них, просто что бы выполнить поставленную задачу. И это — очень напрягает. Вам нравится? Ну ради бога. Но я вот — не мазохист.
Крайне спорный тезис. То есть в рекламе — да, могут и про скорость и про отсутствие всех на свете проблем написать, но на самом деле, снова повторюсь, ничего такого, чего нельзя сделать средствами обычной Java в этих «лёгких» потоках нет.
Единственный профит — это принятие стандарта на библиотеку (которых уже в количестве), скрывающую от неопытных разработчиков сложность управления потоками. Но стандарт, естественно, крайне плох там, где нужна гибкость. Поэтому и библиотеки останутся, и новые кастомные решения будут. Но при этом из си тянуть какой-то функционал — совершенно никак не оправдано.
>> Используя нативные корутины, можно реализовать легковесные потоки для Java.
А если посмотреть, как работают «легковесные потоки», то окажется, что их можно легко реализовать на Java без вызовов нативного кода. То есть всё украдено до нас, подобные игрушки давно реализованы в виде библиотек и им не нужен натив и C++, поэтому по прежнему совершенно непонятно, зачем в Java эта модная штучка из С++.
И да, полагаться на «легковесность» потоков не всегда правильно. Если нет понимания, как оно работает внутри, то хоть легковесные, хоть какие угодно потоки, могут больно ударить по голове интересными эффектами.
Сам по себе подход «облегчения» программирования при выполнении псевдо-параллельных задач должен выбираться грамотным архитектором, который понимает все «за и против». А просто вносить в массы сумятицу и тренировать использовать непонятный большинству инструмент — это приведёт лишь к очередному витку порождения недалёких, но очень уверенных в своих скиллах программистов. На уровне языка же внедрять подобные штучки нужно ещё осторожнее. При этом стоит помнить, что изначально при разработке Java тоже предполагалось использовать «лёгкие» потоки, но потом, серьёзно подумав, от этого отказались и включили в язык стандартные потоки ОС, что полностью закрыло все потребности, включая потребность в упрощении, которое достигается банальным написанием соответствующей библиотеки. А вот не было бы привычных потоков — Java вообще вряд ли взлетела бы.
Старый и добрый вопрос — а нахрена козе баян? Что можно улучшить в Java дёргая какой-то страшный натив? Вот получить геморой при переносе приложения банально на соседний сервер — это пожалуйста. Сразу вызываем магов с глубоким знанием си, серверной оси, её администрирования и т.д. и т.п. Они долго мучают несчастный сервер. Далее гордо заявляют — можно пробовать! Потом опять ничего не работает, но в итоге, осознавая великую важность глубокого понимания нативных процессов, мы все дружно аплодируем победителям.
Правда сегодня Java как-то обходится без аплодисментов сторонним разработчикам. Даже непонятно, как можно так легко жить? Вот поэтому нам срочно нужны нативные вызовы, ручное управление памятью, указатели, и да, конечно, вставки на ассемблере, а как без них в наше время?
Структура появляется там, где есть закономерность. Поэтому «не структура» есть такое явление, в котором закономерности нет.
Но, с другой стороны, множество закономерностей порождает явления, которые воспринимаются как неструктурированные (случайные). Поэтому следует различать случай отсутствия структуры (закономерности) и нашего незнания о наличии структуры (закономерности). Поскольку мы, в следствии ограниченности мозга, не способны выявлять структуру в результатах наложения большого количества закономерностей, то и само разделение на наличие или отсутствие структуры становится лишь свойством, характеризующим ограниченность нашего мозга. Значит пока мы не видим закономерностей за неким явлением — можно говорить об отсутствии структуры, но обязательно с добавкой — в дальнейшем структура может быть выявлена.
Ну и, если посмотреть чуть дальше, отсюда следует необходимость доказательства отсутствия явлений, определяемых чем-то случайным, то есть не порождаемых никакой закономерностью. Поскольку теория вероятностей всё-таки находит закономерности даже в тех явлениях, которые мы называем случайными, то, весьма вероятно, что случайности в принципе не существует (всё есть продукт наложения закономерностей). Но как это доказать? Хотя технически на данный момент достаточно руководствоваться выше приведённым определением с оговоркой.
За попытку индивидуального сопротивления системе — зачёт!
Но это всё гарантирует вам много потерянного времени и часто — нервов. В конце концов вы сдадитесь и перестанете так работать с целым рядом организаций, просто потому, что их услуги нужны вам постоянно. Для примера — почта, сбербанк, налоговая и т.д. и т.п.
Проблему следует решать кардинально — исключить последствия угрожающей каким-либо образом клиенту обработки персональных данных. Но это большая работа, которая под силу лишь государству, которое в свою очередь, ни разу не собирается хоть как-нибудь работать, не говоря уже о «серьёзно». Ну и очевидный вывод — только другое устройство государства поможет отцу русской демократии…
Поэтому пока остаются лишь паллиативные ходы вроде вашего. Они ничего не исправят глобально, и мало помогут лично вам, потому что негативные последствия использования персональных данных надо сначала выловить, потом доказать, что именно тот банк, в котором вы отозвали согласие, отпустил ваши данные на волю, да ещё и строго не в тот момент, пока ваше согласие действовало (а такой момент был, хоть и краткий). Ну а потом — суд, ничего в нашей стране не гарантирующий. И даже если (о чудо!) суд что-то решит в вашу пользу — ну кто-ж пойдёт напрягать солидный банк? Точнее — как долго и в каком объёме приставы будут зудеть руководству банка на нервы? Крайне вероятно — зудеть вообще не будут, особенно если банк крупный. Но сколько времени и нервов вы убьёте ради такого микроскопического достижения?
Можно идти до конца и постоянно проявлять принципиальность. Да, можно. Но это примерно как бегать со связанными ногами. Хорошо, если у вас времени вагон и вам никогда не нужно торопиться, но разве так бывает?
Отсюда вывод — только коллективные действия, только нацеленные на кардинальное изменение ситуации. Всё остальное — паллиатив, который очень быстро надоест.
Конкретно вам в конкретно сегодняшней ситуации — найти и оплатить учителя. Без оплаты с вами вряд ли будут заниматься. Но отвечаю, по сути, не вам, а всем остальным.
У остальных есть вариант «удача» — встретить интересный текст. Либо, вариант два, изменить общество. Тогда учителя смогут уделить внимание качеству обучения, а общество поможет им «волшебным пинком» (и пряником, разумеется, ибо я не злой и желаю изменений общества в лучшую сторону).
В математике есть гораздо более лёгкие пути, нежели те, которыми заставляли ходить почти всех современных математиков. И они привыкли. А теперь вот — поучают остальных, мол только через задний проход вы можете удалять гланды, и никак иначе! Доказано математикой (с).
Да вы не нервничайте, ваша склонность к свободе самовыражения не пострадает. Единственный важный момент, который вы упустили, это напоминание о свободе творчества за свой счёт, а не за счёт налогоплательщиков. То есть самовыражайтесь сколько угодно, но в официальную науку — ну не надо.
Хотя с другой стороны, в статье вполне конкретно указано — математики не читали креатив Лурье, но заметьте — это не помешало ему самовыражаться. Единственная проблема — кто оплачивал ему такой праздник жизни. Вот нет бы, по стопам Ферма, долгими зимними вечерами да в свободно время порождать гениальные творения. Но нет, без зарплаты, почему-то, математика не рождается. С чего бы это, а?
Почти шутка, но тем не менее, в ней есть доля истины.
Математика развивается хаотично, и в этом её проблема. Поясню на IT-примерах. Программисты каждый день ваяют новые фреймворки, каждый раз пытаясь в своём новом велосипеде решить старые как мир задачи по новому. И каждый раз автор поделия очень гордится величием достижений. Но на практике все достижения обычно умещаются в пару строк при использовании, а всё остальное — просто мусор из головы автора. Хотя чаще новые креативы вообще никто не замечает.
И точно так же в математике. Там ведь полная свобода, не правда ли? Вот и творят креатив. И да, разница с программированием большая — математики доказывают, что их креатив строго соответствует канонам математических доказательств. Но в обоих случаях польза от креатива бывает весьма скромной, а количество использующих — ещё скромнее.
Не скажу, что креатив математиков бесполезен, ведь и креатив программистов, как минимум, расширяет личный опыт автора, то есть какая-то польза есть всегда. Но в программировании всё же есть более обоснованный критерий разумности — польза для той конторы, на которую работает программист. Эта польза и не даёт возвышаться в безумные дали и отрываться таким образом «от коллектива». У математиков же нет никаких разумных ограничений. Поэтому можно взять некую мысль, поставить справа вторую и заявить — это… (далее следует некий латинизм со множественными возможными ассоциациями), затем можно добавить третью мысль, но уже сверху, потом увидеть в этом всём теорию множеств и само множество (в котором аж три элемента!), затем нужно прикрутить к изделию алгебру, которая сразу сделает набор мыслей крайне математичным и позволит записывать мысли о мыслях в виде алгебраических выражений типа М'+М=М". И действительно, если расшифровать значки справа над буквой М, то всем станет ясно, что в результате действительно получится ровно две буквы М, что и отражают наши замечательно подходящие к ситуации и очень удачно выбранные значки. Теперь дело за малым — нужно формально доказать, что количество М после применения к ним оператора + будет соответствовать именно двум штрихам, а не одному, и не трём. Вот какая прекрасная и полная глубоких смыслов получилась теория! Что? Вы не знаете как её применить? Да вы же не прочитали все 1000 страниц доказательств! Вот и не поняли ничего.
В общем математикам нужен архитектор, или тимлид, который бил бы по рукам за ковыряния в носу, ну и концентрировал усилия на чём-то более полезном с практической точки зрения. А то-ж несчастные уравнения Навье-Стокса уже сколько столетий так и не решены?
Коротко — подстраиваться. Хотя ещё есть вариант найти некое подразделение «перспективных разработок», где думают именно на перспективу. Но обычно под этой вывеской сидят зазнавшиеся бездельники и думают они лишь о том, как бы позабористей навешать лапши начальству.
В более реалистичном случае нужно просто неторопливо писать «правильные» библиотеки для себя, отбирать «правильные» готовые решения. В сумме получится приятная для существования экосистема. Но если придётся менять работу, то сразу наступит этап купания в ледяной проруби со всеми этими забавными игрушками, с которыми нужно разбираться и, самое главное, самому себя заставлять хлебать это гуано полной ложкой.
Ну и стоит заметить, что так же было бы неплохо научиться разделять фреймворки на «отстой» и «более или менее». То есть часто встречаются совершенно безумные поделия, но иногда можно найти что-то полезное, правда в обмен на полезности придётся мириться с некоторыми изысками авторов, которые могут не понравиться. Из второй категории можно постепенно выбрать инструменты для более глубокого ознакомления и длительного использования. Но опять же — на новой работе это всё может оказаться невостребованным.
А вообще, боль разработчиков по поводу «ну почему всё так убого» — разделяю. Хотя и объяснение давно известно — таков мир, который ни разу не идеален. Общее решение скорее должно касаться нахождения вашего личного места в этом мире.
Была здесь совсем недавно статья про изучение английского. Там честно сказано — от вас потребуется много работы и года 3-4 для более или менее вменяемого (всё ещё не нативного) уровня. И вот сейчас мы видим статью про «архитектуру за пару дней». Ну, вывод, мне кажется, очевиден.
Конструирование автомобиля предполагает знание математики, механики, физики, электроники, эргономики и даже дизайна, и всё это — в объёме не менее институтского курса. Почему программирование, да ещё принятие решений на уровне архитектуры (аналог разработки автомобиля) считается допустимым давать вот так за пару статей? При чём в статьях ни слова о программировании (математике, физике, механике и т.д.), сразу учат проектировать себе машину. Точнее не учат, а повторяют парочку определений из википедии, ну и вот вам целая статья.
Почему в программировании много начинающих и мало опытных разработчиков? Может потому, что массово учат именно вот так?
А зачем добиваться от убитого гуглами продукта работоспособности за свой счёт? Не проще ли выкинуть это поделие на помойку и поставить нормальный браузер?
Мода следования за гуглами до хорошего не доведёт.
Если добыча всё же случится, то делить ведь точно придётся. Я надеюсь на добычу. А если не надеяться, то на охоту вообще ходить не нужно.
ЗЫ. Сайт опять ступил — вместо ответа получилась добавка сообщения в конец списка.
Правда всё же останется вопрос — а как отбирать «шедевры»? Если просто «лайками», то как вообще заинтересовать вменяемых людей просмотреть всё, что натворили созидатели? Творений же много, и каждое нужно внимательно просмотреть, оценить. Опять получится каша, где выбор будет таким же случайным, как и сейчас. Хотя на уровне государства, всё же, наверняка этот вопрос можно решить, но я глубоко здесь не копал.
Да, надежда умирает последней.
Но большинство стартапов (читай — энтузиастов) умирают так и не получив прибыль. Скорее всего эта же судьба ждёт вас. Неприятно, даже говорить об этом не хочется, но это факт. Не убивайте гонца с плохой вестью.
Многие пробовали в жизни что-то создать, а потом как-то это использовать. Ну и основная судьба — повесить на стенку и иногда вспоминать. Может ещё знакомым показать. И всё.
Хотя с другой стороны, в каждом таком случае есть какое-то рациональное зерно. Если научиться эти зёрна выделять и умело проращивать — всем будет лучше. Можно попробовать на вашем примере — какое рациональное зерно есть в вашем творении? Рациональное здесь включает, в том числе, нечто иррациональное, то есть основанное на эмоциях, но в итоге порождающее удовлетворение, радость, или ещё какую-то ценность для получателя. А ценность — это до безумия рационально, на этом держится весь маркетинг (впаривают эмоции).
Более общий вопрос — как организовать систему выявления и удобрения зёрен?
Но вообще, тратить столько времени и денег на хобби, которое вряд ли принесёт какой-то доход, это не вполне обычно. А вот желание продвинуть своё творение — вполне обычное. И в этом у вас шансов больше, чем у тех, кто занимается распространёнными хобби. Так, фотографы-любители встречаются с мощнейшей конкуренцией со стороны миллионов им подобных, ну и профессионалов. А вы же имеете в конкурентах только профессионалов, что даёт вам фору при оценке массовой аудитории.
Вам не жалко потраченного времени? Хотя, возможно, не было более интересных альтернатив. Как вы относитесь именно к понесённым затратам? А выход на аудиторию — это надежда отбить вложения или «ну хоть как-то использовать»? Опять же — семья, как они реагировали на растрату семейного бюджета? А знакомые?
В общем — интересен более широкий вопрос об особенностях (и смысле) жизни творцов в обществе потребителей.
Да, за 6 лет можно многое изучить. Вот поэтому вам и кажется, что «В 1 особом случае из 100». Я же, когда пробовал это чудо, получил гораздо больше проблем. И именно в начале пути. То есть если бы я усидчиво 6 лет изучал, как мне решить порождённые спрингом проблемы при помощи спринга, то наверняка сегодня я бы их почти все решил. Но я сделал другой выбор — отказался от спринга. Хотя да, поэтому меня нельзя назвать экспертов по нему, ну и к моему мнению можно не прислушиваться. Только вы знаете, потом мне было приятно ощущать отсутствие того самого напряжения, которое я почувствовал при попытке решить простые проблемы при помощи спринга.
>> Без примеров (пока я не увидел не одного) всё это общие слова.
Вам другие участники дали несколько примеров. Там ясно видно — ненужные приседания можно устранить, просто отказавшись от спринга. Разве это не так?
>> Как правило (сужу по своему опыту) человек, лезущий в кишки в 9/10 невнимательно прочитал документацию. А она в Спринге удивительно хороша, покрывает почти все тонкости.
На счёт качества документации — ну не знаю. Вот их сайт, искал на странице с гайдами по ключевому слову «архитектура». Нашёл одну (одну!!!) ссылку, и та — про безопасность. Внимание, вопрос — а где архитектура? Как без понимания архитектуры решать сложные вопросы? И как можно говорить, что «А она в Спринге удивительно хороша», когда там нет информации о самых важных вещах?
>> Опять же накоплен огромный опыт, который позволяет 99 задач из 100 решить одним поисковым запросом.
Опять же — ну не знаю, что у вас там за опыт. Опыт гугления (если речь о нём) приобретается за пару дней. А вот опыт изучения, понимания, и применения на практике информации по спрингу — это нечто большее, для такой задачи 99% решений не нагуглить. Хотя я не знаю, что у вас за задачи. Теоретически, всё то, что на 99% решается гуглением — это тривиальнейшие задачи. Хотя с другой стороны, если вы о поиске способа обхода внезапно возникающих проблем со спрингом, то сама необходимость постоянно гуглить (в 99% случаев) говорит о невозможности как-то осмысленно разобраться с происходящим внутри. И количество ответов по спрингу на СО — тоже свидетельство в пользу сложности сабжа. Там реально миллионы вопросов. Хорошо, что кто-то на них успел ответить, но может было бы лучше, если бы используемая библиотека не предполагала миллионы (!!!) вопросов? То есть не была такой запутанной и непрозрачной. Ну а если она запутанная и непрозрачная — зачем вообще её использовать? Только потому, что миллионы программистов очень часто ходили по этим граблям и смогут ответить на некоторые (не все, даже в вашей практике) вопросы?
В целом повторю своё впечатление — непрозрачно, много возни в нетривиальных случаях, а в тривиальных случаях код получается проще вообще без спринга. Хотя да, есть множество ответов на СО, есть толпа поимевших опыт работы с изделием (неглубокий, чаще всего). Если плыть по течению и стараться быть в толпе — ну ладно, тогда скорее выбор в пользу спринга. Но если понятие «архитектура» всё же важно для вас и вы не готовы постоянно прогибаться под чужой шаблон, по сути отдавая архитектуру на откуп этому шаблону, то я бы вам советовал подумать перед выбором такого инструмента.
Ну а тем, кто «уже 6 лет» и более — да, им остаётся только лишь монетизировать потраченное время путём расширения толпы фанатов. К счастью, меня сия участь миновала.
Вам же прямо сказали — чуть в сторону и сразу всё очень плохо. Это что, достоинство?
Нет проектов, где не нужно «в сторону». Просто нет. Детский сад, понятно, исключаем. Поэтому любой, кто погружается в спринг, всегда будет обязан долго и нудно изучать его недра, а потом через известное место подстраиваться под них, просто что бы выполнить поставленную задачу. И это — очень напрягает. Вам нравится? Ну ради бога. Но я вот — не мазохист.
Единственный профит — это принятие стандарта на библиотеку (которых уже в количестве), скрывающую от неопытных разработчиков сложность управления потоками. Но стандарт, естественно, крайне плох там, где нужна гибкость. Поэтому и библиотеки останутся, и новые кастомные решения будут. Но при этом из си тянуть какой-то функционал — совершенно никак не оправдано.
А если посмотреть, как работают «легковесные потоки», то окажется, что их можно легко реализовать на Java без вызовов нативного кода. То есть всё украдено до нас, подобные игрушки давно реализованы в виде библиотек и им не нужен натив и C++, поэтому по прежнему совершенно непонятно, зачем в Java эта модная штучка из С++.
И да, полагаться на «легковесность» потоков не всегда правильно. Если нет понимания, как оно работает внутри, то хоть легковесные, хоть какие угодно потоки, могут больно ударить по голове интересными эффектами.
Сам по себе подход «облегчения» программирования при выполнении псевдо-параллельных задач должен выбираться грамотным архитектором, который понимает все «за и против». А просто вносить в массы сумятицу и тренировать использовать непонятный большинству инструмент — это приведёт лишь к очередному витку порождения недалёких, но очень уверенных в своих скиллах программистов. На уровне языка же внедрять подобные штучки нужно ещё осторожнее. При этом стоит помнить, что изначально при разработке Java тоже предполагалось использовать «лёгкие» потоки, но потом, серьёзно подумав, от этого отказались и включили в язык стандартные потоки ОС, что полностью закрыло все потребности, включая потребность в упрощении, которое достигается банальным написанием соответствующей библиотеки. А вот не было бы привычных потоков — Java вообще вряд ли взлетела бы.
Правда сегодня Java как-то обходится без аплодисментов сторонним разработчикам. Даже непонятно, как можно так легко жить? Вот поэтому нам срочно нужны нативные вызовы, ручное управление памятью, указатели, и да, конечно, вставки на ассемблере, а как без них в наше время?
Но, с другой стороны, множество закономерностей порождает явления, которые воспринимаются как неструктурированные (случайные). Поэтому следует различать случай отсутствия структуры (закономерности) и нашего незнания о наличии структуры (закономерности). Поскольку мы, в следствии ограниченности мозга, не способны выявлять структуру в результатах наложения большого количества закономерностей, то и само разделение на наличие или отсутствие структуры становится лишь свойством, характеризующим ограниченность нашего мозга. Значит пока мы не видим закономерностей за неким явлением — можно говорить об отсутствии структуры, но обязательно с добавкой — в дальнейшем структура может быть выявлена.
Ну и, если посмотреть чуть дальше, отсюда следует необходимость доказательства отсутствия явлений, определяемых чем-то случайным, то есть не порождаемых никакой закономерностью. Поскольку теория вероятностей всё-таки находит закономерности даже в тех явлениях, которые мы называем случайными, то, весьма вероятно, что случайности в принципе не существует (всё есть продукт наложения закономерностей). Но как это доказать? Хотя технически на данный момент достаточно руководствоваться выше приведённым определением с оговоркой.
Но это всё гарантирует вам много потерянного времени и часто — нервов. В конце концов вы сдадитесь и перестанете так работать с целым рядом организаций, просто потому, что их услуги нужны вам постоянно. Для примера — почта, сбербанк, налоговая и т.д. и т.п.
Проблему следует решать кардинально — исключить последствия угрожающей каким-либо образом клиенту обработки персональных данных. Но это большая работа, которая под силу лишь государству, которое в свою очередь, ни разу не собирается хоть как-нибудь работать, не говоря уже о «серьёзно». Ну и очевидный вывод — только другое устройство государства поможет отцу русской демократии…
Поэтому пока остаются лишь паллиативные ходы вроде вашего. Они ничего не исправят глобально, и мало помогут лично вам, потому что негативные последствия использования персональных данных надо сначала выловить, потом доказать, что именно тот банк, в котором вы отозвали согласие, отпустил ваши данные на волю, да ещё и строго не в тот момент, пока ваше согласие действовало (а такой момент был, хоть и краткий). Ну а потом — суд, ничего в нашей стране не гарантирующий. И даже если (о чудо!) суд что-то решит в вашу пользу — ну кто-ж пойдёт напрягать солидный банк? Точнее — как долго и в каком объёме приставы будут зудеть руководству банка на нервы? Крайне вероятно — зудеть вообще не будут, особенно если банк крупный. Но сколько времени и нервов вы убьёте ради такого микроскопического достижения?
Можно идти до конца и постоянно проявлять принципиальность. Да, можно. Но это примерно как бегать со связанными ногами. Хорошо, если у вас времени вагон и вам никогда не нужно торопиться, но разве так бывает?
Отсюда вывод — только коллективные действия, только нацеленные на кардинальное изменение ситуации. Всё остальное — паллиатив, который очень быстро надоест.
У остальных есть вариант «удача» — встретить интересный текст. Либо, вариант два, изменить общество. Тогда учителя смогут уделить внимание качеству обучения, а общество поможет им «волшебным пинком» (и пряником, разумеется, ибо я не злой и желаю изменений общества в лучшую сторону).
В математике есть гораздо более лёгкие пути, нежели те, которыми заставляли ходить почти всех современных математиков. И они привыкли. А теперь вот — поучают остальных, мол только через задний проход вы можете удалять гланды, и никак иначе! Доказано математикой (с).