На то несколько причин, хотя я люблю иногда пописать на чистом php, но все же:
— как писал в статье, такое сделать с нуля займет гораздо больше времени, если только нет заготовки… а заготовка — это уже фреймворк, хоть и самописный.
— зачем писать с нуля что-то написаное до тебя и сделанное довольно не плохо? Чаще всего этого не нужно
— ну и третий пункт про то, что сам скорее всего напишешь абы как и с багами отлично описал FatatPHP, за что большое спасибо
Не думаю что «делать просто — это сложно». Открываете Тильда/Вордпресс/Shopify и усилиями джуниора делаете сайт, а если у этого сервиса чего-то не хватает, значит виноват бизнес в том, что хочет больше чем может. Если перефразировать Конфуция: Благородный бизнес не желает поглотить всю корову, довольствуясь только ее молоком и поэтому кормится от нее годами.
Мне кажется зря вы ставите равно между плохо и просто. Да иногда шаблоны проектирования усложняют кодовую базу, но если такое происходит, то ваш проект уже точно не из разряда простых… может не очень сложных, но и не простых. А на большой (не маленький и не простой) проект нанимать джуниоров без присмотра архитектора и тимлида заведомо провальная идея.
Если меня просят сделать проект для явно маленького оунера я либо отказываюсь, что бы не приходилось бить себя, как вы выражаетесь, по рукам, либо предлагаю «давайте я покажу вам как работать с конструктором сайтов».
Блокчайн — цепочка хэшей и она при правильном продуманном подходе может не плохо гарантировать и что на входе и что на выходе, вот упрощенный пример как можно построить создание каждого хэша:
concat(hashFunc(concat(prev_hash, date, id, fingerprint, result)), date), где
prev_hash — предидущий хэш,
date — дата и время голосования,
id — номер паспорта или другого документа удостов. личность,
fingerprint — представление отпечатка пальца пользователя в виде строки,
result — за кого/что голосовал.
Правда это, все же, не решит ряд проблем: начиная от соответствия заявленной публично функции хэширования и реально реализованной программистами (частично решается опенсорсностью ПО), до того как будут этим пользоваться… еще проблема перехвата fingerprint и id: если это произойдет, то можно будет довольно легко определить за кого/что голосовал человек…
«позволяет кандидату разобраться с трекером, который используется в компании» — вообще, нужно начинать с этого, чтобы отсеять почти всех кандидатов не тратя на них время
проект коммерческий, кода я не могу выложить, я даже немного постеснялся углубляться в код и его листинги по этой же причине, но теперь из комментариев понимаю, что стоило все же подробнее описать что было и что я сделал.
Коллега поделился радостью от творчества, а мы его в минуса, да ещё и комментами по мордасам.
Да, думаю, мне стоило подробнее расписать техническую сторону вопроса. По вашему мнению мне стоит написать вторую статью, в которой будет разбор кода, что было и что сделал?
По сути, там Интерфейс не нужен, если говорить о том коде, что сейчас есть. Но есть пару нюансов: это первый проект на Го и я пробовал все, в том числе и Интерфейсы; предполагается, что еще появятся методы для работы по сети и типа Интерфейс про запас :)
Забавно, буквально на днях сделал тоже самое, но не описывал в статье. Все таки есть некая метафизическая связь между программистами :)
оставлю это тут
А в чем преводсходство Красной Шапки над Дебиановцами? По тексту заметил снисходительно-пренебрежительный тон по отношению к Убунте, поэтому и возник такой вопрос.
— как писал в статье, такое сделать с нуля займет гораздо больше времени, если только нет заготовки… а заготовка — это уже фреймворк, хоть и самописный.
— зачем писать с нуля что-то написаное до тебя и сделанное довольно не плохо? Чаще всего этого не нужно
— ну и третий пункт про то, что сам скорее всего напишешь абы как и с багами отлично описал FatatPHP, за что большое спасибо
Мне кажется зря вы ставите равно между плохо и просто. Да иногда шаблоны проектирования усложняют кодовую базу, но если такое происходит, то ваш проект уже точно не из разряда простых… может не очень сложных, но и не простых. А на большой (не маленький и не простой) проект нанимать джуниоров без присмотра архитектора и тимлида заведомо провальная идея.
Если меня просят сделать проект для явно маленького оунера я либо отказываюсь, что бы не приходилось бить себя, как вы выражаетесь, по рукам, либо предлагаю «давайте я покажу вам как работать с конструктором сайтов».
concat(hashFunc(concat(prev_hash, date, id, fingerprint, result)), date), где
prev_hash — предидущий хэш,
date — дата и время голосования,
id — номер паспорта или другого документа удостов. личность,
fingerprint — представление отпечатка пальца пользователя в виде строки,
result — за кого/что голосовал.
Правда это, все же, не решит ряд проблем: начиная от соответствия заявленной публично функции хэширования и реально реализованной программистами (частично решается опенсорсностью ПО), до того как будут этим пользоваться… еще проблема перехвата fingerprint и id: если это произойдет, то можно будет довольно легко определить за кого/что голосовал человек…
проект коммерческий, кода я не могу выложить, я даже немного постеснялся углубляться в код и его листинги по этой же причине, но теперь из комментариев понимаю, что стоило все же подробнее описать что было и что я сделал.
Спасибо!
а прикольно сказано то
оставлю это тут