Pull to refresh
15
0
Send message

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Total votes 114: ↑98 and ↓16+82
Comments23

Проблемы времени и часовых поясов в Android и пути их решения

Reading time4 min
Views470K
Предположим, вы уже давно используете Android, а потому может показаться, что он прекрасно справляется с задачами синхронизации времени – будильники срабатывают вовремя, каких-то явных отклонений времени не наблюдается и т. д. Однако уверены ли вы полностью в том, откуда Android на самом деле получает данные о точном времени и часовых поясах? Если у вас есть хоть какие-то сомнения о том, как это работает — добро пожаловать под кат.

Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments28

Частые ошибки программирования на Bash

Reading time9 min
Views95K
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.

Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)

Данный текст является вольным переводом вики-страницы «Bash pitfalls» по состоянию на 13 декабря 2008 года. В силу викиобразности исходника, этот перевод может отличаться от оригинала. Поскольку объем текста слишком велик для публикации целиком, он будет публиковаться частями.

Поехали!
Total votes 79: ↑76 and ↓3+73
Comments25

Введение в HTML5 History API

Reading time4 min
Views239K
До появления HTML5 единственное, что мы не могли контролировать и управлять (без перезагрузки контента или хаков с location.hash) — это история одного таба. С появлением HTML5 history API все изменилось — теперь мы можем гулять по истории (раньше тоже могли), добавлять элементы в историю, реагировать на переходы по истории и другие полезности. В этой статье мы рассмотрим HTML5 History API и напишем простой пример, иллюстрирующий его возможности.

Основные понятия и синтаксис


History API опирается на один DOM интерфейс — объект History. Каждый таб имеет уникальный объект History, который находится в window.history. History имеет несколько методов, событий и свойств, которыми мы можем управлять из JavaScript. Каждая страница таба(Document object) представляет собой объект коллекции History. Каждый элемент истории состоит из URL и/или объекта состояния (state object), может иметь заголовок (title), Document object, данные форм, позиция скролла и другую информацию, связанную со страницей.

Основные методы объекта History:
  1. window.history.length: Количество записей в текущей сессии истории
  2. window.history.state: Возвращает текущий объект истории
  3. window.history.go(n): Метод, позволяющий гулять по истории. В качестве аргумента передается смещение, относительно текущей позиции. Если передан 0, то будет обновлена текущая страница. Если индекс выходит за пределы истории, то ничего не произойдет.
  4. window.history.back(): Метод, идентичный вызову go(-1)
  5. window.history.forward(): Метод, идентичный вызову go(1)
  6. window.history.pushState(data, title [, url]): Добавляет элемент истории.
  7. window.history.replaceState(data, title [, url]): Обновляет текущий элемент истории
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments22

Фотографии рабочих мест хабражителей и…

Reading time6 min
Views411K
image
Хабражители редко ходят друг к другу в гости. И, в то же самое время, хотят взглянуть на то, как устроились другие. Может быть, даже, позаимствовать разные интересности.

Пока вы дома, самое время вооружиться фотоаппаратом и поделиться видом своего рабочего места (домашнего).

По возможности, описываем:
1. 7 любимых гаджетов.
2. 7 ежедневных программ.
3. 7 интересных открытий, которыми вы часто пользуетесь.

Приоткройте занавесу тайны в своей обители.

PS: Бонус для владельцев ноутбуков — подключаем 2 монитора.
Читать дальше →
Total votes 286: ↑210 and ↓76+134
Comments676

Делаем простую игру с кнопками, ящиками и дверями на Unity

Reading time14 min
Views161K


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

Для самых нетерпеливых по ссылкам ниже находится готовый прототип.
Онлайн версия
Скомпилированная версия для Windows [Зеркало] ~7.5 МБ

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

Подразумевается, что вы уже успели скачать Unity и поигрались немного в редакторе. Нет? Сейчас самое время, я подожду.
Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments32

Siege — утилита для нагрузочного тестирования веб-серверов

Reading time7 min
Views80K
Надеюсь, что данный материал будет кому-нибудь полезен.

Siege – это утилита для нагрузочного тестирования веб-серверов. Она была создана для того чтоб дать разработчикам возможность проверить ресурсоёмкость своего кода в условиях, максимально приближенных к реальным. Так же Siege может имитировать обращения к сайту сразу нескольких пользователей. Это позволяет держать сервер как бы «под осадой» долгое время. Количество запросов, произведённых при «осаде», рассчитывается из общего количества пользователей и количества их обращений к серверу. Например 20 пользователей, обратившись по 50 раз, создают в общей сложности 1000 запросов. Результат, выводимый программой после тестирования, включает в себя время затраченное на проверку, общее количество переданной информации ( включая заголовки ), среднее время ответа сервера, его пропускную способность и число запросов на которые пришёл ответ с кодом 200. Эти данные формируются и выдаются при каждой проверке. Подробно они описываются ниже. Siege имеет 3 основных модели работы – режим регрессионного тестирования, режим имитации Интернета и режим грубой силы. Программа считывает порцию ссылок из конфигурационного файла и обращается к ним по очереди ( режим регрессионного тестирования ) или случайно ( имитация интернета ). Или же пользователь может указать один единственный адрес к которому будут производиться все обращения – режим грубой силы.

UPD: спасибо за плюсы, перенес в тематический блог.
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments67

ОС и вебсервер — вместе веселей

Reading time3 min
Views5.9K
Привет всем. Сначала я думал, что лучше всего продолжить тему nginx на примере подчищенного и откомментированного конфига с одного из боевых серверов, но потом понял, что это потребует довольно большого объёма дополнительной информации. Поэтому, я решил попробовать, для затравки, рассказать в общих чертах о том, как nginx устроен, и почему он работает так быстро.

далее
Total votes 74: ↑64 and ↓10+54
Comments82

Общий обзор стандартных средств наблюдений за системой

Reading time5 min
Views16K
Уровень сложности: начальный

Вводный обзор стандартных инструментов GNU/Linux должен помочь начинающим пользователям Linux контроллировать работу ОС. Используемые приложения, как правило, включены в поставку известных дистрибутивов. Полезным побочным эффектом я считаю возможность сориентировать молодых системных и сетевых администраторов в условиях [подозрения] компрометации.
Читать дальше →
Total votes 81: ↑76 and ↓5+71
Comments88

Information

Rating
Does not participate
Location
Россия
Registered
Activity