Pull to refresh

Исходные коды компании Nissan утекли из-за неверной конфигурации Git-сервера с активной учеткой admin/admin

Information Security *Git *IT-companies


По информации портала ZDNet, из-за неверно сконфигурированного сервера Git на Bitbucket в открытый доступ оказались выложены данные внутренних Git-репозиториев компании Nissan North America.

IT-эксперт Тилли Коттманн (Tillie Kottmann) первым обнаружил, что автопроизводитель по какой-то причине оставил на своем Git-сервере активную учетку по умолчанию с логином и паролем admin/admin.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 9.2K
Comments 24

Совместимость, конфигурации и цвета: что не показала Apple на презентации

Gadgets Computer hardware Smartphones Software Presentations

На этой неделе Apple представила новые iPad Pro и iMac на чипе M1, iPhone 12 в новом фиолетовом цвете, а также Apple TV 4K и AirTags. Однако компания в ходе официального мероприятия обошла стороной некоторые моменты, которые касаются ее продуктов.

Читать далее
Total votes 10: ↑7 and ↓3 +4
Views 3.9K
Comments 3

В проблемах с доступом ко множеству популярных сайтов оказалась виновата CDN от Fastly

IT Infrastructure *Network technologies *
Бесчисленное множество популярных сайтов (Reddit, Spotify, Twitch, Stack Overflow, GitHub, gov.uk, Hulu, HBO Max, Quora, PayPal, Vimeo, Shopify, Stripe, weather.com…) сегодня внезапно начали работать с перебоями. Причиной проблем оказались неполадки в работе Fastly, популярного провайдера CDN.



В данный момент известно, что проблема оказалась «глобальной» и охватила всю сеть серверов. Компания утверждает, что нашла проблему и уже применила некий фикс. По словам представителя компании, проблема заключалась в некоей неправильной настройке конфигурации сети. Сейчас доступ к большинству сайтов постепенно восстанавливается. Всего проблемы с доступом удалось устранить менее, чем за час.
Total votes 16: ↑16 and ↓0 +16
Views 5.9K
Comments 30

Конфигурация. dev vs production

Django *
Не думаю, что данный топик должен стать откровением для продвинутых Django-кодеров. Но по опыту работы в разных проектах, могу сказать, что многие программисты всёже не в теме.

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

Некоторые вставляют кучу if-ов или ещё чего по хуже, опираясь на ip (ужос) или имя машины, но это всё крайне неудобно и захламляет конфигурацию. Для меня это очень сильный довод к неучастию в проекте, т.к. это говорит о качестве всего кода.
Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 1.5K
Comments 44

Управление конфигурацией локального web-сервера для нескольких проектов

Website development *
Часто приходится вести разработку одновременно нескольких сайтов. Иногда, под каждый сайт приходится выбирать специфичную версию PHP, MySQL, причем со специфичными настройками. Раньше создавал bat файлы, которые запускали нужную конфигурацию, потом решил набросать маленькую утилиту.

Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 1.1K
Comments 10

Конфигурация типографа Jevix

Lumber room
Дорогие хабралюди!
Начал присматриваться к парсеру и типографу текстов Jevix, однако распространяемый с PHP-версией демонстрационный файл, а точнее конфигурация jevix-а в нем, достаточно неоптимальная, в частности, при ее использовании нет возможности различного акцентирования текста в ячейках таблиц и т.п.

В связи с вышесказанным, обращаюсь к сообществу с вопросом-просьбой: как наиболее безопасно и, в то же время, не сильно урезая возможности HTML, настроить Jevix для использования на своем сайте и никто не смог бы поделиться своими вариантами конфигурации?
Total votes 13: ↑10 and ↓3 +7
Views 356
Comments 1

Запуск проекта на разных хостах

Website development *
Наверное, каждый разработчик встречался с задачей запуска одного проекта на разных компьютерах. В простом случае это машина разработчика и «боевой» сервер. Ещё сложнее ситуация, если в разработке участвуют несколько человек, и у каждого свои настройки.

Сложность здесь в том, что разное окружение (доступ к БД, расположение файлов и проч.), будучи «жестко» прописанным в файле конфигурации, заставляет нас постоянно этот файл править. Кроме того, файлы настроек часто заливаются в репозиторий, и после очередного обновления кода у вас всё перестаёт работать.

Для решения проблемы я использовал два метода.
Читать дальше →
Total votes 35: ↑26 and ↓9 +17
Views 2.1K
Comments 50

Цикл статей по основам Software Configuration Management

Project management *

Пролог


Что такое управление конфигурацией в разработке ПО? Зачем оно нужно? Думаю, немногие способны полностью и внятно ответить на этот вопрос. Большинство обычно вспоминает системы контроля версий, которые сами используют. Кто-то упоминает багтрекинг. Кто-то считает вершиной CM отращивание веток в любимой системе контроля версий. А кто-то вообще уходит в сторону и начинает говорить про ITIL и про то, как он записывает в какую-нибудь базу параметры всего софта, который установлен у него в фирме.

Несколько странно и немного досадно наблюдать за этим. Дело в том, что я проработал в SCM в общем сложности около 5 лет, из них 3 года — интегратором в Motorola, на одном из проектов по разработке софта для сотовых телефонов. По ходу дела прочитал кучу материалов по этой теме и получил большой практический опыт — в том числе по работе с одной из мощнейших систем контроля версий IBM Rational ClearCase (см. linkedin в профиле). В итоге в голове сформировалась некоторая целостная картина того, что же это на самом деле — software configuration management.
Ну а дальше-то что?
Total votes 44: ↑41 and ↓3 +38
Views 16K
Comments 42

Software Configuration Management // Конфигурации и baselines

Project management *
Итак, по горячим следам продолжаю публиковать материалы, касающиеся основ управления конфигурацией программных средств. Прочитайте предыдущую заметку, если вдруг пропустили.

Ниже речь пойдет о следующих вещах:
— Рабочие продукты и конфигурации;
— Компонентная разработка;
— Продуктовые линейки;
— Стабилизация результатов работы;
— Baselines AKA базовые конфигурации;
— Конфигурации при компонентной разработке;
— Конфигурации при наличии продуктовых линеек.

Рассказывай, не тяни!
Total votes 23: ↑21 and ↓2 +19
Views 9.5K
Comments 11

Как вернуть удалённый конфиг или Никогда не сдавайся!

System administration *
image

Сисадмины делятся на тех, кто не делает бэкапы, и тех кто, их уже делает =)

Про то как восстанавливать файлы с ext3 / ufs написана не одна статья, так что не буду повторятся и напишу про не самые широко известные способы восстановления конфигов на продакшн сервере.

Читать дальше →
Total votes 70: ↑67 and ↓3 +64
Views 5.7K
Comments 36

Software Configuration Management // отслеживание запросов на изменение

Project management *

Вместо предисловия

И снова доброго времени суток!

Продолжаю цикл заметок об основах управления конфигурацией программных средств. Чтобы долго не пересказывать краткое содержание предыдущих двух серий, предлагаю ссылки на них:
  1. Цикл статей по основам Software Configuration Management. О том, что такое СМ, каковы его задачи и за что отвечает в рамках проекта CM-инженер.
  2. Software Configuration Management // Конфигурации и baselines. О том, что такое рабочий продукт в терминах SCM, что такое конфигурация, как она стабилизируется, а так же что такое базовые конфигурации — baselines.
В этой заметке речь пойдет о том, что большинство называют bugtracking systems. Мы посмотрим на этот класс задач и инструментов с более обобщенной точки зрения.

Ну, давай посмотрим...
Total votes 25: ↑17 and ↓8 +9
Views 12K
Comments 19

Software Configuration Management // Контроль версий

Project management *
И снова здравствуйте.

Продолжаю публиковать цикл статей о SCM — управлении конфигурацией ПО.
3 предыдущие заметки можно прочитать в этом же блоге.

Сегодня расскажу о том, с чем работает большинство читателей — о контроле версий.

Disclaimer


Далее будут описаны основные техники, реализованные в подавляющем большинстве систем контроля версий. Как они реализуются в приложениях, которые использует читатель, оставим на откуп многочисленным руководствам пользователя, how-to, FAQ и прочим документам, коих можно найти без труда. Главное – понять, по каким принципам и зачем оно работает именно так.

Всё понятно, продолжай
Total votes 30: ↑28 and ↓2 +26
Views 11K
Comments 27

Software Configuration Management // Распределенный контроль версий

Project management *
Приветствую. Как и обещал — продолжение цикла заметок об управлении конфигурацией ПО, в простонародье называемом Software Configuration Management. Весь цикл можно найти по ссылке на тэг CM. Из ещё неохваченного осталась буквально пара заметок.

Сегодня речь пойдет о довольно спорном и в чём-то провокационном вопросе — распределенных системах контроля версий. Знаю, что подобные системы популярны среди хабравчан, так что заранее готов в обсуждению. Более того — призываю не проходить мимо и высказаться, если есть что сказать по делу.

Приступим
Total votes 19: ↑14 and ↓5 +9
Views 3.9K
Comments 45

Мониторинг изменения файлов конфигураций сетевых устройств

Lumber room
Доброго времени суток.

Сегодня я попробую рассказать об утилите разработанной для мониторинга файлов конфигураций сетевых устройств – RANCID (Really Awesome New Cisco config Differ). RANCID – разработка американской компании Shrubbery Networks, Inc., это команда — имеющая 20 летний опыт администрирования, конфигурирования и поддержки Unix систем и сетевых устройств. Система разработана для ОС Unix, Linux и MAC OS X. Хотя в названии и упоминается компания Cisco Systems, система работает и с оборудованием других брендов, цитата с офсайта – «Rancid currently supports Cisco routers, Juniper routers, Catalyst switches, Foundry switches, Redback NASs, ADC EZT3 muxes, MRTd (and thus likely IRRd), Alteon switches, and HP Procurve switches and a host of others». Данным продуктом пользуются такие компании как AOL, Global Crossing, MFN, NTT America, Certainty Solutions Inc. Я буду рассматривать установку и настройку RANCID для хранения конфигураций маршрутизаторов Cisco.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 15K
Comments 3

Антипаттерн settings.py

Python *


Хабрапитонерам привет!

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

Сейчас я хочу понегодовать на паттерн «все настройки — в settings.py». Понятно, что популярность он набрал благодаря Django. Я то и дело встречаю в проектах, никак не завязанных на этот фреймворк ту же самую историю: большая кодовая база, маленькие, хорошенькие никак не связанные друг с другом компоненты, и нате вам: все дружно из произвольных мест лезут в волшебный недомодуль settings за своими константами.

Итак, почему же такой подход на мой взгляд отвратителен.

Читать дальше →
Total votes 102: ↑86 and ↓16 +70
Views 15K
Comments 111

Сбор конфигурации сетевого оборудования и хранение их в SVN

Network technologies *
Sandbox
Не так давно, в связи с расширением штата сетевых администраторов, роста числа оборудования в сети и круга задач, возлагаемых на это оборудование, возникло желание отслеживать изменение его конфигурации, и хранить историю этих изменений.
Очевидным решением стало хранение конфигурации в системе управления версиями. Выбор пал на Subversion, так же известную как SVN.
На установке и настройке репозитория останавливаться не буду, так как этому посвящено много страниц в интернете и ничего нестандартного в этом нету. Здесь опишу свой способ сбора конфигурации с оборудования и учет изменений.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views 15K
Comments 24

Смена языка приложения в настройках

Development for Android *
В системе Android очень удобная для использования система локализации, достаточно создать папку и в ней файл со строками. Но в приложение сложно встроить все возможные языки, и не плохо бы предоставить пользователю выбор языка, отличного от стандартного.
Приведу пример такой ситуации:
В приложении есть 2 языка стандартный английский и русский. Это приложение решил установить украинец, у которого аппарат на украинском языке, но так же он хорошо знает русский, а английский не очень. Но вот Андроид, обнаружив, что в приложении нет украинского языка, запустит приложение со стандартным языком, который в нашей ситуации — английский, а для того, что бы приложение запустить на русском, необходимо менять язык системы, что не очень хорошо.
Вот для этой и многих подобных ситуаций есть решение, в настройки вывести пункт выбора языка, который включает автоматический выбор языка, английский, русский, etc. (смотря какие требуются).

Читать дальше →
Total votes 50: ↑39 and ↓11 +28
Views 119K
Comments 42

Конфигурация приложения в Android: быстрая разработка

Development for Android *
imageПри разработке мобильных приложений зачастую возникает необходимость хранить настройки приложения (выбранную пользователем цветовую тему, пароль доступа к приложению, параметры синхронизации с сервером и т.д.). Поскольку такие задачи возникают довольно часто, в Google позаботились о разработчиках и создали механизм для быстрой и легкой реализации данного функционала. Этот механизм позволяет легко создавать, сохранять, отображать и производить разные манипуляции с настройками приложения. Мало того он позволяет автоматически создавать пользовательский интерфейс. При описании типа параметра настроек — автоматически генерируется часть пользовательского интерфейса в зависимости от типа параметра (boolean — чекбокс, String — поле ввода, ...) без написания кода. Звучит неплохо для быстрой разработки, не так ли?
Читать дальше →
Total votes 30: ↑22 and ↓8 +14
Views 12K
Comments 0

Контролируемое кэширование страниц в nginx

Nginx *
Sandbox
Введение

Как известно, nginx умеет кешировать ответ сервера, и выдавать его по запросу вместо обращения к бэкенду, экономя тем самым ресурсы сервера. Скорость отдачи таких закешированных страниц иногда поражает, ради таких скоростей иногда не жалко переносить на javascript многие функции сайта только для того, чтобы иметь возможность закешировать ещё 1 страницу целиком (Например, вынести отрисовку плашки с авторизацией юзера на js, чтобы иметь возможность кешировать страницу, которая идентична для всех пользователей, за исключением этой самой плашки).

Я много раз использовал возможность кэширование nginxом страниц, и натыкался на пару неудобных для себя вещей:
  • Можно легко закешировать вообще все страницы, но для динамических сайтов или для сайтов с авторизацией нужно ли это?
  • Можно закешировать отдельно несколько url, вида /album/*, но не переписывать же конфиг nginx каждый раз при появлении новых разделов сайта?

Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Views 36K
Comments 27

ООП-билдер «массивных» параметров

PHP *Perfect code *ООP *
Многие фреймворки любят магию и сложные многоуровневые массивы для передачи параметров. Что первое, что второе — зло с точки зрения истинно-ленивого программера, который любит IDE и доки всегда под рукой, а не тыкать в интернет/тело вызываемого метода. Мы можем победить это, как образец взяв параметры метода из одного фреймворка и создав ООП-билдер.
Как же он выглядит?
Total votes 31: ↑20 and ↓11 +9
Views 8.6K
Comments 33