All streams
Search
Write a publication
Pull to refresh
31
0
Send message
Видел разные переводы и решил использовать самый нейтральный, но изначальное словосочетание изменить не мог.
Можно. Если в принципе не предполагается, что понадобится новая версия компонента (и так все устраивает в текущей), то можно «заморозить» версию, внести нужные изменения и больше не обновлять.
Насколько мне известно — пофиксено в новом релизе. На старом системное время ставил на один часовой пояс назад (Калининград), так как системное время также некорректно отображалось.
Формат пакетов deb. Если про Common Edition, то есть зеркало репозитория на Yandex, но со времени устновки еще не видел, чтобы из него что-то обновлялось. Для установки недостающих пакетов добавлял в sources репозиторий Debian Wheezy — хоть это и не рекомендуется, но пакеты (те, что меня интересовали) добавляются.
В словах «выполните требования» изначально и была заложена доля юмора. Если бы все было так просто, то на рынке было бы минимум 3 подобных системы. Но что то мало кто спешит получить контракт на поставку защищенной ОС.
P.S. не стоит забывать также то, что компания РусБИТех была по сути преемницей компании ВНИИНС — разработчицы МСВС.
Выполните в ходе разработки любой ОС требования ТЗ на разработку защищенной ОС и вы получите альтернативу Astra Linux. До Astra Linux была МСВС и она почти ушла в небытие. Никто ведь не исключает вариант, что в ходе эволюции вперед выйдет другая система.
Вы это кто? Опять же вики чья? Ссылка моя, а вики-не моя.
Специально ведь написал почти в самом начале о том, что:
Примечание: Автор не имеет отношения к компании — разработчику.

Если было выпущено уже дырявое ПО, то это действительно печально.
11 августа 2003 года началась эпидемия w32.Blaster.worm, эксплуатирующего уязвимость, патчи для которой были выпущены еще 16 июля. Мне кажется это достаточно показательный пример, чтобы учиться на чужих ошибках. А ведь за обновления и внесение изменений (если идет речь именно о SE) отвечает не отдельный пользователь а соответствующее квалифицированное должностное лицо. Я не ошибаюсь, если считаю, что хороший администратор следит за сообщениями об уязвимостях и делает соответствующие обновления, вносит патчи?
astra-linux.com/wiki/index.php/Bash — вроде как проинформировали.
Да, с примерами действительно все плохо. Как бы не оказалось это чисто-теоретической вещью, ведь многие на форумах просят привести конкретные примеры (сам тоже пытался найти) но их нет (или плохо искал).

Не уверен, насколько предложенный пример соответствует антипаттерну, но вроде по всем параметрам он подходит под описание:
Пример на С++
#include <iostream>

using namespace std;

//объект воздействия
class Terminal
{
public:
    static void promptLogin();
};
void Terminal::promptLogin()
{
    cout << "Prompt login";
}
//полтергейст
class Controller
{
public:
    void startLogin();
};

void Controller::startLogin()
{
    Terminal::promptLogin();
}
//субъект действия
class User
{
public:
    void doLogin();
};
void User::doLogin()
{
    Controller controller; //время жизни заканчивается в doLogin
    controller.startLogin();
}

int main()
{
    User user;
    user.doLogin();
    return 0;
}



Пожалуйста. В статье стоило скорее написать полтергейст-«контроллер», чтобы подчеркнуть, что таковым он является номинально, так как эти классы только «задумывались как классы-контроллеры». MVC — это паттерн. Там контроллер решает свою задачу в рамках расслоения по уровням и убрать его, не нарушив решения, полученного при использовании MVC (на мой взгляд), не получится.
В первом случае, когда нет никакой связи между А и B, то предполагается наличие C, который выступает в роли посредника? Если да, то в такой ситуации мне приходят примеры таких паттернов, как Адаптер, например. Но у таких посредников свое конкретное назначение, которое укладывается в общую схему (согласно которой, например А не должен ничего знать о B).

Во втором случае (на мой взгляд) такое решение опять же определяется конкретной потребностью и несет свою полезную нагрузку. Например, это ведь может быть класс Converter, который принимает этот математический объект и (например) сохраняет его в формате, необходимом для внешней системы. Например в API LibreOffice есть интерфейс XStoreable, который инициализируется XComponent и сохраняет документы в поддерживаемые форматы. XComponent при этом ничего не знает о формате документов MS Office.

В описании же антипаттерна указывается, что классы эти необязательны, а ваши примеры вполне жизненны.
Спасибо *ушел читать «Ubuntu for dummies»*
Но ведь apt-get требует root прав? И сначала нужно будет выполнить apt-get update, потом apt-get upgrade (и все это из консоли)?
Получается, что в Linux для обновления только unix-way (если можно так сказать)?
В разделе меню сайта Features о Qt-разработчиках говорится отдельно:
BitRock has partnered with Qt Software® (formerly Trolltech®) to bring you InstallBuilder for Qt®, the first crossplatform packaging tool specifically for Qt developers. InstallBuilder for Qt includes robust functionality that makes it easy to build complex installers without writing a single line of Java code. With InstallBuilder for Qt you can:
  • Generate installers for all supported platforms from one project file, on one machine.
  • Build installers using either the GUI development environment or by directly editing a human-friendly XML file that can easily be integrated into your automated build process and version control system.
  • Integrate with the underlying desktop environment and package management systems.
  • Create start menu shortcuts on Windows systems, KDE/Gnome desktop shortcuts and register with the RPM system on Linux.

А цена Enterprise версии составляет $9 995 (странно, почему не 9 999?).
Спасибо Вам за статью. Скажите, а как Вы планируете решать вопрос обновления ПО? Рассматривая эту проблему для Windows лично мне больше всего понравилось, как это реализовано у платного продукта Advanced Installer. В Mac OS X видимо на себя эту задачу берет AppStore, а в Linux?
Было бы здорово, если осветить этот вопрос в кроссплатформенном контексте. Конечно интересует вариант, когда приложение переодически самостоятельно проверяет наличие обновлений и выдает сообщение о новой версии с возможностью установить установить его «в один клик».
P.S. а если еще попробовать все это реализовать в системе интеграции (наподобии jenkins etc).
Небольшое дополнение ))
с ключом оптимизации -O4 ASM файлы в обоих случаях получаются идентичные.
Для такого кода
#include <vector>
#include <string>
using namespace std;
int main()
{
	vector<string> vec (1000);
	typedef vector<string>::const_iterator vi;
	for ( vi i = vec.begin() ; i != vec.end(); i++) //соответственно во втором файле меняем на преинкремент
	{
		const string& str = *i;
		string tmp = str;
	}
	return 0;
}

у меня ассемблерный код получается разный:

При этом размер файла с ассемблерным кодом составляет:
для преинкремента 37 449 байт и 1622 строк
для постинкремента 38 380 байт и 1655 строк

Если закомментировать код внутри цикла, то файлы также отличаются (при этом у постинкремента опять же больше инструкций ASM):


К сожалению я не могу найти конкретные строки в ASM так как не силен в нем.
В тему: Стандарт кодирования Google также говорит, что для итераторов следует использовать преинкремент.
Use prefix form (++i) of the increment and decrement operators with iterators and other template objects.
Из этого же ряда вопрос конкатенации строк, которую можно выполнить двумя способами:
string s1 = 'a';
s1 = s1 + 'b'; //способ 1
s1 += 'b';   //способ 2

Б. Страуструп в книге «Язык программирования С++» пишет:
Оба способа добавления к концу строки семантически эквивалентны, но я предпочитаю второй, потому что он более точно отражает смысл операции и, скорее всего, реализован более эффективно.

Information

Rating
Does not participate
Location
Россия
Registered
Activity