• Какой иностранный мобильный банк выбрать?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Есть две основные опции:
    1. Обычные банки в других странах
    2. Необанки.

    Резиденты РФ последнее время открывают карты в:
    1. Казахстане
    2. Армении
    3. Узбекистане
    4. Киргизии
    5. Турции

    В большинстве случаев карту нельзя открыть удалённо. Нужно прилететь в страну, пройти комплаенс банка, дождаться изготовления. Есть редкие спецпредложения открыть карту удалённо. В Казахстане вроде что-то такое рекламировали. Поищи.
    По опыту с Арменией могу сказать, что сейчас желающих настолько много, что все местные банки затянули гайки насколько можно: с нерезидентов требуют подтверждение дохода и договор аренды квартиры, многие банки вообще перестали открывать счета нерезидентам, а те, кто открывает, взвинтили комиссии до небес. Ну то есть отдать 3000-15000р за открытие обычной карточки - это нормальная картина.
    Второй момент - российская банковская система настолько впереди планеты всей, что даже не пытайся найти что-то "а-ля Тинькофф" за границей. Никаких виртуальных карт, мультивалютных карт, крутых мобильных банков и тому подобного. Тут ты платишь деньги банку, а тебе за это дают самую простую карточку, по которой за каждый чих ещё берут комиссию. И интернет-сервисы лет на 10-20 отстают от РФ.

    Необанки - это что-то вроде Wise, Revolut, Bankoff, Payoneer и т.д. С ними всё сложнее, потому что они не хотят иметь дела с россиянами. Вроде Bankoff нормально открывает, но пополнение только в крипте.
    Ответ написан
    Комментировать
  • Как побороть ошибку OpenVPN "tls-crypt unwrapping failed from"?

    @SuRRoK
    sudo nmcli connection import type openvpn file ovpnsettingsfile.ovpn
    Ответ написан
    Комментировать
  • Не получается собрать Python 3.7 из официальных исходников?

    sim3x
    @sim3x
    Гайд
    Как установить питон, требуемой версии одному пользователю в домашнюю директорию

    Вам не нужно менять системный питон
    Никогда

    Запускать так python3.7 -v
    Не так python3 -v
    Почему? which python3.7; which python3

    Что требуется поставить для сборки в убунтах 16.хх-18.хх
    apt-get install -y \
      build-essential git libexpat1-dev libssl-dev zlib1g-dev \
      libncurses5-dev libbz2-dev liblzma-dev \
      libsqlite3-dev libffi-dev\
      libffi-dev tcl-dev linux-headers-generic libgdbm-dev \
      libreadline-dev tk-dev \
      libdb-dev \
      libmpdec-dev \
      libncursesw5-dev




    Получаем исходники и чекаутим нужную версию
    cd /tmp
    git clone https://github.com/python/cpython.git
    cd cpython
    git checkout 3.7


    Обращаем внимание
    Не --prefix=$HOME/.local/bin а --prefix=$HOME/.localИнсталлер создаст такие диры ${prefix}/{bin,include,lib,share}
    Сделайте tree .local до и после make install, тогда не возникнет вопросов, что поставил питон

    Перед любой операцией - требуется читать ман!
    ./configure --help
    Например если предполагается собирать разные варианты питона --with-lto может сильно ускорить процесс

    -j4 повесит сборку на 4 ядра, если они у вас конечно есть

    ./configure --prefix=$HOME/.local --enable-optimizations
    make -j4
    make install


    инсталлер формирует такую структуру для питона
    Перед установкой, желательно руками удалить все. Не директории. В данной директории может быть много софта
    .local
    ├── bin
    │   ├── 2to3 -> 2to3-3.7
    │   ├── 2to3-3.7
    │   ├── easy_install-3.7
    │   ├── idle3 -> idle3.7
    │   ├── idle3.7
    │   ├── pip3
    │   ├── pip3.7
    │   ├── pydoc3 -> pydoc3.7
    │   ├── pydoc3.7
    │   ├── python3 -> python3.7
    │   ├── python3.7
    │   ├── python3.7-config -> python3.7m-config
    │   ├── python3.7m
    │   ├── python3.7m-config
    │   ├── python3-config -> python3.7-config
    │   ├── pyvenv -> pyvenv-3.7
    │   └── pyvenv-3.7
    ├── include
    │   └── python3.7m
    ├── lib
    │   ├── libpython3.7m.a
    │   ├── pkgconfig
    │   └── python3.7
    │   └── man


    Если после инстала и сборки which python3.7не дает результата - проверьте наличие в PATH ~./local/bin
    $ grep "$HOME/.local/bin:" <<< "$PATH"  
    /home/sim3x/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
    Ответ написан
    7 комментариев
  • В чем суть облачных сервисов?

    @EraserKhv
    Системный администратор
    Проще объясню.
    Предположим, гипотетическая ситуация, которой обычно объясняют зачем тебе Облако. - Есть у тебя интернет-магазин плюшевых мишек. Развернул ты сайт у себя на компьютере , который стоит в офисе в кладовке, и все хорошо, посещение сайта 1000 пользователей в день, продаешь ты свои 5 мишек в день, никаких проблем.
    Но тут надвигается 8 марта, и посещаемость сайта увеличивается до 5000 в час и твой компьютер не вывозит ни по процессору, ни по диску, ни по оперативной памяти, ни по пропускной способности интернет канала, службы обрабатывающие HTTP запросы все время отваливаются, интернет-канал забит, жесткий диск молотит, но все происходит все очень медленно, а ты на этом компе еще Z отчет кассовый делаешь в конце дня, а в соседнем цехе усиленно пекли печеньки с предсказаниями в глазури, автомат в ВРУ не выдержал, и отключился вместе со всем зданием и твоим компом. ПО итогу ты к 8му марта продаешь всего 3 медведя, да и еще кассовый отчет для налоговой не сгененрировал. После подобного факапа, ты себе говоришь: "ну на следующий праздник я так не облажаюсь". Выделяешь в офисе помещение под серверную, ставишь серверную стойку, покупаешь 4 сервера полноценных и распараллеливаешь инет запросы, новая система хранения данных, источник бесперебойного питания, 2 кондиционера и интернет канал расширяешь. Итогом к 8му марта следующего года, эта конфигурация выдерживает возросшую нагрузку и ты продаешь 45 медведей к 8му марта, профит ? А вот и нет, вся эта конфигурация нужна тебе в преддверии 8го марта, а остальные, предположим 360 дней, тебе бы хватало однго старого компьютера. А серверная потребляет только электричества на 500 руб в день, а интернет канал, и обслуживание серверов итого дороже!

    Так вот в облаке можно арендовать эти мощности на несколько дней, пока идет самый сенокос, а остальные дни довольствоваться слабенким виртуальным сервером за 300 руб в день.
    Ответ написан
    2 комментария
  • Будут ли два модуля RAM с одинаковой частотой и таймингами, но разной емкостью работать в двухканальном режиме?

    Ezhyg
    @Ezhyg
    Только одного объёма!
    Ну ты б с матчастью ознакомился, чисто для приличия!
    Слова "необязательное условие" опускай, речь идёт о конкретных домашних применениях, там такое редко можно сделать. Но, например 2+2 и 4+4 - будут по отдельности - каждая пара - в двухканальном режиме, потому что два контроллера памяти, похожая схема работает у меня в одном из компов.
    Ответ написан
    4 комментария
  • Можно ли написать антивирус на python?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    1. Теоретически, антивирус написать можно. Но для более-менее вменяемого антивируса нужны производительность и доступ к более низкоуровневым вещам, чем Python позволяет из коробки.

    Многие библиотеки Python -- это обёртки над библиотеками на C/C++. А в коде на C/C++ вообще могут использоваться ассемблерные вставки. В этом смысле, в Python можно прокинуть вызов любого низкоуровневого кода.

    Всё, что необходимо для написания антивируса давно должно иметь свободную реализацию на C/C++ и лежать в открытом доступе. Многое уже может иметь обёртки или биндинги для Python, а что не имеет -- так со знанием C/C++ их можно сделать.

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

    Основные недостатки разработки настольных программ на Python:
    • трудно скрыть исходники от любопытных;
    • не очень удобно собирать и распространять под разные ОС;
    • для низкоуровневых вещей и/или высокой производительности может потребоваться знание C/C++.


    2. Для специалиста по информационной безопасности, Python -- несущественный язык программирования.

    Специалист по информационной безопасности должен знать низкоуровневые языки -- ассемблер и Си.

    Помимо этого, полезно знать:
    • архитектуру ЭВМ (особенно, как работает процессор и оперативная память -- тема пересекается со знанием ассемблера),
    • архитектуру операционных систем (близко к архитектуре ЭВМ, но тема больше пересекается с языками программирования C/C++),
    • технологии компьютерных сетей,
    • алгоритмизацию,
    • криптографию.
    Ответ написан
    1 комментарий
  • Ошибка phpstorm+Xdebug не работает в чем может быть дело?

    @xrj
    Столкнулся с такой же проблемой. Раньше все работало, а после обновления версии Open Server перестало, хотя все конфиги правились точно так же.

    Ответ для себя нашел здесь: https://devnet.jetbrains.com/message/5478634 в последнем сообщении.

    Мне помогла установка xdebug.extended_info в 1, в конфигах он теперь прописан явно равный 0
    Ответ написан
    8 комментариев
  • Как правильно работать на oDesk?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    На фрилансе с иностранными клиентами важно:
    • Знание английского. Про уровень писал недавно 'Freelance FAQ: какой уровень английского нужен?'
    • В целом - умение вести официальную (формальную) переписку / переговоры с заказчиком (включая тех, кто далек от технологий и может поставить только бизнес задачу)
    • Умение конвертировать бизнес задачи в технические (составить план проекта, описать техническую часть работы, оценить объем работы)
    • Умение вести отчетность (daly status reports, time tracking, etc..) и управлять рисками (своевременно предупреждать о вероятности их появления, предлагать способы устранения)
    • Умение выдавать вовремя результат (не ждать что кто-то вас будет пасти и подгонять когда надо) и гарантировать его качество (то есть помимо разработки, уметь проверять и перепроверять результат своей работы)
    • Еще раз - знание английского. Умение эффективно вести коммуникацию на понятном клиенту языке - это 80% успеха. Оставшиеся 20% - это уже дело техники. Так что практикуйте этот навык постоянно. Читайте, пишите, слушайте, смотрите все, что нравится на английском. Если есть возможность общаться - не упускайте шанс. Пусть даже письменно. Пусть не с носителями.
    • Ну и следите за спросом - какие технологии в тренде и наиболее востребованы. Старайтесь добавлять в свой патронташ те из них, которые вам максимально близки, постепенно расширяя список или даже - полностью меняя свой стек разработки
    Ответ написан
    Комментировать
  • Как осуществить подключение нескольких шрифтов в css?

    Zoxon
    @Zoxon
    Веб-разработчик
    @font-face {
    font-family: "PT Serif";
      src: url("../fonts/ptserif-normal.eot");
      src: local('☺'), 
      url("../fonts/ptserif-normal.eot?#iefix") format("embedded-opentype"), 
      url("../fonts/ptserif-normal.woff") format("woff"),
      url("../fonts/ptserif-normal.ttf") format("truetype"), 
      url("../fonts/ptserif-normal.svg#PT Serif") format("svg");
    
      font-weight: normal;
      font-style: normal;
    }
    
    @font-face {
      font-family: "PT Serif";
      src: url("../fonts/ptserif-bold.eot");
      src: local('☺'), 
      url("../fonts/ptserif-bold.eot?#iefix") format("embedded-opentype"), 
      url("../fonts/ptserif-bold.woff") format("woff"), 
      url("../fonts/ptserif-bold.ttf") format("truetype"), 
      url("../fonts/ptserif-bold.svg#PT Serif") format("svg");
    
      font-weight: bold;
      font-style: normal;
    }
    
    @font-face {
      font-family: "PT Serif";
      src: url("../fonts/ptserif-italic.eot");
      src: local('☺'), 
      url("../fonts/ptserif-italic.eot?#iefix") format("embedded-opentype"), 
      url("../fonts/ptserif-italic.woff") format("woff"), 
      url("../fonts/ptserif-italic.ttf") format("truetype"), 
      url("../fonts/ptserif-italic.svg#PT Serif") format("svg");
    
      font-weight: normal;
      font-style: italic;
    }
    
    @font-face {
      font-family: "PT Serif";
      src: url("../fonts/ptserif-bolditalic.eot");
      src: local('☺'), 
      url("../fonts/ptserif-bolditalic.eot?#iefix") format("embedded-opentype"), 
      url("../fonts/ptserif-bolditalic.woff") format("woff"), 
      url("../fonts/ptserif-bolditalic.ttf") format("truetype"), 
      url("../fonts/ptserif-bolditalic.svg#PT Serif") format("svg");
    
      font-weight: bold;
      font-style: italic;
    }


    В font-weight можно использовать не ключевые слова, а цифры

    100 Ultra Light
    200 Thin
    300 Light
    400 Regular, Normal
    500 Roman
    600 Medium, SemiBold
    700 Bold
    800 Heavy, ExtraBold
    900 Black

    При использовании указывать font-weight и font-style, в зависимости от их комбинаций будет выбран нужный файл шрифта

    UPD: Если вам не нужно поддерживать совсем уж древние браузеры IE8 (eot) и Android 4.3 (ttf) то достаточно подключить только woff и woff2.
    Svg нужен для Safari версии ниже 5.1

    Подробнее смотрите на caniuse.com

    Хорошая статья на эту тему nicothin.pro/page/web-fonts

    @font-face { 
      font-family: 'Web font'; 
      src: url('webfont.woff2') format('woff2'), 
           url('webfont.ttf')  format('truetype'), /* Только если нужна поддержка старых Android, иначе закомментировать */ 
           url('webfont.woff') format('woff'); 
      font-weight: normal; 
      font-style: normal; 
    }
    Ответ написан
    4 комментария
  • Как изменить горячие клавиши в mc?

    @SAkada
    В версиях до 4.6.1 включительно изменить настройками нельзя, как уже писали выше, только в исходниках и через перекомпиляцию. В какой именно версии появилась возможность настройки горячих клавиш не могу сказать (искать лень), но в версиях 4.8.x она точно есть. Все дефолтные настройки хранятся в файле:

    /etc/mc/mc.keymap
    

    Там же можно подсмотреть, какие вообще есть возможные в принципе. При этом локальные настройки хранятся в файле в home директории:

    ~/.config/mc/mc.keymap
    

    Например, таким образом реализовывается мое давнее желание заставить mc вести себя аналогично фару при нажатии left / right в панелях, что бы при нажатии влево был переход на страницу назад, и вправо — на страницу вперед:

    [panel]
    Left =
    Right =
    PageUp = pgup; alt-v; left
    PageDown = pgdn; ctrl-v; right
    

    Метод работает точно на mc 4.8.1 (gentoo).
    Подробнее в мане к mc.
    Ответ написан
    1 комментарий