Разбираемся с использованием языка запросов GraphQL в Golang на простом примере получения данных пользователей и хранения в БД MongoDB: https://proglib.io/w/a1e8443e
Хабр
Создаем graphql бекенд на Golang
Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с раз...
Forwarded from Go jobs — вакансии по Go
Quadcode – это международная продуктовая компания, которая создает программное обеспечение для торговой и инвестиционной индустрии. Наши клиенты - это компании-брокеры и финансовые организации.
Golang Developer, от 140 000 до 200 000 руб.
Требования:
— опыт разработки на Golang более двух лет;
— опыт работы с PostgreSQL;
Условия:
— трудоустройство, согласно ТК РФ;
— место работы в десяти минутах ходьбы от ст.м. Новочеркасская в офисе класса А+;
— питание: компенсация обедов + кухни с разнообразной едой на каждом этаже;
— здоровье: ДМС со стоматологией, массажный кабинет в офисе;
— спорт: корпоративный спортзал с личным тренером, спортивные секции (футбол, баскетбол, волейбол);
— развитие: корпоративные тренинги, обучение английскому языку в офисе;
— работа в отличном коллективе, множество развлекательных мероприятий и возможность влиять на продукт.
➡️ Подробности - https://proglib.io/vacancies/golang-developer-quadsode-2020-04-24
Golang Developer, от 140 000 до 200 000 руб.
Требования:
— опыт разработки на Golang более двух лет;
— опыт работы с PostgreSQL;
Условия:
— трудоустройство, согласно ТК РФ;
— место работы в десяти минутах ходьбы от ст.м. Новочеркасская в офисе класса А+;
— питание: компенсация обедов + кухни с разнообразной едой на каждом этаже;
— здоровье: ДМС со стоматологией, массажный кабинет в офисе;
— спорт: корпоративный спортзал с личным тренером, спортивные секции (футбол, баскетбол, волейбол);
— развитие: корпоративные тренинги, обучение английскому языку в офисе;
— работа в отличном коллективе, множество развлекательных мероприятий и возможность влиять на продукт.
➡️ Подробности - https://proglib.io/vacancies/golang-developer-quadsode-2020-04-24
Репозиторий с полезными ссылками на инструменты, библиотеки и проекты, позволяющие повысить производительность приложений и эффективность разработки на языке Go: https://proglib.io/w/6829c5ad
GitHub
GitHub - go-perf/awesome-go-perf: A curated list of Awesome Go performance libraries and tools
A curated list of Awesome Go performance libraries and tools - go-perf/awesome-go-perf
При разработке веб-приложений на Go приходится сталкиваться с задачами обработки входных данных, поступаемых от пользователя, поэтому необходимо разбираться с правильной проверкой и очисткой последних. Эффективность данного процесса напрямую связана с защитой от следующих проблем безопасности приложений (по классификации OWASP Top 10): внедрение SQL, NoSQL, LDAP и т.д. (A1); внешние сущности XML (A4) и межсайтовое выполнение сценариев (A7).
https://proglib.io/w/5399b2ce
https://proglib.io/w/5399b2ce
TutorialEdge.net
Secure Coding in Go - Input Validation
In this article, we will be reviewing general secure coding best practices and the OWASP Top 10 (2017) security risks, focusing on how they should be approached when coding using Go.
Go или Golang — один из самых молодых и перспективных языков программирования. Простой и минималистичный, он легко изучается и при этом позволяет создавать надежное и эффективное программное обеспечение. Если вы давно хотели потестить возможности Go — записывайтесь на бесплатный интенсив «Язык GO» от образовательного портала GeekBrains Mail.ru group.
Что будет:
— Познакомитесь с основами работе на языке Go:
написание кода,
компиляция,
запуск,
работа с переменными и массивами, проверка условий,
циклы,
импорт.
— Научитесь писать, компилировать и запускать простой код в командной строке.
— Напишете простую консольную игру.
— Получите ответы на интересующие вопросы по теме.
Присоединяйтесь: https://geekbrains.ru/link/R2xzVc
Что будет:
— Познакомитесь с основами работе на языке Go:
написание кода,
компиляция,
запуск,
работа с переменными и массивами, проверка условий,
циклы,
импорт.
— Научитесь писать, компилировать и запускать простой код в командной строке.
— Напишете простую консольную игру.
— Получите ответы на интересующие вопросы по теме.
Присоединяйтесь: https://geekbrains.ru/link/R2xzVc
За два года спрос на профи в Data Science вырос вдвое. По сведениям hh дата-сайентисты получают от 100 тыс. руб./мес. Но обычно знания приходится собирать по крупицам. К счастью, Geekbrains подготовили курс по машинному обучению:
💎 65 часов контента с практикой к каждому занятию,
💎 30 онлайн-уроков с живыми преподавателями,
💎 5 проектов – всё по-взрослому.
Курс длится 5 месяцев, занятия ведут дата-сайентисты, работающие в крупных компаниях. Подробнее: https://proglib.io/w/9ad723f6
💎 65 часов контента с практикой к каждому занятию,
💎 30 онлайн-уроков с живыми преподавателями,
💎 5 проектов – всё по-взрослому.
Курс длится 5 месяцев, занятия ведут дата-сайентисты, работающие в крупных компаниях. Подробнее: https://proglib.io/w/9ad723f6
Учимся правильно использовать переменные окружения в Go для хранения параметров программы (например, параметры подключения к БД) с помощью пакетов os, godotenv и viper.
https://proglib.io/w/3886fc20
https://proglib.io/w/3886fc20
Forwarded from Библиотека программиста | программирование, кодинг, разработка via @like
Мы теперь есть в Яндекс.Мессенджере. Присоединяйтесь:
https://yandex.ru/chat/#/join/627c55a9-89c7-4d27-86ed-287d33a5ce7d
https://yandex.ru/chat/#/join/627c55a9-89c7-4d27-86ed-287d33a5ce7d
Помните пост, в котором мы приводили репозиторий, включающий интересные задачи с собеседований с соответствующими решениями?
Так вот, тот же автор создал не менее полезный репозиторий, в котором содержатся его заметки по обучению Go и компьютерным системам. Кроме пояснений к коду, он включил ссылки на другие статьи, которые представляют практическую значимость.
https://proglib.io/w/2c8a7706
Так вот, тот же автор создал не менее полезный репозиторий, в котором содержатся его заметки по обучению Go и компьютерным системам. Кроме пояснений к коду, он включил ссылки на другие статьи, которые представляют практическую значимость.
https://proglib.io/w/2c8a7706
Telegram
Библиотека Go разработчика
В своём репозитории автор представляет наиболее интересные по его мнению и часто задаваемые практические вопросы на собеседованиях на позицию Go-разработчика. Упор сделан именно на эффективность алгоритма программы и структуры данных.
https://github.com…
https://github.com…
Учимся работать в связке Go и Docker на основе следующих материалов: создание и использование многоэтапных сборок Docker-образов для приложения на Go и контейнеризация и деплой приложения на Go.
TutorialEdge.net
Go Multi-Stage Docker Tutorial
In this follow-up tutorial, we are going to look at how you can optimize containerizing our Go applications with Multi-stage Docker images.
Что делать, если программа создаёт огромное количество горутин, которые не смогут завершить свою работу? У garbage collector не будет возможности освободить занятую ими память, что может стать большой проблемой.
О том, как с этим бороться, описано в следующей статье: https://proglib.io/w/34d761c5
Пост с четырьмя предыдущими статьями данного автора, связанными с многопоточность, здесь.
О том, как с этим бороться, описано в следующей статье: https://proglib.io/w/34d761c5
Пост с четырьмя предыдущими статьями данного автора, связанными с многопоточность, здесь.
Medium
Goroutine Leaks
Горутина которая ответственна за создания других горутин, так же ответственна за их завершение
Какая функция является лучшим вариантом для прохождения каждой строки текстового файла?
Anonymous Poll
8%
fmt.Fscanf()
50%
bufio.Reader.ReadLine()
11%
bufio.ReadString('\n')
31%
bufio.Scanner.Scan()
fmt.Fscanf() — применимо только к форматированным строкам.
bufio.Reader.ReadLine() — реализует очень низкий уровень и может потребоваться больше вызовов при превышении лимита буфера.
bufio.ReadString('\n') — не может обработать EOF.
bufio.Scanner.Scan() — в данном случае подходит лучше всего. Кроме того, bufio.Scanner можно использовать для чтения из стандартного потока ввода и из любого потока байтов, если он реализует интерфейс io.Reader.
bufio.Reader.ReadLine() — реализует очень низкий уровень и может потребоваться больше вызовов при превышении лимита буфера.
bufio.ReadString('\n') — не может обработать EOF.
bufio.Scanner.Scan() — в данном случае подходит лучше всего. Кроме того, bufio.Scanner можно использовать для чтения из стандартного потока ввода и из любого потока байтов, если он реализует интерфейс io.Reader.
📕 25 лучших книг для программистов
Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.
https://proglib.io/sh/hwx5MziQen
Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.
https://proglib.io/sh/hwx5MziQen
Переосмысление визуального программирования с помощью Go: https://proglib.io/w/2d5b2b05
Какая из следующих функций возвращает общее количество элементов, присутствующих в срезе или массиве?
Anonymous Quiz
10%
size()
79%
len()
9%
cap()
3%
Нет правильного ответа
В Go имеется встроенная функция len(), помогающая работать с массивами и срезами. Как и в случае со строками, вы можете рассчитать длину массива или среза, используя команду len() с указанием массива или среза в качестве параметра.