Получается, я уже почти две недели работаю в vim.
И, хочу сказать, пока что - мне всё очень нравится.
Не заметил никаких неудобств или недостатка функционала.
И в итоге, получается действительно быстрее за счет хоткеев и работы только с клавиатурой.
Плюс, вместо обычных vscod’овских 900мб памяти, vim занимает 15-20мб. И это очень спасает, т.к у меня всего 8гб памяти.
Прикреплю внизу список плагинов, которые я установил для работы с Go.
Если кому-то интересно - могу скинуть файл конфига целиком.
И, хочу сказать, пока что - мне всё очень нравится.
Не заметил никаких неудобств или недостатка функционала.
И в итоге, получается действительно быстрее за счет хоткеев и работы только с клавиатурой.
Плюс, вместо обычных vscod’овских 900мб памяти, vim занимает 15-20мб. И это очень спасает, т.к у меня всего 8гб памяти.
Прикреплю внизу список плагинов, которые я установил для работы с Go.
Если кому-то интересно - могу скинуть файл конфига целиком.
Стала интересна такая штука.
У меня есть две сущности, которые разные по смыслу, но поля у них одинаковые.
Мне нужно было доставать эти сущности из бд и что-то с ними делать.
Так вот, я хотел, чтобы для этих сущностей был один и тот же стракт.
Единственная разница между ними - это bson тэги для правильного парсинга из монго.
Так вот, я написал функцию с помощью reflect’a которая динамически в зависимости от условия генерирует тэги для нужных полей.
В итоге я хотел с помощью type assertion интерфейс с измененными тэгами конвертировать обратно в структуру.
И к сожалению, это невозможно, так как в го типы с разными тегами - это разные типы.
У меня есть две сущности, которые разные по смыслу, но поля у них одинаковые.
Мне нужно было доставать эти сущности из бд и что-то с ними делать.
Так вот, я хотел, чтобы для этих сущностей был один и тот же стракт.
Единственная разница между ними - это 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://news.1rj.ru/str/internet9000/1207, но всё как-то не доходили руки.
Идея этого учебного плана в том, что бы из software developer’a сделать software enginer’a.
Автор пишет, что в крупных компаниях вроде Google, Amazon и т.д эти понятия трактуются по-разному.
Первое - не предусматривает глубокого знания computer science, а второе - требует серьезных знаний в CS.
Список просто огромный и самое крутое - это то, что кто-то собрал это за нас, то есть можно просто взять и выучить то, что интересно.
Но вообще, автор пишет что стоит идти сверху вниз, не пропуская пунктов.
Сейчас смотрю вот это выступление https://www.youtube.com/watch?v=0SARbwvhupQ, в котором рассказывается о “мифе гениального разработчика”, о том, почему не стоит бояться выставлять свой код на показ и почему это хорошо, когда кто-то корректирует твои ошибки.
GitHub
GitHub - jwasham/coding-interview-university: A complete computer science study plan to become a software engineer.
A complete computer science study plan to become a software engineer. - jwasham/coding-interview-university
Крутой пост о том, как правильно учиться от создателя списка, который я кидал вчера.
Конечно, это немного заморочливо, но так можно правда сохранить информацию в голове.
Я лично кучу раз наступал на грабли чрезмерного потребления информации без нотирования и практики.
Если вкратце, суть в повторении.
https://startupnextdoor.com/retaining-computer-science-knowledge/
Конечно, это немного заморочливо, но так можно правда сохранить информацию в голове.
Я лично кучу раз наступал на грабли чрезмерного потребления информации без нотирования и практики.
Если вкратце, суть в повторении.
https://startupnextdoor.com/retaining-computer-science-knowledge/
Startup Next Door
Retaining Computer Science Knowledge
I've been asked numerous times, "How do you remember all the stuff you've been studying?" Here's my method that will keep all the good stuff in your brain. My Mistake in the Beginning When I first started studying, I was watching videos all day long, taking…
А там гитхаб обновил UI. Красиво!
https://github.blog/changelog/2020-06-23-design-updates-to-repositories-and-github-ui/
https://github.blog/changelog/2020-06-23-design-updates-to-repositories-and-github-ui/
The GitHub Blog
Design updates to repositories and GitHub UI
Today we've launched a refresh to the design of GitHub UI, and layout changes to your repository homepage. We hope these changes improve your experience.
Давно ничего не было, был занят переездами. Сейчас временно обосновался на одном месте, можно снова писать сюда.
Наткнулся на интересную статью в которой объясняется, почему обработка ошибок в го - крутая, а не надоедливая,плюс автор объясняет почему она именно такая какая есть.
П.С сегодня у меня др, а каналу исполнится год 22-о июля. Было бы круто, если б к этому моменту мы набрали 100 подписчиков, так что если у вас есть друзья/знакомые/коллеги, которым может быть интересен мой канал - буду рад, если поделитесь с ними.🥳
https://rauljordan.com/2020/07/06/why-go-error-handling-is-awesome.html
Наткнулся на интересную статью в которой объясняется, почему обработка ошибок в го - крутая, а не надоедливая,плюс автор объясняет почему она именно такая какая есть.
П.С сегодня у меня др, а каналу исполнится год 22-о июля. Было бы круто, если б к этому моменту мы набрали 100 подписчиков, так что если у вас есть друзья/знакомые/коллеги, которым может быть интересен мой канал - буду рад, если поделитесь с ними.🥳
https://rauljordan.com/2020/07/06/why-go-error-handling-is-awesome.html
rauljordan
Why Go's Error Handling is Awesome
Forwarded from Node.JS [ru] | Серверный JavaScript
tinyhttp - современный и быстрый веб-фреймворк для Node.js, являющийся альтернативой Express
Основные преимущества:
Не зависит от легаси модулей по типу
Есть поддержка ассинхронных обработчиков
Существует готовый набор обработчиков для общих задач по типу логгирования и парсинга кук
Написан на TypeScript и как следствие есть типизация из коробки
Фреймворк находится в ранней разработке, поэтому не весь функционал из Express до конца перенесён.
P.S. Создателем фреймворка является автор канала (@talentless_guy), если есть фидбек по поводу tinyhttp, то пишите в личку (или в наш чат) :D
#backend #webdev #javanoscript #typenoscript #tinyhttp #express #nodejs
Основные преимущества:
Не зависит от легаси модулей по типу
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
twitter.com/sharifshameem/status/1282676454690451457
X (formerly Twitter)
Sharif Shameem (@sharifshameem) on X
This is mind blowing.
With GPT-3, I built a layout generator where you just describe any layout you want, and it generates the JSX code for you.
W H A T
With GPT-3, I built a layout generator where you just describe any layout you want, and it generates the JSX code for you.
W H A T
На данный момент - лучший cheat sheet по виму, что я находил.
https://vim.rtorr.com/lang/en_us
https://vim.rtorr.com/lang/en_us
Ничего не пишу сюда, потому что занят переписыванием всех сервисов на проекте под эту архитектуру.
https://medium.com/@jfeng45/go-micro-service-with-clean-architecture-application-layout-e6216dbb835a
Хорошая статья и отзывчивый автор, который действительно изучил тему и нашёл хороший подход к структурированию кода на го. Удобно тестить, удобно вносить правки, так что пробуйте ;)
https://medium.com/@jfeng45/go-micro-service-with-clean-architecture-application-layout-e6216dbb835a
Хорошая статья и отзывчивый автор, который действительно изучил тему и нашёл хороший подход к структурированию кода на го. Удобно тестить, удобно вносить правки, так что пробуйте ;)
Medium
Go Microservice with Clean Architecture: Application Layout
I’d like to create a Micro-service with Go and gRPC and tried to figure out what is the best project layout, which can be used as a…
Выпуск Fedoriv Vlog про украинский стартап DOUBLICAT.
Рассказывают про машинное обучение, про первый успех компании и том, откуда появилась идея.
Там не так много технических подробностей, т.к Fedoriv немного о другом, но всё равно интересно.
В выпуске есть кусочки на украинском, если не понимаете его - там прикручены качественные русские субтитры.
https://www.youtube.com/watch?v=C2rVbxLprCg
Рассказывают про машинное обучение, про первый успех компании и том, откуда появилась идея.
Там не так много технических подробностей, т.к Fedoriv немного о другом, но всё равно интересно.
В выпуске есть кусочки на украинском, если не понимаете его - там прикручены качественные русские субтитры.
https://www.youtube.com/watch?v=C2rVbxLprCg
YouTube
САМОЕ ПОПУЛЯРНОЕ МОБИЛЬНОЕ ПРИЛОЖЕНИЕ В 90 СТРАНАХ МИРА | RefaceAI | DOUBLICAT | FEDORIV VLOG
Компания RefaceAi была основана Романа Могильным, Олесем Петривым и Кириллом Сыгыдой. Главный продукт компании сегодня – сервисы Reface (раньше - Doublicat) и Reflect.
Reface позволяет перенести ваше лицо на гифку или видео, заменив лицо персонажей фильмов…
Reface позволяет перенести ваше лицо на гифку или видео, заменив лицо персонажей фильмов…
Просто и понятно про базовые понятия в Computer Science.
https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
YouTube
Computer Science
In 40 episodes, Carrie Anne Philbin teaches you computer science! This course is based on introductory college-level material as well as the AP Computer Scie...
«А что если бы у языков программирования были честные слоганы?»
Достаточно забавно ;)
https://link.medium.com/XJbEB502s8
Достаточно забавно ;)
https://link.medium.com/XJbEB502s8
Medium
If Programming Languages Had Honest Slogans
A little comedy for all of us right now
Forwarded from oleg_log (Oleg Kovalov)
Кого название бранча в гите волнует, можете пойти еще раз побомбить 😏
https://github.blog/2020-07-27-highlights-from-git-2-28/#introducing-init-defaultbranch
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