Обновить
23
Дмитрий Солдатенко@sl4mmer

Go dev

17
Подписчики
Отправить сообщение

Теги структур — худшее что есть в go

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели18K

Всем доброе время суток. Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и, честно говоря, обожаю этот язык. Когда говорят о проблемах Go, обычно вспоминают отсутствие наследования или своеобразную обработку ошибок. Гораздо реже речь заходит о том, что, на мой взгляд, действительно можно отнести к проблемам.

Читать далее

Прекратите создавать интерфейсы

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели41K

Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и как и все, люблю подискутировать на технические темы.

У этой заметки сложная судьба, мне загорелось написать ее еще летом, но совершенно не хотел говорить об очевидных вещах и писать миллион первую статью со ссылкой на гугловский go code review comments. Тема уже разобрана всеми кому не лень, на русском языке вот у  Николая @JustSkiv Тузова, есть замечательное видео на его ютуб канале, раскладывающее по полочкам, для чего это нужно.

Последний дисклеймер и перейду к сути: тема на самом деле очень обширна и я сознательно сконцентрировался на одном аспекте (неуместные определения интерфейсов). Буду рад, если продолжим общение в комментариях, очень не хватает Хабра начала 10-х годов, с живыми, а иногда и крайне горячими, инженерными дискуссиями.

Читать далее

В поисках мертвых горутин

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и люблю периодически изучать предлагаемые нововведения. Недавно мы собирались внутренним комьюнити, обсуждали интересные пропозалы из гитхаба Go. Среди прочего — изящный и крайне перспективный Proposal #74609 Deadlock detection by using the garbage collector Собственно, о нём сегодня и пойдёт речь.

Мотивация

Горутины могут блокироваться — например, при попытке захватить уже занятую блокировку или отправить сообщение в канал, по которому ещё никто не читает. Если все горутины заблокированы, рантайм Go завершает выполнение с фатальной ошибкой о глобальной взаимной блокировке (deadlock).

Однако гораздо чаще встречаются частичные дедлоки (также известные как утечки горутин), когда часть, но не все горутины блокируются навсегда. В отличие от глобальных дедлоков, которые случаются редко, частичные дедлоки — частая проблема в реальных приложениях из-за непредсказуемых путей исполнения и планирования.

На текущий момент Go не предоставляет встроенного механизма для обнаружения или устранения частичных дедлоков. Поскольку стандартный сборщик мусора не распознаёт такие ситуации, он не может освободить ни память, занятую “мёртвыми” горутинами, ни ресурсы, достижимые только через их стеки.

Наиболее продвинутыми динамическими средствами обнаружения частичных дедлоков являются Goleak и LeakProf:

Читать далее

Слабые указатели в Go: в консерватории не всё в порядке

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.1K

Меня зовут Дмитрий Солдатенко, я разработчик в Ви.Tech, IT-дочке ВсеИнструменты.ру. И теперь, когда формальное представление завершено, хочу поделиться своим, местами не очень формальным, батхертом по поводу слабых указателей.

Предполагается, что вы пишете на Go и хотя бы на уровне чтения релиз-ноутов знакомы с концепцией слабых указателей (weak pointers).

На первый взгляд, это полезный механизм для некоторых сценариев. Но у меня есть одна идеологическая и несколько фактических претензий к их реализации, о двух из которых вообще никто и нигде почему-то не упоминает.


Если вы читаете эту статью, значит, меня держат в плену я всё-таки довёл её до публикации, и она не повторила судьбу многих других. Постараюсь кратко и тезисно, пока мне не стало лень писать. =)

Читать далее

К слову об именах переменных в Go

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

Субботним утречком, решил поговорить, кое о чем действительно важном. Управление памятью, сборщик мусора - это все недостойная обсуждения фигня, имена переменных вот это действительно стоящая тема. Не вижу, почему бы трем благородным донам, ее не обсудить.

Для тех кто пишет на go давно, изложенное ниже может показаться очевидным, но буду рад вашим комментам (панамку за некоторую сумбурность изложения приготовил)

Одной из ключевых особенностей Go является ориентация на читаемость и краткость кода. Это проявляется как в конструкциях языка, так и в стилевых рекомендациях, принятых сообществом и разработчиками языка.

Короткие имена переменных — важная часть этой философии. В отличие от языков, где длинные и описательные имена переменных могут быть нормой (например, PHP или Java), Go поощряет использование коротких имен, особенно в случаях, когда их смысл легко понять из контекста. 

Читать далее

MongoDb for developers. Неделя 2

Время на прочтение7 мин
Охват и читатели15K
Доброе время суток, хабр. Этот топик — продолжение цикла статей, основанных на материалах онлайн курса M101 от 10gen. Поскольку вторая неделя является одной из самых насыщенных, она будет разбита на две статьи.
Добро пожаловать под кат

Национальная облачная платформа. Где деньги, Зин?

Время на прочтение1 мин
Охват и читатели34K
Месяца два назад на хабре народ пытался понять — куда, собственно были попиленытрачены деньги, выделенные для создания национальной облачной платформы? Ибо со стороны продукт действительно выглядит несколько невнятно. Собственно, ответ от МинСвязи на данный вопрос — под катом. Правда, ответ так себе — скорее отписка, но немного занимательной информации здесь можно найти.

P.S Так торопились с ответом, что даже имя мое перепутали. В шапке записали инициалы C.А, а в заголовке ответа уже правильно — Дмитрий Алексеевич.

P.P.S Если вдруг надо, могу выложить на дропбоксе оригинальную пдф-ку в нормальном качестве.
Фотографии под катом

Следим за коллекцией. Tailable cursors

Время на прочтение2 мин
Охват и читатели11K


Если вы молоды и энергичны интересуетесь mongoDb, хотите подискутировать на тему перевода слова tailable на русский, и вас интересует откуда взята пикрелейтед — добро пожаловать под кат.

Да, да это про меня, уже читаю

Дело было вечером, echo «было нечего»

Время на прочтение2 мин
Охват и читатели21K
Добрый день хабр. В статье я расскажу, как используя синтаксис php, можно написать функцию для вывода переданной ей строковой переменной, не использующую в своем теле символы «a-zA-Z0-9<>?»

Вообще на хабре уже проскальзывали ссылки на статьи об использовании undefined variable, так что ничего нового я скорее всего не открою.
Читать дальше →

Jetbrains Santa Service

Время на прочтение1 мин
Охват и читатели20K
Странно почему этой новости нет в блоге компании на хабре. Восполню этот досадный пробел.
Итак, JetBrains выпускают кракена Санту. Подробности по катом
Читать дальше →

MongoDb for developers. Неделя 1

Время на прочтение7 мин
Охват и читатели47K
Вечер добрый, хабр. На прошлой неделе стартовал курс «MongoDb for developers» от 10gen, о котором уже писали на хабре. Если вы смотрели уроки, то можете смело проходить мимо. Остальным — добро пожаловать.

В этой статье будет изложен основной материал первой недели обучения. Если аудитория проявит интерес — то подобные посты будут выходить в конце каждой недели.

Мы вкратце рассмотрим, что представляет собой MongoDB, сравним разницу в структурах данных между монго и реляционными базами для простого веб-приложения, поиграемся с шеллом, и немножко покодим на пхп и питоне.

Зачем эта статья? Предвижу подобный вопрос. Не все успели записаться на курсы, не у всех есть достаточно свободного времени, не у всех хорошо обстоят дела с восприятием устной английской речи. Ну и для гуглящих подобный материал не помешает.
Читать дальше →

HTC проиграла суд Apple

Время на прочтение1 мин
Охват и читатели1.3K
HTC проиграла патентную тяжбу Apple и с 19го апреля 2012г. все устройства тайваньской компании, содержащие спорную функцию будут запрещены к продаже на территории США.
Читать дальше →

«Mate» — форк Gnome2

Время на прочтение1 мин
Охват и читатели6K
Судя по всему, призыв Торвальдса к форку второГнома был услышан.

Mate, воплощает один из основных принципов философии СПО: «Не нравятся тенденции в развитии проекта? Форкни его! », и обещает стать тихой гаванью, для пользователей недовольных новшествами Gnome3.
Читать дальше →

Встречаем KDE 4.7

Время на прочтение3 мин
Охват и читатели3.6K
В точном соответствии с графиком, 27го числа, общественности был представлен «летний релиз» KDE.

Подробности под катом

Читать дальше →

Debian + SFLC = FAQ

Время на прочтение1 мин
Охват и читатели649
Восьмого числа, на сайте проекта Debian, был опубликован весьма любопытный документ — «FAQ по патентной политике для сообществ занимающихся распространением свободного ПО»

Материал подготовлен юристами Software Freedom Law Center (SFLC) по просьбе и при содействии проекта Debian. Данный FAQ, конечно не является полноценной юридической консультацией, но дает представление по работе с патентами на программное обеспечение и рассчитан прежде всего на сообщества добровольцев, действующих на общественных началах, без участия каких либо коммерческих организаций.

Проект Debian поддерживает критические позиции в отношении патентов на ПО: «мы считаем, патентование представляет угрозу для СПО и тормозит прогресс развития программного обеспечения в целом».

В то же время учитывая сложившуюся в ряде стран ситуацию- разработчики и распространители СПО не должны преуменьшать (впрочем как и преувеличивать) важность работы по патентным вопросам.

«Патент FUD является серьезной проблемой, как риск патентной агрессии против СПО», говорит Эбен Моглен, директор-основатель Юридического центра свободы программного обеспечения. «SFLC рада сотрудничать с Debian, дабы помочь сообществам волонтеров понять реальные проблемы, и найти реальные решения, не мучаясь от сомнений и неуверенности».

Вот собственно сей документ www.debian.org/reports/patent-faq

Новость на debian.org www.debian.org/News/2011/20110709

Calculate Linux 11.6

Время на прочтение2 мин
Охват и читатели1.4K
Сегодня, выпущен юбилейный (4 года проекту) релиз [lorMode]бинарной генты [/lorMode] замечательного российского дистрибутива Calculate Linux. Стоило бы оформить как топик-ссылку, но к сожалению не могу.

Подробности по катом.
Читать дальше →

Переход на LibreOffice

Время на прочтение1 мин
Охват и читатели4.6K
На днях, закончился окончательный переход Debian на LibreOffice.

LibreOffice уже ранее поставлялся в testing и unstable, а с 23.06 доступен бэкпорт для Debian 6.0 «Squeeze».
Читать дальше →

Хочу эту красивую штуку

Время на прочтение3 мин
Охват и читатели2.5K
Привет Хабр. Давно собирался написать эту статью и не то чтобы не доходили руки — просто сомневался в том, что здесь для нее подходящее место. К IT она имеет весьма косвенное отношение, скорее это жизненная история. История о том, как моя девушка стала уверенным пользователем linux. Дабы увеличить ценность материала, постараюсь сконцентрировать внимание на основных подводных камнях при переходе рядового юзера (aka домохозяйка) на линь.

При написании данной статьи ни одного дистрибутива не пострадало
Читать дальше →
1

Информация

В рейтинге
7 699-й
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Ведущий
От 500 000 ₽
Git
Golang
PostgreSQL
ClickHouse
NoSQL
Python
Высоконагруженные системы