web mess – Telegram
web mess
130 subscribers
85 photos
1 video
2 files
163 links
go, vim and some other random stuff
appreciate your feedback :)
Download Telegram
​​Получается, я уже почти две недели работаю в vim.
И, хочу сказать, пока что - мне всё очень нравится.
Не заметил никаких неудобств или недостатка функционала.
И в итоге, получается действительно быстрее за счет хоткеев и работы только с клавиатурой.
Плюс, вместо обычных vscod’овских 900мб памяти, vim занимает 15-20мб. И это очень спасает, т.к у меня всего 8гб памяти.
Прикреплю внизу список плагинов, которые я установил для работы с Go.
Если кому-то интересно - могу скинуть файл конфига целиком.
​​Стала интересна такая штука.

У меня есть две сущности, которые разные по смыслу, но поля у них одинаковые.
Мне нужно было доставать эти сущности из бд и что-то с ними делать.
Так вот, я хотел, чтобы для этих сущностей был один и тот же стракт.
Единственная разница между ними - это bson тэги для правильного парсинга из монго.
Так вот, я написал функцию с помощью reflect’a которая динамически в зависимости от условия генерирует тэги для нужных полей.
В итоге я хотел с помощью type assertion интерфейс с измененными тэгами конвертировать обратно в структуру.
И к сожалению, это невозможно, так как в го типы с разными тегами - это разные типы.
Решил засесть за вот этот список - https://github.com/jwasham/coding-interview-university.
Про него раньше писал Сергей Сурганов у себя на канале https://news.1rj.ru/str/internet9000/1207, но всё как-то не доходили руки.

Идея этого учебного плана в том, что бы из software developer’a сделать software enginer’a.
Автор пишет, что в крупных компаниях вроде Google, Amazon и т.д эти понятия трактуются по-разному.
Первое - не предусматривает глубокого знания computer science, а второе - требует серьезных знаний в CS.

Список просто огромный и самое крутое - это то, что кто-то собрал это за нас, то есть можно просто взять и выучить то, что интересно.
Но вообще, автор пишет что стоит идти сверху вниз, не пропуская пунктов.
Сейчас смотрю вот это выступление https://www.youtube.com/watch?v=0SARbwvhupQ, в котором рассказывается о “мифе гениального разработчика”, о том, почему не стоит бояться выставлять свой код на показ и почему это хорошо, когда кто-то корректирует твои ошибки.
Крутой пост о том, как правильно учиться от создателя списка, который я кидал вчера.
Конечно, это немного заморочливо, но так можно правда сохранить информацию в голове.
Я лично кучу раз наступал на грабли чрезмерного потребления информации без нотирования и практики.
Если вкратце, суть в повторении.

https://startupnextdoor.com/retaining-computer-science-knowledge/
Когда пытаешься исправить баг в час ночи
Давно ничего не было, был занят переездами. Сейчас временно обосновался на одном месте, можно снова писать сюда.
Наткнулся на интересную статью в которой объясняется, почему обработка ошибок в го - крутая, а не надоедливая,плюс автор объясняет почему она именно такая какая есть.

П.С сегодня у меня др, а каналу исполнится год 22-о июля. Было бы круто, если б к этому моменту мы набрали 100 подписчиков, так что если у вас есть друзья/знакомые/коллеги, которым может быть интересен мой канал - буду рад, если поделитесь с ними.🥳

https://rauljordan.com/2020/07/06/why-go-error-handling-is-awesome.html
Ох кому-то будет балдежно ревьюить этот pr 😂
​​tinyhttp - современный и быстрый веб-фреймворк для Node.js, являющийся альтернативой Express

Основные преимущества:

Не зависит от легаси модулей по типу object.assign

Совместим с промежуточными обработчиками для Express

Есть поддержка ассинхронных обработчиков

Существует готовый набор обработчиков для общих задач по типу логгирования и парсинга кук

Написан на TypeScript и как следствие есть типизация из коробки

Фреймворк находится в ранней разработке, поэтому не весь функционал из Express до конца перенесён.

P.S. Создателем фреймворка является автор канала (@talentless_guy), если есть фидбек по поводу tinyhttp, то пишите в личку (или в наш чат) :D

#backend #webdev #javanoscript #typenoscript #tinyhttp #express #nodejs
Forwarded from INTERNET 9000
Как выглядит машинное обучение в 2020 — даешь алгоритму ДВА (!!) примера кода, а он на основе них выдает тебе верстку по запросу в духе «мне красную кнопку пожалуйста и заголовок с таким вот текстом»:

twitter.com/sharifshameem/status/1282676454690451457
Узнали? Согласны ? 😂
На данный момент - лучший cheat sheet по виму, что я находил.
https://vim.rtorr.com/lang/en_us
Ничего не пишу сюда, потому что занят переписыванием всех сервисов на проекте под эту архитектуру.
https://medium.com/@jfeng45/go-micro-service-with-clean-architecture-application-layout-e6216dbb835a

Хорошая статья и отзывчивый автор, который действительно изучил тему и нашёл хороший подход к структурированию кода на го. Удобно тестить, удобно вносить правки, так что пробуйте ;)
Выпуск Fedoriv Vlog про украинский стартап DOUBLICAT.
Рассказывают про машинное обучение, про первый успех компании и том, откуда появилась идея.
Там не так много технических подробностей, т.к Fedoriv немного о другом, но всё равно интересно.
В выпуске есть кусочки на украинском, если не понимаете его - там прикручены качественные русские субтитры.

https://www.youtube.com/watch?v=C2rVbxLprCg
«А что если бы у языков программирования были честные слоганы?»
Достаточно забавно ;)

https://link.medium.com/XJbEB502s8
Forwarded from oleg_log (Oleg Kovalov)
Кого название бранча в гите волнует, можете пойти еще раз побомбить 😏

Starting in Git 2.28, git init will instead look to the value of init.defaultBranch when creating the first branch in a new repository. If that value is unset, init.defaultBranch defaults to master.

This configuration variable can be set by the user, and overriding the default value is as easy as:

$ git config --global init.defaultBranch main


https://github.blog/2020-07-27-highlights-from-git-2-28/#introducing-init-defaultbranch