Чтобы отказаться от языка программирования, на котором уже ведется коммерческая разработка, и начать учить новый, программистам нужны серьезные основания. Но история ИТ-индустрии знает много случаев, когда выбор за них делало время, и переход происходил как бы сам по себе.

Что заставило множество разработчиков перейти на Objective C? Что сейчас заставляет отказаться от него и выбрать Swift?

Objective C является расширением языка Си, в который были добавлены новые возможности для объектно-ориентированного подхода программирования. Язык использует объектную модель Smalltalk. Полностью совместим с языком программирования Си. Компания Apple долгое время использовала Objective C как основной язык программирования для разработки своих продуктов.

Создателями Objective C являются Брэд Кокс и Том Лав. Они начали работать над ним в начале1980-х годов, когда еще были сотрудниками телекоммуникационной компании ITT Corporation. Примерно в то же время Кокс и Лав познакомились с языком программирования Smalltalk. Кокса тогда занимали проблемы повторного использования программного кода. Читать дальше →

Зависимости. Дженерики. Они часто звучат в списке проблем в Go сообществе, но есть одна проблема, о которой вспоминают довольно редко — организация кода вашего пакета.


Каждое Go приложение, с которым я работал, похоже, имеет свой ответ на вопрос "Как я должен организовать код?". Некоторые приложения засовывают всё в один пакет, в то время, как другие группируют логику по типам или модулям. Без хорошей стратегии, которой придерживаются все члены команды, вы рано или поздно увидите, что код сильно разбросан по многочисленным пакетам. Нам нужен некий стандарт для дизайна кода в Go приложениях.


Я предлагаю подход получше. Следуя набору простых правил, мы можем добиться того, что код будет несвязанным, легко тестируемым и структура проекта будет цельная. Но прежде, чем мы углубимся в детали, давайте посмотрим на наиболее часто используемые подходы к структуризации Go кода.

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

Статья писалась для разработчиков, которые начинают осваивать язык программирования Go с целью соблюсти в их коде безопасные требования к написанию веб-приложений. В статье приведены возможные уязвимости, которые могут оставить веб-программисты, а также способы устранения либо с помощью стандартных библиотек, либо с помощью сторонних решений, которые проявили уже себя.


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

Перевод познавательной статьи "Golang: channels implementation" о том, как устроены каналы в Go.


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


Устройство канала


Давайте начнём с разбора структуры канала:


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

2016-08-16 13:48:40

Habrahabr: Релиз Go 1.7

Сегодня, 16 августа 2016, вышел восьмой стабильный релиз языка программирования Go — Go 1.7. Как обычно, релиз выпущен по намеченному плану, через пол года после предыдущего, и в нём нет обратно несовместимых изменений. В тоже время, в Go 1.7 довольно много новых и важных изменений, уменьшены время компиляции и размеры бинарников, увеличена скорость работы и в стандартную библиотеку наконец-то добавлен пакет context. Под катом более подробный обзор новшеств и нововведений.

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

Темы

Библиотеки, утилиты и примеры кода

Конференции и митапы

Спонсоры и “патроны”

Ведущие этого выпуска: Артём, Александр, Елена, Слава.


Перевод одной из статей Бена Джонсона из серии "Go Walkthrough" по более углублённому изучению стандартной библиотеки Go в контексте реальных задач.


В предыдущем посте мы разобрались, как работать с потоками байт, но иногда нам нужно работать с конкретным набором байт в памяти. Хотя слайсы байт вполне подходят для многих задач, есть немало случаев, когда лучше использовать пакет bytes. Также мы рассмотрим сегодня и пакет strings, так как его API практически идентичен bytes, только он работает со строками.


Этот пост является одним из серии статей по более углублённому разбору стандартной библиотеки. Несмотря на то, что стандартная документация предоставляет массу полезной информации, в контексте реальных задач может быть непросто разобраться, что и когда использовать. Эта серия статей направлена на то, чтобы показать использование пакетов стандартной библиотеки в контексте реальных приложений. Если у вас есть вопросы или комментарии, вы всегда можете написать мне в Твиттер — @benbjohnson.

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



В этой статье я расскажу, как мы разрабатывали облачный сервис Scorocode, с какими проблемами столкнулись, и, что самое важное, поделюсь планами развития.

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

Чем мы занимаемся?


Наша команда разрабатывает платформу программной отправки уведомлений посредством REST API на мобильные устройства. В настоящий момент это push уведомления для iOS устройств, а также SMS благодаря интеграции с Twilio). С целью организации процесса поддержки, а также сообщества пользователей, был выбран ряд информационных систем и сервисов (список см. ниже), которые, с нашей точки зрения, позволяли решить поставленную задачу в кратчайшие сроки и с минимальными усилиями.


Задачи


Автоматизировать выполнение следующих действий:


  • Pегистрация пользователей в системе учета обращений
  • Регистрации пользователей на портале сообщества
  • Управление услугами для пользователей

Используемые системы (и их назначение)


Все нижеперечисленные информационные системы и сервисы имеют REST API интерфейс, позволяющий решить поставленные задачи.


  • Atlassian Jira Service Desk (система учета обращений позьзователей)
  • Atlassian Confluence (информационный портал)
  • Slack (сообщество пользователей)
  • Paddle (распространение/ лицензирование программного обеспечения)
Читать дальше →

Гость

В гостях Максим Тищенко, технический лид в компании BurningButtons.

Рассказ гостя:

  • о себе и своей работе
  • об IT-образовании и мероприятиях в Омске
  • про поездку на GopherCon

Темы

Библиотеки, утилиты и примеры кода

Конференции и митапы

  • dotGo 2016 — Париж, 10 октября, промокоды GOLANGSHOW или GOLANGMOSCOW для скидки в 20%
  • The Golang UK — Лондон, 17–19 августа, промокод GOLANGSHOW2016 для скидки в £25
  • Митап в Москве, 6 августа

Спонсоры и “патроны”

  • Промо-код GOLANGSHOW для облачного хостинга DigitalOcean.
  • Gravitational, облачные сервисы на любой инфраструктуре. Kubernetes в каждый датацентр! Мы ищем таланты
  • Благодарим за поддержку наших “патронов”: Maxim Tishchenko, Jaleel Akbashev, Leonid Bugaev, Danila Pisarev, Andrew Pogrebnoy, Ivan Prisyazhnyy, Maximov Michael, Андрей Устинов, Andrew Vorobyov, Aleksey Ganzha, Pavel Likin и других слушателей. Поддержать подкаст можно здесь.

Ведущие этого выпуска: Артём, Алексей, Александр, Елена.



PlanetGo.ru 2015
Связаться