Search
Write a publication
Pull to refresh
0
Send message

Конфигурация приложения в Android: быстрая разработка

Reading time12 min
Views14K
imageПри разработке мобильных приложений зачастую возникает необходимость хранить настройки приложения (выбранную пользователем цветовую тему, пароль доступа к приложению, параметры синхронизации с сервером и т.д.). Поскольку такие задачи возникают довольно часто, в Google позаботились о разработчиках и создали механизм для быстрой и легкой реализации данного функционала. Этот механизм позволяет легко создавать, сохранять, отображать и производить разные манипуляции с настройками приложения. Мало того он позволяет автоматически создавать пользовательский интерфейс. При описании типа параметра настроек — автоматически генерируется часть пользовательского интерфейса в зависимости от типа параметра (boolean — чекбокс, String — поле ввода, ...) без написания кода. Звучит неплохо для быстрой разработки, не так ли?
Читать дальше →

Результаты опроса по управлению знаниями

Reading time3 min
Views10K
Данный топик является продолжением поднятой темы управления знаниями в компаниях ИТ-профиля. В ноябре прошлого года я проводил опрос по теме управления знаниями. Целью было определить текущее состояние дел и получить информацию для размышления от сотрудников. Прошло довольно много времени. Думал представить результаты гораздо раньше, но получилось как всегде. В данной статье покажу некоторые картинки, дам общие субъективные комментарии и, надеюсь, напишу еще одну статью о том к каким выводам пришел после погружения в тему.
Комментарии

QoS в Linux: издеваемся над трафиком

Reading time7 min
Views49K
В предыдущей статье я рассказывал про фильтр U32. В этой статье речь пойдёт о так называемых tc actions — действиях, которые можно производить над трафиком. Например, можно построить файерволл без использования iptables/netfilter, или изменять отдельные байты в пакетах, перенаправлять/зеркалировать трафик на другие интерфейсы. Осваивать это будем на примерах. Продолжение под катом.
Читать дальше →

Основные проблемы проектного менеджера и как с ними бороться

Reading time3 min
Views21K
Постарался расставить проблемы, с которыми сталкиваемся, по степени их влияния на исход проекта. К некоторым болезням проектного менеджмента удалось найти лекарства, но некоторые по-прежнему дают большие риски, которые съедают бюджеты и ресурсы.
Читать дальше →

Недооценённые итераторы

Reading time5 min
Views36K
Речь пойдет о стандартной библиотеке шаблонов STL. Будут рассмотрены существующие типы итераторов и их классификация, а также будут предложены несколько новых обёрток над итераторами. Которые позволят в некоторых случаях избежать лямбда-выражений, которых до С++11 как бы и нет.
Читать дальше →

Continuous Integration для Android

Reading time7 min
Views18K
После реализации пары проектов под Android, стало понятно, что, несмотря на их небольшие размеры и кажущуюся простоту, без автоматизированных сборок и тестирования не обойтись. Родилось желание получить следующие возможности:
  • unit тестирование,
  • интеграционное тестирование,
  • тестирование интерфейса,
  • тестирование этих типов тестов на различных версиях Android и конфигурациях девайсов,
  • рассылка по email в случае сломанного билда;
  • таже не помешает автоматическая сборка релизов.
Читать дальше

Compile-time проверка в C/C++

Reading time3 min
Views15K
C/C++ позволяют выполнить проверки константных выражений ещё на этапе компиляции программы. Это дешёвый способ избежать проблем при модификации кода в будущем.
Я рассмотрю работу с:
  • перечислениями (enum),
  • массивами (их синхронизацию с enum),
  • switch-конструкциями,
  • а так же работу с классами, содержащими разнородные данные.

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

«Я научу вас любить и страдать», или Шпаргалка по обучению в IT

Reading time4 min
Views3.9K
Выпустившись восемь лет назад из питерского Бонча (он же — Университет телекоммуникаций), я никак не подозревал, что сам займусь преподаванием. Тем не менее, моя мятущаяся, и совсем, пожалуй, не технарская душа, привела меня на должность преподавателя в довольно крупной — питерской же — конторе, занимающейся разработкой самого разнообразного софта для операторов сотовой связи. Мой более чем пятилетний трудовой путь в ней заканчивается, и по горячим следам я решил дать несколько простых советов, которые, смею надеяться, облегчат жизнь тем, кому по служебной или иной необходимости нужно будет передать свои драгоценные знания. Они содержат в себе несколько базовых вещей, связанных с обучением, которые мне сейчас кажутся очевидными, но на заре преподавательской деятельности были в новинку. Перейдём, собственно, к советам.
Читать дальше →

Срочная инвентаризация. Или хочу всё знать

Reading time7 min
Views222K
Захотелось поделится с хабросообществом парой способов провести инвентаризацию техники быстро и без особых усилий. Сподвигла меня вот эта статья, но как сторонник UNIX-way я расскажу способы сделать всё то же самое и даже больше без необходимости окружать себя гомогенной сетью из одинаковых рабочих станций или привязки к одной технологии.

Что мы хотим?


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

Использование bat файлов для развертывания приложений

Reading time7 min
Views18K
В процессе трудовой деятельности пришлось столкнуться с одной задачей. Есть некоторый продукт, работающий под Windows и состоящий из нескольких компонент — ядра, протокола, моста и канала доставки. Часть компонент написана на JAVA, часть на C++. Каналов доставки может быть от одного до двадцати. Каждый компонент использует свою БД (в качестве СУБД выступает MS SQL Server). Для компонент, написанных на JAVA, структура БД создается автоматически, для компонент, написанных на C++ структуру нужно создавать вручную SQL скриптом. Каждый компонент должен работать как сервис в системе. Все это добро должно быть тщательно протестировано. Для каждого теста необходимо пересоздавать БД и системные сервисы.

Проделав это дело один раз, я задумался, а как бы этот процесс можно было максимально автоматизировать (действия не сложные, но рутинные). Решение должно быть простым и не требующим установки какого-либо софта. Поэтому сразу же выбор пал на древний, но проверенный временем файл сценариев на встроенном командном языке — Bat. Заодно проверим, на что bat скрипты еще способны.
Читать дальше →

Создатель BitTorrent собирается уничтожить телевидение в его нынешнем виде

Reading time2 min
Views10K
Брэм Коэн анонсировал новую версию протокола BitTorrent. Она получила название BitTorrent Live и предназначена для организации видеотрансляций через пиринговые сети. На разработку нового протокола у программиста ушло три года, зато теперь даже при многомиллионной аудитории задержка передачи видео не превышает пяти секунд.

BitTorrent Live позволит снизить нагрузку на распространителя файла до 99%. Таким образом, передача видео будет стоить дешевле, чем по спутнику или с помощью CDN, и для него не потребуется дорогостоящая инфраструктура.

Создатель протокола заявил, что хочет уничтожить телевидение в его нынешнем виде: «Физическая инфраструктура телевидения неизбежно отомрет, но телевидение как модель потребления контента останется».

Сейчас Коэн ищет партнеров, которые дадут согласие на распространение своего контента по предложенной им модели. Netflix и Hulu, которые планируют сократить затраты на инфраструктуру, уже заинтересовались изобретением. Кстати, BitTorrent Live смогут использовать и некоммерческие вещатели — новый протокол является открытым и свободным.

BitTorrent Live уже функционирует в тестовом режиме. Посмотреть видео по новому протоколу можно через сайт live.bittorrent.com, предварительно скачав специальный клиент.
Читать дальше →

Google Public DNS получает 70 миллиардов запросов в день

Reading time1 min
Views9.7K
Компания Google запустила Public DNS в декабре 2009 года, и за два года он стал крупнейшим DNS-сервисом в мире с более чем 70 млрд запросов в сутки, то есть 810 тыс. в секунду, в среднем. Для сравнения, OpenDNS получает около 37 млрд запросов в сутки.

Согласно внутренней статистике Google DNS, 70% DNS-запросов идёт из-за пределов США.

Компания ставит своей целью ускорить DNS, и поэтому в 2011 году совместно с OpenDNS и другими компаниями выступила с инициативой нового расширения для протокола DNS, целью которого является более эффективно направлять пользователей на ближайшие CDN конечной точки. Это расширение уже де-факто поддерживают несколько компаний, включая Google.

IP-адреса Google Public DNS
8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844

Инструкция по смене настроек DNS-сервера под разными ОС

Макросы с переменным числом параметров

Reading time2 min
Views17K
Недавно пришлось мне разбираться с одним Open Source проектом. Нужно было разобраться с одной ошибкой. Ошибка была плавающей и проявлялась исключительно на стенде, после получаса раб. Да и то не всегда. Поэтому было принято решение логировать определенные участки кода.
Читать дальше →

Сети для самых маленьких. Часть вторая. Коммутация

Reading time18 min
Views802K


После скучного рассказа о подключении к кошкам переходим к настройке сети. В этот раз темы будут для новичков сложные, для старичков избитые. Впрочем сетевым аксакалам едва ли удастся почерпнуть что-то новое из этого цикла. Итак, сегодня:
а) аккуратно впитываем теорию о коммутаторах, уровнях сетевой модели, понятии инкапсуляции и заголовков (не пугайтесь — еще не время),
б) собираем спланированную в нулевой части цикла сеть,
в) настраиваем VLAN'ы, разбираемся с access и trunk-портами и тегированными Ethernet-фреймами,
г) соотносим текущие знания со стеком протоколов TCP/IP и моделью OSI (да, наконец-то мы ее коснёмся).



Перед тем, как вы обратитесь к практике, настоятельно рекомендуем почитать нулевую часть, где мы всё спланировали и запротоколировали.

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

+2Гб для вашего DropBox аккаунта. Промо-акция Samsung Бразилия

Reading time2 min
Views13K


Это продолжение описаний серий промо акций от дропбокса и партнёров. Первое промо я уже описал в статье Vodafone AU, теперь на очереди Samsung.

На официальном сайте Самсунг Бразилия сейчас проходит промо акция дропбокса которая позволяет получить +2Гб на аккаунт. Для участия вам необходимо иметь один из телефонов купленных в Бразилии. Ниже представлен список аппаратов которые участвую в акции:

• GT-P7500 — Samsung Galaxy Tab 10.1"
• GT-P7510 — Samsung Galaxy Tab 10.1" Wi-Fi
• GT-P7300L — Samsung Galaxy Tab 8.9"
• GT-P1000L — Samsung Galaxy Tab 7"
• GT-I7500L — Samsung Galaxy
• GT-I5700L — Samsung Galaxy Lite
• GT-I5500L/GT-I5500B — Samsung Galaxy 5
• GT-I5510L — Samsung Galaxy 551
• GT-S5830B — Samsung Galaxy Ace
• GT-S5570B — Samsung Galaxy Mini
• GT-S5670B — Samsung Galaxy Fit
• GT-I9000B — Samsung Galaxy S
• GT-I9100 — Samsung Galaxy S II
• GT-I9220 (ou N7000) – Samsung Galaxy Note

Данная акция проходит до 2го апреля 2012года. Или же пока по акции не будет выдано 100.000Гб пространства.
Как получить? Хотите знать больше?

Собираем показания датчиков с Android смартфона. Работа над ошибками

Reading time5 min
Views27K
В своем предыдущем посте я рассказал, как получить углы наклона аппарата во всех трех плоскостях. Однако, как оказалось, метод, использованный в топике является deprecated начиная с API Level 8 (Android 2.2). Исправлю эту ошибку и расскажу, как правильно получать данные под катом.
Читать дальше →

Определение доминирующих тонов на изображении [v 1.1]

Reading time2 min
Views53K
После публикации прошлой статьи, я полностью забил на попытку выполнить алгоритм при помощи HSV или Lab координат. Забил на использовании библиотек цветов и вообще на сам скрипт забил.

Но что-то стало скучно и опять зачесались руки поработать с изображениями и одновременно захотелось исправить уже имеющийся алгоритм.
Скрипт: link

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

Что делать, чтобы проекты не занимали в 2-3 раза дольше, чем планируется? Часть 2

Reading time3 min
Views9.9K
Давайте продолжим обсуждение инструментов и методов по соблюдению сроков проектов, учитывая что предыдущий топик вызвал достаточно активную дискуссию и более двухсот человек добавили топик себе в избранное. На этот раз пост будет более унылым, постараюсь дать более подробные рекомендации в текстовом виде.
Следующий набор рекомендаций выглядит так:
  • Убедитесь, что срок действительно жесткий
  • Не берите на себя проекты с нереальными сроками
  • Планируйте методом «набегающей волны»
  • Периодически пересматривайте оценку проекта
  • Оценивайте проект эмпирически
  • Привлекайте к первоначальной оценке команду
Подробности под катом

37signals: почему в нашей компании нет менеджеров

Reading time5 min
Views25K
Перевод статьи Джейсона Фрида (Jason Fried) "Why I Run a Flat Company". Джейсон — один из основателей компании 37signals и соавтор книг "Getting Real" и "Rework".

Несколько месяцев назад в компании 37signals, которую я возглавляю, случилось необыкновенное событие: мы расстались с одним из наших сотрудников. Казалось бы, что в этом необычного? Но дело в том, что в нашей компании подобное происходит крайне редко. За 11 лет работы мы потеряли всего лишь пять человек, причем один из них вернулся к нам семь лет спустя.

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

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

Список проверки глупых вещей — Лимончелли

Reading time4 min
Views12K
Многим известны книги Томаса Лимончелли по системному администрированию, очень ценные для админа книжки. На его сайте тоже немало интересного, среди прочего нашёл такую статью: «A list of dumb things to check». На русском языке она, к сожалению, не нагуглилась, переводил сам. После допилинга под свои условия буду использовать как часть КМБ у себя в отделе, а первоначальный перевод выкладываю тут.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity