Разрабатывая различные приложения, я часто сталкиваюсь с тем, как после очередного коммита, в репозитории я вижу один из важнейших файлов, когда я работаю с переменными окружениями, оказалась на странице репозитория на Github. Речь идет о файле .env
, чья общедоступность может быть очень опасным. И для того, чтобы обезопасить хранение конфигурационных переменных и настроек моего приложения, используется данный текстовый файл.
Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore
"не игнорирует" .env.
Причем спокойно "игнорирует" другие файлы, директории.
Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env,
то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?
GitHub *
Веб-сервис для хостинга и разработки IT-проектов
Новости
Простой инструмент измерения и анализа Code Review
Рассмотрим такую спорную, но при этом полезную вещь как измерение метрик код ревью. Не секрет, что это один из неотъемлемых этапов в процессе разработки и возникающие проблемы могут в конечном итоге сказаться на расходах компании и удовлетворении от работы в команде. Чтобы этого не было, необходимо вовремя понимать есть ли проблемы, определять причины, находить решения и проверять их эффективность. В части этих вопросов нам и может помочь статистика. Можно найти как отдельные приложения сфокусированные на метриках, так и гитхаб-экшны. В данной статье речь пойдет о гитхаб-экшне Pull Request Analytics Action.
Как избежать когнитивной перегрузки: способы оптимизации кода для разработчиков
По мнению Артема Закируллина*, одна из фундаментальных проблем, с которой сталкиваются разработчики при анализе кода – высокая когнитивная нагрузка. Это не абстрактное, а реальное ограничение возможностей, которое стоит времени и денег. На чтение и понимание кода, тратится больше времени, чем на его написание. Поэтому, разработчику нужно постоянно задаваться вопросом: не пишет ли он код, чтение которого создает чрезмерную когнитивную нагрузку?
Подробнее о том, с какими проблемами от высокой когнитивной нагрузки сталкиваются разработчики и какие решения помогут упростить понимание кода для последующей работы с ним читайте под катом.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.
Истории
Комбинированная авторизация в Spring Security: Социальные сети и логин через username/password
Привет! Меня зовут Данекер, я Fullstack-разработчик (Java, Angular). В этой статье я хочу поделиться с вами, как реализовать комбинированную авторизацию в Spring Security, используя примеры авторизации через социальные сети, такие как GitHub, а также традиционный логин через username/password. Мы рассмотрим процесс настройки и интеграции обоих методов, чтобы ваши пользователи могли выбирать наиболее удобный для них способ входа в систему. Надеюсь, это руководство будет полезным и поможет вам упростить процесс аутентификации в вашем приложении. Если у вас возникнут вопросы, буду рад ответить на них в комментариях. Также приветствую обратную связь от более опытных и искушённых разработчиков.
Анализ рынка акций мировых компаний на брокерской платформе Tinkoff Инвестиции
В мире, где цифровые технологии играют все более важную роль в повседневной жизни, рынок ценных бумаг становятся объектом увеличивающегося интереса исследователей, инвесторов, а также экономических и финансовых институтов. Цифровые активы и способы прогнозирования их стоимости быстро привлекают внимание своей децентрализованной природой, возможностью проведения глобальных финансовых транзакций и перспективой защиты от инфляции. Однако, они также характеризуются высокой волатильностью, что делает их предметом повышенного финансового риска. Этот рынок играет ключевую роль в экономике, поскольку предоставляет компаниям доступ к капиталу для финансирования своей деятельности, а также дает инвесторам возможность вложить свои деньги с целью получения прибыли [1, 2].
Платформа Tinkoff Инвестиции — это онлайн-сервис от Tinkoff Bank, который предоставляет клиентам возможность инвестировать в различные финансовые инструменты, включая акции, облигации, фонды, ETF и другие. Широкий выбор активов, удобный интерфейс и наглядная аналитика, и отчетность на платформе делает ее привлекательной для новичков и опытных инвесторов. Онлайн-брокерские компании позволяют инвесторам быстро и легко зарегистрироваться и приступить к торговле [3].
В условиях непредсказуемости и динамичности рынка, возникает потребность в прогностических моделях [4], способных предсказывать изменение цен акций в будущем. Моделирование и прогнозирование цен акций представляет собой сложную многомерную задачу, которая может быть решена с применением различных методов анализа данных и финансовых инструментов. На сегодняшний день существует широкий спектр подходов к предсказанию цен на цифровые активы, который охватывает как традиционные статистические методы, так и передовые алгоритмы машинного обучения [5].
Демо: Поиск на GitHub с помощью Manticore Search
Вместо интро
Сегодня мы расскажем о нашем опыте создания своего поиска для репозиториев в GitHub, почти похожее на то, которое там и используется, но немного другое.
Для затравки — посмотрите, что у нас получильнось на нашем репозитории → Демка
Можно проиндексировать и свой, для этого нужно немного подождать завершения процесса индексации → github.manticoresearch.com, а пока идет индексация — добро пожаловать под кат.
Как информативно оформить профиль на GitHub?
Тетрадь, дневник — ваше лицо. А круто оформленный профиль на гитхабе — статус вашей занятости. Чем больше участий в проектах, тем безработнее... Пока молодые специалисты оформляют свои страницы с "Lib-Meta-Neo ML-Scientist 10 years of expirience" на LinkedIN настоящий амбассадор HR и трудового найма бегут на GitHub. Именно там выискиваются самые закостенелые гики программирования, вносящие тридцать пять тысяч коммитов в безбюджетные опенсорс проекты; именно там рождаются гении, разрабатывающие AAA-проекты геймдева на ассемблере.
Все это шутки.
Но реальность такова, что многие из рекрутеров не против оценить ваш профиль. Подавать себя, как в маркетинге, важно. И неплохо бы сразу представить всю статистику развернуто перед глазами, чтобы бедный HR не искал ваши коммиты, а гордо проведенные тысячи часов в GitHub не остались за кадром. Каждый проект служит материальным доказательством способностей разработчика, позволяя потенциальным соавторам или работодателям оценить его стиль программирования, навыки решения задач и умение управлять проектами.
Для этого на гитхабе есть много утилит, которые помогают оформить Readme личного профиля. Но для начала давайте быстренько его создадим.
Как автоматизировать заполнение changelog через GitHub Action
Привет, Хабр! Меня зовут Юрий Петров, я автор Youtube-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter.
Разработчики используют GitHub, чтобы писать и хранить свои проекты. У многих появляется вопрос: как хранить историю изменений? Конечно, вы можете заносить файл CHANGELOG.MD самостоятельно в основную ветку после каждого пул-реквеста. Но мы любим автоматизацию.
В этой статье рассказываю, как файл CHANGELOG.MD может заполняться автоматически. Автоматическое заполнение помогает разработчику понять, что изменилось в новых версиях без изучения исходного кода.
Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage
В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения private NPM registry. Эта функция упрощает хранение и совместное использование JavaScript и TypeScript библиотек между проектами и командами, улучшая совместную работу и возможность повторного использования кода в вашей компании.
GitHub Actions позволяет автоматизировать задачи ваших проектов, такие как linter, sonar , запуск тестов, билд образов Docker, развертывание в различных средах и многое другое.
Говоря о Docker, общепринятой практикой является создание приложения, библиотеки или любого кода в определенном образе Docker (то есть сборка внутри Docker контейнера). В этом контейнере можно задать определенную версию Node, а также любые внешние ресурсы и библиотеки, необходимые в процессе сборки. Этот подход обеспечивает максимальное удобство, поскольку устраняет необходимость полагаться на конкретный ПК или виртуальную машину со всеми необходимыми настройками. Вместо этого вы можете один раз подготовить среду на уровне Docker и последовательно использовать ее на разных машинах и в разных средах, обеспечивая согласованность и воспроизводимость на протяжении всего процесса разработки.
Однако возникает проблема, когда вы пытаетесь создать свое приложение в Docker, и для этого требуется библиотека npm, хранящаяся в вашем частном реестре GitHub NPM. Более того, этот процесс должен быть осуществим в GitHub Actions. В этой статье я покажу вам процесс настройки, чтобы добиться этого без проблем!
Искусство README
Привет, Хабр!
На связи Андрей из сообщества ITMO.OpenSource. Мы считаем, что важно делать открытую науку, поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом.
Мы убеждены, что открытая наука – это не просто код на github, но и совокупность факторов, которые позволяют этим кодом эффективно воспользоваться: запустить, модифицировать, внедрить в другие проекты. Поэтому я решил перевести популярную статью JS-разработчицы Киры Окли «Art of README». Несмотря на разницу в экосистемах (я пишу преимущественно на Python), мне кажется, многие идеи этой статьи актуальны для любого проекта на любом языке.
Уязвимости на GitHub: в библиотеке Ruby, которую скачали 250 000 раз, модулях для электронных замков и популярных играх
В конце марта в блоге GitHub вышла статья, как защищаться от уязвимостей типа RepoJacking. В первых строчках автор советовал использовать пакетные менеджеры типа NPM и PyPI, чтобы киберугроза этого вида «не угрожала пользователю напрямую». Можно было бы вздохнуть с облегчением, но читатели Хабра уже знают об исследовании команды МТС RED ART, которое позволило найти более 1300 уязвимых для RepoJacking репозиториев.
Меня зовут Андрей Сомсиков, я — руководитель команды МТС RED ART. В этой статье — вторая часть нашего исследования уязвимых репозиториев на GitHub. Мы нашли уязвимости в популярных библиотеках: для разработки на Ruby, для электронных замков и даже для пользователей Reddit и Minecraft. Но не всё так страшно! В конце дам рекомендации от всей нашей команды по борьбе с уязвимостями в популярных хостингах кода.
Как инженеры GitHub используют GitHub Copilot: 4 способа
Узнаем, как GitHub Copilot повышает эффективность работы инженеров из GitHub, позволяя автоматизировать повторяющиеся задачи, сохранять концентрацию и многое другое.
Ближайшие события
GitHub Copilot в JetBrains IDEs в РФ
В 2022 году в публичный доступ вышел GitHub Copilot – довольно удобный современный инструмент для разработчиков. В этой короткой статье поделюсь своим опытом взаимодействия с GitHub Copilot, а главное тем, как его использовать в IDE от JetBrains. Приятного чтения!
Tutorial: в gigachat появился function calling
Недавно в документации к API GigaChat появился раздел, посвящённый работе с функциями, аналогично тому, как это реализовано в ChatGPT. Идея заключается в том, что модели передаётся информация о доступных ей функциях, и в зависимости от запроса пользователя модель может обратиться к этим функциям и добавить их результат к промту для генерации ответа.
Данный функционал ещё не доступен в gigachain и доступен через API только для модели "GigaChat-Pro-preview"
, и я хочу поделиться своим первым опытом его использования.
На странице с документацией вас ожидает множество json схем, которые которые нужно добавить к запросам для вызова функций, а здесь мы рассмотрим, как внедрить вызов функций в свой код.
В моём примере, помимо информации о погоде, ассистент будет получать из гугл-таблицы цены на запрошенные продукты, и передавать их пользователю.
Распознаем голосовые сообщения Telegram без СМС и пересылок ботам
Как всем известно, люди делятся на две категории:
1. Те, кто любит отправлять голосовые сообщения
2. Те, кто кто надеются, что для первых приготовлен отдельный котел
Но мы здесь не для того чтобы осуждать какую-то из этих категорий. Читать сообщения я люблю больше, чем слушать и здесь я расскажу, как я попробовал решить для себя эту проблему.
Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем
Эта секция написана уже после статьи, чтобы читатель посмотрел, а надо ли ему что-то отсюда или нет, но это забавное приключение, как всегда.
Что будет ниже:
• Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
• Запуск этого решения в открытую в github pages
• Заворачивание этого решения на приватный сервер
• Простенькое закрытие доступа туды через basic http auth
• Заключение с описанием некоторых замечаний и потенцевальных возможностей
Чему могут научить пул реквесты в чужие проекты
Привет. Гоу разберем почему вам может быть полезно вносить вклад в сообщество программистов. Речь пойдет про запросы на внесение изменений через форк проекта.
Open Source в российском ИИ: исследование ландшафта
Привет, Хабр!
Это исследователи из NSS Lab ИТМО и создатели сообщества ITMO.OpenSource. Мы считаем, что важно делать не просто науку, а открытую науку, результатами которой можно легко воспользоваться. Поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом. Эта статья написана на материале исследования, которое мы презентовали на последнем митапе. В ней поговорим об открытом научном коде, посмотрим, как с ним обстоят дела в разных организациях, и поделимся подборкой репозиториев, которые могут решать различные научные задачи.
Нужны ли Unity разработчику проекты на гитхабе
Довольное большое количество собеседующих заглядывает на гитхаб. Первые хотят убедиться, что у вас есть в наличии хоть какой‑то написанный вами надеюсь код. Вторые хотят побольше в этот код повникать, чтобы посильнее вас потеребонькать на техническом собеседовании. Уже не знаю для чего… для поднятия собственного это, может быть. Или может хотят сбить с вас спесь вместе с денежными запросами) Хотя последняя категория собеседующих на моей практике попадалась всего два раза:
Вклад авторов
olalala 329.0m1rko 280.4alizar 240.8SonicGD 204.0SlavniyTeo 201.0Athari 198.0antoshkka 188.0Mithgol 180.8GlobalSign_admin 166.0ITSumma 164.8