Как установить openfoam на windows

Обновлено: 03.07.2024

Это та же проблема, о которой говорилось в разделе " Невозможно подключиться к X-серверу с помощью докера на OS X - Part II, но не разрешено. В MacOS El Capitan я запускаю двоичный файл OpenFOAM по.

Мой вопрос: могу ли я использовать программное обеспечение GNU General Public License v3 (в данном конкретном случае OpenFOAM) для консультаций? Исходный код не будет изменен без взимания платы. Ид.

Я работаю над платформой C++ OpenFOAM, особенно над библиотекой проекта. Мне не удается объявить конструктор моего класса так, как я хочу. Я думаю, что мой вопрос интересен с точки зрения C++. Вот .

Я действительно новичок в Ubuntu и OpenFoam, поэтому стараюсь учиться и делать некоторые уроки. Я использую Docker для работы с OpenFoam на Ubuntu. Я скопировал папку в конкретный каталог, однако, .

Я пытаюсь использовать paraview для написания сценария, который автоматизирует генерацию paticular vizualization решения OpenFoam. Я использую Jupyter Notebook. Я не создавал paraview отдельно. Он .

У меня плохое время, чтобы установить OpenFOAM с помощью Docker (на MacOSX El Capitan). Я слежу за официальным учебником . Когда я пытаюсь выполнить первый скрипт (installOpenFOAM+) через командную.

Я хочу сообщить о решении ошибки I при установке OpenFOAM 3.0.1 в Mac OS X El Capitan версии 10.11.2 Ошибка: "error: тип ссылки участника 'std:: istream *' (aka 'basic_istream *') - указатель; возм.

Я создал сетку, показанную на изображении ниже, используя snappyHexMesh. Я назначил границы в blockMesh, но они были удалены после запуска snappy. Мой вопрос заключается в том, как создавать границ.

Я создал транспортное средство и вывел файл STL. Сначала я хочу использовать snappyHexMesh для преобразования STL файла в нужный формат для OpenFOAM. Затем я хочу запустить несколько симуляций возд.

OpenFOAM (последние версии на момент написания) предоставляет три типа тестового фильтра для больших приложений моделирования вихрей: simpleFilter laplaceFilter anisotropicFilter Учитывая, существу.

Я создаю код Matlab в Windows 10, который, в свою очередь, использует среду Ubuntu (внутри окон 10) для выполнения некоторых расчетов, смешивающих Matlab и OpenFOAM. Я обобщаю, что я делаю, так это.

Всякий раз, когда я пытаюсь скомпилировать решателя в openfoam, я получаю ошибку: /usr/bin/ld: warning: libmpi.so.0, needed by /opt/openfoam211/platforms/linux64GccDPOpt/lib/openmpi-system/libPstre.

