• X-Net однораноговая P2P анонимная социальная сеть и мессенджер на базе сети TOR

    Представляем вашему вниманию новую оупенсорсную одноранговую пиринговую социальную сеть,
    на базе сети TOR.

    Подробное описание сети доступно по адресам: xnet.info/about_ru.html или xnetinfo2ug7eno7.onion/about_ru.html
    Инструкции по загрузке и установке клиента сети: xnet.info или xnetinfo2ug7eno7.onion или xnetinfo7zanu44i.onion
    или xnetinfo47trbbbg.onion (рекомендем скачивать дистрибутив через тор-ссылку)

    Исходные коды проекта и все необходимые библиотеки для его сборки
    включены в дистрибутив.

    Полное описание, ссылка на которое приведена выше — занимает около 100 кб текста,
    поэтому мы ограничимся здесь только самым кратким анонсом.
    Надеемся, что предоставленой ниже информации будет достаточно для принятия решения
    — читать или нет полное описание.

    Далее краткий обзор.
    Читать дальше →
  • Настройка Zabbix для мониторинга standalone ESXi server

    Всем доброго времени суток! На днях впервые устанавливал Zabbix и столкнулся с проблемой мониторинга standalone VMware ESXi 6.0. Проблема заключалась в том, что стандартные шаблоны Zabbix предусматривают мониторинг через vCenter и в случае standalone не срабатывают.

    Начальную установку и настройку Zabbix в этой статье пропускаем и приступаем сразу к обнаружению нашего standalone хоста. Мы имеем установленный и настроенный Zabbix 4.2.5 на Ubuntu server (18.04), ESXi 6.0 с парой машин внутри. Перед началом действий советую создать для Zabbix отдельного юзера в ESXi с правами Read-only, это позволит не отвлекаться в середине пути.
    Читать дальше →
  • Настройка PHP для работы Composer

    Введение


    На днях я столкнулся с такой трудностью, когда работал с настройкой composer на сервере. А именно, на сервере от root прав установлен был PHP 7.0 (Данная версия PHP установлена Native и используется ISP Manager Lite. Из-за этого строго запрещается менять Native версию PHP, так как ISP Manager может дать сбой). Мной предложено одно из решений этой проблемы.
    Читать дальше →
  • Как правильно выбрать SEO-подрядчика — 10 критериев

    Я — Вячеслав Балабанов, руководитель SEO-студии. За 12 лет работы с клиентами, пришел к выводу, что основным фактором, влияющим на качество поискового продвижения ресурса в поисковых системах является добросовестность подрядчика, выполняющего seo-оптимизацию и продвижение сайта заказчика. На основе нашего опыта в сфере SEO, мы разработали ряд критериев, по которым можно выбрать добросовестного SEO-подрядчика.

    Услуга SEO-продвижения является основной


    Услуга SEO-продвижения должна быть основной у подрядчика. И ей должна быть посвящена не одна страница на сайте, а как минимум раздел. Если это агентство, основным направлением которого является разработка сайтов, SMM, контекстная реклама, а услуга SEO является дополнением, то стоит отнестись к этому с осторожностью.

    SEO — это большой комплекс работ и невозможно научиться продвигать сайты, пройдя курс или прочитав статьи на форумах. В первую очередь, здесь нужен опыт.
    Читать дальше →
  • Python tkinter

    Hello World


    Tkinter – это пакет для Python, предназначенный для работы с библиотекой Tk. Библиотека Tk содержит компоненты графического интерфейса пользователя (graphical user interface – GUI), написанные на языке программирования Tcl.Под графическим интерфейсом пользователя (GUI) подразумеваются все те окна, кнопки, текстовые поля для ввода, скроллеры, списки, радиокнопки, флажки и др.
    Читать дальше →
  • Быстрее ли JavaScript, чем Python?

    Множество постов я видел, где люди писали про преимущество JavaScript в скорости перед Python. Много раз мне это писали мои знакомые. Ну что же, пришло время это проверить.

    P.S. В каждом коде я буду считать время его выполнения именно методами языков.

    В JavaScript:

    Date.now()

    А в Python:

    from time import time
    time()

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

    Итак, приступим.

    Для начала проверим скорость обычного цикла for, который будет выводить числа от 1 до 1000.

    JavaScript:

    start = Date.now()
    for (var i = 1; i < 1001; i++) {
        console.log(i);
    }
    end = Date.now() - start
    console.log(end + " ms")

    Выполнение кода заняло 850 ms.

    Теперь Python:

    from time import time
    start = time()
    for i in range(1, 1001):
        print(i)
    end = round(time() - start, 3)
    print(str(end) + " ms")

    Выполнение этого кода заняло 620 ms.
    Читать дальше →
  • Как устроиться на работу в Германии для ИТ-специалистов

    В некотором агентстве много работают с международными кандидатами и немецкими компаниями. Итак, я хотел написать небольшое эссе о визовых проблемах, потому что они часто влияют на ваши шансы получить работу. Поскольку в агентстве работают в основном с немецким рынком, я буду говорить о процессах в Германии, процессы могут и, возможно, отличаются в других странах Европейского союза. Надеюсь, информация будет полезной и даст вам некоторую ясность и будет интересной.

    Как все вы знаете, в настоящее время существует большой спрос на опытных IT-специалистов почти во всех странах Европейского союза. Когда говорится «опытный», я имею в виду более 3 лет опыта. Компании настраивают свои команды, чтобы принимать англоговорящих коллег со всего мира, предлагая различные льготы, чтобы сгладить процесс переезда, и в целом мир информационных технологий становится преимущественно англоязычным. Правительство Германии, понимая потребность отрасли, сделало процесс довольно быстрым и понятным.

    Визовое спонсорство


    Компании в Германии не спонсируют визы, как в других странах, здесь такого нет. Компании либо нанимают кандидатов из стран, не входящих в Европейский союз, либо нет. Решение является сугубо внутренним решением и не зависит от каких-либо квот, разрешений и тому подобное. Если вы получаете контракт на работу от немецкой компании (будь то большой конгломерат или небольшой стартап), у вас есть право подать заявление на получение рабочей визы.
    Читать дальше →
  • IoT-шлюз на базе Rasperry CM3+

    Большой опыт работы в сфере промышленной автоматизации и АСУТП, казалось бы, должен способствовать тому, что со временем уже много всего видел и много всего знаешь. Но не тут-то было. Оказывается, иногда могут возникать задачи и проекты, которые трудно реализовать стандартными средствами. Так под один крупный проект по мониторингу и управлению в «облаке» одного небезызвестного завода N требовалось найти подходящее железо. Однако оказалось, что в России по требованиям помехозащищенности устройства и открытости системы ничего подходящего не существует. Попытка заказать идеально подходящее нам устройство из-за рубежа провалилась, поскольку на территорию нашей страны оборудование с пометкой «IoT» весьма трудно ввести в промышленных масштабах. Другие же поставщики не устроили сроками доставки в 12 недель при небольших объемах и ценой. Поэтому в голове родилась и плотно осела мысль о создании своего устройства. Причем такого, чтобы оно было универсальным и подходило не только конкретно под этот один проект, а под множество других. В итоге от момента зарождения идеи, подбора поставщиков и корпуса, разработки платы, её отладки и тестирования, написания инструкций и технической документации прошло весьма много времени. Но зато теперь я держу с легким трепетом в руках полностью законченное и рабочее устройство, и могу заявлять, что мы это сделали!

    image
    Рисунок 1 — Плата устройства
    Читать дальше →
  • Почему User-Flow так важен в UI/UX-проектах?



    Недавно работал над проектом, в котором надо было спроектировать интерфейс окна очереди в больнице.

    В середине этапа работ предложили заказчику идею – поместить фотографии врачей, к которым назначается пациент, прямо на табло.


    Читать дальше →
  • Возвращаем функцию закрыть все вкладки в Google Chrome

    После последнего обновления браузера, я как и многие пользователи, был очень расстроен. Разработчики убрали из браузера функцию «закрыть все вкладки кроме активной». Работа с вкладками в браузере превратилась в кошмар. Теперь штатными средствами можно закрыть только вкладки справа, а не все кроме активной.

    Мириться с таким положением вещей я не стал и решил вернуть все как было.
    Читать дальше →
  • Почему стоит научиться <<парсить>> сайты, или как написать свой первый парсер на Python

    В этой статье я постараюсь понятно рассказать о парсинге данных и его нюансах.



    image

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

    Перейдем к этапам парсинга.

    • Поиск данных
    • Извлечение информации
    • Сохранение данных


    И так, рассмотрим первый этап парсинга — Поиск данных.


    Так как нужно парсить что-то полезное и интересное давайте попробуем спарсить информацию с сайта work.ua.
    Для начала работы, установим 3 библиотеки Python.

    pip install beautifulsoup4

    Без цифры 4 вы ставите старый BS3, который работает только под Python(2.х).

    pip install requests
    pip install pandas


    Теперь с помощью этих трех библиотек Python, можно проанализировать нашу веб-страницу.

    Второй этап парсинга — Извлечение информации.


    Попробуем получить структуру html-кода нашего сайта.
    Давайте подключим наши новые библиотеки.

    import requests
    from bs4 import BeautifulSoup as bs
    import pandas as pd
    


    И сделаем наш первый get-запрос.

    URL_TEMPLATE = "https://www.work.ua/ru/jobs-odesa/?page=2"
    r = requests.get(URL_TEMPLATE)
    print(r.status_code)
    


    Статус 200 состояния HTTP — означает, что мы получили положительный ответ от сервера. Прекрасно, теперь получим код странички.

    print(r.text)
    


    Получилось очень много, правда? Давайте попробуем получить названия вакансий на этой страничке. Для этого посмотрим в каком элементе html-кода хранится эта информация.

    <h2 class="add-bottom-sm"><a href="/ru/jobs/3682040/" title="Комірник, вакансия от 5 ноября 2019">Комірник</a></h2>


    У нас есть тег h2 с классом «add-bottom-sm», внутри которого содержится тег a. Отлично, теперь получим title элемента a.
    Читать дальше →
  • Задачка на деление. Как разделить город на зоны доставки

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

    Необходимо успеть доставить все документы, да ещё в короткий срок. Почта, курьерская доставка, электронные каналы — все в игре. Самару и другие города доверим курьерской компании, удаленные районы — Почте России, а самых крупных клиентов по Самаре не доверим никому, кроме штатного курьера.

    Как распределить адреса доставки, чтобы не гонять курьера с одной части города до другой? Нужно сгруппировать адреса по районам!

    Задача: необходимо разделить клиентскую базу на зоны доставки, чтобы можно было делать выборки по районам доставки. При этом будет удобно оформлять путевые листы на каждый день: сегодня курьер едет в Куйбышевский район, завтра в Промышленный, а послезавтра — в Красноглинский. Проблема в том, что в клиентской базе такого признака нет (по крайней мере, пока).
    Читать дальше →
  • Программирование за пределами вычислительных машин

    Всем привет. На днях, я закончил работу над одним интересным для меня проектом, по разработке аккумуляторного устройства, генерирующего электроэнергию из программного кода. Знаю, звучит глупо и очень смешно, но не спешите с выводами, друзья. На данный момент, я столкнулся с большими трудностями по реализации этого проекта. А именно, с кадровой составляющей. Квалифицированные фрилансеры, как правило, берутся за работу, когда уверены в своих силах на все 100%. И, это понятно, ибо никто не хочет рисковать своей репутацией. Чисто из интереса, я предлагал до 5,000$, хотя на данный момент у меня таких денег нет, всё равно все стараются игнорировать. И, я так понял, в данный момент, эту проблему не разрешить деньгами (что немного противоречит современному мироустройству).


    Перевернув весь интернет вверх дном, (в том числе англоязычные источники), я не обнаружил не единого намёка, ничего хотя бы отдалённо напоминающего реализацию пространственного кодирования: Гадалки, нейросети, квантовые компьютеры, вакуумные регуляторы водяных труб, или просто философские бредни. Всё, что угодно, только не векторные матрицы, с собственной системой исчисления и исполняемым кодом. Но, я не собираюсь мириться с этим. Я понял, что сначала необходимо разогреть почву в данном аспекте. Доходчиво сформулировать вопрос и вывести его в массы. В одиночку, можно разрешить любые теоретические проблемы, но в реализации практических задач, в одиночку далеко не уедешь.


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


    Давайте сформулируем задачу.


    Читать дальше →
  • Интересные факты о Java

    Привет, Хабр!

    Наверное, все слышали о таком языке программирования, как Java. Но все ли из вас знают как, почему и когда он был создан?

    В связи с этим предлагаю вашему вниманию перевод статьи "Interesting Facts About Java" автора MeghaKakkar, в которой представлены интересные факты об одном из популярных языков программирования нашего времени.

    Читать дальше →
  • 10 вопросов с Шупин Мао, техническим лидером Well-being

    Привет, Хабр!


    Предлагаю вашему вниманию перевод статьи "10 Questions with Shupin Mao, Well-being tech lead" автора shelly.

    Шупин Мао — старший инженер-программист в Facebook. За последние четыре года работы в компании Шупин помогла нескольким командам и приобрела опыт в Instagram и Facebook, в том числе в Instagram Well-being . Здесь она делится тем, что вдохновило ее на разработку, любимые моменты, извлеченные уроки и многое другое.

    image

    Читать дальше →
  • Преимущества и опасности использования библиотек и фреймворков Java с открытым исходным кодом

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

    Читать дальше →
  • Пример создания утилиты для Unigraphics NX с помощью библиотеки NXOpen на языке Java

    Решил рассказать, кому интересно, как можно создавать любые утилиты для Unigraphics NX с помощью библиотеки NXOpen и языка программирования Java.В качестве примера моя утилита будет строить 2d сетку на все свободных телах и гранях(это может быть полезно для задачи оптимизации).

    Необходимую информацию по библиотеке NXOpen можно найти на официальном сайте.

    В корневой папки NX лежат необходимые нам библиотеки по умолчанию, а так же примеры:

    • C:\Program Files\Siemens\NX 12.0\NXBIN с расширением jar
    • C:\Program Files\Siemens\NX 12.0\UGOPEN с расширением jar
    • C:\Program Files\Siemens\NX 12.0\UGOPEN\SampleNXOpenApplications\Java.

    Для упрощения написания кода можно за основу использовать журнал записи своих действий в текстовый файл.По умолчанию Unigraphics NX записывает на языке Visual Basic, но в настройках можно поменять на Java или на любой другой из списка доступных:



    Вот пример записи журнала в текстовый файл.
    Читать дальше →
  • Обзор сервисов геомаркетинга

    По роду деятельности изучал я рынок геомаркетинга. И до этого изучения мне казалось, что ничего нового в этой сфере не придумано, так как я знал что крупные сетевые компании (например Кофе Лайк, Столовая 1 и др) используют для подсчета проходимости места (пешеходного трафика) видеозапись пешеходной дорожки возле входа и последующий ручной подсчет человеков в ускоренном видео.

    Когда я пробовал обращаться к поисковикам с запросами «Как выбрать место для бизнеса», «Как посчитать пешеходный трафик возле магазина» я натыкался на статьи и видео о том как выбрать помещение по косвенным признакам и как считать трафик по головам.
    Читать дальше →