Каукин Игорь @Zanak
Backend и все что с ним связано. Немного — фронт.
Information
- Rating
- Does not participate
- Location
- Новосибирск, Новосибирская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Fullstack Developer
Middle
From 120,000 ₽
Python
PHP
PostgreSQL
MySQL
Golang
Git
Docker
Nginx
Linux
Perl
Для большего количества всегда нужен кто — то, кто в курсе плана мероприятия, где собираемся, куда идем, когда идем, кто чего берет с собой, что еще лучше взять самому, для подстраховки, чтобы все прошло как задумано.
Осудил Навального суд. И только исполнение наказания, или другой суд это может «обнулить». До тех пор Навальный — ВОР.
Ладно бы иконой всего этого безобразия был человек достойный. А так, дважды осужденный за экономические преступления, закоренелый провокатор, и просто нехороший человек.
С nginx Рамблер чуданул. 20 лет не заявлял права, а тут вдруг вспомнил. В топку такие претензии.
Бывшие разрабы из Wargaming сами творцы своих проблем. И судя по тому, что противостояние они проигрывают, не все так однозначно.
Оглядываясь на обе статьи вместе, у меня сложилось впечатление, что автор просто неправильно выбрал инструмент, и теперь очень расстроен, что он оказался не достаточно, для него, универсален.
PS Всех с наступающим новым годом.
Бессмысленно превозносить компилируемые языки за то, что они выполняют проверку всего кода программы в процессе сборки. У скриптовых языков этот момент просто отсутствует.
Бессмысленно превозносить поддержку многопоточности в раст, она конечно круче питонячей, потому что питон изначально не создавался для потоков. Пока vm питона не научат атомарно исполнять его байткод и нормально масштабироваться по ядрам процессора его потоки так и останутся приделанным сбоку.
На счет функциональщины и замыканий — не убедили. Писать в функциональной манере можно, коли пришла такая охота, и кому это интересно, те знают про functools. Другое дело — это вопрос целесообразности. Питон, все таки ОО язык, и профит от чуждой парадигмы, лично для меня, не очевиден.
Финальная ремарка вообще убила: «Зачем-же питонисту Rust». Затем, зачем и все другие компилируемые языки, реализовать то, что сам питон делает плохо, например, распараллелить и/или ускорить какую нибудь задачу.
Главное, при отборе материала, все последовательно, и очень аккуратно изложить.
Скользкие, на мой взгляд, темы:
— магические функции вида __mf_name__(). нужно аккуратно объяснить, что это инструмент взаимодействия со средой исполнения, но ни как не синтаксиса.
— декораторы. инструмент на сколько мощный, на столько и опасный для неокрепшего разума неофита (логика, реализуемая декораторами, может быть весьма раскиданной по пакетам, при всей лаконичности использования и реализации самой декорируемой функции, за декораторами может скрываться весьма нехилая работа).
— метапрограммирование. даже если вы не пишите метаклассы сами, достаточно, к примеру, подтянуть orm, чтобы сбить с толку новичка. необходимо добиваться четкого понимания, что является частью языка, а что реализовано в отдельном модуле программистом и будет исполняться в программе.
На начальном этапе эти темы следует избегать, максимально отодвигая разговор о них.
К JS как к первому языку программирования упреков больше.
Первым приходит на ум: распространенность практики на «чистом» js примерно такая же, как у ассемблера относительно высокоуровневых языков. Даже поклонники old school, как минимум, используют jquery+plugins. Да, без знания js не усвоить весь остальной арсенал, но, на мой взгляд, это hard way, если говорить о первоначальном обучении программированию, когда очень важно не отбить у неофита желание что либо изучать в принципе.
Начертание кода, его читаемость, на мой взгляд, даже если и удобна в написании, крайне не удобна в восприятии непрофессионалом. JS можно вменить тот же упрек, что, в свое время, любили относить к perl: код на этом языке сложно читать, а раз сложно читать, значит сложно и понимать.
С питоном такой финт не работает: питон компилирует модули по мере обращения к ним. Да, можно проверять модуль перед релизом, но это не то, потому что это не сработает. Стоит поменять api пакета, оставив иерархию классов прежней (это можете быть необязательно вы, за вас это может сделать один из авторов, творение которых вы помянули в депсах), и питон снова кувыркнется только при попытке вызова «поломанного» метода (Проверка typehint-а недостаточна).
Чем подход rust в обработке ошибок, например, отличается от питона, что его нужно тянуть в язык отдельно? Там на невосстановимые ошибки паникуем, на остальные возвращаем соответствующий результат, в питоне ни что не мешает делать так же, кидать эксепшн или возвращать результат, который не обязан быть простым по своему устройству.
Даже если rust подобный синтаксис подтянут в питон, его реализация должна будет нормально соседствовать с прежним подходом, учитывая размер существующей кодовой базы, смешивание 2 подходов, как минимум, не должно порождать ошибок, а то, что оно будет — это объективная реальность, а как максимум, данные изменения не должны приводить к просадке скорости существующего кода. Не факт, что это просто будет сделать.
В чем я наверное готов согласится с автором публикации — это в том, что, возможно, к инструментам проверки качества кода на питоне стоит присмотреться еще раз, в контексте идей привнесенных rust и изменений в самом python.
Python любим как раз за низкий порог вхождения, в отличии от rust. Начните писать на питоне в манере rust, и вы получите другой язык. Который возможно найдет своих поклонников, но будет ли их так же много, сколько сейчас есть у питона? Сомневаюсь.
Пример perl6 должен заставить задуматься. Язык, в конце — то концов сделали, но успех пятерки ему даже и не сниться. Непродуманные изменения, не поддержанные сообществом, могут толкнуть питон на ту же дорожку.
Есть nim, который достаточно похож на питон, не один к одному, но все таки. Компилируемый, строго типизированный, с достаточно лаконичным синтаксисом. Сколько человек могут похвастаться его знанием?
В самом питоне есть многим, если не всем, известный пример не очень удачного заимствования — это django. Я пробовал писать на рельсах и джанго. Сравнения не в пользу последнего. Хотя отдаю должное, django появился к месту и ко времени, и не мало способствовал росту python — сообщества. Только, на мой взгляд, сейчас уже устарел и предпочтение лучше отдавать тому же flask, например.
Да и rust ни куда не денется, и питон так и останется подражателем.
Самые близкие аналоги в пыхе это скаляры, индексированные и ассоциированные массивы.
Может стоит обернуть их, чтобы в коде можно было писать, например:
и бросать ексепшн, если $my_var не содержит в текущем значении этого свойства?
Отдельный синтаксис, отдельная реализация, и точно ни какого влияния на текущую реализацию class-a.
Возможно ни чего такого ввиду не имелось, но для тех, кто мимо проходил может звучать странно:
— создаем какое — то перечисление SomeEnum
— указываем одним из значений SOME_VALUE
— раз SOME_VALUE класс, значит можно породить потомка?
Можно не писать ни слова лжи, и все равно заниматься пропагандой. Где — то коротко и обще, где — то наоборот, налить кучу воды, где — то мелким шрифтом и в самом низу ленты новостей, куда доходят единицы читателей, если подумать, можно придумать, ну или найти готовые, приемы по отвлечению внимания от нежелательных материалов, для этого не обязательно их совсем прятать.
Другая сторона медали — акцент на положительных материалах, максимальное привлечение внимания. Материалы могут быть самые разные. От информашки вроде «прошла благотворительная акция партии ЕР», до в целом нейтрального «атомный ледокол Арктика вступил в строй и будет выполнять проводку кораблей по севморпути».
Серединный вариант — интерпретация события. Мало первым получить информацию о событии, лидер получает шанс повлиять на отношение к происходящему.
То есть, даже не опускаясь до распространения слухов или откровенной лжи, влияние информации можно пытаться изменить, и подавать ее можно, как с положительным, так и с отрицательным эмоциональным зарядом.
И это я еще ни слова не сказал о блогерах. Они вообще ограничены только собственным пониманием норм морали и немного законом. При том, что аудитория некоторых из них сравнима с аудиторией приличного СМИ. И информация, которую выдают их источники иногда действительно потрясает. Как иногда потрясает и количество дезы, через них же сливаемой.
В общем, я не очень понимаю, как вы станете определять пропаганду, потому что она не является строго черным или белым, пропаганда — это полутона, цвет, насыщенность и яркость которых зависит от целей компании. В прочем, я все равно желаю вам удачи, и с удовольствием почитаю о вас еще раз, если вы достигните какого либо практического результата.
Энциклопедия Британника определяет пропаганду так: «Пропаганда, распространение информации — фактов, аргументов, слухов, полуправды, или лжи — чтобы повлиять на общественное мнение. Пропаганда — более или менее систематические усилия манипулировать убеждениями, отношениями или действиями других людей посредством символов (слов, жестов, плакатов, монументов, музыки, одежды, отличительных знаков, стилей причёсок, рисунков на монетах и почтовых марках и так далее).
Есть и другие определения.
Что именно вы собираетесь определять?
Допустим, вы приняли первое определение. Возьмем, для примера, пропаганду ЗОЖ. Звезды ТВ и сети говорят о необходимости следить за своим здоровьем, необходимости правильно питаться, заниматься спортом. Вроде все в порядке. Вы анализируете материалы, определяете, вот эти статьи являются пропагандой ЗОЖ. Означает ли, что вы собираетесь заниматься классификацией? А как быть с подчас бредовыми, и не всегда безопасными рекомендациями, типа едим только мясо, запиваем алкоголем и худеем? Это уже не столько классификация, сколько оценка качества, полноты и достоверности?
Допустим, вы приняли второе определение, подозреваю, что ради разговора о политике вы и затеяли ваш опус. Сейчас модно ругать государство, мол власти обманывают, не говорят всей правды или просто скрывают информацию. Означает ли, что все положительные материалы о государстве априори лживы, а все негативные соответствуют действительности? Думаю нет. Получается, у вас есть идеи, как бороться с fake news?
Я скорее сторонник президента, но и мне далеко не все происходящее нравится.
По теме статьи, вспомните, с чего начался конфликт. Гугл не выполнил требования об обработке персональных данных наших граждан на территории России. Является это требование чем — то из ряда вон выходящим? Не думаю. Европа, Америка, Британия, Южная Корея, много кто еще пристально следит за сбором подобной информации о своих гражданах.
Является ли предложенная мера разумной и справедливой? Правильный ответ — нет. Во первых, коммерческие услуги компании, скорее всего, не являются основным источником трафика к ее серверам, а значит компания продолжит вести свой бизнес удобным для нее образом, почти или совсем не заметив введенных ограничений. Во вторых, могут пострадать интересы законопослушных приобретателей продуктов компании, а сюда запросто могут угодить все владельцы андроид устройств.
Следует ли отказаться от защиты национальных интересов? Правильный ответ — тоже нет.
На мой взгляд, ГД пытается заниматься несвойственным ей делом. Не должны законодатели лезть в технические вопросы, хотя бы потому, что законы принимаются не на один день, и за срок их жизни технологии могут успеть шагнуть далеко вперед.
Нельзя собирать персональные данные без ведома их владельца, все, точка.
Нельзя безнаказанно нарушать закон в сети, оскорблять, угрожать, вмешиваться в частную жизнь, распространять запрещенные вещества, склонять к нарушению закона, особенно малолетних, запятая. Для исполнения этой нормы должны существовать механизмы идентификации автора или распространителя любого материала, точка.
Строго по существу, и без технических деталей, в которых парламентарии не сильны.
Когда ГД станет заниматься именно тем, для чего ее избрали — критики в ее адрес станет гораздо меньше.
Для проработки именно технических моментов следует создать отраслевой институт, курировать который могут ФСБ вместе с минкомсвязи. Этот НИИ вполне мог бы быть оснащен по самому последнему слову техники, и заниматься подготовкой своих, или проверкой пригодности существующих, практических решений до их внедрения. Пилотные внедрения вполне могут обкатываться на базе того же Ростелекома. Далее, уже готовое решение, идет в народ.
Что касается законодательной власти, на мой взгляд, должно быть как — то так. Если совсем коротко.