• Еще одна статья о DI в Spring Boot


    Как сказал один мудрец: вечно смотреть можно на три вещи: как течет вода, как горит огонь и как кто-то пишет очередную стать о DI в Spring Boot. Сегодня я сделаю попытку коротко описать всю эту петрушку.
    Читать дальше →
  • Подключение 2 HTC Vive к одному компьютеру. Пошаговая инструкция



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

    Данный способ скорее всего сработает и под другие VR гарнитуры, такие как Oculus или WMR, однако тестировалось всё на Vive.

    Данный способ также сработает под 3 и более гарнитуры, если характеристики железа будут позволять.
    Читать дальше →
  • Книга Growth Handbook теперь доступна на русском языке для свободного скачивания

    image

    Если Ваш бизнес не растет, все остальное не имеет значения. Это вечная проблема, с которой сталкиваются компании на всех этапах своего развития. В конце 2017 года мы начали думать о создании серии подкастов, посвященных теме роста. Основной посыл был очень простым: мы хотели взять интервью у людей, которые создали маркетинговую функцию роста в некоторых из наиболее успешных компаний-разработчиков программного обеспечения нашего поколения.
    Читать дальше →
  • Универсальный RestFull API для СУБД на nodeJS

    Проблематика: Есть сервер с СУБД, например MySQL. Для управления данными в таблицах необходимо реализовать полный RestFull API интерфейс на nodeJS для каждой таблицы:

    • POST — новая запись
    • PUT — редактировать запись с конкретным id
    • GET — получить все записи
    • GET — получить запись с конкретным id
    • DELETE — удалить запись с конкретным id

    Очень много рутины и кода.

    Задача: Написать универсальный обработчик запросов, который может обрабатывать данные любых таблиц в базе данных. Типы обрабатываемых данных — строка, текст, целое число, дробное число, дата, дата и время, булево.

    Решение: Все указанные типы в JS конвертируются через строку. Шаблон единого Post запроса будет иметь вид — /table/: Имя таблицы/action/: Тип запроса.

    Тип запроса — POST,PUT,GET,DELETE.
    Читать дальше →
  • Матрица ролей из AD при помощи PowerShell

    В определенный момент времени у многих ИТ (или ИБ) специалистов возникает потребность в том, чтобы получить матрицу доступов (ролей) к информационным системам (далее — ИС) своей Компании. Часто для управления доступом к ИС и интеграции ИС с AD создается отдельная группа для ИС, потом еще группы, которые вкладываются в предыдущую группу (например, Read/Write), а в эти группы уже вносятся пользователи, которым и нужен доступ к ИС. В итоге получается «сложное» дерево со множеством вложений.

    Моей задачей было вывести в удобочитаемый вид информацию о том, какая группа является материнской (первичной для ИС либо ресурса), какие группы в нее входят и кто является членами этой группы.
    Читать дальше →
  • Нескучный способ тренироваться быстрой слепой печати

    Эта статья для тех, что уже знаком с тем, как правильно ставить пальцы на клавиатуре, чтобы вслепую и быстро печатать, но текущей скорости набора не хватает, а тренироваться скучно.
    Читать дальше →
  • Обучаем нейронные сети по-новому. Часть 1

    Приветствую, коллеги. Хочу предложить вниманию общественности методику обучения глубоких нейронных сетей без использования алгоритмов обратного распространения ошибки. Возможно, кроме меня, кото-то тоже так делает, но я в сети ничего об этом не нашел.
    Читать дальше →
  • К чему могут привести ошибки в ПО?

    Не секрет, что разработка программного обеспечения является дорогим процессом. Новые технические инструменты помогают достичь быстрых, дешевых и эффективных результатов в бизнесе. Чем больше дохода приносит предприятие, тем больше вы задумываетесь о инвестициях в программное обеспечение. ПО же в свою очередь может иметь скрытые дефекты, которые могут принести вред компании.
    Читать дальше →
  • Live guide по созданию приложения на Java

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

    Примерно в это же время у меня возникла идея создать свое приложение для организации своего времени: условный прототип ежедневника. Да, довольно простенькая идея, но все же. Тогда у меня так и не дошли руки до написания программы. Зато дошли сейчас.

    Так вот. Для написания этого самого приложения я решил изучить язык Java. Несмотря на то, что у меня к нему есть некое предубеждение (когда-то давно я начинал его учить и мне показалось, что в нем слишком длинные и непонятные названия методов, да и вообще все сложно), потребность в кроссплатформенности (почему бы приложение не запускать еще и на ПК без лишних приседаний?) вернула меня на путь изучения Java.

    Для чего я все это пишу? Хочу делиться своим путем, своими ошибками, своим ходом мыслей в процессе создания приложения. Возможно, кому-то это поможет, кто-то в комментариях поделится чем-то интересным на этот счет, да и в процессе формулирования мыслей пройденное усвоится лучше).

    С чего начать?


    Читать дальше →
  • Подключение к локальной виртуальной машине Linux по SSH или как решить задачу о двух стульях ничьей

    Думаю, у многих, прочитавших заголовок возникнет справедливый вопрос: «Зачем такое извращение?» На самом деле, у этого занятия есть определённый круг применений. Самое очевидное из них — это необходимость в пользовании для учёбы или работы одной операционной системой, в то время как вам больше нравится другая.

    Некоторые воскликнут: «Но ведь можно поставить две системы в DualBoot или виртуальную машину, с которой можно общаться напрямую!» К сожалению, ни один из этих трёх способов не является панацеей. При использовании первого приходится постоянно скакать между системами, а также он доступен не на всех устройствах (на моём MacBook Pro 2017-ого года поставить нативно Linux — весьма неприятное занятие). Второй также требует работы с двумя разными системами, что может сильно ударить по чувству перфекционизма, а также требует весьма больших мощностей для использования средств по сглаживанию разницы между ними. Про третий же сейчас чуть подробнее расскажу.
    Читать дальше →
  • Subdomain Takeover, или как найти заброшенные поддомены

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

    Кому интересно, добро пожаловать под кат.
    Читать дальше →
  • Folium — пример изображения времени работы мировых бирж

    Всем привет!


    Для работы нам потребуется Jupyter Notebook, библиотеки Folium, Pandas и хорошее настроение.


    Мануал для новобранцев по библиотеке Folium смотрим здесь.


    Данные мы возьмем с сайта. Я воспользовался Википедией и нашел координаты всех городов.

    Читать дальше →
  • Jenkins проект для создания пользователей в WordPress c помощью wp-cli

    Задача.
    Создать проект в Jenkins для возможножности создавать пользователей на серверах с WordPress c помощью wp-cli.

    Решение:

    1. Создаем проект в Jenkins с названием «add-wordpress-user»

    image
    2. Добавляем параметры

    String parametr user_email
    String parametr user_password
    Choise parameter brand_name

    Choise paramet

    1-Сылка на бренд
    2-IP адрес где будет исполяться код добавления пользователя
    3-Локальный путь к WordPress
    4-Тип пароля (просто пароль(N) или хеш(Y))

    https://ваш_бренд/wp-admin;111.111.111.111;/var/www/ваш_бренд/public_html;N








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

    Добавляем скрипт:
    Читать дальше →
  • Булка молока, головка хлеба и «Приключения Тома Сойера»

    У нас была булка молока, головка хлеба и «Приключения Тома Сойера», хотя постойте, что-то тут не так… Про того самого Тома Сойера, который плыл по Миссисипи и приплыл к 2020 году, но реку перегородила платина с вывеской "Минкомсвязь" и «Запретить». О том что происходит в гос. сферах, но почему-то об этом молчат товарищи из отдела информационных технологий.

    Я не сторонница пассивной позиции: "пока работает не трогай, а если не работает, поставь костыль что бы работало". Половина рабочих станций устарела по техническим параметрам, были "усталые, но непобежденные" железки. Однако на пороге 2019 год, и новое законодательство.
    Читать дальше →
  • Netplan и как его правильно приготовить

    Ubuntu потрясающая операционная система, давно не работал с Ubuntu server а обновлять свой Desktop со стабильной версии не было смысла. И вот не давно пришлось столкнутся со свеженьким релизом Ubuntu server 18.04, моему удивлению не было предела, когда я понял что я бесконечно отстал от жизни и не могу настроить сеть т.к старая добрая система настройки сетевых интерфейсов по средствам редактирования файла /etc/network/interfaces канула в лепту. А что же пришло ей на смену? что то ужасное и на первый взгляд совершенно не понятное, встречайте «Netplan».

    Читать дальше →
  • PythonSnake

    PythonSnake — Web FrameWork написанный на python, на котором можно легко создать веб страницу

    Скачать его можно здесь

    Также потребуется сам python.

    Скачать его можно здесь

    ККак использовать PS.

    PS — имеет файл, config. Config — нужен для настройки вашего проекта.

    Как запустить файл main.py


    Чтобы запустить файл, в поиске напишите cmd. Далее с помощью команды cd перейдите в папку с файлом main.py и пропишите данную строку: python main.py
    Читать дальше →
  • Отладка производительности и ускорение сайтов на Битрикс

    Как увеличить скорость в 10 раз и обслуживать 300 000 посетителей в месяц на дешевом VDS


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

    И так, проект пришел к нам на обслуживание с рядом проблем, одна из которых — страницы каталога сайта открывались в среднем около 5 секунд, а страницы производителей — около 20 секунд.

    Как следствие, падала конверсия, Яндекс периодически «не видел» страницы и даже взаимодействовать с сайтом с целью решения каких-то задач, было проблемно.

    Как отлаживать скорость в битрикс по шагам


    Читать дальше →
  • О подкастах, эффективном использовании времени, желании постоянно учиться и проекте, сделанном с душой

    Поймал себя на мысли, что провожу много времени YouTube. И вроде все в порядке, с одной стороны, смотрю ведь в основном познавательное. Про технологии, разработку, языки, географию, TED всякий там и прочее… В этом плане YouTube гораздо лучше телевизора — включил то, о чем хочешь узнать, тогда, когда удобно, и просвещайся на здоровье. Но, как говорится, есть один нюанс.
    Читать дальше →
  • Играемся с Node.js Часть 1 «Пишем свой первый сервер»

    Доброго времени суток, дорогие Хабравчане. В этой статье мы будем играться с фреймворк Node.js, и попробуем написать на нем интересные вещи, такие как API, ЧАТ и свой сервер. Если интересно добро пожаловать под кат.
    Читать дальше →
  • Глобализация своими руками

    image

    Хей хо, славные хабровчане! Как насчет небольшой профилактики выгорания прямо сейчас?

    Хочется верить что Вам, как и мне когда-то, сможет помочь эта микстура из свежих идей, масштабных вызовов и их обсуждения.
    Читать дальше →