Git, просто git

Новый пост из цикла “Полезный софт”, про Evernote и Workflowy уже рассказано, настал черед Git’a 😉

Для начала, что такое Git. 

Git (гит) — распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. Программа является свободной и выпущена под лицензией GNU GPL версии 2. ©Wiki

На данный момент без Гита не обходится практически ни одна командная разработка, большинство программистов-одиночек также имеют свои репозитории на гите и все чаще при приеме на работу HR’ы спрашивают помимо всего прочего и ссылку на ваш репозиторий. Окей хорошо, но кто-то думаю уже завис на фразе “система управления версиями”, что это? И снова почитаем вики:

Система управления версиями — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое. Такие системы наиболее широко используются при разработке программного обеспечения для хранения исходных кодов разрабатываемой программы. Однако они могут с успехом применяться и в других областях, в которых ведётся работа с большим количеством непрерывно изменяющихся электронных документов.

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

Как удобнее всего пользоваться? 

Лично я использую SmartGit (в гугле найти не сложно) и считаю его лучшим git-клиентом для начинающих юзеров. Плюсы:

Конечно, просто сразу сесть и начать пользоваться получится далеко не у всех, но в сети уже существует огромное количество уроков по ГИТу благодаря которым освоить его не составит труда. По времени займет это думаю около 2х часов, зато польза огромнейшая.

 


Programming | GameDev | Pause

В связи с тем, что мне предстоят поиски второй работы (не фриланс и не какая-нибудь фирма однодневка) решил быстренько восстановить знания по Андройду, методологиям разработки, СУБД и прочим и подобным. Поскольку качество и читабельность моего кода мне самому крайне не нравится – буду исправляться, в связи с этим посты по играм временно приостанавливаются, а начинаются посты по “учебе”, ну а в моем случае восстановлению знаний.

Буду писать что читаю, какие уроки выполняю, примеры кода выкладывать и т.д. Придется трудно, т.к. абстрагироваться от всего того что уже знаешь – это ппц. Часть действий я уже на автомате делаю, даже не задумываясь почему так, а иногда это неправильно – придется ломать привычки=(

Итак цель: в кротчайшие сроки (допустим до января 17ого) исправить все свои косяки в написание кода

Средства: все учебники и сайты какие попадутся, стэковерфлоу, друзья кодеры/программеры, различные курсы и уроки онлайн

Что нужно знать мидлу:

Вот такие вот примерно требования, отмечу что сейчас многие фирмы просто спрашивают ссылки на ваш гитхаб или гугл аккаунт разработчика. Все требования выше взяты с описания вакансий на различных профильных сайтах.

Значит поехали=) Думаю теперь посты будут чаще;)


Categories: Muzzik

Музыка for work=)

Как обычно – включаем и кодим=)))


Categories: My Life, Programming

Почему плохо быть программистом

Доброго времени суток всем, или недоброго. В связи с последними событиями в моей жизни, решил сделать «антимотивационный» пост на тему программирования, а именно – «Почему плохо быть программистом». На данный момент я отработал как во фрилансе так и в различных компаниях специализирующихся на разработке ПО. Я делал по 6-10 приложений для АйОси в день (норматив такой был в одной компании), писал движки для андройд-игрушек, отлавливал баги в C#-прогах и занимался вообще всем чем только можно будучи фрилансером, в итоге я точно могу сказать, что далеко не всегда я был рад выбранной профессии. Почему? Для начала тезисно:


Categories: Programming

Programming | Part#9

И снова пост про нашу игрушку, продолжаем начатое.

Основное в нашей игрушке (как несложно догадаться) – это движение, для движения мы должны касаться экрана, следовательно прикосновение экрана нужно как то “отловить”. Итак, как это сделать. Для начала создадим интерфейс через который будет работать GameManager:

public interface IViewCanvas {
    void drawCircle(MainCircle circle);
}

Таким образом мы разделили данные и логику управления этими самыми данными. Еще один небольшой рефакторинг, поскольку добавился интерфейс для работы GameManager’a – уберем оттуда все лишнее:


Categories: Programming

Programming | Part#5

Продолжаю свой “цикл” постов по программированию, чет в прошлом посте как то вяло комменты идут и все блин за Джаву… Нету чтоли желающих Лисп например изучить, или там Пролог…  Ну да ладно, джава так джава, еще неделя осталась в конце концов, а сегодня пост будет опять про обучение, а точнее как ускорить это самое обучение, если ранее вы не умели вообще ничего=) Скажем так, “проапргейдим” инфу из второго поста.


Categories: Programming

Programming | Part#4

Одним из самых распространенных вопросов на стековерфлоу или тостере является “Выбор языка программирования”:

И огромное количество других высказываний с этих холиваров только и делают, что сбивают новичка с выбора своего “первого” языка. Так что в данном посте я затрону именно тему различия языков программирования, с точки зрения востребованности, простоты и пр.


Categories: Books, Programming

Programming | Part#3

На прошлой неделе я писал про онлайн-курсы по программированию и вообще с чего лучше начать, а также обещал, что в этом посте будет информация о так называемых “must read” книгах. Т.е. книгах, которые должен прочитать каждый уважающий себя программист, ведь они дадут очень сильный толчок в развитие.

Итак приступим, для начала отмечу, что информации на данную тему в инете и так очень много, например Ландрина об этом писала, а еще упоминали на Скиллките, но как бы то ни было я представлю свою подборку топ-5, надеюсь вы найдете в ней много интересного.


Categories: Programming

Open source

Если парой слов, то open source – это ПО с открытыми исходными кодами, что в свою очередь дает пользователю возможность принять участие в доработке ПО, исправлению ошибок и прочему. В наши дни при просмотре вакансий в различные команды разработчиков, да и вообще любые вакансии для программистов, можно увидеть примерно такие строки: “Плюсом будет участие в open source проектах”. Курсе на третьем, я как то участвовал в одном таком, началось все с багрепортов, позже меня заметили разрабы и после недолгого разговора предложили по мере возможности к багрепортам прикладывать куски кода для решения данной баги. Собственно длилось это все около полугода и в итоге что я получил:


Categories: Programming

Метод штрафных функций

Методы штрафных функций или методы штрафов (Penalty method) – методы, широко используемые для решения технических задач оптимизации. Эффективны если штрафная функция естественно вытекает из технического смысла задачи. ©Википедия

Впрочем гуглить думаю вы и сами умеете, я же в этом посте хочу выложить исходники своего курсового с 3его курса, а именно реализацию метода штрафных функций. Язык C#.