template<class Type> tmp<GeometricField<Type, fvPatchField, volMesh>> operator& ( const fvMatrix<Type>&, const tmp<GeometricField<Type, fvPatchField, volMesh&g.

Загрузка случая OpenFOAM в ParaView с использованием python выполняется с помощью: ofReader = OpenFOAMReader(FileName='<some OpenFOAM case directory>') Однако по умолчанию в объекте-читателе .

Я использую Open MPI 1.6.5 для параллельного запуска OpenFOAM на трех узлах. Из-за соображений безопасности мне разрешено открывать только несколько портов TCP. Поэтому я открыл порты 49990-50009 д.

Работая над Open Foam, создав мою модель и подмодуль, библиотека скомпилирована успешно, но когда я пытаюсь скомпилировать решатель, используя тот же компоновщик библиотек, я даю мне эту ошибку /ho.

Я запускаю симуляцию OpenFOAM с openmpi. Сам код является рабочим кодом в одноядерном режиме (также на других машинах код работает в параллельном режиме). но на моей рабочей станции параллельные вы.

Я запускаю докер-выпуск openFOAM. При запуске openFOAM я не могу получить доступ к любому из томов, которые я установил в /mnt . Я могу видеть их, когда я запускаю: bash-4.1$ lsblk NAME MAJ:MIN RM .

Моя работа заставила меня работать с OpenFOAM (жидкостной симулятор), который основан на C++. Я ничего не знаю о C++, даже не о том, как составить приветственную программу мира. В OpenFOAM вы может.

Мне нужно запустить команду OpenFOAM с помощью автоматизированного скрипта python. Мой код на Python содержит строки subprocess.Popen(['OF23'], shell=True) subprocess.Popen(['for i in *; do surface.

Я пытаюсь установить OpenFOAM на Mac с Docker. Я следовал этому руководству. После docker run -ti openfoamplus/of_v30plus_rhel66/bin/bash чтобы начать загрузку, он выбросил ошибку docker: failed to.

Я запускаю multhaseInterfoam, и у меня возникают проблемы с непостоянным входом (я хочу, чтобы он был постоянным). Вот мои альфа файлы \ / --------------------------------- C++ ------------- ------.

У меня есть начальные условия, заданные функциями (x, y, z). Я хотел бы программно определить поле, значения которого являются функцией (x, y, z). Может ли это быть сделано как часть построения пол.

Библиотека OpenFOAM определяет два типа, volMesh и surfaceMesh , оба из которых наследуются от GeoMesh<fvMesh> . Я хочу определить функцию, которая принимает аргумент: void foo(GeometricField.

В настоящее время я использую Openfoam для запуска симуляций, которые имеют почти 180 временных шагов. Завершенные временные интервалы варьируются от -180 до -6. Мне нужно сгенерировать изображения.

Я пытаюсь изменить пример sonicFoam forwardStep с более реалистичными граничными условиями. В 0/p : //internalField uniform 1; internalField uniform 100000; boundaryField < inlet < type

Я пытаюсь запустить некоторые вычисления в OpenFOAM от HTCondor. Пока у нас есть только один многоядерный сервер OpenFOAM. OpenFOAM устанавливается из источника (не используя докер) в соответствии .

Я студент MPhil, занимающийся CFD, и у меня есть некоторые проблемы, когда я пытаюсь установить OpenFOAM-4.0 на компьютерный кластер, управляемый университетом. Я выполнил инструкции, приведенные н.

Я использую openfoam Version 1606+ Когда я запускаю pisoFoam, в htop (чтобы показать использование процессора), я вижу, что pisoFoam использует только одно ядро (конечно, 99%). Что мне нужно измени.

Я пытаюсь экспортировать результаты формата OpenFOAM в формате x3d, используя скрипт paraview-python. Когда я делаю это через графический интерфейс Paraview, это работает, и результаты можно визуал.

Я пытаюсь сравнить модель CFD (SimpleFoam с K-epsilon) с моделью аэродинамической трубы для воздушного потока через гребень. Когда я делаю расчеты интенсивности турбулентности для модели CFD в виде.

Я запускаю модели OpenFOAM на кластере. Я использовал метод разложения Scotch, и мой decomposeParDict выглядит так: FoamFile < version 2.0; format ascii; class dictionary; object decomposeParDict; .

Я использую python для запуска генетического алгоритма верхнего уровня для оптимизации геометрии аэродинамического самолета для аэродинамических характеристик с использованием OpenFOAM. Я запускаю .

У меня есть программа python, предназначенная для разработки 3d-модели, которая анализируется CFD в OpenFOAM. Анализ проводится параллельно с программой "mpirun"; мой скрипт python запускает mpirun.

Я пытаюсь скомпилировать C++ для программного обеспечения CFD с открытым исходным кодом, однако я получаю некоторые ошибки переопределения: jumpCyclicMHFvPatchField.C:31:2: error: redefinition of ‘.

Рубрики

А так же делитесь знаниями, знакомьтесь с новыми утилитами и приложениями, учитесь у всегда готовых помочь ответить на самые сложные вопросы во всех сферах IT и программирования. Станьте гуру и экспертом разработки ПО, получите признание коллег, заработайте репутацию, создайте стартап или приложение которое будет работать на вас!

Эдуард Смирнов

Установка OpenFoam под windows 7-10 64bit

Каталог установки blueCFD-Core-2016 полностью прозрачен для windows,
можно просматривать все каталоги и редактировать нужные файлы.

Заходим внутрь каталога ofuser-of4 и создаем каталог run
Здесь будут храниться наши модели.

Разархивируем прикрепленный пример в каталог run/vortex2d

Запускаем терминал с помощью ярлыка или из меню blueCFD-Core 2016 terminal
В терминале меняем цвет фона на черный (иначе половину надписей не увидите)
Контекстное меню (правая кнопка) Options, Background.
Это linux терминал, работаем как-будто в linux.

Набиваем команду run попадаем в рабочий каталог run
Набиваем cd vortex2d попадаем в каталог нашего примера.
Если вы установили все по умолчанию, то терминал с нужным каталогом можно
запустить удобнее через проводник windows: заходим в каталог run,
выделяем каталог vortex2d правой кнопкой вызываем контекстное меню и запускаем
Open in blueCFD-Core terminal
Откроется терминал в нужном нам каталоге vortex2d.

Таким образом можно работать в windows, а в терминале запускать только расчеты.

Эдуард Смирнов

Пример двумерный вихрь в воде

В примере используется решатель icoFoam, предназначенный для несжимаемой
изотермической среды. Можно задавать кинематическую вязкость.
Прекрасно подходит для воды поскольку она малосжимаема.

Заходим в проводнике windows в каталог run/vortex2d, там 3 файла:
Allclean - для очистки расчетов,
Allrun - для запуска расчета,
initialConditions - здесь я для удобства собрал параметры которые можно
изменять. Сам OpenFoam хранит их в разных файлах.

Для расчета Можно просто запускать вышеуказанные сценарии, но первый раз
сделаем все вручную.

Открываем терминал linux и заходим в каталог vortex2d.
Вбиваем команду blockMesh - утилита строит расчетную сетку.
Вбиваем команду paraFoam - откроется ParaView, в ней мы увидим все,
что насчитали. Сейчас мы посмотрим только сетку.
Слева в окошке properties нажимаем Apply. Мы увидим наш расчетный домен.
На панели инструментов есть два списка выбора.
В одном вместо p (давление) выбираем Solid Color.
В другом вместо Surface выбираем WireFrame
Должна появиться сетка. Колесиком мышки можно приближать и удалять.
Есди зацепить сетку мышкой и подвигать - она вращается и можно увидеть,
что сетка на самом деле трехмерная.
Закроем paraView.

Вбиваем команду setFields - утилита задает начальные значения полей
Вбиваем команду icoFoam - собственно расчет нашей задачи (около 1 мин)
Вбиваем команду paraFoam и поападаем в ParaView.
Нажимаем Apply.
В панели инструментов Вместо p (давление) выбираем U (вектор скорости),
должен появится участок с заданным полем скоростей.
В панели инструментов есть панель проигрывателя с помощью которого можно
просмотреть наш вихрь в динамике или по кадрам.

Все. Можете поиграть с параметрами В файле initialConditions,
например, задать начальную скорость поля vortex_ux равную 1.
Для расчета используем сценарии:
sh Allclean - очищаем прежний расчет
sh Allrun - запускаем расчет
paraFoam - запускаем ParaView.

Внимательно. OpenFoam для каждого интервала записи создает
отдельный каталог и записывает туда расчетные значения.
У меня задан интервал записи 0.1 с. Для 10 сек. расчета получим 100 папок.
Не задавайте большие интервалы расчета или увеличьте интервал записи.

Я смотрю на использование OpenFOAM для решения основных внутренних потоков в CFD. Как лучше всего начать, и может ли кто-нибудь указать мне хороший онлайн-справочник с любыми вопросами, которые могут возникнуть у меня после погружения? Я слышал, что это довольно нишевая на данный момент, и многие решающие функции не так хорошо документированы. Очевидно, что документация, которая идет с самим пакетом, является началом, но есть ли сторонние ссылки (что-то вроде вики OpenFOAM)?

OpenFOAM - хорошее программное обеспечение, но для того, чтобы хорошо учиться, требуется некоторое время. Вы смотрели на учебные проблемы, поставляемые с пакетом? В области 51 StackExchange в настоящее время предлагается сайт, специфичный для OpenFOAM . Пожалуйста, поддержите сайт, чтобы получить его онлайн.

Для запуска симуляции CFD я бы предложил начать с UserGuide и ProgrammersGuide. Документ ProgrammersGuide также содержит примеры кейсов и объясняет дополнительные вещи, такие как граничные условия. Использовать OpenFOAM на верхнем уровне довольно просто, если вы освоите конфигурационные файлы. Оба документа доступны в каталоге / doc . Как только вы закончите с этим, вы можете найти много дополнительных материалов из университета Чалмерса : курс Chalmers OpenFOAM, организованный проф. Хокан Нильссон.

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

Если вас интересует конкретная проблема, попробуйте выяснить, какой решатель используется для ее моделирования, например, для турбулентного / ламинарного стационарного решения, используйте simpleFoam , для транзиентного ламинарного решения, используйте icoFoam и т. Д. Все решатели сохраняются в структура каталогов, которая соответствует их использованию, например / multiphase / incompressible / les / interFoam, будет решателем, подобным vof, используемым для двухфазных симуляций большого вихря (les).

Начните с запуска случаев из каталогов учебника. Всегда делайте копию случая симуляции, чтобы у вас был оригинал (если вы используете git и допустили ошибку, извлеките каталог, чтобы вернуться в исходное состояние).

Если вы успешно установили OpenFOAM на своем компьютере, выполните псевдоним в строке comnand и увидите, что есть несколько полезных команд, которые помогут вам начать:

  • Тут вы попадете в учебные каталоги
  • run приводит вас в каталог run: здесь вы запускаете симуляции
  • Sol приводит вас в каталогах решателей

Вы можете задавать вопросы на OpenFOAM форуме , когда вы столкнулись с проблемой, и есть каталог PhD и MSc диссертации и статьи по OpenFOAM доступны на FAMENA (факультет машиностроения, Uni. Загреб, Хорватия) File Server .

OpenFOAM Summer School - это действительно крутой курс, организованный проф. Hrvoje Jasak в FAMENA, это происходит где-то в сентябре каждого года, и это прекрасная возможность узнать и познакомиться с исследователями, работающими с OF.

Также существует сайт, организованный сообществом OpenFOAM: проект по расширению OpenFOAM , где вы также можете участвовать в обсуждениях с людьми.

В предыдущем разделе было показано, что интерфейс должен представлять собой приложение, позволяющее работать с файлами кейса OpenFOAM [1] с помощью графического пользовательского интерфейса. Для реализации такого приложения необходимо выбрать следующие средства.

1) Операционная система . На сайте разработчика готовый пакет OpenFOAM (не исходный код) предлагается установить на одну из трех ОС: Ubuntu, SuSE, Fedora. Поскольку написание и тестирование приложения будет производиться под той же ОС, на которую был установлен OpenFOAM, от ее выбора будет зависеть то, какие пользователи смогут пользоваться протестированным приложением.

2) Язык программирования . Поскольку приложение-интерфейс для OpenFOAM не должно выполнять ресурсоемких вычислительных задач, производительность языка программирования не является критерием его выбора. Выбирать следует по другим признакам: удобство, наличие средств ООП, в конце концов, наличие опыта программирования на данном языке.

3) IDE . Необходимо выбрать ту IDE, которая позволяет создать приложение с графическим пользовательским интерфейсом, с удобным текстовым редактором, отладчиком, и конечно, поддерживает выбранный язык программирования.

2.1 Выбор операционной системы

На сайте разработчика есть три установочных пакета OpenFOAM под разные дистрибутивы Linux, а также пакет с исходным кодом. Несмотря на то, что на сайте говорится только о Linux-версиях OpenFOAM, существует версия и под Windows [3], однако она не поддерживается разработчиком. Необходимо выбрать ту ОС, использование под которой OpenFOAM наиболее популярно. Мой выбор пал на Ubuntu, так как ее использует более чем 20 миллионов пользователей, что

делает его самым популярным дистрибутивом Linux для десктопов [4]. В случае необходимости использования графического интерфейса для OpenFOAM под другой ОС, при выборе кроссплатформенной IDE можно будет легко портировать разработанное приложение под нужную ОС.

2.2 Выбор языка программирования

Выбранный язык программирования должен обладать хорошей читаемостью и удобством. Также, с учетом того, что разрабатываемое приложение, возможно, понадобится дорабатывать, дополнять новыми функциями, язык должен быть популярен, чтобы осуществить доработку могли большее количество программистов. Кроме того, язык должен быть объектно-ориентированным. Данное свойство позволит работать с группами настроек и исходных данных кейса OpenFOAM как с объектами, обладающими своими членами и методами, и позволит использовать такие важные преимущества, как наследование и полиморфизм.

Перечисленным требованиям удовлетворяют множество языков программирования. В их числе и язык C++. Он является достаточно популярным, и в его использовании у меня есть некоторый опыт, поэтому свой выбор я остановлю на нем.

2.3 Выбор IDE

Из всех IDE следует выбрать одну из тех, которые обладают следующими принципиально важными свойствами:

1) позволяют выполнять разработку под ОС Ubuntu;

2) позволяют разрабатывать GUI;

3) поддерживают выбранный язык программирования C++.

После отсеивания IDE, не обладающих данными свойствами, получим список IDE, представленный в таблице 1 [5].

Это та же проблема, о которой говорилось в разделе " Невозможно подключиться к X-серверу с помощью докера на OS X - Part II, но не разрешено. В MacOS El Capitan я запускаю двоичный файл OpenFOAM по.

Мой вопрос: могу ли я использовать программное обеспечение GNU General Public License v3 (в данном конкретном случае OpenFOAM) для консультаций? Исходный код не будет изменен без взимания платы. Ид.

Я работаю над платформой C++ OpenFOAM, особенно над библиотекой проекта. Мне не удается объявить конструктор моего класса так, как я хочу. Я думаю, что мой вопрос интересен с точки зрения C++. Вот .

Я действительно новичок в Ubuntu и OpenFoam, поэтому стараюсь учиться и делать некоторые уроки. Я использую Docker для работы с OpenFoam на Ubuntu. Я скопировал папку в конкретный каталог, однако, .

Я пытаюсь использовать paraview для написания сценария, который автоматизирует генерацию paticular vizualization решения OpenFoam. Я использую Jupyter Notebook. Я не создавал paraview отдельно. Он .

У меня плохое время, чтобы установить OpenFOAM с помощью Docker (на MacOSX El Capitan). Я слежу за официальным учебником . Когда я пытаюсь выполнить первый скрипт (installOpenFOAM+) через командную.

Я хочу сообщить о решении ошибки I при установке OpenFOAM 3.0.1 в Mac OS X El Capitan версии 10.11.2 Ошибка: "error: тип ссылки участника 'std:: istream *' (aka 'basic_istream *') - указатель; возм.

Я создал сетку, показанную на изображении ниже, используя snappyHexMesh. Я назначил границы в blockMesh, но они были удалены после запуска snappy. Мой вопрос заключается в том, как создавать границ.

Я создал транспортное средство и вывел файл STL. Сначала я хочу использовать snappyHexMesh для преобразования STL файла в нужный формат для OpenFOAM. Затем я хочу запустить несколько симуляций возд.

OpenFOAM (последние версии на момент написания) предоставляет три типа тестового фильтра для больших приложений моделирования вихрей: simpleFilter laplaceFilter anisotropicFilter Учитывая, существу.

Я создаю код Matlab в Windows 10, который, в свою очередь, использует среду Ubuntu (внутри окон 10) для выполнения некоторых расчетов, смешивающих Matlab и OpenFOAM. Я обобщаю, что я делаю, так это.

Всякий раз, когда я пытаюсь скомпилировать решателя в openfoam, я получаю ошибку: /usr/bin/ld: warning: libmpi.so.0, needed by /opt/openfoam211/platforms/linux64GccDPOpt/lib/openmpi-system/libPstre.

