Никак не мог решиться, но все таки поделюсь хорошей новостью. Я наконец-таки нашёл работу junior разработчиком на Go в одной Киевской компании.
Уже подписал офер и в прошлую пятницу был мой первый рабочий день.
Пока нахожусь в Дубае и все остальное время карантина - буду работать удаленно.
Самое забавное, что в течении двух прошедших месяцев я отправил около 100–150 писем в разные компании (Дубай, remote) и получил ровно нулевой выхлоп из этого. И тут решил начать отправлять в Украинские компании, отправил всего два или три отклика и на следующий день получил приглашение на собеседование, а через два дня начал работать.
Счастью нет предела, как и всему тому, что ещё предстоит изучить.
Уже подписал офер и в прошлую пятницу был мой первый рабочий день.
Пока нахожусь в Дубае и все остальное время карантина - буду работать удаленно.
Самое забавное, что в течении двух прошедших месяцев я отправил около 100–150 писем в разные компании (Дубай, remote) и получил ровно нулевой выхлоп из этого. И тут решил начать отправлять в Украинские компании, отправил всего два или три отклика и на следующий день получил приглашение на собеседование, а через два дня начал работать.
Счастью нет предела, как и всему тому, что ещё предстоит изучить.
Интересно, под какую музыку кодите/учитесь.
Пишите мне в личку(@mlvni) или в комментарии к этому посту.
Я последнее время слушаю либо что-то похожее на Frank Ocean, либо ищу джазовые или классические плейлисты.
Пишите мне в личку(@mlvni) или в комментарии к этому посту.
Я последнее время слушаю либо что-то похожее на Frank Ocean, либо ищу джазовые или классические плейлисты.
Forwarded from 1-800-DESIGN-SUCKS
ЧТОШ, мой друг написал API для сбора данных из разных статей и буквально три дня назад предложил поучаствовать в этом всем. Он попросил меня задизайнить пару слайдов для презентации на ProductHunt, а в ответ я ему предложил сделать хотя бы какой-то минимальный сайт.
В то же время я не хотел делать что-то очень типичное.
Чтобы быстро релизнуться, можно было использовать Readymag (подставьте своё) или взять попробовать сверстать сайт самостоятельно. Я не могу сказать, что достаточно умею в верстку, но когда решили, что сайт может быть максимально простым и без лишних украшательств, мне стало интересно сделать это самому.
Поэтому все началось в Фигме, а закончилось уже правками в html и css. Гораздо быстрее исправить пару строк кода и сразу же проверить как это работает, чем править дизайн под все экраны и только потом писать код.
Я это все к чему. Если есть желание взглянуть и поддержать апвоутом — велкам на продукт хант. Все ссылки ниже:
ProductHunt:
https://www.producthunt.com/posts/extract-news-api
Сайт:
https://extractnewsapi.com/
GitHub:
https://github.com/kotartemiy/extract-news-api?ref=producthunt
В то же время я не хотел делать что-то очень типичное.
Чтобы быстро релизнуться, можно было использовать Readymag (подставьте своё) или взять попробовать сверстать сайт самостоятельно. Я не могу сказать, что достаточно умею в верстку, но когда решили, что сайт может быть максимально простым и без лишних украшательств, мне стало интересно сделать это самому.
Поэтому все началось в Фигме, а закончилось уже правками в html и css. Гораздо быстрее исправить пару строк кода и сразу же проверить как это работает, чем править дизайн под все экраны и только потом писать код.
Я это все к чему. Если есть желание взглянуть и поддержать апвоутом — велкам на продукт хант. Все ссылки ниже:
ProductHunt:
https://www.producthunt.com/posts/extract-news-api
Сайт:
https://extractnewsapi.com/
GitHub:
https://github.com/kotartemiy/extract-news-api?ref=producthunt
Product Hunt
Extract News API - Pull structured data from online news articles 📰 | Product Hunt
News Extract API allows you to pull structured data from online news articles. Everyone who subscribes to our API on RapidAPI marketplace today can get a BASIC plan of 200 requests/day for 0$.
Forwarded from 🇺🇦 Go for two :)
Note #66: Go плайграунд теперь исполняет код в multi-threaded linux контейнере
Если у вас есть необходимость в демонстрации многопоточного кода на Go, который использует несколько горутин и которые, в свою очередь, используют один поток (thread) операционной системы или несколько потоков (threads), которые используют разные ядра. В общем теперь можно изучать go параллелизм в плайграунде 🙌
P.S. объяснение от Брэда Фицпатрика:
Это стало возможным после того, как удалили поддержку Native Client (GOOS=nacl) в Go 1.14, и теперь go плайграунд запускается с помощью gVisor.
https://github.com/golang/go/issues/25224
https://github.com/golang/playground/commit/4d362417fd14b0b8349150cb28c3e8f2e756932e
Если у вас есть необходимость в демонстрации многопоточного кода на Go, который использует несколько горутин и которые, в свою очередь, используют один поток (thread) операционной системы или несколько потоков (threads), которые используют разные ядра. В общем теперь можно изучать go параллелизм в плайграунде 🙌
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Printf("GOOS[%s] GOARCH[%s] GOMAXPROCS[%d] NumCPU[%d]", runtime.GOOS, runtime.GOARCH, runtime.GOMAXPROCS(0), runtime.NumCPU())
}
// OOS[linux] GOARCH[amd64] GOMAXPROCS[8] NumCPU[8]
P.S. объяснение от Брэда Фицпатрика:
Это стало возможным после того, как удалили поддержку Native Client (GOOS=nacl) в Go 1.14, и теперь go плайграунд запускается с помощью gVisor.
https://github.com/golang/go/issues/25224
https://github.com/golang/playground/commit/4d362417fd14b0b8349150cb28c3e8f2e756932e
Forwarded from Open Source & AI Future 🇺🇦
Toodles
Проект для разработчиков - парсит TODO комментарии в вашем коде и составляет их карту с возможностью удобного менеджмента.
🌐 Lang: #Haskell
📎 Repo: https://github.com/aviaviavi/toodles
Проект для разработчиков - парсит TODO комментарии в вашем коде и составляет их карту с возможностью удобного менеджмента.
🌐 Lang: #Haskell
📎 Repo: https://github.com/aviaviavi/toodles
Нашел неплохую статью про memory allocation в го.
Содержит много практических примеров, что приятно.
https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
Содержит много практических примеров, что приятно.
https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
Twilio
Developers
Explore technical topics, solutions, and resources for building with Twilio – and beyond.
Мне очень нравится clickhouse, но работаю я с ним не так давно.
И вот, у Avito Tech вышла целая статья с ответами на “продвинутые” вопросы о Clickhouse.
Отвечает на вопросы один из главных разработчиков кликхаус.
https://habr.com/ru/company/avito/blog/500678/
И вот, у Avito Tech вышла целая статья с ответами на “продвинутые” вопросы о Clickhouse.
Отвечает на вопросы один из главных разработчиков кликхаус.
https://habr.com/ru/company/avito/blog/500678/
Хабр
ClickHouse для продвинутых пользователей в вопросах и ответах
В апреле инженеры Авито собирались на онлайн-посиделки с главным разработчиком ClickHouse Алексеем Миловидовым и Кириллом Шваковым, Golang-разработчиком из компании Integros. Обсуждали, как...
Не знаю, приходилось ли кому-то пользоваться graphql в связке с го.
Есть один пакет, скорее всего хороший пакет, буду делать на него миграцию.
Так вот, дока там абсолютно так себе, но, в самом конце есть введения написанные другими людьми.
И это настолько круто, что какой-то из пользователей пакета написал своё введение и автор добавил его в ридми.
Хотя, конечно, минус автору - хорошей доки нет.
https://github.com/graph-gophers/graphql-go - сам пакет.
https://github.com/codex-zaydek/graphql-go-walkthrough - гайд от пользователя.
Есть один пакет, скорее всего хороший пакет, буду делать на него миграцию.
Так вот, дока там абсолютно так себе, но, в самом конце есть введения написанные другими людьми.
И это настолько круто, что какой-то из пользователей пакета написал своё введение и автор добавил его в ридми.
Хотя, конечно, минус автору - хорошей доки нет.
https://github.com/graph-gophers/graphql-go - сам пакет.
https://github.com/codex-zaydek/graphql-go-walkthrough - гайд от пользователя.
GitHub
GitHub - graph-gophers/graphql-go: GraphQL server with a focus on ease of use
GraphQL server with a focus on ease of use. Contribute to graph-gophers/graphql-go development by creating an account on GitHub.
Forwarded from Not Boring Tech
This media is not supported in your browser
VIEW IN TELEGRAM
Нейросети пошли и в настольный теннис — одна японская нейросеть научилась предсказывать точку падения мяча в реалтайме ещё до того, как ракетка коснулась мяча. Ей всего нужно видеть положение тела игрока и она выдаст своё верное предсказание с вероятностью 75% процентов.
Здесь можно почитать об этой нейросети по подробнее. Видео выше кстати прямиком отсюда.
Здесь можно почитать об этой нейросети по подробнее. Видео выше кстати прямиком отсюда.
Forwarded from Not Boring Tech
Обожаю разные забавные проекты с дообученными GPT-2 из серии чё-то.там_does_not_exist — вот один из них, который совсем недавно дико развирусился в соседних каналах. Эта идея уже старая, её наконец-то превратили в реальность: дообученная GPT-2 на UrbanDictionary.com придумывает слова, их часть речи, падежи, слоги и определения к ним. Если обновить страницу, сгенерируется другое слово. Также можно получить определение слова, которое вы сами придумали. В код лезть я не стал, ибо не сильно разбираюсь, можете сами посмотреть исходники, они тут. А вот сам сайт: http://www.thisworddoesnotexist.com/
Сейчас пишу очень много тестов, в основном - это интеграционные тесты.
То есть, нужно проверить взаимодействие разных частей приложения между собой.
Столкнулся с такой проблемой:
Есть структура, в которой есть дата, мне нужно запушить её в MongoDB и позже проверить правильность данных из Mongo.
Так вот, формат даты в монго не такой же, как в го, монго обрезает миллисекунды, из-за чего, в итоге структуры не одинаковы по DeepEqual.
Я пока что присваиваю ожидаемой структуре дату из полученной и сравниваю.
Конечно же, в контексте тестов этот подход не совсем правильный, т.к вдруг что-то будет не так с датой - тесты этого не проверят.
Кто-то сталкивался с таким, как с этим бороться?
То есть, нужно проверить взаимодействие разных частей приложения между собой.
Столкнулся с такой проблемой:
Есть структура, в которой есть дата, мне нужно запушить её в MongoDB и позже проверить правильность данных из Mongo.
Так вот, формат даты в монго не такой же, как в го, монго обрезает миллисекунды, из-за чего, в итоге структуры не одинаковы по DeepEqual.
Я пока что присваиваю ожидаемой структуре дату из полученной и сравниваю.
Конечно же, в контексте тестов этот подход не совсем правильный, т.к вдруг что-то будет не так с датой - тесты этого не проверят.
Кто-то сталкивался с таким, как с этим бороться?
В общем, с датой ничего не решилось, но понял, что с помощью прекрасного go-cmp(адвансед альтернатива DeepEqual), можно исключать поля, которые не желательно проверять. Это мой инсайт номер один.
А второй инсайт - это потрясающий тул go-spew, с помощью которого можно очень красиво логировать структуры для дебага(со значениями, типами и т.д). Так я вспомнил, что нулевое значение слайса - nil, а Mongo, когда она сканирует результат запроса в структру, создаёт пустой слайс, а не nil. Так и получается, что в итоге эти две структуры, которые хранят в себе слайсы - не равны по DeepEqul и cmp.Equal.
Столько боли в этих тестах, столько боли …
А вот и сами тулы:
https://github.com/davecgh/go-spew
https://github.com/google/go-cmp
А второй инсайт - это потрясающий тул go-spew, с помощью которого можно очень красиво логировать структуры для дебага(со значениями, типами и т.д). Так я вспомнил, что нулевое значение слайса - nil, а Mongo, когда она сканирует результат запроса в структру, создаёт пустой слайс, а не nil. Так и получается, что в итоге эти две структуры, которые хранят в себе слайсы - не равны по DeepEqul и cmp.Equal.
Столько боли в этих тестах, столько боли …
А вот и сами тулы:
https://github.com/davecgh/go-spew
https://github.com/google/go-cmp
GitHub
GitHub - davecgh/go-spew: Implements a deep pretty printer for Go data structures to aid in debugging
Implements a deep pretty printer for Go data structures to aid in debugging - davecgh/go-spew
Я уже знаю, о том, что есть hub. Но вот что.
Github запустил свою command line утилиту для управления репозитириями.
Приятно, что они решили эту утилиту написать на Go.
Пока что это бета и функционал немного урезан по сравнению с тем, что есть в hub.
В будущем обещают поддержку Github Enterprise Server и больше функционала.
Но, по моему скромному мнению, функционала более чем достаточно, чтобы пользоваться в работе.
https://github.com/cli/cli
Github запустил свою command line утилиту для управления репозитириями.
Приятно, что они решили эту утилиту написать на Go.
Пока что это бета и функционал немного урезан по сравнению с тем, что есть в hub.
В будущем обещают поддержку Github Enterprise Server и больше функционала.
Но, по моему скромному мнению, функционала более чем достаточно, чтобы пользоваться в работе.
https://github.com/cli/cli
GitHub
GitHub - cli/cli: GitHub’s official command line tool
GitHub’s official command line tool. Contribute to cli/cli development by creating an account on GitHub.
Если вкратце, я работаю в компании, сервисы которой тесно связаны с криптовалютой.
И по долгу службы, как бы формально это не звучало, мне нужно знать, как устроен блокчейн и апи разных блокчейн платформ.
В процессе ознакомления я прочитал очень известный документ(Satoshi Nakamoto Paper) - https://bitcoin.org/bitcoin.pdf
Впринципе понял, как это устроено в теории. Но на этом решил не останавливаться, ведь намного лучше всё понимается на практике.
Так вот, в итоге я нашел интересную серию статей на медиуме, в которых показывают как сделать свой простой блокчейн и внедрить имплементации разных алгоритмов(майнинг, proof-of-work и т.д).
Пока что еще не написал его, но совсем скоро - поделюсь репо на гитхабе.
Вот ссылка на первую статью, там внизу ссылки на все остальные из серии.
https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc
И по долгу службы, как бы формально это не звучало, мне нужно знать, как устроен блокчейн и апи разных блокчейн платформ.
В процессе ознакомления я прочитал очень известный документ(Satoshi Nakamoto Paper) - https://bitcoin.org/bitcoin.pdf
Впринципе понял, как это устроено в теории. Но на этом решил не останавливаться, ведь намного лучше всё понимается на практике.
Так вот, в итоге я нашел интересную серию статей на медиуме, в которых показывают как сделать свой простой блокчейн и внедрить имплементации разных алгоритмов(майнинг, proof-of-work и т.д).
Пока что еще не написал его, но совсем скоро - поделюсь репо на гитхабе.
Вот ссылка на первую статью, там внизу ссылки на все остальные из серии.
https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc