Наконец мне довелось использовать pprof в действии для scrapio. (github.com/koshqua/scrapio)
pprof - это встроенный го тул для профилирования памяти и cpu.
Мало того, что он умеет создавать профили и писать их файлы, так он еще и умеет в вот такие потрясающие схемы.
Официальный док: https://golang.org/pkg/runtime/pprof/
Небольшая статья, которая объясняет memory leaks: https://medium.com/dm03514-tech-blog/sre-debugging-simple-memory-leaks-in-go-e0a9e6d63d4d
Кстати, scrapio - это мой небольшой проект, буду рад вашей критике.
pprof - это встроенный го тул для профилирования памяти и cpu.
Мало того, что он умеет создавать профили и писать их файлы, так он еще и умеет в вот такие потрясающие схемы.
Официальный док: https://golang.org/pkg/runtime/pprof/
Небольшая статья, которая объясняет memory leaks: https://medium.com/dm03514-tech-blog/sre-debugging-simple-memory-leaks-in-go-e0a9e6d63d4d
Кстати, scrapio - это мой небольшой проект, буду рад вашей критике.
GitHub
Koshqua/scrapio
Make web crawling and scraping easier. Contribute to Koshqua/scrapio development by creating an account on GitHub.
В тему вчерашнего поста, лекция от Брэда Фицпатрика, создателя LiveJournal и одного из разработчиков Golang.
Мне она показалась полезной и предметной.
Лекция на тему оптимизации программ на Golang.
Автор разбирает простую программу на Go и показывает, как делать профайлинг на живом примере.
https://youtu.be/xxDZuPEgbBU
Мне она показалась полезной и предметной.
Лекция на тему оптимизации программ на Golang.
Автор разбирает простую программу на Go и показывает, как делать профайлинг на живом примере.
https://youtu.be/xxDZuPEgbBU
YouTube
Profiling & Optimizing in Go / Brad Fitzpatrick
YAPC::Asia Tokyo 2015
(c) Brad Fitzpatrick
CC-BY-NC
http://yapcasia.org/2015/talk/show/6bde6c69-187a-11e5-aca1-525412004261
(c) Brad Fitzpatrick
CC-BY-NC
http://yapcasia.org/2015/talk/show/6bde6c69-187a-11e5-aca1-525412004261
Приложение Всемирной Организации Охраны Здоровья, которое попало в трендинг гитхаба.
За 12 дней существования репо появилось уже 27 контрибов и огромное количество желающих, исходя из того, что написано в ридми.
https://github.com/WorldHealthOrganization/app
За 12 дней существования репо появилось уже 27 контрибов и огромное количество желающих, исходя из того, что написано в ридми.
https://github.com/WorldHealthOrganization/app
GitHub
GitHub - WorldHealthOrganization/app: COVID-19 App
COVID-19 App. Contribute to WorldHealthOrganization/app development by creating an account on GitHub.
Такой python красивый, вот прям очень нравится.
Например, реализация чего-то похожего на filter.
В python это называется list comprehension.
https://github.com/Koshqua/python_notes/blob/master/list_comprehension.py
Вообще понял, что знать несколько языков полезно с точки зрения расширения кругозора.
Везде есть свои best practices и фишечки, которые можно переносить из одного языка в другой.
Писать на Go не перестаю, просто пока что больше внимания уделю python.
Например, реализация чего-то похожего на filter.
В python это называется list comprehension.
https://github.com/Koshqua/python_notes/blob/master/list_comprehension.py
Вообще понял, что знать несколько языков полезно с точки зрения расширения кругозора.
Везде есть свои best practices и фишечки, которые можно переносить из одного языка в другой.
Писать на Go не перестаю, просто пока что больше внимания уделю python.
GitHub
Koshqua/python_notes
My notes made during learning python by official tutorial. - Koshqua/python_notes
Интересный и идейный контест от Mozilla с призами и «стипендией» за участие.
Шесть социально важных тем для современного веба на выбор. Можно и помочь миру и заработать.
https://blog.mozilla.org/blog/2020/03/30/were-fixing-the-internet-join-us/
Шесть социально важных тем для современного веба на выбор. Можно и помочь миру и заработать.
https://blog.mozilla.org/blog/2020/03/30/were-fixing-the-internet-join-us/
The Mozilla Blog
We’re Fixing the Internet. Join Us.
For over two decades, Mozilla has worked to build the internet into a global public resource that is open and accessible to all. As the internet has grown, it has ...
В этот поздний час меня посетил, возможно, немного нубский вопрос. «Для чего нужны таблицы ASCII ?». Я вроде бы и понимал до этого, но как-то не до конца. Здесь есть достаточно простое объяснение:
https://rosieresearch.com/why-is-ascii-important/
https://rosieresearch.com/why-is-ascii-important/
Rosie Research
Why is ASCII Important? The link between us, computers, and language.
Why is ASCII important? ASCII is an important computer language that created a common method of storing data in binary. What is ASCII used for? ASCII code translates between binary and the letters on your computer screen through ASCII tables. Learn the importance…
Полезная статья о том, как работать с нестандартными форматами даты и времени в Go.
А конкретней, как правильно парсить такие даты из json-ов.
https://ustrajunior.com/blog/json-unmarshal-custom-date-formats/
А конкретней, как правильно парсить такие даты из json-ов.
https://ustrajunior.com/blog/json-unmarshal-custom-date-formats/
Forwarded from Open Source & AI Future 🇺🇦
GitHub стал доступней для командной работы
Сервис открыл возможность добавления безлимитного колличества коллабораторов для приватных репозиториев. Отличный способ контроллировать работу всей команды в одном месте (CI/CD, project management и др.).
Детальней по ссылочке -> https://bit.ly/2XCseXg
Сервис открыл возможность добавления безлимитного колличества коллабораторов для приватных репозиториев. Отличный способ контроллировать работу всей команды в одном месте (CI/CD, project management и др.).
Детальней по ссылочке -> https://bit.ly/2XCseXg
Не знаю, единственный ли я здесь кто не слышал про methbot.
Случайно наткнулся на название и решил загуглить.
В итоге наткнулся на интересную историю о том, как ребята из России воровали рекламный трафик у огромных рекламных компаний.
В конце концов их вроде раскрыли. Вот документ от компании по кибербезопасности WhiteOps, в котором это всё дело более детально расписано.
На их сайте есть есть много связанной информации, например, скомпрометированные IP и поддельные домены.
Случайно наткнулся на название и решил загуглить.
В итоге наткнулся на интересную историю о том, как ребята из России воровали рекламный трафик у огромных рекламных компаний.
В конце концов их вроде раскрыли. Вот документ от компании по кибербезопасности WhiteOps, в котором это всё дело более детально расписано.
На их сайте есть есть много связанной информации, например, скомпрометированные IP и поддельные домены.
Пока искал тул, с помощью которого можно визуализировать зависимости в go коде, наткнулся на вот это.
Этот проект нацелен на то, чтобы визуализировать package в го в виде города.
Улицы - это папки, файлы - это здания, структуры данных - это здания на зданиях (что?).
Достаточно залипательно https://go-city.github.io/#/github.com/Koshqua/scrapio
Кстати, если у кого-то есть пример инструмента, который я ищу, пишите - @mlvni
Этот проект нацелен на то, чтобы визуализировать package в го в виде города.
Улицы - это папки, файлы - это здания, структуры данных - это здания на зданиях (что?).
Достаточно залипательно https://go-city.github.io/#/github.com/Koshqua/scrapio
Кстати, если у кого-то есть пример инструмента, который я ищу, пишите - @mlvni
GoCity
GoCity - Golang source code visualization in 3D
GoCity is an implementation of the Code City metaphor for visualizing Go source code.
Никак не мог решиться, но все таки поделюсь хорошей новостью. Я наконец-таки нашёл работу 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