Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных дают примеры или на псевдокоде, или на С++. Ещё эталонные решения задач написаны зачастую на С++. Готовясь к собеседованию, составил шпаргалку библиотек — аналогов контейнеров STL, что бы не тратить драгоценное время на поиск.
Читать полностью »
Рубрика «golang» - 12
Шпаргалка по структурам данных в Go
2019-06-15 в 20:31, admin, рубрики: Go, golang, stl контейнеры, Алгоритмы, собеседованияPoor man’s monitoring или мониторим сервера из консоли
2019-06-04 в 11:39, admin, рубрики: golang, linux, мониторинг сервера, ненормальное программирование, Серверное администрированиеВсех приветствую уважаемые читатели. В данной статье я расскажу Вам о моём «велосипеде», на котором я делаю мониторинг разных вещей не выходя из консоли.
Столкнулся я как-то раз с ситуацией, когда расплодилось довольно много разных проектов и серверов, а настроить нормальный мониторинг руки не доходили.
Да и в современном мире «правильный» мониторинг подразумевает развертывание целой кучи софта, настройки всего этого дела. Ну вы знаете там… докер, эластик стек и пошло поехало. Для меня это был сильный оверхед. Хотелось чтобы раз-два и в продакшн.
Смотрел я в сторону Simple monitor на питоне, он был ближе всего мне по духу, но у него не хватало довольно многих фич. А мне заодно хотелось подучить Go… ну вообщем Вы сами знаете как обычно это все начинается.
Поэтому я взял сварку Go, и сколотил этот Велосипед.
Читать полностью »
Как получить проходку на OFFZONE 2019 и оффер за один день
2019-05-24 в 17:15, admin, рубрики: Go, golang, javascript, OFFZONE, python, qa, React, ReactJS, RobotFramework, selenium, testing, автоматизация тестирования, Блог компании BI.ZONE, Карьера в IT-индустрии, тестирование, Тестирование IT-систем, тестирование по
17–18 июня в Москве состоится OFFZONE 2019 — международная конференция по кибербезопасности, где свои разработки и практические исследования представят крутые специалисты из 8 стран. %Username%, предлагаем тебе убить сразу много зайцев — посетить мероприятие бесплатно, получить заряд от решения интересных задач и побороться за оффер от BI.ZONE прямо на нашем стенде. Читать полностью »
SphinxSearch-meetup SuperJob
2019-05-24 в 14:27, admin, рубрики: golang, meetup, mysql, search, sphinx, SuperJob, Блог компании Superjob.ru, поисковые технологии28 февраля мы провели SphinxSearch-meetup SuperJob. Рассказываем, что обсуждали участники, делимся видео и презентациями.
Golang DevDay: 31 мая, Новосибирск + трансляция
2019-05-16 в 4:33, admin, рубрики: devday, Go, golang, meetup, Анализ и проектирование систем, Блог компании 2ГИС, взаимодействие, итераторы, конференции, конференция, моделирование, моделирование предметной области, Программирование
Обычно с приходом тепла DevDay уходит на каникулы. На этот раз решили, что ждать осени — непозволительно. В последний день весны приглашаем вас присоединиться к Golang DevDay. Будет и мягкий переход «из не-Go в Go» для тех, кто только присматривается к языку, и выступления похардкорнее.
Под катом подробности, расписание и ссылка на регистрацию.
Читать полностью »
Искусственный интеллект на примере простой игры. Часть 2
2019-05-08 в 19:59, admin, рубрики: golang, игры для программистов, искусственный интеллект, машинное обучение, нейронные сети, Спортивное программирование
- В этот раз выбрана игра «Змейка».
- Создана библиотека для нейросети на языке Go.
- Найден принцип обучения, зависимый от «глубины» памяти.
- Написан сервер для игры между разработчиками.
Пишем HTTP-1.1 & HTTP-2 клиент и сервер на Golang
2019-05-08 в 14:09, admin, рубрики: Go, golang, Блог компании Skillbox, Программирование, разработка, языки программирования
Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2.
Читать полностью »
Terraformer — Infrastructure To Code
2019-05-06 в 22:53, admin, рубрики: Amazon Web Services, AWS, cloud, devops, GCP, Go, golang, google cloud, Google Cloud Platform, hcl, infrastructure as code, open source, terraform
Хотел бы рассказать про новый CLI tool который я написал для решения одной старой проблемы.
Проблема
Terraform уже давно стал стандартом в Devops/Cloud/IT сообществе. Вещь очень удобная и полезная чтоб заниматся infrastructure as code. Есть много прелестей в Terraform а так же много вилок, острых ножей и граблей.
С Terraform очень удобно делать новые вещи и потом ими управлять, менять или удалять. А что делать тем у кого есть огромная инфраструктура в облаке и не создано через Terraform? Переписывать и пересоздавать все облако как то дорого и небезопасно.
Я сталкивался с такой проблемой на 2 работах, самый простой пример когда хочешь что все было в гите виде терраформ файлов, а у тебя 250+ бакетов и писать их для терраформа руками как то много.
Есть issue еще с 2014 года в terrafom которую закрыли в 2016 с надеждой что будет import.
Вообщем все как на картинке только справа налево
Читать полностью »
Интерфейсы как абстрактные типы данных в Go
2019-05-03 в 10:23, admin, рубрики: abstract, architecture, Go, golang, interfaces, Анализ и проектирование систем, ооп, Совершенный кодНе так давно коллега ретвитнул отличный пост How to Use Go Interfaces. В нем рассматриваются некоторые ошибки при использовании интерфейсов в Go, а также даются некоторые рекомендации по поводу того, как их все-таки стоит использовать.
В статье, упомянутой выше, автор приводит интерфейс из пакета sort стандартной библиотеки, как пример абстрактного типа данных. Однако, мне кажется, что такой пример не особо хорошо раскрывает идею, когда речь заходит о реальных приложениях. Особенно о приложениях, реализующих логику какой-нибудь бизнес области или решающих проблемы реального мира.
Также при использовании интерфейсов в Go зачастую возникают споры об оверинжиниринге. А еще бывает так, что, после чтения подобного рода рекомендаций, люди мало того что прекращают злоупотреблять интерфейсами, они пытаются практически полностью от них отказаться, тем самым лишая себя использования одной из сильнейших концепций программирования в принципе (и одной из сильных сторон языка Go в частности). На тему типичных ошибок в Go кстати, есть неплохой доклад от Stive Francia из Docker. Там в частности несколько раз упоминаются интерфейсы.
В общем, я согласен с автором статьи. Тем не менее, мне показалось, что тема использования интерфейсов, как абстрактных типов данных в ней раскрыта довольно поверхностно, поэтому мне хотелось бы немного развить ее и поразмышлять на эту тему вместе с вами.
Статистика и мониторинг PHP скриптов в реальном времени. ClickHouse и Grafana идут на помощь к Pinba
2019-04-28 в 22:15, admin, рубрики: board, engine, Go, golang, nginx, php, php7, pinba, pinba_engine, pinba_server, pinba2, pinbaserver, pinboard, высокая производительностьВ этой статье я расскажу как использовать pinba совместно с clickhouse и grafana вместо pinba_engine и pinboard.
На php-проекте pinba — пожалуй единственный надёжный способ понять, что происходит с производительностью. Правда обычно pinba внедряется только тогда, когда уже наблюдаются проблемы и не понятно «где копать».
Часто никто понятия не имеет сколько раз в секунду/минуту вызывается тот или иной скрипт и начинают оптимизировать «на ощупь», начиная с тех мест, что кажутся логичнее.
Кто-то анализирует логи nginx, а кто-то медленные запросы в бд.
Конечно pinba не была бы лишней, но есть несколько причин, почему она есть далеко не на каждом проекте.
Читать полностью »