Новый пост из цикла «Полезный софт», про Evernote и Workflowy уже рассказано, настал черед Git’a 😉
Для начала, что такое Git.
Git (гит) — распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. Программа является свободной и выпущена под лицензией GNU GPL версии 2. ©Wiki
На данный момент без Гита не обходится практически ни одна командная разработка, большинство программистов-одиночек также имеют свои репозитории на гите и все чаще при приеме на работу HR’ы спрашивают помимо всего прочего и ссылку на ваш репозиторий. Окей хорошо, но кто-то думаю уже завис на фразе «система управления версиями», что это? И снова почитаем вики:
Система управления версиями — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое. Такие системы наиболее широко используются при разработке программного обеспечения для хранения исходных кодов разрабатываемой программы. Однако они могут с успехом применяться и в других областях, в которых ведётся работа с большим количеством непрерывно изменяющихся электронных документов.
По факту, гитом могут пользоваться практически все от программистов до поваров, в наше время у всех есть какая-либо информация изменяющаяся с течением времени.
Как удобнее всего пользоваться?
Лично я использую SmartGit (в гугле найти не сложно) и считаю его лучшим git-клиентом для начинающих юзеров. Плюсы:
- Кроссплатформенный
- Бесплатный для некоммерческого использования
- Имеет графический интерфейс
- Внешне очень похож на различные файловые-менеджеры (тотже ТоталКомандер)
Конечно, просто сразу сесть и начать пользоваться получится далеко не у всех, но в сети уже существует огромное количество уроков по ГИТу благодаря которым освоить его не составит труда. По времени займет это думаю около 2х часов, зато польза огромнейшая.
[su_quote cite=» © Ф. Грэм»]»Сбалансировать бюджет — все равно что попасть в рай. Каждый этого хочет, но не желает делать то, что для этого нужно.» [/su_quote]
Все мы мечтаем стать знаменитыми, умными, сильными, красивыми и БОГАТЫМИ. По сути богатство в наше время даст все остальное, что мы хотим=) Но пост не о том как стать богатым, а о том как помочь себе не влезать в долги и контролировать движение собственных средств (это не реклама апп, мне за это ничего не дали, а жаль!).
Я за последние полгода перепробовал огромное количество приложений и сервисов для учета расходов (мой бумажник, койнкипер и прочие) в итоге остановился на дребеденьгах. Да, хоть он и платный, но по функционалу обгоняет все аналогичные сервисы на несколько шагов уж точно. Итак, что тут есть:
- Автоматический ввод трат, обработка СМС от банков.
- Планируемые операции с напоминаниями.
- Список покупок для похода в магазин.
- Сохранение чеков с фотографиями из телефона.
-
Экспорт данных в Excel.
-
Гибкие отчёты для анализа расходов.
-
Мультивалютность. Автоматическое обновление курсов.
-
Еженедельная отправка бэкапов по Email.
-
Электронный органайзер.
- Возможность внести все свои кредиты и кредитки (например в коинкипере, за который я отдал аналогичную сумму, такого даже близко нет)
- Возможность объединить аккаунты в семейный бюджет
- Многое другое;)
Блин, реально какой-то рекламный пост получился, ну да пофиг мож денег дадут;)
З.Ы. К теме программирования — все желающие могут принять участие в разработке данной аппы — вот тут, я возможно присоединюсь как время появится;)
В связи с тем, что мне предстоят поиски второй работы (не фриланс и не какая-нибудь фирма однодневка) решил быстренько восстановить знания по Андройду, методологиям разработки, СУБД и прочим и подобным. Поскольку качество и читабельность моего кода мне самому крайне не нравится — буду исправляться, в связи с этим посты по играм временно приостанавливаются, а начинаются посты по «учебе», ну а в моем случае восстановлению знаний.
Буду писать что читаю, какие уроки выполняю, примеры кода выкладывать и т.д. Придется трудно, т.к. абстрагироваться от всего того что уже знаешь — это ппц. Часть действий я уже на автомате делаю, даже не задумываясь почему так, а иногда это неправильно — придется ломать привычки=(
Итак цель: в кротчайшие сроки (допустим до января 17ого) исправить все свои косяки в написание кода
Средства: все учебники и сайты какие попадутся, стэковерфлоу, друзья кодеры/программеры, различные курсы и уроки онлайн
Что нужно знать мидлу:
- Опыт коммерческой разработки от 3+ лет (ну это есть, хотя подтвердить будет трудновато, ох уж эти неофициальные работы);
- На данный момент нужны знания Android API 14 и выше;
- Знать основные библиотеки (обязательно! про это позже набью отдельный пост, какие зачем и когда);
- Знать ООП и структур данных (на ОТЛ+++);
- Понимание принципов клиент-серверной архитектуры;
- Понимание архитектуры и принципов работы HTTP(s), REST, SOAP;
- Многопоточное программирование;
- Программирование сетевого уровня: Sockets, Java IO/NIO, TCP, SSL(TLS), HTTP;
- Методологии разработки (Agile, Scrum, XP, etc);
- UML (все не понимают зачем в универе то учат, но надо-надо);
- Желательно умение разработать тесты;
- Хорошее знание sqlite;
- Уверенная работа с Android Studio, Gradle, Git, CVS, SVN;
- Разговорный английский (Intermediate и выше).
Вот такие вот примерно требования, отмечу что сейчас многие фирмы просто спрашивают ссылки на ваш гитхаб или гугл аккаунт разработчика. Все требования выше взяты с описания вакансий на различных профильных сайтах.
Значит поехали=) Думаю теперь посты будут чаще;)
Я безнадежно просрочил пост с кодом, но есть уважительная причина — редизай блога, который я планировал уже в течении года. НЕ все еще готово, многие посты придется переписывать, но «процесс идет» как говорится.
А сегодня продолжаем МонстрХантера=)
В связи с небольшими косяками у Андройд студии пост задержался, поэтому сегодня будет по-максимуму кода. Продолжаем начатое
Ну что, в прошлой серии уроков мы разобрались с тестовым примером, надеюсь у всех все получилось, потом что в этой серии мы будем использовать все то чему уже научились. Вспомним саму суть игры:
«На игровом поле мы управляем нашим персонажем (пиксельный человечек), который должен есть фрукты перемещающиеся вокруг него и уворачиваться от монстров (также перемещающихся рядом), с каждым новым фруктом человечек становится больше соответственно уворачиваться от монстров труднее. Цель — съесть все фрукты на поле.»
Проапгрейдим идею: После поедания всех фруктов и тем самым набравшись сил — необходимо убить монстров, это у будет «WIN!».
Как обычно — включаем и кодим=)))
Вот значит мы и подошли к завершению нашей тренировочной игры с кругами, через две недели начинаем превращать ее в «игру с пиксельным человечеком, монстрами и прочим»=)
А пока что заканчиваем:
Было несколько сообщений на тему, что не получается сделать границы для кругов и они все равно вылетают за экран. Показываю как это делается:
public void moveOnStep() {
x += dx;
y += dy;
checkBounds();
}
private void checkBounds() {
if (x>GameManager.getWidht() || x<0) {
dx = -dx;
}
if (y>GameManager.getHeight()||y<0){
dy=-dy;
}
Надеюсь, что цветные круги у всех получились. Продолжаем начатое