Search
Write a publication
Pull to refresh
12
Кирилл Кунст @leoruread⁠-⁠only

Разработчик мобильных приложений

Send message

90 рекомендаций по стилю написания программ на C++

Reading time20 min
Views419K
От переводчика. Искал в интернете простой и легко применимый гайдлайн по написанию программ на C++. Мне понравился один из вариантов, и я решил его перевести и опубликовать. Если хабрапользователи хорошо встретят этот топик, могу перевести и другие связанные документы, а также гайдлайны по написанию кода от других компаний.

1 Введение


Настоящий документ содержит рекомендации по написанию программ на языке C++.

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

Но для появления ещё одного списка рекомендаций, помимо указанных источников, есть несколько причин. Основная причина — их излишняя обобщённость, поскольку зачастую требуется задать частные правила (в особенности правила именования). Данный документ содержит комментарии, что делает его более удобным в использовании при проведении ревизий кода, чем другие уже существующие документы. К тому же, рекомендации по программированию обычно вперемешку содержат описания проблем стиля и технических проблем, что не совсем удобно. Этот документ не содержит каких-либо технических рекомендаций по C++, делая упор на вопросах стиля.
Читать дальше →

Сравнение Serializable и Parcelable. В секундах

Reading time1 min
Views27K
В этом посте будут цифры, которые так хотел узнать пользователь gubber, публикуя статью-вопрос Serializable или Parcelable?
График тестов выглядит следующим образом

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

Шаблон программирования «Текучий интерфейс» в PHP. Свежий взгляд

Reading time5 min
Views38K

При разработке программного обеспечения одной из важных составляющих является высокая читабельность исходного кода программы. Существуют специальные методики и рекомендации, которые позволяют добиться улучшения читабельности исходного кода. Одной из методик улучшения читабельности исходного кода является применение «текучих интерфейсов» (англ. Fluent Interface). О нем мы и поговорим в данной статье.
Читать дальше →

Работать в командах, или нет?

Reading time5 min
Views5.1K
работа в команде


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

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

И еще один момент. Альтернативную модель построения организации я буду называть моделью “одинокого программиста”.
Не стесняемся, читаем и анализируем

Вывод текста в iOS: CoreText, NSAttributedString

Reading time11 min
Views10K
Я хотел бы Вам рассказать про вывод текста на экран в iOS. Вначале это задумывалось как туториал, затем как сбор неочевидных фактов, а получилось что получилось.

Способы вывода текста условно можно разделить на несколько категорий:

  • UIKit — привычные UI контролы. Дают только базовые возможности по отображению, совсем мало возможностей по форматированию
  • UIKit + NSAttributedString — привычные UI контролы с возможностью установки строки с атрибутами отображения. Куча возможностей по форматированию
  • CoreText — фреймворк для работы с текстом и текстовыми представлениями. В связке с NSAttributedString дает массу возможностей по форматированию текста и, благодаря нескольким уровням абстракций над элементами текста, расширенные методы по их отображению
  • CoreGraphics — с помощью него тоже можно отрисовывать текст

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

Перемещение и переименование файлов в GitHub

Reading time1 min
Views36K
С сегодняшнего дня вы можете перемещать и переименовывать файлы в репозиториях, прямо из веб интерфейса GitHub.

Переименование файлов


Теперь при редактировании файла можно указать новое имя.

image

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

Редактор цветовых схем для SublimeText 2

Reading time1 min
Views17K
В середине октября 2012 года Allen Bargi (aziz) обратил своё внимание на Angular.js и работу новых HTML5 API-интерфейсов для работы с файлами в Chrome. Эксперимент затянулся и разросся в замечательный проект — TMTheme Editor. Являясь on-line приложением, редактор TMTheme позволяет создавать и редактировать визуальные темы для популярного нынче SublimeText, так же поддерживается совместимый по темам Textmate и другие редакторы.

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

Mozilla официально выпустила Open Badges 1.0 — открытый стандарт сертификатов для онлайнового обучения

Reading time2 min
Views12K


Идея, лежащая в основе Open Badges настолько же проста, насколько масштабна — объединить любые учебные программы, курсы и уроки, доступные в интернете, с помощью открытого стандарта значков, которые выдаются участникам по окончании курса. Другими словами, Open Badges — это мини-дипломы стандартного образца, которые можно разместить у себя в профилях соцсетей и профессиональных сообществ, на персональном сайте или в резюме.

Выпускать значки может любая организация, значимость и «крутизна» каждого значка определяется лишь авторитетом того, кто его выдал. Это может быть и маленькая компания, и огромный университет. Сейчас в списке участников уже 600 организаций, среди которых Смитсоновский музей американского искусства, Департамент образования Нью-Йорка, университет Иллинойса. О своих планах присоединиться к инфраструктуре Open Badges уже заявили Microsoft, NASA, Pixar и другие.

Высшее образование стоит сегодня огромных денег, и если онлайн курсы, которые часто ведут преподаватели лучших университетов, могут дать студентам знания, сравнимые с теми, что получают студенты их вузов, то давать дипломы и сертификаты университеты не спешат. Многие считают, что традиционной замкнутой и консервативной системе высшего образования нужен "джейлбрейк". Open Bages может стать необходимой для этого основой общемировой системы доступного независимого образования и подтверждения знаний.
Читать дальше →

Узнайте бандлер получше

Reading time5 min
Views17K
Бандлер оказался замечательным средством установки и отслеживания джемов, которое так нужно каждому руби проекту настолько, что почти каждый проект использует его. Однако, несмотря на его повсеместность, большинство пользователей не знают о встроенных средствах и помощниках бандлера. В попытке повысить осведомленность (и производительность Руби разработчиков), я собираюсь рассказать вам о них.

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

Построение системы оптического распознавания структурной информации на примере Imago OCR

Reading time19 min
Views37K
В настоящей заметке я расскажу о том, как можно построить систему оптического распознавания структурной информации, опираясь на алгоритмы, применяющиеся в обработке изображений и их реализации в рамках библиотеки OpenCV. За описанием системы стоит активно развивающийся open source проект Imago OCR, который может быть непосредственно полезен в распознавании химических структур, однако в заметке я не буду говорить о химии, а затрону более общие вопросы, решение которых поможет в распознавании структурированной информации различного рода, например таблицы или графики.
Читать дальше →

Покорим Ruby вместе! Капля двенадцатая

Reading time4 min
Views18K
Настало время писать на Руби что-то пригодное для использования ;) Сегодня мы научимся выдирать нужную нам информацию из web-страниц с помощью Руби на примере Хабра. Начнем с кармы.

open-uri


Давайте каждый откроет свою персональный Хаброцентр (ну или чужой, если все еще не обзавелись инвайтом ;) с адресом вида %username.habrahabr.ru. Наша задача – извлечь из полутысячи строк HTML-кода значение нашей кармы. Предполагаем, что для этого нам необходимо сохранить код страницы в файл, открыть и прочитать его и, используя регулярные выражения, получить необходимую информацию.

Библиотека open-uri сделает первую часть работы за нас. После включения ее в программу становится доступен метод open, который позволяет открывать как локальные файлы, так и URL:
Едем дальше

RestKit — описание одной из возможностей

Reading time3 min
Views14K
Привет Хабр!

Предыстория



Давно заметил, что на хабре нет ни одной статьи о такой замечательной библиотеке как RestKit, написанной на Objective-C и предоставляющая прекрасные возможности для работы с RESTful-сервисами. Поэтому и пришла идея опубликовать краткое описание некоторых возможностей библиотеки, тем более что уже вышла совершенно новая её версия использующая за основу AFNetworking библиотеку для работы с HTTP. В статье описывается одна из важнейших для меня функциональностей — маппинг объектов.
Читать дальше →

Дайджест новостей из мира мобильной разработки за последнюю неделю №5 (4 — 10 марта 2013)

Reading time8 min
Views18K
Прошедшая неделя оказалась богата на истории из жизни — товарищ vofka рассказывал как делал продуктивити приложение, guskov писал как за счет уменьшения размера приложений втрое выросли загрузки, Facebook поделился интересной историей о том, как компания патчила Dalvik, Halfbrick Studios и Kiloo Games описывали разработку своих игр. А кроме того интересный сервис для прототипирования, обновление приложений без разработчиков, собственная рекламная сеть Amazon, поддержка Android от и много другого интересного в нашем еженедельном дайджесте.

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

Кроссплатформенная разработка для мобильных с Xamarin

Reading time11 min
Views61K

Введение


Совсем недавно компания Xamarin анонсировала выход новой версии своего инструментария для кроссплатформенной разработки мобильных приложений, но вменяемых статей на русском по этой тематике так и нет. На Хабре появился небольшой обзор, не связанный с кодингом, там же была пара попыток рассказать об этом чуть подробнее, но дальше процесса создания Hello World приложения дело не зашло. А жаль. В этот раз мы попробуем исправить это досадное недоразумение.
Читать дальше →

