хм, не понимаю, зачем делать кучу костылей, да еще и несекурных, если проблема же по Вашим же словам решается вполне цивилизованно? («ProFTPD вполне умеет все, что мне нужно. Просто было лень мигрировать.»)
В чем Вы видите глупость? Что учиться в хорошем вузе — это глупость? Ну я ничего не говорю, веб-странички и без образования ваять можно, оно даже вредно, также как дворнику вредно уметь считать зарплату. Самообразование дает вам обычно узконаправленное образование, а не всесторонее, а сам человек, если его сильно не пинают, и не хочет образовываться по многим направлениям. А потом как попадает в незнакомую область — и все, приехали — ни пикнуть, ни ручкой пошевелить. Зато, как ни странно, мне лично очень сильно помогают аналогии в программированиии из других областей — той же физики, химии, механики и т.п. — сначала кажется странным, ан нет, все в мире связано. Хотя, занимаясь самообразованием в программировании, Вы вряд ли полезете в теормех или теорию сплавов. А в реалии, как известно, все открытия делаются на стыке наук. Так что на самообразовании Вы можете получать большую ЗП, не спорю, а что-то более масштабное сделать уже очень сложно. И вот тут и встает выбор — а оно вам надо или нет.
Непрофильное — это тоже образование. Ведь в ВУЗах даже для айтишников есть физкультура — уж куда как непрофильное ;) Оно не только дает знание, какую кнопку на компе нажать, но и много всего еще, и это важно.
Где находил? Вы пост читали? «сис. админ, 12 тыс. / мес»
И толку от обучения, если поступать так, как Вы предлагаете «и работаешь, работаешь и еще раз работаешь» — на учебу времени не будет. А для галочки если — то проще купить. Вопрос в том, что хочется получить — образование или бумажку. Я в свое время и на очном учился, и работал — и не жалею об этом, хотя конечно на учебу уйма сил уходила.
К сожалению у тетради есть минусы:
— это еще одна вещь, которую надо носить с собой,
— заметку, сделанную в тетради, потом еще где-либо использовать невозможно — или ее приходится фотографировать
«user@facebook.com — это уже уникальное имя» — неверное утверждение :)
А вообще кто сказал, что усер завтра не сменит свой емайл? Что будете делать? Вот сегодня я с фейсбука зарегался, а тут вдруг решил, что заведу-ка отдельный емайл для этого сайта и захочу его поменять в настройках. И в вашей схеме возникнут проблемы.
Не привязывайтесь к внешним якобы уникальным ИД — это приведет к гимору в будущем. Вы можете только гарантировать уникальность ИД в своей системе — вот их и используйте.
Ну если добавляется новая система — все равно надо создавать алгоритм работы с ней, соотвествующий класс. И не проблема создать и табличку, нужную для этой системы. Можно вынести похожие поля для систем в одну табличку, а для конкретной системы, если надо, то добавлять специфические поля в отдельной таблице. Я реализовывал похожий механизм в других целях — там подсистема ставилась отдельным плагином и ставила свой код обработки, свои таблички и настройки и прописывалась в списке подсистем. После этого она становилась доступной и вписывалась в общий механизм работы.
Плюс — универсальность и расширяемость. Реализуцется общий механизм, а каждая подсистема реализует только ей свойственный функционал без затрагивания остального. Систем можно реализовать сколько угодно и делать это по мере надобности.
Вас не смущает, что для того, чтобы «выполниться только часть после WHERE», то ИД так или иначе надо получать, не? Если же Вас так сильно волнуют затраты на «SELECT ID», то выше предлагалось «SELECT 1» или «SELECT COUNT».
А вообще, если уж смотреть на ситуацию в реалиях жизни, то EXPLAIN — это средство для оптимизации и отладки и только, но никак не для продакшн-запросов. Использовние EXPLAIN для других целей есть грязный хак и конечном счете приведет только к проблемам.
Проверить, существует ли совпадение, без выборки невозможно. Это понятно или нет? Как вы проверите, есть ли запись с ИД=2, если не посмотрите, какие записи у Вас есть? EXPLAIN покажет, будет ли полный перебор, или будет использоваться индекс, прочие _способы_ запроса, но он никоим образом не даст ответ на вопрос, есть ли запись с ИД=2 без выполнения самого SELECT.
Заинтересовал момент про докачку при обрыве связи, попался интересный вариант. Может он в данном случае и не нужен или не сработает, но на будущее мож кому пригодится.
Я как-то уже пробовал так вот прогонять «на всякий случай»… ага, оно уперлось на каких-то битых секторах и елозило по ним несколько часов. Итог — диск оно замусолило так, что пришлось выкидывать — перестал читаться даже там, где все было хорошо.
Так шо наверно-таки может и стоит что погонять, но только бэкапы прежде всего, даже если Вы собираетесь проверять секторы только на чтение… а то есть вероятность зачитать до дыр.
С оракла переходить на постгрес или mysql как-то не тянуло :)
С переименованием проблем не припомню, у нас на эту тему дока была — как правильно что называть, и проблема просто отсутствовала (хотя, по всей видимости дока появилась, когда проблема все-таки была). И да, дока была актуальной, это действительно редкость в наше время.