Все потоки
Поиск
Написать публикацию
Обновить
46.35

GitHub *

Веб-сервис для хостинга и разработки IT-проектов

Сначала показывать
Порог рейтинга
Уровень сложности

Присоединяйте файлы к комментариям

Время на прочтение1 мин
Количество просмотров11K
Довольно давно вы можете присоединять картинки к описаниям проблем и запросов на слияние. Теперь мы расширили эту возможность, и она получает поддержку файлов:

  • Microsoft Word (.docx)
     
  • Microsoft Powerpoint (.pptx)
     
  • Microsoft Excel (.xlsx)
     
  • Текстовых (.txt)
     
  • Документов PDF (.pdf)

[скриншот присоединения файла]
Просто перетащите и бросьте файлы в рамку комментария — и они появятся у вас в комментарии.

Шпаргалка Java программиста 2: Триста пятьдесят самых популярных не мобильных Java opensource проектов на github

Время на прочтение39 мин
Количество просмотров172K
Что это и зачем оно надо: Как известно, главное преимущество Java мира в том в нем существует огромное количество open-source проектов на на все случаи жизни, однако найти нужный на github'e не так просто, так как описание проекта часто мало информативно, зачастую сложно даже понять этот проект для Android'a или нет. В этой статье я автоматически и полуавтоматически собрал Java проекты, убрал старые и проекты только для Android'a, выбрал 350 набравших больше всего звезд, разделил по категориям и перевел описания.

Если вы хотите убедиться что базы данных пишут не только на C, найти проекты для работы с большими данными или нейронными сетями, пишите свой язык программирования для JVM и хотите посмотреть как это уже сделано или же просто хотите узнать какие новые возможности можно найти в Java мире open-source то это статья вам, думаю, может пригодится.

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.


Другие статьи серии: часть 1. JPA и Hibernate в вопросах и ответах

Update: Внимание, актуальная версия со много большим количеством ссылок, находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.


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

Почему мы занимаемся переводом книги с английского на площадке GitHub

Время на прочтение3 мин
Количество просмотров20K
Всем привет!

Недавно команда rust_book_ru закончила перевод книги «The Rust Programming Language» на русский язык.



Когда я только присоединился к проекту перевода, начатого kgv, нам несколько раз говорили: «Вы делаете перевод на GitHub? Странные вы, для краудсорсинг-перевода есть другой сервис — вот ссылка». Мы не стали переходить на другие сервисы и в итоге это решение полностью оправдалось.

Я хочу рассказать о том, почему мы всё же разместили книгу на GitHub и почему даже переводчику полезно быть немного программистом.
Читать дальше →

Github добавил настройки доступа к веткам (protected branches)

Время на прочтение2 мин
Количество просмотров46K
imageГитхаб — великолепный агрегатор репозиториев и инструмент для коллективной работы. К сожалению, многие возможности конфигурирования на стороне сервера (вроде коммит хуков) остаются недоступными. Но ситуация постепенно меняется в лучшую сторону.

Случилось то, чего многие ждали довольно долго. А именно: недавно была анонсирована фича, под названием protected branches, которая позволяет настроить правила работы с ветками в рамках репозитория. Да, теперь можно запретить force push в master!

Под катом скриншоты и выдержки из блога разработчиков.
Читать дальше →

YouTrack 6.5 — Баг-трекер для всей команды

Время на прочтение5 мин
Количество просмотров36K
Доброго дня, Хабр!

Спешу рассказать вам, что совсем недавно вышла новая версия нашего баг-трекера — YouTrack 6.5!

image

В новой версии мы сделали акцент на улучшение UIX, полностью изменив дизайн административной части продукта, добавили несколько важных интеграций и упростили импорт из Jira до одного клика.

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

Запросы в CoreData с агрегатными функциями и группировкой в одну строку

Время на прочтение7 мин
Количество просмотров6.1K
Почти всем, кто использует CoreData, рано или поздно приходится создавать запросы с агрегатными функциями и группировками. Однако, синтаксис таких запросов в CoreData сложен для понимания и неоправданно многословен.

Используя конструктор запросов мы можем, например, сделать вот такой запрос:
NSDictionary *productTotalSumAndAveragePriceGroupedByCountries = 
[[[[[Product all
] aggregatedBy:@[
                 @[kAggregateSum, @"amount"],
                 @[kAggregatorAverage, @"price"]]
] groupedBy:@[@"country"]
] having:predicate
] execute];

Этот запрос эквивалентен такому:
Запросу в CoreData
NSFetchRequest *fetchRequest = [[ALFetchRequest alloc] init];
fetchRequest.managedObjectContext = managedObjectContext;

NSString *entityName = @"Product";
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:managedObjectContext];

[fetchRequest setEntity:entity];
[fetchRequest setIncludesPendingChanges:YES];

// sum amount
NSExpression *fieldExp1 = [NSExpression expressionForKeyPath:@"amount"];
NSExpression *agrExp1 = [NSExpression expressionForFunction:agr arguments:@[fieldExp1]];
NSExpressionDescription *resultDescription1 = [[NSExpressionDescription alloc] init];
NSString *resultName1 = @"sumAmount";
[resultDescription1 setName:resultName1];
[resultDescription1 setExpression:agrExp1];
[resultDescription1 setExpressionResultType:NSInteger64AttributeType];

// average price
NSExpression *fieldExp2 = [NSExpression expressionForKeyPath:@"price"];
NSExpression *agrExp2 = [NSExpression expressionForFunction:agr arguments:@[fieldExp1]];
NSExpressionDescription *resultDescription2 = [[NSExpressionDescription alloc] init];
NSString *resultName2 = @"sumAmount";
[resultDescription2 setName:resultName2];
[resultDescription2 setExpression:agrExp2];
[resultDescription2 setExpressionResultType:NSInteger64AttributeType];

// country
NSDictionary *availableKeys = [entity attributesByName];
NSAttributeDescription *country = [availableKeys valueForKey:@"country"];

fetch.propertiesToFetch = [NSArray arrayWithObjects:country, resultDescription1, resultDescription2, nil];
fetch.propertiesToGroupBy = [NSArray arrayWithObject:country];
fetch.resultType = NSDictionaryResultType;

NSError *error;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:self error:&error];
if (!fetchedObjects || error) {
    NSLog(@"Error: Execution of the fetchRequest: %@, Failed with Description: %@",self,error);
}
return fetchedObjects;


О том как это работает и какой профит можно из этого извлечь

github привлёк $250M инвестиций

Время на прочтение1 мин
Количество просмотров3.6K
Издание TechCrunch сообщает:
GitHub, сервис для командного взаимодейтсвия разработчиков и контроля версий, основанного на популярном инструменте Git, объявил сегодня о привлечении 250 миллионов долларов инвестиций от Sequoia Capital при участии Institutional Venture Partners.

Общий объём вложений составляет теперь 350М долларов. Издание Wall Streat Journal оценивает компанию в 2 миллиарда долларов.
Читать дальше →

OpenSource проект может развиваться и приносить прибыль?

Время на прочтение3 мин
Количество просмотров17K
Уже довольно долгое время я задаюсь вопросом: «Может ли в наших суровых реалиях жить и развиваться Open Source проект?». Этот вопрос меня периодически тревожит, так как я сам являюсь автором одного такого проекта — WysiBB. Я задавал подобный вопрос на различных ресурсах, были вопросы и на Тостере. Но по сути все сводилось к тому, что в русскоязычном сегменте интернета не работают кнопки «Поддержать проект», «Пожертвовать» и т.д. и развиваться могут только проекты с огромной аудиторией и/или платными функциями.

image

В чем суть?

Но вот наконец в один прекрасный день, я наткнулся на интересную идею, как можно получать некоторые финансовые вливания в развитие и видеть, какие фичи наиболее востребованы пользователями. Эту идею я увидел на сайте Robomongo(кто не знает, это GUI для MongoDB). И ее суть заключается в следующем: пользователю предоставляется возможность выбрать из списка issues(с джитхаба) наиболее его тревожащую и пожертвовать средства на ее доработку. Когда пользователь делает пожертвование, рейтинг приоритетности этой фичи повышается. Так автор проекта получает средства на свой кошелек и видит какие фичи имеют наивысший приоритет(больше всего пожертвований) и соответственно являются наиболее востребованными. Автор приступает к их разработке в первую очередь, проект развивается, а пользователь получает долгожданную фичу. Мне эта идея понравилась и я решил реализовать подобный механизм на своем проекте, а когда начал работу над этим сервисом, понял что такой сервис может быть полезен не только для меня. Так появился на свет GitFund.
Читать дальше →

Интеграция Jira и Slack на PHP

Время на прочтение2 мин
Количество просмотров12K
Недавно по наводке одного товарища стали в компании использовать Slack. Тут же встал вопрос об интеграции его с Jira. Надо сказать, что Slack номинально имеет интеграцию с Jira из коробки, однако на поверку оказалось, что она обрабатывает далеко не все события, никак не настраивается и вообще работает не так, как хотелось бы. Поэтому было принято решение написать свою интеграцию на php.

Требования были сформированы следующим образом:
  • Должна быть обработка всех значимых событий Jira-задачи (Создание, Обновление, Удаление, Назначение на пользователя)
  • Должна быть возможность развести события от разных проектов по разным каналам
  • Должна быть возможность направлять пользователю личное сообщение при назначении на него задачи

Была предпринята попытка найти готовый обработчик запросов от JiraWebHook и адекватные php-классы для работы с SlackAPI. Однако ни одно решение не понравилось и было принято решение сделать все полностью самостоятельно.
Что получилось – собственно, вот.
Теперь пару слов о том, что внутри.
Читать дальше →

Не PKI единым или соцпакеты для сотрудников

Время на прочтение2 мин
Количество просмотров8.6K
Привет, Habrahabr!
Наша компания известна прежде всего своими решениями в области информационной безопасности. Мы выпускаем такие продукты, как электронные идентификаторы Рутокен и электронные ключи для защиты софта Guardant.
Обычно наши статьи носят сугубо технический характер, но на этот раз речь пойдет о нашей внутренней системе учета социальных выплат для сотрудников.

Несколько слов о предыстории вопроса. Мы — современная российская ИТ-компания, и, как наверное любая ИТ-компания, мы очень любим все автоматизировать. Помимо прочих, в нашей компании существует компенсация выплат на проезд, походы в театр и фитнес. Долгое время сотрудники были вынуждены собирать и хранить билеты, в нужный день предоставлять их в бухгалтерию, а затем получать свои деньги. В конце концов это процедура нам надоела и мы решили написать максимально простое решение для автоматизации этого процесса. Получившуюся систему мы успешно применяем у себя в компании и сегодня передаем ее в Open source.
Читать дальше →

Shadow DOM: спецификация

Время на прочтение25 мин
Количество просмотров12K
Андрей Глазков, Ито Хаято из Google, а также другие специалисты на Github работают над составлением спецификации Shadow DOM. Уже проделана огромная работа, однако еще много предстоит сделать. В рамках поддержки работы на этом направлении создан перевод существующей версии спецификации от 7 июля.

Эта спецификация описывает способ объединения нескольких DOM-деревьев в одну иерархию, и взаимодействие этих деревьев друг с другом в одном документе, что позволяет построить DOM более правильно.

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

7 шагов к запуску gh-pages для AngularJS-проектов, созданных с помощью Yeoman

Время на прочтение2 мин
Количество просмотров9.5K
В этой публикации я расскажу о том, как создать GitHub Pages для AngularJS-проектов, которые были созданы с помощью генераторов Yeoman. gh-pages удобен тем, что позволяет наглядно увидеть веб-страницу, а не ее исходный код. Как написано в описании gh-pages, они используются для статических HTML-страниц [1]. Однако, и в случае AngularJS-фреймворка, gh-pages могут быть полезны.
Читать дальше →

Тайны потерянных коммитов в Git

Время на прочтение3 мин
Количество просмотров35K
Git — штука не то чтобы особо сложная, но гибкая. Иногда эта гибкость приводит к забавным последствиям. К примеру, посмотрите на этот коммит на GitHub. Он выглядит как нормальный коммит, но если вы клонируете себе данный репозиторий, то такого коммита в нем не найдете. Потому что это потерянный коммит, более известный как git loose object или же orphaned commit. Под катом — немного про внутренности Git, откуда такое берется и что делать, если оно вам встретилось.
Читать дальше →

Ближайшие события

Миссия AllMyChanges

Время на прочтение3 мин
Количество просмотров4K
Когда наш проект только зарождался, он базировался на гипотезе, что почти для любой библиотеки можно найти changelog, а если найти нельзя, то можно построить его из коммит-мессаджей. Но реальность оказалась не столь радужной, как нам того хотелось: то файл changelog в каком нибудь безобразном формате попадётся, то его перестали вести, а продукт меж тем развивается, то что нибудь ещё. И тогда мы поняли, что распарсить мир – мало, надо его менять.

Изменить что-то за один миг — необычайно сложная задача


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

Mr. Speaker

До появления нашего сервиса, сложно было сравнивать простой ChangeLog с блогом, поскольку не было способа подписаться на обновления. Ведь ссылку на rss фид блога можно закинуть в rss читалку, на соцпрофиль можно подписаться, зафолловив человека, а подписаться на изменения библиотеки было сложно.
хмм, что же там дальше?

Как программисту заработать на фондовом рынке, думая только о коде: Конкурс StockSharp и ITinvest

Время на прочтение3 мин
Количество просмотров19K


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

Сегодня мы подробнее расскажем о том, как можно заработать на фондовом рынке, занимаясь только программированием, и не вкладывая собственных средств. Сделать это можно участвуя в специальном конкурсе разработчиков от проекта StockSharp и ITinvest.
Читать дальше →

Вторая версия Evernote SDK для Android: новые возможности Evernote в ваших приложениях

Время на прочтение2 мин
Количество просмотров6.1K
Десятки тысяч разработчиков уже используют платформу Evernote, чтобы сделать свои приложения функциональнее и привлекательнее для 100 миллионов пользователей нашего сервиса. Очевидно, что значительная часть этого сообщества имеет дело с Android.

С недавним обновлением приложения Evernote для Android нам представилась возможность также подготовить Evernote SDK 2.0 для Android, мы рады пригласить разработчиков опробовать новые возможности в своих проектах.

Evernote for Android SDK на Гитхабе >>

image

Это обновление включает ряд важных изменений:
Читать дальше →

Работа над ошибками — phppgadmin

Время на прочтение2 мин
Количество просмотров3.4K
Один из наших клиентов поставил задачу — не заливается дамп базы данных через phpPgAdmin. В лог ошибок выводятся сообщения типа: ERROR: relation «public».«company» does not exists.

Схема public в наличии имеется, таблицы company нету. В процессе поиска выясняется, что через консоль этот же дамп заливается без проблем. Если загружать в web-форму в phpPgAdmin — то тоже все отрабатывает. Но вот если загружать этот дамп в тот же phpPgAdmin как файл — идут ошибки.
Читать дальше →

SourceTalk (сервис для обсуждения исходных кодов): релиз

Время на прочтение2 мин
Количество просмотров21K
image

Вчера случилось долгожданное для SourceTalk событие: наконец вышел полноценный релиз. Для тех кто о проекте слышит первый раз или уже успел забыть: SourceTalk — это сервис для обсуждения исходных кодов в реальном времени, по изначальной задумке — что-то вроде Campfire или HipChat для разработчиков, но возможно вы уже успели познакомиться с более близким аналогом, вышедшим в прошлом году — Gitter. О непростом пути, пройденном за два года развития от прототипа до релиза, можно прочитать в моей статье на Мегамозге. Здесь же я опишу только текущий функционал.
Читать дальше →

1C: Enterprise Development Tools, или Eclipse на русском

Время на прочтение6 мин
Количество просмотров112K


Встречайте — 1C: Enterprise Development Tools.

Начну с предыстории.

Два года назад Борис Нуралиев, директор фирмы «1С», дал большое интервью сообществу INFOSTART.RU. Самым популярным вопросом был про усовершенствование среды разработки для программистов 1С.

На днях, произошел очень интересный этап в истории развития 1С – была выпущена новая среда разработки под 1С — 1C:Enterprise Development Tools.

1C:EDT – это новая среда для разработки под «1С: Предприятие 8», которая основана на базе открытой платформы Eclipse.
Да, да, да – встречайте, во всех странах СНГ и не только – Eclipse с разработкой на русском языке!
(под катом много больших картинок)
Читать дальше →

Вежливое приглашение к разработке

Время на прочтение4 мин
Количество просмотров18K

Критикуешь – предлагай


Нас нередко ругают на Хабрахабре за то, что статьи недостаточно технические, а описание работы программы плохо детализировано. Но на самом деле каждый читатель понимает, что описать в одном посте абсолютно все – просто невозможно, потому что несколько лет развитие DRP шло во множестве направлений.

Часть из них связана непосредственно с исполняемым файлом, пресловутым .exe'шником; другая – с созданием архива и, что немаловажно, индекса драйверов; третья – с тестированием приложения и отдельных версий драйверов для различного оборудования как на разных версиях ОС Windows, так и на железных стойках. Часть из этих решений мы отдаем в тестирование пользователям, проявившим особенный интерес.
Читать дальше →

Вклад авторов