template<class Type> tmp<GeometricField<Type, fvPatchField, volMesh>> operator& ( const fvMatrix<Type>&, const tmp<GeometricField<Type, fvPatchField, volMesh&g.

Загрузка случая OpenFOAM в ParaView с использованием python выполняется с помощью: ofReader = OpenFOAMReader(FileName='<some OpenFOAM case directory>') Однако по умолчанию в объекте-читателе .

Я использую Open MPI 1.6.5 для параллельного запуска OpenFOAM на трех узлах. Из-за соображений безопасности мне разрешено открывать только несколько портов TCP. Поэтому я открыл порты 49990-50009 д.

Работая над Open Foam, создав мою модель и подмодуль, библиотека скомпилирована успешно, но когда я пытаюсь скомпилировать решатель, используя тот же компоновщик библиотек, я даю мне эту ошибку /ho.

Я запускаю симуляцию OpenFOAM с openmpi. Сам код является рабочим кодом в одноядерном режиме (также на других машинах код работает в параллельном режиме). но на моей рабочей станции параллельные вы.

Я запускаю докер-выпуск openFOAM. При запуске openFOAM я не могу получить доступ к любому из томов, которые я установил в /mnt . Я могу видеть их, когда я запускаю: bash-4.1$ lsblk NAME MAJ:MIN RM .

Моя работа заставила меня работать с OpenFOAM (жидкостной симулятор), который основан на C++. Я ничего не знаю о C++, даже не о том, как составить приветственную программу мира. В OpenFOAM вы может.

Мне нужно запустить команду OpenFOAM с помощью автоматизированного скрипта python. Мой код на Python содержит строки subprocess.Popen(['OF23'], shell=True) subprocess.Popen(['for i in *; do surface.

Я пытаюсь установить OpenFOAM на Mac с Docker. Я следовал этому руководству. После docker run -ti openfoamplus/of_v30plus_rhel66/bin/bash чтобы начать загрузку, он выбросил ошибку docker: failed to.

Я запускаю multhaseInterfoam, и у меня возникают проблемы с непостоянным входом (я хочу, чтобы он был постоянным). Вот мои альфа файлы \ / --------------------------------- C++ ------------- ------.

У меня есть начальные условия, заданные функциями (x, y, z). Я хотел бы программно определить поле, значения которого являются функцией (x, y, z). Может ли это быть сделано как часть построения пол.

Библиотека OpenFOAM определяет два типа, volMesh и surfaceMesh , оба из которых наследуются от GeoMesh<fvMesh> . Я хочу определить функцию, которая принимает аргумент: void foo(GeometricField.

В настоящее время я использую Openfoam для запуска симуляций, которые имеют почти 180 временных шагов. Завершенные временные интервалы варьируются от -180 до -6. Мне нужно сгенерировать изображения.

Я пытаюсь изменить пример sonicFoam forwardStep с более реалистичными граничными условиями. В 0/p : //internalField uniform 1; internalField uniform 100000; boundaryField < inlet < type

Я пытаюсь запустить некоторые вычисления в OpenFOAM от HTCondor. Пока у нас есть только один многоядерный сервер OpenFOAM. OpenFOAM устанавливается из источника (не используя докер) в соответствии .

Я студент MPhil, занимающийся CFD, и у меня есть некоторые проблемы, когда я пытаюсь установить OpenFOAM-4.0 на компьютерный кластер, управляемый университетом. Я выполнил инструкции, приведенные н.

Я использую openfoam Version 1606+ Когда я запускаю pisoFoam, в htop (чтобы показать использование процессора), я вижу, что pisoFoam использует только одно ядро (конечно, 99%). Что мне нужно измени.

Я пытаюсь экспортировать результаты формата OpenFOAM в формате x3d, используя скрипт paraview-python. Когда я делаю это через графический интерфейс Paraview, это работает, и результаты можно визуал.

Я пытаюсь сравнить модель CFD (SimpleFoam с K-epsilon) с моделью аэродинамической трубы для воздушного потока через гребень. Когда я делаю расчеты интенсивности турбулентности для модели CFD в виде.

Я запускаю модели OpenFOAM на кластере. Я использовал метод разложения Scotch, и мой decomposeParDict выглядит так: FoamFile < version 2.0; format ascii; class dictionary; object decomposeParDict; .

Я использую python для запуска генетического алгоритма верхнего уровня для оптимизации геометрии аэродинамического самолета для аэродинамических характеристик с использованием OpenFOAM. Я запускаю .

У меня есть программа python, предназначенная для разработки 3d-модели, которая анализируется CFD в OpenFOAM. Анализ проводится параллельно с программой "mpirun"; мой скрипт python запускает mpirun.

Я пытаюсь скомпилировать C++ для программного обеспечения CFD с открытым исходным кодом, однако я получаю некоторые ошибки переопределения: jumpCyclicMHFvPatchField.C:31:2: error: redefinition of ‘.

Рубрики

А так же делитесь знаниями, знакомьтесь с новыми утилитами и приложениями, учитесь у всегда готовых помочь ответить на самые сложные вопросы во всех сферах IT и программирования. Станьте гуру и экспертом разработки ПО, получите признание коллег, заработайте репутацию, создайте стартап или приложение которое будет работать на вас!

Читайте также: