А чо тут было!
Jan. 14th, 2017 05:24 pmЯ, кажется, влип - на территорию, для которой у меня нет "карт" и "путеводителей". Ааааа, страшно! Я в этом не разбираюсь совсем, и наработок у меня нет(
Я, кажется, влип - на территорию, для которой у меня нет "карт" и "путеводителей". Ааааа, страшно! Я в этом не разбираюсь совсем, и наработок у меня нет(
no subject
Date: 2017-01-14 02:40 pm (UTC)no subject
Date: 2017-01-14 08:21 pm (UTC)no subject
Date: 2017-01-15 12:49 pm (UTC)no subject
Date: 2017-01-15 01:40 pm (UTC)no subject
Date: 2017-01-14 02:48 pm (UTC)Главное - через несколько месяцев, наработав наработки и собрав основные грабли, не ужасаться на саму себя, оглядываясь назад :-)
no subject
Date: 2017-01-14 08:21 pm (UTC)no subject
Date: 2017-01-14 08:52 pm (UTC)Короче, история такая.
Процессоры интел исторически являются процессорами вида CISC (с системой команд вида "много разных и сложных"). Технически оказалось выгодным на ходу разбирать "сложные" команды на набор более мелких "простых", и во внутренний конвейер на выполнение пихать уже их - заодно с учётом всякой оптимизации вида "эта команда выполняется 2.5 такта, следующая использует результат первой, поэтому мы её запихнём со сдвигом на 2.5, а вот третья от них не зависит, и её мы вставим между ними, место есть". В результате в центре процессора с безумной скоростью (для P-IV - с удвоенной тактовой частотой) крутится конвейер, по которому на выполнение передаются "мелкие" команды.
Часто получается так, что к моменту выполнения команды ещё не доступны все операнды - типичная ситуация "мы ждали данные из кеша, но их там нет, пришлось запросить память". На проверку того, а готова ли вообще команда к выполнению, тратились бы лишние такты, поэтому команда выполняется в любом случае, параллельно с выполнением - проверяется, а не зря ли мы её выполнили, и если оказалось что зря - команда "отправляется на второй круг" - в специальное "кольцо", через N тактов забрасывающее её обратно на вход конвейера. В то же кольцо отправляются все команды, использующие результат первой - потому что они тоже "выполнились неправильно" - без входных данных.
То есть, оказалось что эффективнее выполнять "ненужную" работу, и "исправлять" её, если она оказалась выполнена неверно, чем выполнять только то что нужно и делать это только правильно.
А из этого проистекает одно из правил менеджмента: лучше, если сотрудники будут чем-то заняты (пусть даже какой-то фигнёй), чем если они будут бездельничать - "фигня" в принципе может и пригодиться, а безделье - точно нет. Опять же, опыт нарабатывается.
И из этого же проистекает Жызненная Мудрость: если ну вообще не знаешь что делать (куда идти, какое решение принять, каким методом решать какую-то задачу) - лучше делать ну хоть что-то: даже если это действие непосредственно не приблизит к цели, оно даст Опыт ("вот так точно не надо
былоделать") и Знание ("ага, я сделал так, и стало хуже. значит, надо делать наоборот!"). Если же не делать ничего - то, ну, понятно.В-общем, я не знаю на какую именно территорию ты влезла, но возможно имеет смысл делать любые, пусть даже судорожные, движения - а уже по их результатам что-то может быть и прояснится :-)
no subject
Date: 2017-01-14 09:05 pm (UTC)Кстати, в других областях правило "лучше сделать больше и потом исправить" не всегда работает. Более того, часто как раз наоборот, быстрое и неправильное исправлять выходит "дороже" и сложнее, чем подумать и сразу сделать более-менее правильно. Вот у меня со сценами так, например) Переделывать в итоге сложнее и результат выходит хуже, чем если потратить время на обдумывание и некоторую проверку/подготовку сначала.
Про опыт - ну оно по идее так, но... Есть нюансы, как водится. Иного опыта лучше бы и не иметь вовсе (у меня есть такой, от которого я бы с радостью отказалась), а последствия некоторых ошибок бывают слишком серьезны и болезненны. От этого я сейчас и паникую(
no subject
Date: 2017-01-14 09:28 pm (UTC)Ну, и "необратимые действия" (ошибки, которые потом сложно исправлять) тоже бывают, то есть вот это вот, про "делай хоть что-то" - не абсолютный закон, а так, правило, часто полезное, но не абсолютное.
Но тем не менее.
Впрочем, опять же, не зная точной темы - всё это чисто абстрактные рассуждения :-)
А к опыту я отношусь философски: от некоторого опыта я тоже отказался бы, но как правило не потому что он какой-нибудь травмирующий или типа того, а тупо потому что я потратил на это время, а мог бы потратить его на что-то другое. Впрочем, возможно у меня просто не было реально плохого опыта.
---
(*) эти наши программисты, например, знают, что в любой более-менее сложной системе внутри есть куча "скотча и жвачки", которыми подклеивали и затыкали недоработки изначальной системы, избавиться от которых либо дорого (придётся всё переписывать), либо невозможно (требование совместимости). Я читал блог одного товарища из микрософта, там у них иногда очень забавные "хвосты" вылазили... :-)
При этом интересно то, что коммерчески успешные системы начинают зарастать скотчем и жвачкой почти с момента рождения, в отличие от тех систем, что "вроде бы лучше продуманы и красивее устроены, но вот почему-то не взлетели". Потому что пока архитектор идеологически правильной системы разрабатывает структуру будущего сервиса и продумывает детали привлекательного и удобного интерфейса, команда студентов ляпает прототип на PHP и mysql, и активно набирает пользователей - потому что хотя оно и кривое-косое внутри, зато оно уже есть, а кривизну мы потом как-нибудь исправим...
no subject
Date: 2017-01-14 10:51 pm (UTC)Такой опыт, который потеря времени - тоже есть, но он не мучает так, как первый.
Фишка в том, что в области, о которой я веду речь - вероятность ошибок у меня очень, очень большая. И ошибки эти потенциально как раз тяготеют к опыту первого рода :(
no subject
Date: 2017-01-14 10:53 pm (UTC)no subject
Date: 2017-01-14 10:58 pm (UTC)no subject
Date: 2017-01-15 07:00 am (UTC)Но как вообще можно "исправить" какую-то необратимо деструктивную операцию -- например, затирание какого-нибудь регистра? )))
no subject
Date: 2017-01-15 11:49 am (UTC)Интереснее, например, ситуация когда команда пишет по неправильному адресу памяти - это "исправить" так просто уже не получится. Ответа я не знаю, но могу предположить варианты.
Можно в этих случаях всё-таки подтормаживать исполнение пока не будет ясно, что все аргументы валидны - но это вряд ли, всё-таки запись в память штука очень частая, её нужно оптимизировать.
Можно инвалидировать область кэша - запись не идёт непосредственно в память, она сначала ложится в кэш, а уже кэш отправляет её в память, поэтому есть окно времени, в которое можно сказать кэшу "забудь что я сейчас писал, и загрузи это заново из реальной памяти". Но это относительно затратно, потому что сбрасывать/перечитывать придётся не один байт, а целый блок.
А можно, например, задержать - буквально на один такт - "отмашку" на запись: пусть команда выполняется, выдаёт в кэш/память адрес и данные, чтобы они успели "адресовать" на запись соответствующую ячейку, но сигнал "пиши!" выдавать только если команда фактически выполнилась верно. И скорее всего так и делают.
Ещё интересно, если команда пишет что-то в порт ввода-вывода, т.е. "наружу" - тут "исправить" похоже вообще невозможно, "поезд ушёл". Но поскольку ввод-вывод через порты в принципе медленный, тут скорее всего не парятся, и тупо тормозят выполнение команды пока не убедятся в валидности аргументов.
no subject
Date: 2017-01-14 06:32 pm (UTC)Держись тамм!
И спрашивай людеф!
no subject
Date: 2017-01-14 08:22 pm (UTC)no subject
Date: 2017-01-14 09:05 pm (UTC)no subject
Date: 2017-01-14 09:07 pm (UTC)no subject
Date: 2017-01-14 09:09 pm (UTC)no subject
Date: 2017-01-14 09:09 pm (UTC)no subject
Date: 2017-01-14 09:11 pm (UTC)У меня проблема с ориентированием, потому не догадалась.
no subject
Date: 2017-01-14 09:12 pm (UTC)С ориентированием (которое буквальное, на местности) у меня когда как)
no subject
Date: 2017-01-14 09:12 pm (UTC)no subject
Date: 2017-01-14 09:13 pm (UTC)Ну и в данной ситуации оно не поможет(
no subject
Date: 2017-01-15 05:16 pm (UTC)no subject
Date: 2017-01-15 05:25 pm (UTC)no subject
Date: 2017-01-15 06:51 pm (UTC)no subject
Date: 2017-01-15 07:18 pm (UTC)no subject
Date: 2017-01-15 05:29 pm (UTC)no subject
Date: 2017-01-15 05:30 pm (UTC)Шибзд и "влюбиться" - вещи несовместные)
no subject
Date: 2017-01-15 05:33 pm (UTC)Ну а все остальное решаемо. Иди как шла - куда-нибудь да выйдешь.
no subject
Date: 2017-01-15 05:39 pm (UTC)А я правда - ни разу никогда (и не надо).
Но я не согласен, что все остальные проблемы - фигня по сравнению с...
no subject
Date: 2017-01-15 05:53 pm (UTC)no subject
Date: 2017-01-15 05:54 pm (UTC)no subject
Date: 2017-01-15 05:58 pm (UTC)Все остальное в наших руках.
no subject
Date: 2017-01-15 06:05 pm (UTC)no subject
Date: 2017-01-15 06:06 pm (UTC)no subject
Date: 2017-01-15 06:17 pm (UTC)И да, читал я эту эпопею про болезнь и последние макароны, тоже болел на нг. Но я-то совок, у меня всего по два, по четыре, по шесть, по восемь, так что все вышло не так уж страшно. Только просроченные таблетки было страшно глотать, но обошлось.
Вот, кстати, а какой-то план - что делать, если крепко накроет (кирпич на голову упадет) есть? А если нет, то почему?
no subject
Date: 2017-01-15 06:23 pm (UTC)Смотря какой "кирпич". НЗ в виде счета в банке имею и стараюсь пополнять по чуть-чуть (во время "новогодней" болезни я его не трогал, потому как не настолько критичная ситуация была), ну а что еще я могу сделать? Поговорку про соломку помнишь? Вот так оно и есть... Хотя мой внутренний параноик этим не доволен, конечно. И на ряд возможных проблем у меня примерные планы в голове набросаны, но, например, в случае потери зрения... жить мне будет незачем. И в этом есть сложность - у нас в стране эвтаназия не практикуется.
no subject
Date: 2017-01-15 06:34 pm (UTC)А про зрение и эвтаназию не говори даже. Мрачная тема.
no subject
Date: 2017-01-15 06:43 pm (UTC)no subject
Date: 2017-01-15 06:31 pm (UTC)средство от чОрных мыслей
Date: 2017-01-16 07:27 pm (UTC)https://lenta.ru/news/2017/01/16/cidre/
Я когда увидел этот в новостях, то "смиялсо".
Перечитывание "Женитьбы Фигаро" при этом не обязательно :)
Re: средство от чОрных мыслей
Date: 2017-01-16 07:36 pm (UTC)Я, кстати, сидр и пью в НГ (шампунь не люблю), ну кроме этого, когда у меня вообще празднования не случилось.
А что там было в Женитьбе Фигаро? Я вроде читал, но ничего не помню. А может, и не дочитал...
веселящее действо вина
Date: 2017-01-16 08:34 pm (UTC)Про "Женитьбу Фигаро" -- это к Моцарту и Сальери :) Я в литературном виде это дело не берлял, и веселящего действа на себе не испытал. А в виде "Цырюльнега" -- это все слышали, наверное.
Re: веселящее действо вина
Date: 2017-01-16 08:37 pm (UTC)А что Моцарт и Сальери? Они вроде сидра не пили...)
лайфхаки от классегов
Date: 2017-01-16 09:25 pm (UTC)Как известно, Сальери устами "нашего фсего" (тм) советовал Моцарту:
Как мысли черные к тебе придут,
Откупори шампанского бутылку
Иль перечти “Женитьбу Фигаро”».
Я счёл напиток на картинке подходящим заменителем "шань-тяньского", о чём и написал в первом комменте.
Re: лайфхаки от классегов
Date: 2017-01-16 09:27 pm (UTC)А))