Обновить
22
Михаил Соколов@debagger

Инженер и программист

0,2
Рейтинг
2
Подписчики
Отправить сообщение
Будет немного странно наверно платить $19 в месяц за мониторинг сервера, который стоит ~ $5 в месяц. Да, у них есть триал, но триал обычно лимитирован по времени (не стал уточнять, потому что для этого надо регистрироваться)
Это старость и дело привычки :).

Давайте не будем о грустном ))

На самом деле сегодня линукс в качестве десктопа более удобен и дружелюбен чем винда.

Охотно верю, но все равно нет ))
Я вот много лет был убежденным сторонником windows. Дело в том, что в те времена, когда я только учился пользоваться компьютером, альтернативы по большому счету не было. Да, мне попадали в руки дистрибутивы линукс, и я их даже устанавливал себе на компьютер дома. Но что с ним делать дальше? Под виндовс были доступны тонны софта с варезных дисков, фотошоп, саундфордж, брайс3д (классная штука для рендеринга красивых «фотореалистичных» ландшафтов) в которых я зависал часами. Я не был тогда ИТшником или программистом (если что — речь про старшие классы школы и первые курсы института), скорее ИТ-энтузиастом, и винда мне давала все, что мне было надо для удовлетворения любопытства.
А линукс пугал, реально, командная строка вызывала фрустрацию и чувство паники. Если винду можно было исследовать кликая мышкой в рандомные настройки и смотреть, что выйдет, то консоль просто не давала никакой мысли для размышления, никак не раскрывала своих возможностей. Учтите, что в те времена интернет был по карточками, а книга по линуксу, которую мне дали почитать никак не помогла. Короче я остался на винде, и когда закончил институт и на работе понадобилось писать программы, я не особо думая выбрал .net (о чем не жалею кстати) — опять же просто потому что вижуалстудия была просто шикарна и был полностью офлайновый msdn.
Линукс в моей жизни появился значительно позже — когда мне понадобилось поднять vps и оказалось, что vps с виндой стоят значительно дороже, чем с линуксом. Переборов свои страхи я начал изучать — спасибо гуглу и особая благодарность стэковерфоу. Было тяжело, но постепенно запомнились основные команды и стало легче. И я понял за что любят линукс.
И я тоже его полюбил. Но я никогда не поставлю его себе в качестве десктопа. Потому что винда шикарна в этом качестве. Потому что я чувствую здесь себя как рыба в воде. И идея поменять ее на линукс снова вызывает у меня давно забытые чувства беспомощности и фрустрацию.
Шедеврально конечно )))
Точно. А потом решили отрефакторить название переменной, и вот уже у Беспокойного Энди, который уже месяц медитирует каждый день стало nan сессий или undefined сессий… А у Нервного Джо, который скачал приложение только сегодня, все нормально работает. Разбирайтесь теперь с этим. И как там TS, сильно помог? До сих пор спокойно спится?
Если что, это не критика в сторону TS (обожаю его). Просто по статье так прямо он все проблемы решает и можно расслабиться…
Так вот в том и дело. Все больше приходит людей не чтобы «делать науку», а чтобы «делать деньги».
Мне почему-то вспомнился анекдот, который заканчивается словами «Наверно что-то не так с консерваторией». На мой взгляд перелом произошел, когда частный бизнес понял, что для развития ему нужна наука и там появились деньги не только государственные, но и частный капитал. Вот в этот момент туда устремились ребята, для которых важно не «удовлетворять собственное любопытство за счет государства», а делать карьеру и получать гранты, а для этого нужна результативность любой ценой.
я могу спать немного спокойнее, зная о том, что переменные в моём проекте не могут совершенно неожиданно менять свои типы.

Я вот не могу спать спокойно, потому что теперь у меня куча забот чтобы правильно все это хозяйство типизировать.
Когда сидишь и разбираешься, почему tsc выдает ошибку там, где все правильно и на js код в этом месте работает без проблем, иногда очень жалко времени.
Как хранение в JSON убережет от сложения строк?
Стоит выбирать транспорт (если уж брать аналогию с транспортом), который довезет тебя до пункта назначения оптимальным образом и без особых проблем в пути. И да — иногда это может быть велосипед.
На мой взгляд мидлвары появились как раз потому что их было вот так вот просто реализовать. Ну а потом, как говорится, понеслось, и вот — все как в тумане, а потом вдруг оказывается, что мы потеряли контроль на реквестом из респонсом и любой из 100500 разработчиков, которые приложили руку к созданию мидлваров, взятых в наш проект из сомнительных репозиториев, которые не обновлялись с 2017 года, может сделать, пусть ненароком, практически все что угодно с данным до того, как они доберутся к тому месту в программе, которое мы контролируем. И словив проблему, мы будем дебажить до рези в глазах эти цепочки вызовов мидлвар в попытке понять, что происходит.
Лично мне эта фраза говорит о том, что, вероятнее всего, учитывая контекст, Ноду они знают, просто не сильно хорошо.


Все правильно, если знаешь яваскрипт, то в каком-то смысле знаешь ноду. А яваскрипт они судя по всему знали, раз у них в стеке был англяр.
Я думаю самое главное зло, это сама концепция цепочки middleware и то, что мидлвары вообще могут что-то менять в реквесте. Что, на мой взгляд могло бы сделать эту концепцию немного более приемлемой:
1. Концепция контекста. Сам реквест readonly, если надо передать что-то дальше по цепочке — для этого есть объект контекста.
2. Мидлвара может добавлять свою информацию в контекст, и может читать то, что добавлено другими мидлварами, которые установлены для нее в зависимостях, что приводит нас к следующему пункту.
3. Должна быть реализована система зависимостей, т. е. например, авторизация может зависеть от аутентификации, а аутентификация от мидлвары, которая вытаскивает Auth token из реквеста.

Если бы изначально такое было сделано в экспрессе, было бы сейчас значительно меньше проблем.
Тема вейпа не раскрыта. Сколько я минут жизни я теряю от одной затяжки? Может я уже умер? Как посчитать?
А это идея для стартапа! Если вы понимаете о чем я.
Не понял преимуществ в задании пути как свойств объекта

path.join классная штука, всегда ей пользуйтесь при работе путями )). Но вот в чем дело, эта ваша строка кода:
path.join(__dirname, 'node_modules/fstb/package.json')

у нее нет продолжения. Ибо join вернет строку, а вам то надо работать с файлом. И теперь надо эту строку передать каким-то образом в метод из fs.


const package_json_path = path.join(__dirname, 'node_modules/fstb/package.json');
fs.stat(package_json_path, (err, stat) => console.log(stat.size));

//либо (ну так вообще никто никогда не делает, да?):
fs.stat(path.join(__dirname, 'node_modules/fstb/package.json'), (err, stat) => console.log(stat.size))


А вот этот код:
FSPath(__dirname)["node_modules"]["fstb"]["package.json"]

он может быть завершен как инструкция что надо сделать с файлом.
Вот так, например:
FSPath(__dirname)["node_modules"]["fstb"]["package.json"]()
.asFile().stat().then((stat => console.log(stat.size)))

Тут вы прочитаете всю историю куда пойти, что там лежит и что с этим надо сделать. Слева на право, сверху вниз.

Если вам не нравится вариант заменить сегменты на свойства, можно написать вот так:
FSPath(__dirname)["node_modules/fstb/package.json"]


Кстати, подали мне идею, сделаю, чтобы можно было вообще писать вот так:
FSPath(__dirname, "node_modules/fstb/package.json")

Так что спасибо за критику.

Вызов функции для получения объекта пути, создает дополнительную когнитивную нагрузку и подвержен ошибкам. В примере выше многие, при чтении кода, будут спотыкаться о вызов метода unlink(), так как, ожидается, что происходит удаление.


Тут да, есть такое дело, я про этот недостаток писал в конце.

Так же, странно видеть атрибуты read и write, лучше либо переименовать на более очевидное, либо сделать их методами. Почему бы сразу не сделать readLineByLine() и writeText()?


Тут есть ряд причин, почему сделано именно так:
Во-первых, если их сделать методами, то будет путаница, потому что у модуля fs есть методы read и write будет с ними путаница.
Во-вторых хотелось разгрузить подсказку от портянки методов. Когнитивная нагрузка, помните? Если все, что можно делать с файлами в один список положить получится длинная портянка, пусть даже и структурированная по префиксам названий методов как вы предлагаете, так что нет, не вижу смысла делать, так как вы предлагаете. Думал об этом довольно долго, но в итоге решил сделать как есть сейчас.
Сначала хотел написать, что неудобно будет смотреть на экранчик «в поле» если точка, с которой меряешь неудобно расположена, например глубоко в недрах прибора, который надо чинить. Потом дошло, что для таких случаев есть приложение для смартфона. В общем, круто, так держать! Прикидывали, сколько такой девайс будет стоить?
Меня всегда удивляет, когда сравнивают ИИ и человеческий разум. На минуточку, чтобы получился «естественный интеллект» понадобились сотни тысяч поколений работы генетического алгоритма с огромными популяциями, где каждый агент в популяции имеет сложность, которая и не снилась современной вычислительной технике. Чтобы сформировать сознание человеку нужно 20 лет непрерывного 24/7 обучения на бесконечно разнообразном датасете, который есть реальный мир.
Прямо сейчас обучается почти 8 млрд. агентов, нейронная сеть каждого из которых многократно сложнее, чем все, что может дать современный датасайнс. Это ответ эволюции на «комбинаторный взрыв».
Меня знатно бомбит, когда кто-то критикует современные достижения в области ИИ. Голосовые ассистенты ошибаются? GPT-3 несет бред? Автопилот теслы попал в аварию? Пару десятков лет ничего этого не было вообще.
Я просто в восторге от того, чего удалось достичь за последние годы в области ИИ! И с каждым годом этот восторг только растет. То, что можно просто задать вопрос смартфону голосом и получить ответ, это так естественно, но расскажи об этом мне, 15-летнему школьнику, который потратил 2 недели, пытаясь обучить Dragon Dictate распознавать мой голос (безуспешно), и я тогда бы не поверил.
Для меня это просто невероятно круто, что все это появилось при моей жизни, я и с восторгом и замиранием сердца смотрю в будущее не в силах представить, что же будет дальше!
Я все собирался найти и перечитать повнимательнее вашу предыдущую статью, а вы оказывается уже фреймворк запилили. Поставил вам лайки и звездочки везде, где смог, ибо «во-первых, это красиво»!!!

Информация

В рейтинге
3 031-й
Откуда
Новоуральск (Свердловская обл.), Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность