Pull to refresh

GitHub: хостинг для git репозитариев

Lumber room
Совсем недавно, 2 года назад, Линус Торвальдс написал Git — систему контроля версий, а точнее, distributed scm. С тех пор количество разработчиков её использующих возрастает по экспоненте.
Не так давно, около двух месяцев назад и я решил поспотреть что эе это такое и с тех пор использую её повседневно и во всех проектах с которыми я работаю (ну, честно говоря, почти во всех, есть один проектик под svn, в котором повсеместно были зачекинины испорченные симлинки, использовать git просто не получается).

Итак, чем же git так хорош?
Чистота — залог здоровья. в отличии от svn, создается только одна директория .git, где и хранится вся нужная системе информация, по всему проекту не создаются директории .svn.
Интеграция с svn. Да, Вы можете использовать git при работе с репозитарием svn! Для этого в комплекте идет git-svn. Однако, как говорил выше, если в svn репозиторий были зачекинины симлинки, то git не сможет сконвертировать его в свой формат.
Вы можете использовать его, будучи в оффлайне. Даже если у Вас проблемы с интернетом, Вы всё равно можете чекинить, затем просто синхронизируйте репозитарий с сервером (если Вам это вообще нужно).
Branches. Помните бранчи в svn? Забудьте. С git бранчи станут повседневной и очень удобной вещью.
Ну и наконец, как говорится, it's new and shiny tool for coolkidz.

Это я собственно к чему? Могу пригласить первых трех человек в github beta (http://github.com), поверьте, не пожалеете. Очень-очень прошу, пишите только если Вы действительно используете git, а не просто посмотреть. Заранее благодарен.
Total votes 14: ↑13 and ↓1 +12
Views 2.3K
Comments 13

Как я отказался от $300 000

Self Promo
Translation
Когда нам по двадцать с копейками лет, когда нам, по большому счету, нечего терять, у нас есть время, навыки и жадность риска, почему бы не предпринять Попытку Всей Жизни? Если ничего не удастся — а у большинства это будет именно так — то конца света не наступит. Но если удастся, то представьте себе награду.
Говорит Tom Preston-Werner
Total votes 123: ↑103 and ↓20 +83
Views 3.3K
Comments 72

Делаем gem для RubyGems

Ruby *

Собираем камешки для Ruby


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

Итак, gem за пол-часа
Total votes 32: ↑27 and ↓5 +22
Views 2.3K
Comments 17

Конечные автоматы в Ruby

Ruby *
Статья за авторством хабраюзера preprocessor, который не смог ее опубликовать по всем понятной причине. Так что все плюсики ему:)

Конечный автомат (Finite-state machine) — это такая штука, описывающая поведение объекта с конечным количеством состояний. Пути перехода из одного состояния в другое, условия этого перехода, действия выполняемые во время перехода или после. С теорией у меня всегда было плохо, поэтому больше вдаваться в нее не буду, вместо этого, для тех кто интересуется подробностями, могу порекомендовать посмотреть википедию (как же без нее) http://en.wikipedia.org/wiki/Finite-state_machine и http://ru.wikipedia.org/wiki/Конечный_автомат, а оттуда уже капать на сколько захочется. На практике это можно использовать много где, от парсинга строк (привет Ragel), до модели User в вашем веб-приложении.
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Views 8.5K
Comments 15

К вопросу о борьбе со списыванием

Studying in IT
Я так понимаю, тут есть преподаватели, ведущие практики всевозможные. Вот, делюсь с ними (выставляю на обсуждение) педагогической мыслью :) Все мы знаем, как сложно победить тягу студента к списыванию и копированию различных решений из интернета (кстати, это совсем даже не плохо — в повседневной практике, например, программирования копипаст является полезным инструментом, но он должен быть разумным). Ниже описан способ хоть какого-то противодействия бездумному копипасту при помощи систем контроля версий.

Читать дальше →
Total votes 74: ↑51 and ↓23 +28
Views 1.8K
Comments 146

Джаваскриптовый эмулятор Сommodore 64

JavaScript *
Опрос показал, что около 42% читателей Хабрахабра используют рождественские выходные дни для того, чтобы потрудиться над своими проектами.

Во блоге Ajaxian сообщают, что точно таким же манером использовал свои выходные разработчик по имени Тим де Конинг, который портировал Flash-версию эмулятора Commodore 64 на чистый джаваскрипт, работающий с холстом (<canvas>). Получился проект, названный им jsc64. Выглядит вот как:

[скриншот jsc64]

Исходный код раздаётся на GitHub. Там есть даже plugin для jQuery.
Total votes 14: ↑9 and ↓5 +4
Views 1.1K
Comments 3

Gordon: среда исполнения Flash, реализованная на джаваскрипте

IT Standards *
Translation
Вот это сюрприз! Тобиас Шнайдер (Tobias Schneider) построил среду исполнения Flash, работающую прямо во браузере. Она реализована на чистом джаваскрипте и HTML5, и все исходники являются открытыми (MIT-лицензированными), и располагаются на GitHub.

Поглядите на Gordon в действии (хостинг демонстраций осуществил Пол Айриш).

Gordon работает волшебно в последних версиях Файерфокса, Хрома и Сафари (да, и в iPhone Safari, хотя демонстрация «blue» на моём 3G идёт утомительно медленно). Чтобы установить его себе, запустите «git clone git://github.com/tobeytailor/gordon.git». Я обнаружил, что с URL «file:///» демонстрации не грузятся (в силу системы зависимостей скрипта), так что направьте ваш вебосервер на корень Gordon, а браузер направьте на demos/.

Документации ещё никакой нету, так что неясно, насколько широкой совместимостью с Flash обладает Gordon, или в каком направлении станет развиваться. Однако, по крайней мере, это мощная заявка на зрелость открытых веботехнологий.
<body onload="new Gordon.Movie('trip.swf', {id: 'stage', width: 500, height: 400})"></a>
    <div id="stage"></a></div>
</body>
[Gordon (скриншот)]
Читать дальше →
Total votes 153: ↑140 and ↓13 +127
Views 958
Comments 134

Закончен предварительный перевод книги «Волшебство Git»

Git *
Я, как и многие программисты, после знаменитого выступления Линуса Торвальдса о Git на Google Talks заинтересовался распределенными системами управления версиями, а в особенно Git.

Я довольно таки свободно читаю на английском, но мне приятнее читать на русском языке, при условии нормального перевода.
Существует замечательная книга «Git Magic» Бена Лина (Ben Lynn).
Благодаря труду многих людей вышел первый черновой вариант этой книги. Всех желающих улучшить перевод — приглашаю под кат.
Читать дальше →
Total votes 81: ↑77 and ↓4 +73
Views 26K
Comments 59

GitHub, вебсайт и автоматическое создание тестового сайта из последней версии исходных кодов

Lumber room
Речь в данной статье пойдет о том, как автоматически получать свежую версию исходников из основной ветки вашего репозитория и разворачивать из нее проект на виртуальном хостинге. Сразу хочу отметить, что с GitHub'ом и Git'ом я познакомился только вчера. Поэтому матерым веб–программистам эта статья может показаться тривиальной. А тем, кто еще только начинает свой путь веб–программиста, надеюсь, поможет.

Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 3.2K
Comments 5

Homebrew: Менеджер пакетов для OS X

Development for MacOS *
Translation
Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. В этом посте я расскажу про Homebrew — новый менеджер пакетов, нацеленный на простоту использования.

До Homebrew было несколько различных попыток создать эффективные пакетные менеджеры для OS X. Две наиболее популярные вылились в итоге в Fink и Macports, но у каждой из них все равно есть свои острые углы. В частности, в обоих создание своих пакетов или портов является черезчур сложным.

В Homebrew создавать новые пакеты и работать с ними проще пареной репы. Давайте посмотрим.
Читать дальше →
Total votes 38: ↑30 and ↓8 +22
Views 110K
Comments 51

Github теперь поддерживает Subversion

Version control systems *
Github наc заинтересовал с тех пор, как части проекта www.azati.com мы стали выпускать под AGPL лицензией. 1 апреля этого года Github объявил поддержку Subversion в режиме «только для чтения» для своих репозитариев. До сегоднешнего дня я был уверен, что это была первоапрельская шутка. Но вчера они объявили, что ввели поддержку Subversion еще и в режиме записи. Похоже Github целится в лидеры и настроен на пользователей которые уже устали от Subversion, но еще не созрели на Git. Ведь врядли те, кто уже использует Github с Git захочет использовать Subversion. Однако теперь многие поклонники Google code будут думать над переездом. Набор инструментов для работы с Subversion не меняется, глядишь, потом и Git можно попробовать ничего не теряя.
Читать дальше →
Total votes 43: ↑37 and ↓6 +31
Views 2.2K
Comments 12

Подборка полезных репозиториев на GitHub

Development for iOS *

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

Читать дальше →
Total votes 60: ↑51 and ↓9 +42
Views 3.1K
Comments 15

Emacs Starter Kit

Emacs *
Emacs. Большая и сложная программа. Ему как ничему другому подходит это определение. Эмакс был создан очень давно в лаборатории искуственного интллекта MIT, он несет в себе гены очень своеобразной культуры лисп-хакеров былых времен. С тех пор он не раз переписывался, улучшался, дополнялся и обрастал тысячами расширений в течение десятков лет. Эмакс, если и был когда-то мощным текстовым редактором, сейчас стал некоей универсальной программой, в нём можно делать абсолютно всё что угодно, если это хотя бы немного затрагивает собой задачу отображения или редактирования текста, и даже больше. Людям знающим универсальность играет на руку, ведь одной программой можно делать тысячу разных дел, при этом не прилагая усилий для переучивания к разным интерфейсам. Людей, впервые запустивших эмакс подобная универсальность и непривычный интерфейс поначалу пугает. Научиться пользоваться эмаксом, понять его идею и проникнуться ею задача непростая, трудоемкая и долгая (как говорится, пологая кривая обучаемости).
Читать дальше →
Total votes 84: ↑79 and ↓5 +74
Views 15K
Comments 76

PacMan в браузере

Lumber room
PacMan в браузере

Дэйв Харви — разработчик из Шотландии, разработал версию PacMan, в которую можно играть в браузере. Примерно то же самое, что сделали программисты из Google 21 мая этого года в честь 30-летия PacMan.

Дэйв воссоздал полностью игровой процесс популярной игры, а использовал он для этого возможности современных браузеров: локальные хранилища, HTML 5 audio, Canvas и @font-face, не говоря уже о JavaScript, CSS и просто HTML.

Так же Дэйв разместил код игры на GitHub, чтобы можно было посмотреть что и как там устроено и поиграть на своем компьютере локально.

Ссылка на поиграться.
Total votes 78: ↑57 and ↓21 +36
Views 2.6K
Comments 46

GitHub преодолел планку в 1 миллион размещенных репозиториев

Website development *
image
Буквально на днях веб-сервис для совместной разработки и хостинга проектов GitHub преодолел очередной рубеж – был зарегистрирован миллионный git-репозиторий. Приблизительно 60% из размещенных проектов – это полные репозитории, общие папки с кодом размещенном в нескольких файлах, а оставшиеся 40% — короткие фрагменты кода, содержащиеся в единственном файле.
Читать дальше →
Total votes 58: ↑52 and ↓6 +46
Views 1K
Comments 45

А как же Rails Developers?

Ciklum corporate blog
Дополнительно к Ruby появилась идея охватить всю ROR технологию и провести новый конкурс на Rails. Будем надеяться, что предложенное нами к созданию приложение, станет полезным открытым нововведением.
Приз тот же — бесплатный пропуск на конференцию RubyConfUa 2010!
Мы все еще продолжаем принимать на проверку решенные задания на прошлый конкурс от Ciklum по технологии Ruby.

Задание для RoR разработчиков:

Для системы авторизации devise написать расширение (extension) для идентификации пользователя через один из сайтов Google, Facebook, Twitter.
Разместить готовое решение в свободном доступе на Github. Решение должно быть минимально продокументировано и содержать тесты.
Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Views 1.2K
Comments 0

Автоматизация создания соответствий исполняемых файлов исходным кодам в GIT

Git *
Имея программный проект с компилируемым языком программирования возникает задача имея исполняемый файл определить из каких исходных кодов он был собран. В данной статье мы опишем как автоматизировать добавление коммита в исполняемые файлы и как по нему в дальнейшем получить исходный код.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 2.5K
Comments 7

Написание документации

JavaScript *
Translation
Если вы пишете документацию открытого исходного кода, то это не просто вежливые дополнение к проектам, она в определенной степени помогает вашему проекту взлететь. Хорошонаписаный README помогает, но полная документация по API делает проект более профессиональным. Даже если ваш проект с закрытым исходным кодом, документация поможет новым коллегам более быстро адаптироваться или поможет вам вспомнить как все работает в длительных проектах.

Давайте посмотрим как устроена документация в популярных JavaScript фрэймворках.

jQuery


jQuery

Документация jQuery располагается по адресу docs.jquery.com и представляет из себя wiki в которой описана вся документация по API. Любая крупная область API включена в навигацию, каждая страница имеет список методов для этой области. Страница содержит примеры кода и комментарии на Disqus.
Комментарии исходного кода в основном связаны с багами или с необычным фрагментом кода, который требует пояснений.

Далее: Prototype, JSDoc и несколько специфических подходов к JavaScript документации
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 28K
Comments 18

Symfohub = symfony + GitHub

Symfony *
imageЯ люблю symfony framework, за то что там всегда уделялось много внимания пользовательским плагинам. Они всегда были частью архитектуры фреймворка, на официальном сайте есть раздел с каталогом всех возможных плагинов, а недавно было объявлено, что для долгожданого Symfony2 будет подобный каталог с bundles.

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

Потому нами с LupineDreamer был создан Symfohub — проект-мешап для GitHub, собирающий все репозитории, относящиеся к symfony. Symfohub собирает данные обо всех symfony-репозиториях с GitHub'а, а также каталогизирует их по тегам, и собирает пользовательские отзывы об использовании того или иного плагина или бандла.

Читать дальше →
Total votes 20: ↑13 and ↓7 +6
Views 1.1K
Comments 13

Парень выложил свой геном на Github под открытой лицензией

Git *
Программист Ману Спорни (Manu Sporny) секвенировал свой геном с помощью инструментов 23andme и выложил его в репозиторий под лицензией Creative Commons Public Domain.

Конечно, опубликован не весь геном, а только 966 977 маркеров SNP, то есть тех участков генома, которые отвечают за индивидуальные особенности каждого человека.
Читать дальше →
Total votes 149: ↑136 and ↓13 +123
Views 3.5K
Comments 110