Говнокод или суперархитектура? Сначала говнокод, а потом эволюционный рефакторинг!

Reading time3 min
Views74K
Ответ на статью.

Если вы не разрабатываете ПО для машин или систем автоматического поддержания жизни и тд — нижесказанное работает для вас при грамотном применении.

Сразу скажу — не моя идея, в статье «Проектирования больше нет?» сам Мартин Фаулер писал об эволюционном рефакторинге. А Боб Мартин даже целую книгу запилил с примером поэтапного развития приложения (и не одним), назвав «Быстрая разработка ПО» и продемонстрировав умение виртуозно материться на Java и C++.

Во-первых, говнокод на первом этапе обязателен. Причин куча. Раз — вы ничего не знаете о реальных условиях работы приложения, все ваши домыслы фигня. Пока реальный опыт не получен, пока не занесены первые живые данные реальным пользователем — у вас нет обратной связи. Если вы не согласны, почитайте Макконнелла, миф о стабильных требованиях, и получите левелап.
Читать дальше →

Анимация UIView: перемещение по произвольной траектории на примере окружности

Reading time8 min
Views7.3K
Пожалуй, большинство iOs разработчиков знают, что для реализации различных визуальных эффектов, обычно, достаточно нескольких строчек кода. Фреймворк UIKit, отвечающий за стандартный интерфейс, имеет встроенные средства, позволяющие делать довольно изощрённые виды анимации — от перемещения по прямой, до эффекта переворачивания страницы. Однако, для перемещения наследников UIView по более сложной траектории, приходится спускаться ниже и переходить на уровень фреймворка Core Graphics. При этом, количество примеров в сети снижается и бывает сложно найти необходимое. А если и находится, то качество реализации, зачастую, оставляет желать лучшего. С такой ситуацией я и столкнулся, когда возникла необходимость сделать анимацию интерактивной книги для детей.

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

Cyto: наш метод проб и ошибок

Reading time5 min
Views24K


Год назад мы, украинская студия Room 8, начали делать свою первую игру под названием Cyto. Ни у кого в команде практически не было опыта гейм-девелопмента и разработки приложений под iOS, зато у всех были амбиции сделать что-то реально офигенное. Учиться всему пришлось буквально на ходу и иногда мы чувствовали себя слонами в посудной лавке:)

Этой статьей мы хотели бы, по возможности, помочь коллегам-разработчикам почерпнуть из нашего опыта.
Прежде, чем начать рассказ, давайте мы покажем вам, что у нас получилось:



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

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

Как Halfbrick Studios разрабатывает такие игры как Fruit Ninja, Age Of Zombies и Jetpack Joyride

Reading time3 min
Views16K
«Это первый набросок Fruit Ninja, который был создан в ходе Halfbrick Fridays. Это, буквально, первое изображение игры, так что оно имеет историческую ценность», — написал в письме директор по маркетингу Фил Ларсен. На прошлой неделе он и директор по технологиям Halfbrick Studio Ричарда Маккинни дали интервью в котором рассказали о том, как компания создает свои игры. Halfbrick Fridays — это один из способов, которым австралийская компания находит идеи для новых игр. Идея Fruit Ninja – их главного хита на сегодняшний день – появилась именно в ходе этого мероприятия.

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

Как мы используем Trello и Google Docs, чтобы постоянно улучшать работу UserVoice

Reading time12 min
Views120K


Прошлой осенью, вернувшись из отпуска, я обнаружил, что Дехана, наш Product Manager в UserVoice, заменила мой любимый «Roadmap» в Google Docs на доску Trello.

Моя первоначальная реакция на такие перемены была отнюдь не положительной. Проблема заключалась не в самом Trello, а в том, как мы им пользовались. Trello – это ОЧЕНЬ открытый проект. Не существует единственного “правильного” способа работы в Trello, поэтому, чтобы чувствовать себя в нем как дома, вам потребуется время для настройки «под себя».

Итак, после долгих экспериментов, нам, кажется, удалось получить полностью устраивающую нас систему работы, и мы решили, что стоит поделиться ею со всеми. Этот пост будет длиннее, чем обычно, и если вы далеки от темы веб-разработки, он может показаться вам немного скучным. Если вы решите сразу перейти к части поста, посвящённой полученным урокам, я, несомненно, расстроюсь, но обижаться не стану.
Читать дальше →

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity