All streams
Search
Write a publication
Pull to refresh
5
0

Экспериментальное велосипедостроение

Send message
Насчёт отделения кода от фреймворка и библиотек как раз думал. Раз уж не я один такой, то и сомнения прочь. Спасибо. upd: Сейчас вспомнилось как прошлой осенью очень пожалел, что не делал так.
А с командой печаль. Сейчас, можно сказать, один работаю (если клиента, ПМ и маркетологов не считать). Иногда перед кем-то из удалёнщиков в роли живой документации и справочника «а как тут вот такое сделать?» выступаю, вот и всё взаимодействие. Можно было бы место работы сменить, да не хочется, полюбил уже всё. Так что как всегда всё самому.
Вот я такой разработчик. Два-три года писал почти только на собственном CMF компании, перерос его и больше не хочу с ним работать над проектами «сложнее полугода». До этого пару лет писал либо на всяких вордпрессах, либо на голом php. В ближайшее время собираюсь начать проект на YII2 и немного беспокоюсь о том, что буду сильно велосипедить. Большинство паттернов и антипаттернов описание которых встречал вызывали реакцию «эх, это всё уже описано, а я так долго сам к этому шел через все грабли». К PSR кмк мне просто привыкнуть нужно, тем более, что к некоторым вещам оттуда как раз сам начал приходить.
Но беспокоит то, что не знаю лучших практик и рискую вляпаться. Беспокоит, что не знаю библиотек, расширений и, скажем так, практики их применения т.е. какие там есть неявные проблемы, нужно ли заранее к этому свои обёртки написать или можно считать «верным клинком». Не знаю кода фреймворка «в глубину» и сложности которая стоит за вызовом каждого метода.
Толкового описания таких вещей не попадалось, а сам могу это всё приобретать ещё год-два.
Cпасибо, как раз раннер вечерами пишу.
Вконтакте в 2008-2009 такое творил. Точнее просто вырезал всё, что ему казалось похожим на SQL.
Недавно мне поставили задачу в императивном стиле. В смысле текст задачи был как-бы псевдокодом на русском языке. В итоге я так и не смог понять что нужно сделать т.к. не смог понять, что должно получиться. А мои навыки как раз и заточены на генерацию решений «как сделать чтобы получилось как описано». Пришлось идти и устно расспрашивать, что и зачем должно быть на выходе. Да и в личной жизни слова девушки вида "(не/с)делай то-то и то-то" меня совсем не берут, нужно описать что должно получиться и зачем, только после этого можно давать подробности по «деталям реализации».
Так на видео и не видно никакого вращения. Только мерцание.
Тоже самое. Просто мигающий белый круг с белой точкой по середине.
Для меня с детства небыло особой разницы читать прямой, перевёрнутый или отзекаленный текст (не знаю насчёт перевёрнутого и отзеркаленного одновременно). Впервые это заметил в школе, когда списывал с одноклассником чью-то домашнюю работу. Он тогда очень удивился как это я перевёрнутую тетрадь читаю, да ещё и переписываю (не перевёрнуто) одновременно.
Второе подобное «открытие» было на физике, когда началась оптика. Я тогда решил задачу у доски, не используя угольник, но прикладывание оного показало, что он мне и не нужен. Просто потому, что градус угла (не любой, но все кратные, типа 30, 60, 90, 45, 75, 120 и т.п.) вижу очень хорошо, а поворот в пространстве (как и зеркальное отражение) никак на это не влияет.
Не думаю, что у меня какие-то аномалии. Скорее всего это доступно всем и тут дело в каком-то навыке: либо у меня к повороту изображений ещё до распознавания, либо у других более силён навык определения этого самого поворота. Идея несколько странно звучит, но я так думаю потому, что отзеркаленный (на перевёрнутый это у меня не распространяется, поворот совершенно безразличен) текст могу прочесть и не заметить его зеркальность, но вот если уж заметил это до того, как распознать, тут уж нужно приложить некое усилие, чтобы «забыть» об этом знании. И мне кажется именно такое знание и мешает людям читать перевёрнутый или зеркальный текст.
Есть небольшая депрессия (в «химическом» а не психологическом смысле). Но она ощущается скорее как лёгкая усталость (и то усталость не в смысле истощения, а в смысле удовлетворённости, хочется побыть пару дней в спокойствии, без лишней мозговой активности). Вообще то как именно человек ощущает сниженное количество серотонина зависит от «софтверного» психологического состояния. То есть негатива и страданий нахвататься легче, но если для них нет источника или «алгоритмы» у человека их очень удачно обрабатывают (т.е. некоторые раздражители просто не воспринимаются как повод для страданий, что после психоделиков бывает на совершенно удивительном уровне), то страданий и не будет. А вот если человек крайне склонен к позиции «ах бедный я, несчастный» и психоделический опыт ему с этим не помог, то он может и до крайней степени отчаяния дойти. Хотя им и «осенней депрессии» и «плохой погоды» и чего угодно другого будет достаточно.
Как раз недавно продублировал пару методов, чтобы во-первых не городить ещё один класс (в родительский их поместить было бы совсем неправильно), а во-вторых сами классы стали быстрее читаться. Они маленькие и методы в них короткие. Конечно из названий понятно что они делают, но не понятно, например, что они лезут в базу и не кешируют результат, а значит ответственность кешировать ли его (и как) лежит на пользовательском коде. Разумеется можно было бы инкапсулировать кеширование минимум двумя способами (по аргументу или создав обёртки/дочерние классы), но это во-первых ограничивало бы применение кое-каких оптимизаций, а во-вторых маскировало бы «цену обращения» и кто-нибудь обязательно бы начал использовать всё это неправильно, сильно повредив производительности, как уже бывало.
Это я к тому, что действительно нужно искать компромисс между множеством характеристик, нельзя делать из одной главную в ущерб остальным (например отсутствие дублирований превыше всего). А если где-то что-то было корректно тогда, когда оно было сделано, это не значит, что так будет всегда и не исключено, что вышеописанный пример когда-нибудь не потребует ввести эти абстракции и убрать дублирование. Но это же будет уже другая ситуация, возможность которой учтена и это не займёт много времени.
Для этого их придётся прочитать, и соответственно, состояние нарушить.
Так, так, так. У меня почти все симптомы на лицо, но с работой я это как-то не связывал (хотя и видел в качестве решения правильные вещи, такие как отпуск и спорт). А виной всему «дедлайн через неделю» в течение нескольких месяцев. И «работа» по 12 часов, иногда без выходных. Даже развлечения и секс на фоне этого стали тягостной обязанностью. Нужно внимательнее к этому всему отнестись.
Спасибо, возможно статья предотвратила необратимое.
Эх. А ведь частенько руки сами набирают что-то типа protected int getNumber() {}. Вообще не очень понятно, почему бы от function не отказаться. Парисить чуть сложнее разве что.
С детства привык считаться левшлой, но сейчас, наверное, тоже амбидекстр. Писать правой действительно получается хуже (хотя писать одновременно правой и левой разные слова с некоторым напрягом, но могу, однако правая борее коряво напишет). При этом рисовать могу одинаково обоими. То есть и у правой может быть «хороший» почерк, но уже не в «текстовом», а в «графическом» режиме. Как буд-то связь речи с моторикой правой руки нарушена. При этом и правый глаз видит менее вербально, т.е. не опредеяя «вот это стол, а вот это стул, он чёрный», а как-бы просто растр, плоскую картинку «как есть», что очень полезно для рисунка, но очень сложно, например, ходить и смотреть только правым глазом (тогда как левым замечательно).
Таким образом лево и право несколько разделены функционально, но без выраженного преимущества одного над другим.

Второстепенные наблюдиения:
Мышку беру в первую попавшуюся руку, где на столе места больше окажется, но если нужна одновременно и мышь и клавиатура, то мышку в правую. Зубы обоими руками чищу, как попало. Сумку скорее всего возьму в левую. На гитаре играю на праворучной (леворучную беру как буд-то в первый раз в жизни).
Недавно как-то случайно научился вращать и жонглировать палкой, хотя никогда вообще не понимал как это (на самом деле просто научился в риалтаймовый режим переходить) и как-то лучше это удаётся правой как раз потому, что именно в правой оказалась та палка в тот момент. Но эта разница минимальна и исчезает если минут 10 попрактиковаться (обоими руками), но там уже начинается связная работа всего тела с перебрасыванием через спину и т.п., так что тут этих различий быть и не должно.
Ещё замечал, что правой рукой делаю более грубые и «опасные» вещи, например взять что-то острое, горячее, ударить объект неизвестной прочности, а левую как-бы берегу.
Не отрицаю, некоторые плюсы от всего этого имеются. Например, многие вещи радикально глубже понимаешь, когда не прочёл их в книжке и принял «вроде умные дяди написали, видимо так и надо», а дошел сам вынужденно, после чего прочёл в той-же книжке (или в чужом коде), всем нутром понимая каждое слово. Это касается как каких-то общих концепций или паттернов проектирования, так и более «конкретных» вещей. К примеру, я не прикасался к ассемблеру пока в порыве велосипедизма не сочинил свою архитектуру микропроцессора (можно сказать эзотерическую) с его эмулятором, после чего любой нормальный ассемблер более чем легко воспринимается и кажется совершенно естественным и даже прекрасным. Тоже стало и с управлением памятью: после того, как под тот-же велосипед захотелось как-то удобнее кодить пришлось соорудить некий язык, который был бы и достаточно удобен и гибок и не слишком сложен в компиляции под мой «процессор». Чуть позже оказалось, что получился очень близкий аналог C, что подтолкнуло к изучению последнего, оказавшегося в моих глазах прекрасным (ибо то, что раньше счёл бы за «странные сложности на пустом месте» на самом деле гениальное сочетание гибкости, удобства и производительности). Что-то подобное происходило и с кодстайлом, архитектурой, ООП, проектированием, и вообще подходом к разработке.
Но. Это всё можно сильно оптимизировать во времени, если строить учёбу по циклу: проблема => решение => проблема. То есть преподаватель показывает проблему. Студент придумывает для неё решение, или несколько. Далее сам находит возможные проблемы, порождаемые собственным решением (а которые не нашел подсказывает преподаватель), придумывает решения этих проблем или решение, лишенное их. Плюс периодически преподаватель дополняет задачу (это может быть и реальный проект), порождая новые проблемы и новые решения. И так пока грабли не начнут за версту чувствоваться. Как мне кажется, должно сработать (и как со всеми моими «изобретениями» оно наверняка давно существует и успешно применяется).
Да, лет в 13 (2003) появился компьютер (вернее «вот тебе куча деталей, не знаем что с ними делать, разберись как-нибудь»), но ни интернета, ни книжек, ничего. А играть в три с половиной игрушки как-то не интересно. Открывал блокнотом каждый файл в системе, пробовал так менять бинарники (потом edit.com'ом реально патчил методом тыка экзешники), нашел среди этого html и методом тыка же научился какие-то странички ваять. Потом попалась книжка «программирование это просто», скопил 80 рублей и купил в Ховрино диск с вижуал бейсиком. Информации в книге катастрофически нехватало, поэтому опять же метод тыка + изучение каких-то примеров идущих вместе со студией. Не знал как выбрать подходящую книгу, поэтому купил несколько книг, смысл которых только сейчас понимаю (но уже неактуально).
В итоге около трёх тысячь часов упорства и энтузиазма ушли почти вникуда (тоже всякие калькуляторы, игрушки и вершина тогдашнего мастерства — удалённое управление с подобием ssh через мейл-ру агент). Потом ещё и убедили, что программистом мне не быть ибо домашки по алгебре не делаю. Но оказалось программирование преподают не только программистам, и тут-то обнаружился «скрытый талант» (на самом деле некоторые приобретённые и «забытые» навыки) и понеслась. Однако до сих пор нехватает образования, ибо дальнейшее образование было практически тем же методом ковыряния, проб и ошибок. С набиванием одних и тех же шишек снова и снова. В итоге сам приходил к каким-то правильным вещам, которые, как оказалось, уже давным давно описаны и вообще совершенно стандартный подход.
А дали бы мне тогда пару хороших книжек, а потом ещё пару (не говорю уже о программировании в школе и т.п.) и нынешний «уровень» был бы у меня уже к первому-второму курсам, а не к 26 годам.
Напомнило аниме A Tale of Memories. Там девочка попала под машину и получила ретроградную амнезию. Забывала всё, что было последние 10 или около того часов (и становилась собой на момент перед аварией: «почему я выросла, где мой глаз» и т.п.), поэтому, что-бы как-то жить вела и постоянно перечитывала дневник. Однако в итоге у неё жизнь неплохо сложилась, пусть и с такими особенностями.
На моей памяти впервые меня тряхануло током в четыре или пять, когда проснувшись раньше всех увидел за кроватью разломанную розетку и просунул к ней руку. Больно небыло, только испугался такого сильного неожиданного воздействия (не знаю на самом деле как описать, сравнить несчем, разве что с судорогой, но быстро вибрирующей, боли никакой, ожогов или ещё чего тоже ни разу небыло). Потом ещё иногда повторялось при экспериментах с электричеством (не любил «работать» с 220 за «чудеса» при любой неосторожности, но батареек чаще всего небыло, а всякие блоки питания не сразу догадался использовать). Очень мне нравилось, что на шестом этаже у кого-то был звонок выломан и можно было звонить, замыкая провода рукой и даже через руку. Там видать ток поменьше получался и было прикольно. Потом ещё отцовскую фотовспышку из под ванной достал, вспышку оттуда убрал, а вот здоровенный конденсатор с зарядкой к нему очень радовал возможностью делать короткие замыкания без выбивания автомата и ругани. На себе его хотелось испытать, но инстинктов я слушался, а они говорили «вот это уже за гранью». Поэтому ограничился кактусом. Единственную боль связанную с электричеством испытал, когда в третьем классе мама одноклассника увидела, как я на стройке свет включаю замыканием оголённых проводов (там провода серьёзные были, руками не трогал, а куском асфальта их друг к другу прижимал) и рассказала всё родителмям :)
Сейчас понимаю, что каким-то образом интуитивно чувствовал, где норм, где можно, только осторожно, где нужны защитные меры, а что даже трёхметровой палкой трогать не надо (контактный провод троллейбусной линии, ЛЭП, всё что примыкает к трансформаторам и вообще создаёт вот это противное чувство в черепе).
Я знаю физику :) Но намного раньше, года в два ещё, я узнал, что не всё обязательно так, как говорят, верить только себе можно и то перепроверять надо.
Оффтоп
Это знание позволило мне наиграться, помимо всякой механики, с огнём, электричеством, химией и с биологией. С биологией в основном над растениями, мухами, тараканами, но иногда и над собой (теперь сам взрослый и не понимаю, как не получил анафилактического шока, когда в пятилетнем возрасте каждый день делал себе уколы дрожжей, чтобы узнать что из этого получится). Проблемы если и были то от «безвыходных» ситуаций, когда например нечем было проверить кислотность осадка, выпавшего после гидролиза свинцовыми электродами, а язык-то всегда при себе (помучался несколько дней и норм). Потом по этим предметам до окончания школы, пиная балду, получал почти одни пятёрки, ибо на интуитивном уровне всё очевидно было, а формулу какую и на шпору записать можно. «Ваня, иди врачом», «Ваня, иди инженером». «Ваня, не иди программистом, ты математику не знаешь» (а вот этому я зачем-то поверил, отучился на дизайнера, послал всё к чертям и кое-как «переучился обратно»).
В первом классе с отцом поссорился потому, что пытался сделать динамо-машину из моторчика от машинки, а он мне доказывал что это невозможно и всё потому что у меня ещё физики в школе нет. А мне было очевидно, что он бред несёт (тогда же я вступал в споры с одноклассниками, которые говорили «взрослые никогда не врут», на что я им отвечал, что это взрослые им так сказали). В итоге у меня всё получилось, но он мне даже не поверил. Во втором классе сам вполне нормально провёл на балкон проводку и сделал розетку, чтобы втихаря дрелью, циркуляркой и точильным камнем пользоваться. Без них уже никак нельзя было делать свои «изобретения». А конструировал-то очень крутые штуки, мне бы сейчас столько времени и энтузиазма. К тринадцати годам всё это действительно вошло в небезопасное русло (даже технику безопасности на собственном опыте составил) и, наверное, закончилось бы в милиции, но тут мне купили компьютер, а это уже совсем другая история.

