Наше внутрішнє співтовариство Go-розробників Mail.Ru Group активно розвивається, колеги регулярно зустрічаються для обміну досвідом і корисними ресурсами. Ми знаємо, як важливо спілкуватися з людьми з інших команд і проектів, мати можливість запитати ради, обговорювати тільки що з'явилися технології та поділитися досвідом. Близько півроку тому в нашому офісі вже проходила зустріч розробників Go, і нині ця мова все ще викликає великий інтерес. Тому 14 квітня ми організуємо черговий Go meetup. Запрошуємо спікерів! Від Mail.Ru Group вже заявлений один доповідь. Подробиці під катом.

Читати далі →

Трапилася непроста ситуація. Є код, написаний на С, який активно використовується через cgo в проекті, написаному на Go. У якийсь момент програма почала падати з помилками від malloc: то segfault, то memory corruption.

Логічна думка: потрібен valgrind з його memcheck, щоб перевірити, хто лізе поперек батька в пекло невалидную пам'ять. Однак, спроба згодувати валгринду бінарники, отриманий від go build, призведе тільки до розчарування — навіть на простому Hello World валгринд вибухне сотнями помилок і відправить розробника на відомі координати (спойлер: "Go fix your program!").

Це відбувається з-за того, що go runtime досить специфічний і значно відрізняється від такого в С. (Подробиці можна спокійно знайти за запитом «golang valgrind»).

Так як же нам розібратися, що відбувається?

Читати далі →

enter image description here
Привіт. Мене звуть Марко (я системний програміст в Badoo). І я уявляю вашій увазі переклад поста Go, який мені видався цікавим. Go дійсно лають за товсті бінарники, але при цьому хвалять за статичну лінковку і за зручність викладки єдиного файлу. Якщо на сучасних серверах товсті бінарники – не проблема, то на вбудованих системах – ще як. Автор описує свою історію боротьби з ними в Go.
Читати далі →

Представляю вам переклад моєї статті на Medium.com: частина 1, частина 2. Оскільки перша частина статті містить в основному вже викладене в цьому пості, то наводжу тільки переклад другої частини.

Худнемо і переїжджаємо в контейнери
У першій частині статті я розповів про прості підходи, що дозволяють побудувати масштабований кластер Selenium без написання коду. У цій частині ми розглянемо більш тонкі питання роботи з Selenium:
  1. Як створити легко масштабовані робочі ноди, використовуючи стандартний Selenium Hub
  2. Чому можна і потрібно запускати більшість браузерів в контейнерах і як це робиться
  3. Які open-source інструменти для цього існують

Читати далі →

image

16 лютого Golang-спільнота влаштувало глобальний збір на честь релізу версії 1.8. На московську release party в офісі Avito зібралися понад 150 «гоферов» і сьогодні ми публікуємо відео-запису доповідей.

Читати далі →

Agile помер, хай живе... Agile

За останні кілька років гнучкі методології майже витіснили традиційні способи розробки – повністю за принципами Agile зараз працюють дві третини IT-компаній. Чи справдилися очікування, які виникають проблеми і куди все рухається? Пропонуємо аналіз існуючого російського і зарубіжного досвіду роботи з Agile і відповіді на ці питання.

Читати далі →

Новорічні обіцянки Go-розробника

image
Це переклад посади одного з головних розробників мови Go, Расса Коксу, де він в традиційному для новорічного часу форматі дає собі обіцянки і планує виконати їх.
Настав час прийняття рішень, і я подумав, що має сенс трохи розповісти про те, над чим я хочу працювати у новому році стосовно Go.
Кожен рік я ставлю перед собою мету — допомогти Go-розробникам. Я хочу бути впевнений, що те, що роблять творці Go, робить позитивний вплив на всіх Go-розробників. Тому що у них є маса способів зробити помилку: наприклад, можна витратити занадто багато часу на очищення або оптимізацію коду, яким це не потрібно; відгукуватися тільки на найпоширеніші або недавні скарги і запити; надто зосереджуватися на короткострокових поліпшення. Тому так важливо поглянути на все зі сторони і зайнятися тим, що принесе найбільше користі для Go-спільноти.
У цій статті я опишу кілька основних завдань, на яких я зупинюся в цьому році. Це мій власний список, а не всієї команди творців Go.
Читати далі →