Блог

  • Хакинтош — альтернатива Apple компьютерам

     Что такое Hackintosh

    Хакинтошем (hackintosh или castomac) называется компьютер на основе PC железа с установленной на него операционной системой Mac OS (macOS).

    Установка Хакинтоша используется в случаях, когда стоимость необходимого железа от Apple превышает возможности, но работать в операционной системе Макинтош нужно из-за определённых программ или просто очень хочется.

    Цена решения обычно ниже, чем оригинальное железо Apple или производительнее при тех-же ценах.

    Сразу надо сказать, что установка операционных систем Apple Mac на PC железо нарушает лицензию Apple и по-умолчанию невозможно. Для Mac OS не используется BIOS, а SMC — контроллер управления системой и эту преграду надо обходить с помощью SMC фейкового драйвера, подменяющего установщик от Apple. То есть о нативной работе здесь речи не идёт.

    Перечень достоинств Hackintosh (по-другому ещё называемого Customac) известен, но он имеет и ряд недостатков, я попробовал собрать их тут:

    • Хакинтош может установиться только на совместимом железе
    • Отсутствует Thunderbolt порт
    • В некоторых случаях могут быть проблемы с выходом из сна
    • Часты проблемы со звуком и сетью
    • Очень редко удаётся настроить bluetooth
    • В большинстве случаев невозможно обновление системы без переустановки кекстов
    • Может не быть доступа к приложениям в App Store
    • Производительность операционки ниже, чем на оригинальных Apple

    Главная сложность — это драйвера. Вот хорошее описание проблем с Хакинтош железом, найденное в сети:

    «Хакинтош не работает нормально  и его не легко поставить даже на самое подходящее железо. Сначала вы должны выкурить страниц 30 тематического форума и выбрать подходящее железо, потом это чудо встает с 3 попытки без графики, сети, вайфая и звука. Потом начинается длительное соитие со всеми вышеперечисленными вещами и кекстами под них с регулярными перезагрузками на предмет паники ядра.

    И вот вы наконец победили это чудо и делаете долгожданный бэкап образа диска. Через два дня накатываете обновление системы и сразу восстанавливаетесь из бэкапа, так как обновление убило все. Потом вы натыкаетесь на форуме на тезис — «чтобы достичь хакинтош просветления нужно редактировать dsdt, а не пользоваться кекст костылями» скачиваете 100 страничный мануал «введение в dsdt или базовые приемы программирования» и… Плюете на это. Потом покупаете вебкамеру — и она не работает, хотите зайти в мак аппстор — упс, купили тачпад и клаву — добро пожаловать в выбор блютус свистков — в продаже доступен только один д-линк. Клава отваливается каждые пол часа. Вот и приехали…». Сказано кратко, но ёмко. Действительно, не стоит думать, что Хакинтош — это полностью то-же самое, что родной Apple.

    Но самая главная проблема — это обновления. Здесь всё зависит от загрузчика, который используется для установки Хакинтоша. Есть только один — Clover, который позволяет обновлять систему без потери контроля над ней. Остальные — апдейто-непригодны, ибо замещают системные файлы ядра и драйверы (kext). Возможность пользоваться App Store приложениям и обновлениями — очень важная вещь в работе с Mac. Иначе придётся решать вопросы с Офисом, и др.

    Современная версия Clover позволяет устанавливать все версии Mac OS вплоть до Catalina.

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

    Главное, что необходимо помнить при сборке Хакинтоша — это правильно подобранное железо.

    Тем, кто желает приобрести настоящий Mac но за разумные деньги, доступны сборки конфигураций любых Маков в Российском магазине Apple. Эло лучшее решение по производительности, дизайну, компактности.

    Тем, кто всё-же решился собрать хакинтош, читать далее: Конфигурации железа для Хакинтош

  • Как отключить ненужный дашборд (dashbord) в macOS

    В настоящий момент малоинформативный и Дашборд в macOS High Sierra стал почти бесполезен. Однако он постоянно висит в памяти и занимает какую-то её часть.

    Выключить эту функцию очень просто — достаточно зайти в меню Settings, выбрать пункт меню Mission Control и перевести в поле Dashboard переключатель в режим Off.

    Вот и всё.

    Dashboard off
    Dashboard off

     

  • Как подготовить флешку с дистрибьютивом macOS High Sierra

    Вышла новая версия macOS High Sierra.

    Рекомендую всем, чьё железо позволяет, обновиться до новой операционной системы Apple.

    Для Mac рекомендуемым является метод обновления — чистая установка.

    Как обновиться до новой операционной системы macOS High Sierra максимально корректно?

     

    Для этого необходимо подготовить установочную флешку macOS High Sierra.

    К сожалению, в интернете нигде не нашёл работающей инструкции для этой процедуры.

    Поэтому собрал здесь максимально проверенный вариант.

    Итак, нужна флешка от 8 ГГб, которую не жалко отформатировать.

    Открываем Disk Utility, выбираем флешку, нажимаем кнопку «Erase», выбираем схему GUID, даём название Untitled,  форматируем флешку под Mac OS Extended (журнальный) и нажимаем «Erase».

    Теперь самое главное.

    В операционных системах Мак (как и в любых других), вам нужны 2 учётных записи. Одна с правами админа и одна минимум с правами обычного пользователя, под которым вы собственно и будете работать (вы ведь так и делаете)?

    Так вот, всё далее будет описано для заботящихся о безопасности владельцев, которые сидят под обычным пользователем.

    Скачиваем дистрибьютив из AppStore — его там легко найти на главной странице. Качать придётся более 5 гигабайт.

    Когда загрузка завершена, в папке Applications у вас появится Install macOS High Sierra.app

    Это и есть дистрибьютив.

    Далее — самое важное.

    Как подготовить установочную флешку macos Sierra?

     

    Первым делом конечно необходимо создать резервную копию с помощью Time Machine. Сделайте это!

    Подключаем флешку, открываем терминал (рекомендую iTerm2).

    Теперь важно переключиться под пользователя с правами админа.

    Для этого набираем:

    su — adminusername

    где adminusername — это имя вашего пользователя с правами админа. Терминал запросит пароль от админа, введите его.

    Далее:

    • Введите sudo и не забудьте поставить пробел
    • Кликните правой кнопкой мышки на файле с образом macOS Sierra и выберите «Показать содержимое пакета». В открывшемся окне найдите файл createinstallmedia (папка Contents — Resources) и перетяни его в окно Терминала.
    • Далее наберите команду —volume, поставьте пробел и перетяните в окно Терминала иконку созданной ранее флешки из Finder.
    • Наберите команду —applicationpath, поставьте пробел, перетяните в окно Терминала сам образ с macOS Sierra (Install macOS Sierra.app).
    • Нажмите Enter. Чтобы подтвердить действие нужно использовать кнопку Y.

    Получиться должно что-то вроде:

    sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia —volume /Volumes/Untitled —applicationpath /Applications/Install\ macOS\ High\ Sierra.app

    Автоматически запустится Erasing Disk….

    Ready to start.
    To continue we need to erase the disk at /Volumes/Untitled.
    If you wish to continue type (Y) then press return: Y
    Erasing Disk: 0%… 10%… 20%… 30%…100%…
    Copying installer files to disk…
    Copy complete.
    Making disk bootable…
    Copying boot files…
    Copy complete.
    Done.

    Всё. Процесс может быть не быстрым, Copying installer files to disk… может занять минут 15 или даже больше. Это нормально.

    Теперь у вас есть дистрибьютив High Sierra на флешке.

    Создание флешки для предыдущей версии macOS Sierra — аналогично.

    Следующая статья будет описывать процесс установки Хай Сиерра вчистовую.

  • Популярность языков программирования и тренды 2017

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

     

    Статистика Stackoverflow 2017 года

    Stackoverflow - корреляции языков
    Stackoverflow — корреляции языков и технологий

    Stackoverflow 2017

    Stackoverflow популярность языков среди разработчиков 2017 год

    популярность-языков-2016-09-29

     

    Популярность языков программирования
    Популярность языков программирования TIOBE

     

     

    Данные по сообществу Devpost (технологии, используемые на Хакатонах), рейтинг 2015:

    Языки программирования и другой инструментарий:

    1. HTML/CSS
    2. JavaScript
    3. Python
    4. Java
    5. C/C++
    6. PHP
    7. Objective-C
    8. C#
    9. Swift
    10. JSON
    11. Ruby
    12. XML
    13. Ajax
    14. Shell
    15. Processing
    16. Lua
    17. CoffeeScript
    18. Go

     

    Самые популярные API

    Самые популярные API
    Фреймворки для разработки приложений:
    1. Node.js
    2. Flask
    3. AngularJS
    4. Ruby on Rails
    5. Django

     

    Базы данных:

    1. MongoDB
    2. MySQL
    3. SQLite
    4. PostgreSQL
    5. FoundationDB

     

    Фреймворки для iOS:

    1. Core Location
    2. Mapkit
    3. UIkit
    4. Core Data
    5. AV Foundation

     

    Игровые движки:

    1. Unity
    2. Pygame
    3. libGDX
    4. GameMaker
    5. Unreal Engine

     

    Интегрированные среды разработки:

    1. Android Studio
    2. Xcode
    3. Eclipse
    4. Visual Studio
    5. Jade

     

    Библиотеки:

    1. jQuery
    2. Express.js
    3. Socket.io
    4. OpenCV
    5. D3.js

     

    «Бэкенд как услуга» (BaaS):

    1. Parse
    2. Firebase
    3. Meteor.js
    4. MongoLab
    5. Amazon RDS

     

    «Платформа как услуга» (PaaS) и «инфраструктура как услуга» (IaaS) (Топ-10):

    1. Azure
    2. Heroku
    3. Amazon Web Services
    4. DigitalOcean
    5. IBM Bluemix
    6. Google App Engine
    7. Linode
    8. Atlantic.Net
    9. OpenShift
    10. Rackspace

     

    Утилиты командной строки:

    1. cURL
    2. Makefile
    3. Gradle
    4. Yeoman
    5. ngrok

     

    Текстовые редакторы:

    1. Sublime Text
    2. Vim
    3. Notepad++
    4. Brackets
    5. Atom

     

    Аппаратное обеспечение:

    1. Arduino
    2. Myo
    3. Pebble
    4. Leap Motion
    5. Oculus Rift
    6. Raspberry Pi
    7. Intel Edison
    8. Kinect
    9. Particle (formerly Spark)
    10. Google Cardboard
    11. GPS

     

    Как выбрать язык программирования:

    Как выбрать язык программирования

  • Настройка VDS с нуля на Centos 7, Nginx, PHP-fpm без Apache

     Здесь собраны все необходимые процедуры для настройки сервера с нуля на основе Centos 7.x без использования Apache для экономии серверных ресурсов. Apache заменяет Nginx с модулем PHP-FPM 5.6. В качестве базы данных используется MariaDB.
    1. Nginx
    2. PHP 5.6
    3. php.ini
    4. PHP-FPM
    5. Настроить конфиги php-fpm и nginx
    6. Пользователей, кроме root, сменить пароль root
    7. Firewall или iptables
    8. Папки сайтов и логов
    9. MariaDB
    Очистка старого SSH ключа на локальной машине
    ssh-keygen -R *ip_address_or_hostname*
    cat /etc/centos-release — проверка версии centos
    Апдейт
    yum clean all
    yum update
    yum autoremove
    Package 1:nginx-1.10.2-1.el7.x86_64 already installed and latest version
    Package php-fpm-5.6.30-1.el7.remi.x86_64 already installed and latest version
    Package php-mysql-5.4.45-13.el7.remi.x86_64 is obsoleted by php-mysqlnd-5.6.30-1.el7.remi.x86_64 which is already installed
    Package 1:mariadb-server-5.5.52-1.el7.x86_64 already installed and latest version
    Package unzip-6.0-16.el7.x86_64 already installed and latest version

    Firewall

    systemctl status firewalld — проверка статуса файрволла
    firewall-cmd —list-ports
    Меняем порт SSH
    $ sudo firewall-cmd —zone=public —add-port=974/tcp —permanent
    $ sudo firewall-cmd —reload
    firewall-cmd —zone=public —remove-port=22/tcp
    systemctl restart firewalld.service
    nano /etc/ssh/sshd_config
    Port ХХХХ
    systemctl restart sshd.service
    nano /etc/sysconfig/selinux — проверить disable

    Устанавливаем NGINX

    yum install epel-release
    yum install nginx
    systemctl start nginx
    systemctl status nginx
    If you are running a firewall, run the following commands to allow HTTP and HTTPS traffic:
    sudo firewall-cmd —permanent —zone=public —add-service=http
    sudo firewall-cmd —permanent —zone=public —add-service=https
    nginx -V
    check
    http://server_domain_name_or_IP/ проверить IP — ip addr
    You should now put your content in a location of your choice and edit the root configuration directive in the nginx configuration file /etc/nginx/nginx.conf.
    Start every boot
    systemctl enable nginx
    Default Server Root
    The default server root directory is /usr/share/nginx/html. Files that are placed in there will be served on your web server. This location is specified in the default server block configuration file that ships with Nginx, which is located at /etc/nginx/nginx.conf.
    Server Block Configuration
    Any additional server blocks, known as Virtual Hosts in Apache, can be added by creating new configuration files in /etc/nginx/conf.d. Files that end with .conf in that directory will be loaded when Nginx is started.
    Nginx Global Configuration
    The main Nginx configuration file is located at /etc/nginx/nginx.conf. This is where you can change settings like the user that runs the Nginx daemon processes, and the number of worker processes that get spawned when Nginx is running, among other things.
    Версия PHP
    php -v
    Обновление до PHP 5.6
    # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    # rpm -Uvh remi-release-7*.rpm
    В CentOS php.ini лежит в /etc, прямо в корне.
    We will change both of these conditions by uncommenting the line and setting it to «0» like this:
    /etc/php.ini excerpt
    cgi.fix_pathinfo=0

    Установка PHP-FPM

    sudo nano /etc/yum.repos.d/remi.repo
    удаляем 5.5 и ставим enabled=1 для remi и remi-php56
    Теперь обновляем php 5.4 до php 5.6:
    # yum —enablerepo=remi,remi-php56 install php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd php-fpm
    Запускаем
    systemctl start php-fpm
    systemctl enable php-fpm
    Создаём конфиг php-fpm
    nano /etc/nginx/default.d/php-fpm.conf
    And add the following content to it:
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    root           /usr/share/nginx/html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
    }
    Next, open the php-fpm configuration file www.conf:
    sudo vi /etc/php-fpm.d/www.conf
    Find the line that specifies the listen parameter, and change it so it looks like the following:
    127.0.0.1 заменить на
    listen = /var/run/php-fpm/php-fpm.sock
    Next, find the lines that set the listen.owner and listen.group and uncomment them. They should look like this:
    listen.owner = nobody
    listen.group = nobody
    Lastly, find the lines that set the user and group and change their values from «apache» to «nginx»:
    user = nginx
    group = nginx
    Then save and quit.
    Now, we just need to start our PHP processor by typing:
    sudo systemctl start php-fpm
    This will implement the change that we made.
    Next, enable php-fpm to start on boot:
    sudo systemctl enable php-fpm
    systemctl restart php-fpm
    systemctl restart nginx
    Узнать версию MySql
    rpm -qa | grep mysql
    Пакеты MySql
    Пакеты MySql
    yum list installed | grep mysql
    Просмотр установленных пакетов
    yum list installed

    Установка MariaDB

    yum install -y mariadb mariadb-server
    Добавляем mariadb в автозапуск:
    # systemctl enable mariadb.service
    Запускаем mariadb:
    # systemctl start mariadb
    Перезапуск mariadb/mysql в CentOS 7:
    # systemctl restart mariadb
    Проверяем, запустилась или нет:
    # netstat -tulnp | grep mysqld
    Теперь запускаем стандартный скрипт настройки безопасности:
    # /usr/bin/mysql_secure_installation
  • Centos 7 конфигурационный файл nginx 1.10

    Новая версия конфигурационного файла NGINX 1.10 для ОС CENTOS. Можно скачать, есть много изменений.

     

  • Вышла новая Fedora 25

    Вышла новая версия дистрибьютива Fedora за номером 25.

    Характерной особенностью дистрибьютива является то, что он обычно собирает самые свежие версии ядра, пакетов, ПО. Для любителей самого-самого нового.

    Приятно, что кроме традиционного для этого дистрибьютива оконного менеджера GNOME вышли и так называемые SPIN сборки. На официальном сайте представлены варианты Fedora с десктопами MATE-Compiz, CINNAMON, XFCE, LXDE, KDE Plasma.

    Выбирать можно на любой вкус.

    Fedora-cinnamon
    Fedora-cinnamon