Про ложь взрослых в данном контексте имелось в виду во-первых моё детское убеждение (впрочем теперь ещё больше в этом убеждён, хотя и относительно совсем других областей), во-вторых конкретно насчёт того, что «электричество тебя обязательно убьёт», в-третьих упомянуто с тем, чтобы было понятно как это маленький ребёнок безнаказанно такими делами занимался, да ещё и вырос жив-здоров, своих скоро заведёт.
Совсем оффтоп
Понятное дело, что родители протупили и просто запрещали экспериментировать, вместо того, чтобы помочь со знаниями, инструментами и материалами, которых всегда не хватало и почти все реальные опасности происходили в попытках добыть их самому, да ещё и тайно.
В в дошкольные годы иногда «проверял» языком место кроны девятивольтовый адаптер от денди (использовал его как «вечную» батарейку для своих экспериментов). Чаще всего ощущения были как от кроны, но немного сильнее. Но иногда всё зрительное поле заливалось сплошным ярким белым светом. Потом несколько минут сидел неподвижно, сильно колотилось сердце и учащалось дыхание. Но всё-равно не боялся всего этого делать, ибо всю лож взрослых осознал много раньше, когда оказалось что 220 воль, проходящих через руку, ничего страшного из себя не представляют, небольшой испуг в сочетании с восторгом очень необычных ощущений. Главное было чтобы взрослые не узнали.

Information

Rating
Does not participate
Registered
Activity