В этой очень небольшой заметке я расскажу об очень небольшом усовершенствовании процесса автоматической сборки приложения в Travis CI. Я это проделал на примере Андроид-приложения, но, естественно, это будет работать и для других языков. Постановка задачи очень проста — участники сообщества попросили автоматически собирать в выкладывать приложение после каждого коммита в репозитории на GitHub. То есть речь идёт не о сборке фиксированных версий, а именно о «ежедневных» сборках, которые можно сразу же установить и тестировать, не дожидаясь официальной версии. Я, как разработчик, подобную заинтересованность могу только приветствовать, так как это сильно повышает качество обратной связи. Реализация этого процесса очень проста, только штатные средства GitHub и Travis CI, никакой магии. Так что я до сих пор сомневаюсь, стоит ли вообще о таком писать и отвлекать уважаемых хаброжителей от более серьёзных тем. Но если кто заинтересовался — прошу под кат.
Рубрика «github» - 31
Travis CI: автоматическая загрузка собранных модулей на GitHub
2017-09-17 в 22:07, admin, рубрики: github, open source, непрерывная интеграция, Разработка под androidВводим рейтинг участника Dribbble и Behance на «Моём круге»
2017-09-14 в 13:27, admin, рубрики: Behance, dribbble, github, moikrug.ru, stackoverflow, база кандидатов, Блог компании Мой круг, карьера, Карьера в IT-индустрии, Мой круг, рейтинги, сообщества, управление персоналомВ июле мы на «Моём круге» ввели рейтинги участников «Хабра» и «Тостера», GitHub и StackOverflow. А сегодня рады сообщить о добавлении рейтингов участия ещё в двух сообществах: Dribbble и Behance.
На профиле пользователя это выглядит следующим образом:
На списках специалистов — на поиске кандидатов или в откликах на вакансию — пользователь с рейтингом участника Dribbble или Behance отмечается соответствующей иконкой.
Теперь раскрывать свой профиль во всей красе для потенциального работодателя смогут не только разработчики, но также и дизайнеры. Это важно, ведь дизайнеры составляют десятую часть нашего ИТ-сообщества, объединённого «Хабром». Кроме того, недавно проведённый нами опрос показал, что Dribbble и Behance важны для карьеры дизайнеров. Участие в этих сообществах нередко оказывает решающую роль в принятии решения о приглашении дизайнера на работу.
Чтобы вывести свои рейтинги этих сообществ, нужно привязать их учетные записи к своему профилю на «Моём круге». Делается это в кабинете своего профиля, в «Ключнице».
Далее расскажем, какие данные мы выводим из Dribbble и Behance и что они означают.
Читать полностью »
Positive Technologies на GitHub
2017-09-13 в 11:06, admin, рубрики: github, open source, ptsecurity, Блог компании Positive TechnologiesПоздравляю программистов с их профессиональным днем! В связи с этим праздником наша компания Positive Technologies решила рассказать о своей деятельности, напрямую связанной с разработкой, а именно с открытым исходным кодом и GitHub.
В последнее время все больше и больше компаний, таких как Google, Microsoft, Facebook, JetBrains, выкладывают в открытый доступ исходный код как небольших, так и крупных проектов. Positive Technologies славится не только высококлассными специалистами по информационной безопасности, но и большим количеством профессиональных разработчиков. Это позволяет ей также вносить свой посильный вклад в развитие движения Open Source.
У PT есть следующие GitHub-организации, поддерживающие открытые проекты компании:
Как определить мобильного оператора и домашний регион по номеру телефона
2017-09-06 в 19:41, admin, рубрики: github, java, MNP, open source, Алгоритмы, открытые данные, первая статья на хабре, префиксное дерево, россвязь, телефон, цниисКогда мы пытаемся определить какому оператору принадлежит номер телефона, то обычно смотрим на его DEF код. Например, если номер начинается на 916, то это МТС, на 968 – Билайн, 926 – Мегафон (все зависит от вашего региона). Но этот метод очень условный и совершенно не подходит когда нужны точные данные. В реальности все сложнее: DEF коды часто делят между собой несколько операторов, и совсем необязательно, что искомый номер относится к операторам большой четверки. Ну и наконец, номер можно просто портировать.
В статье я расскажу о том, как по номеру телефона достоверно определить мобильного оператора который его обслуживает, а также получить дополнительную, «бесплатную» информацию – домашний регион абонента. Использовать эти данные можно как угодно, начиная от предзаполнения адреса в анкете пользователя и перенаправления на региональную версию вашего сервиса, до использования этих данных в процессинге и статистике. В конце статьи будет ссылка на github с исходниками.
Сразу оговорюсь, что домашний регион абонента, по большому счету, никак не связан с текущим месторасположением пользователя, т.е. определяемый регион отвечает на вопрос «Откуда номер?», а не «Где пользователь?».
Читать полностью »
В продолжение статьи на тему что сказать git, чтобы он сделал то, что вам нужно и перед статьей как создать PR в чужой Open Source проект на GitHub думаю стоит полезным рассказать о том, что такое rebase.
Читать полностью »
Удобное использование Redux в vue-компонентах
2017-09-04 в 19:36, admin, рубрики: actions, Dispatch, github, javascript, mixin, open source, redux, vuejs2, Программирование, Разработка веб-сайтовНедавно перешел с PolymerJS на VueJS для некоторых задач. Совместно с polymer использовал Redux через библиотеку polymer-redux. Поэтому вся бизнес-логика уже была сформирована на уровне redux store. Для связки vue и redux выбрал библиотеку vuedeux. В awesome vue в разделе redux представлена еще одна библиотека для связки с redux — revue, но мне показалось эффективней использовать именно vuedeux, за счет интеграции redux store непосредственно в «свой redux» для vue — vuex, для возможного использования его в будущем.
Читать полностью »
Почему GitHub не может хостить ядро Linux
2017-08-27 в 8:20, admin, рубрики: Git, github, крупные проекты, монорепозиторий, Разработка под Linux, системное программирование, Системы управления версиями, ядро LinuxНекоторое время назад на отличной конференции maintainerati я пообщался с несколькими друзьями-мейнтейнерами о масштабировании по-настоящему больших проектов open source и о том, как GitHub подталкивает проекты к определённому способу масштабирования. У ядра Linux абсолютно иная модель, которую мейнтейнеры-пользователи GitHub не понимают. Думаю, стоит объяснить, почему и как она работает и чем отличается.
Ещё одной причиной для написания этого текста стала дискуссия на HN по поводу моего выступления «Мейнтейнеры не масштабируются», где самый популярный комментарий сводился к вопросу «Почему эти динозавры не используют современные средства разработки?». Несколько известных разработчиков ядра энергично защищали списки рассылки и предложение патчей через механизм, похожий на пулл-реквесты GitHub, Но по крайней мере несколько разработчиков графической подсистемы хотели бы использовать более современный инструментарий, который гораздо легче автоматизировать скриптами. Проблема в том, что GitHub не поддерживает тот способ, которым ядро Linux масштабируется на огромное число контрибуторов, и поэтому мы просто не можем перейти на него, даже для нескольких подсистем. И дело не в хостинге данных на Git, эта часть явно в порядке, а дело в том, как на GitHub работают пулл-реквесты, обсуждение багов и форки.
Читать полностью »
Продвинутый Jekyll
2017-08-26 в 15:38, admin, рубрики: github, github pages, html, javascript, jekyll, open source, static site, web, web-разработка, Программирование, Разработка веб-сайтовJekyll — генератор статических сайтов. Это означает, что на вход ему даётся какая-либо информация, а на выходе получается набор HTML-страничек. Всё отлично когда сайт простой или даже одностраничный. Но что насчёт более сложных сайтов? Справится ли Jekyll? Будет ли удобно?
Данная публикация — попытка обобщить знания, полученные при создании нескольких веб-сайтов. Поэтому оставляю ссылки и на рабочие примеры, и на их полные исходники на GitHub. Уровень материала идёт от простого к сложному.
Параметрическое моделирование в САПР SolveSpace: «Неисповедимы пути Решателя» или «Червоточины Ньютона»
2017-08-19 в 19:28, admin, рубрики: c++, cad, CAD/CAM, github, open source, opensource, Solver, SolveSpace, математика, сапрНа первый взгляд, задача применения размерных ограничений к чертежу кажется не сложнее упражнения из школьного учебника. Точно так же показалось и мне, когда я впервые узнал о ней. В то время я работал в компании, которая занималась разработкой программного комплекса для проектирования индивидуальных жилых домов с подготовкой проектной документации "под ключ". В этом проекте я занимался разработкой алгоритма генерации многоскатных крыш, а впоследствии и всего геометрического ядра на основе Булевых операций, поэтому за дальнейшей историей я следил издалека. В какой-то определенный момент, заказчику захотелось, чтобы проектировщики могли просто указать размеры комнат, углы эркеров и ширину дверных проемов, а программа автоматически рассчитала бы все остальные параметры внешнего и внутреннего устройства дома. Эта мысль возникла у заказчика спонтанно, и поэтому срочно нужно было сделать “точно так же, как в CATIA”. Наш тимлид подошел к решению задачи с энтузиазмом и начал разрабатывать прототип. Он решал сотни уравнений в MathCAD, весь кабинет был завален графиками частных решений для двух, трех, четырех точек… Его изначальное предположение о том, что задачу можно решить аналитически, потерпело фиаско: на дворе был 2005, а это значило, что в интернете невозможно было найти хоть какую-то информацию по данной теме. В результате, после двух месяцев напряженных исследований, данную функциональность пришлось исключить.
Истории успеха Kubernetes в production. Часть 3: GitHub
2017-08-17 в 7:33, admin, рубрики: devops, docker, github, kubernetes, Блог компании Флант, истории успеха, микросервисы, системное администрированиеПродолжаем рассказывать об успешных примерах использования Kubernetes в production. Новый кейс — совсем свежий. Подробная информация о нём появилась только вчера. А что ещё более значимо, речь пойдёт про крупный онлайн-сервис, с которым наверняка так или иначе работает каждый читатель хабры, — GitHub.