• Проект, как хобби. Пишу портал для создания сообществ в реальном времени онлайн

    Уже долго время я так или иначе возвращаюсь к идеи написать небольшой портал для создания и управления сообществами. Еще в далеком 2013 году, когда я вернулся домой после нескольких лет жизни в Нью-Йорке, я пытался создать аналог meetup, от которого я был в восторге.

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

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

    Читать далее
  • Pustota.io — манифест пустоты

    • Перевод

    Наше видение платформы, которая отвечает на трудности текущей ситуации на рынке цифрового искусства.

    Перевод на русский — оригинальный текст.

    Читать далее
  • Сравнение распознавания сущностей русского языка в spaCy 2 и spaCy 3

    В 2020 году для нового проекта мне потребовалось выбирать из текста названия компаний, имена людей, названия городов и т.п. По результатам гугления выяснилось, что речь идёт об “извлечении именованных сущностей” из текста (named entity recognition, NER). Для решения такой задачи существуют Python-библиотеки: nltk (10k звёзд), DeepPavlov (5k звёзд) и др. Но чаще всего встречался spaCy (20k звёзд).

    Читать далее
  • SPA MVP

    Всем привет! Наверное, уже все, кто в вебе, слышали про SPA.

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

    Читать далее
  • POSIX по GUI'ски

    Наверное все из нас открывали эмулятор терминала в Linux. Вроде, ничего необычного нет и он отлично вписывается в систему. Но погодите, а что у нас делает Ctrl+C? Ну конечно он копирует останавливает текст текущую в программу буфер-обмена! Стоп, что? Во всей системе он копирует текст, а в терминале вдруг он останавливает программу, а для копирования используется Ctrl+Shift+C. Это как минимум нестандартно, поэтому давайте разберёмся почему так и исправим это.

    Читать далее
  • Домашний сервер. От новичка до профи

    Здравствуйте, пользователи Хабра. Сегодня расскажу про мой домашний сервер. Кстати, мне всего 12 лет. Но не советую сразу закрывать эту статью, ведь объяснил я все грамотно.

    И так, начнем.

    1. Начало пути.

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

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

    Я разобрал тот пк, у него были характеристики как раз подходящие для начального уровня домашнего сервера, уже не помню какие, но точно помню, что ОЗУ было 2гб, а процессор какой-то из линейки Intel Pentium.

    На пк было установлено 3 ОС, когда я увидел это, я очень удивился. Там была Windows XP, Windows Vista и Windows 8.

    И так, вроде ПК подходит, теперь подойдём к выбору операционной системы.

    Читать далее
  • Поколение визуалов: как методология

    Зачем думать как дизайнер, если я программист / маркетолог / hr / тимлид / скрам-мастер / СЕО? 

    Об этом стоит подумать, если это приносит выгоду бизнесу, а значит и для нас в целом.

    Читать далее
  • Ftdi2232 OpenOCD SWD программатор под Windows 10

    Потребовалось запрограммировать чип nrf52832. Была использована плата на основе Ftdi2232 c ali. В заметке набор действий необходимый для работы OpenOCD с данной связкой программатор-микроконтроллер на windows 10.

    Читать далее
  • История о том, как мы криптовалютной бирже помогли

    Не переводами едиными «живет» наша команда. Локализация сайтов и приложений — это, пожалуй, любимое направление работы. Нею мы готовы заниматься круглосуточно. Даже без перерыва на чай с печеньками.  

    Ведь, локализация — это все-в-одном: и перевод, и адаптация, и удовольствие от процесса, и удовлетворение от результата, когда видишь готовое приложение в App Store и Play Маркете. 

    А недавно нам повезло вдвойне — обратилась известная криптовалютная биржа, имеющая собственную монету и обменник, с запросом на локализацию приложения на 14 языков. Четырнадцать, Карл!  

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

    Расскажем, как все прошло. 

    Читать далее
  • Allure отчет для 2 браузеров

    Allure отчет для 2 браузеров

    Столкнулся с проблемой, что Allure не поддерживает мульти браузерный отчет из коробки.
    Первым делом пошел гуглить. На форумах не нашел решения.
    Тогда появилась мысль как это могло бы работать.
    Способ нашел не самый изящный, но простой и рабочий.
    Кратко какие инструменты и фреймворки у меня были. Java, Maven, Selenium, Jinut 4. В качестве CI/CD инструмента Teamcity.

    Первым делом нужно добавить в помник следующий код

    Читать далее
  • Как продвигать товары с помощью геймификации? Проверка гипотез продвижения на сайте

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

    Читать далее
  • Как создать гиперкрутой аккаунт GitHub?

    • Перевод

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

    Готовы ли вы отправиться в путешествие с далёкими горизонтами?

    Перевод в чрезвычайно свободной форме.

    Готовьтесь: тут слишком много соблазнительного!

    А что тут?
  • Уходим от VPN к SSH-туннелям. RDP через SSH на Mikrotik

    Появилась задача сделать удаленный доступ клиентам к их RDP серверу и упростить доступ до одного клика.

    Скрипты с VPNами не подошли по причине зоопарка домашних компьютеров клиента от Windows XP до Windows 10.

    ОК, делаем на SSH-туннелях и защищаем их RSA-ключом.

    Первое, что надо сделать админу, это скачать и установить Putty (если вдруг еще не установлен).

    Приступаем к выпуску ключей через PuTTYgen.

    Читать далее
  • Алгоритм быстрого поиска

    В этой статье я хочу представить мой алгоритм оптимизации суммирования ряда чисел в массиве (на примере контейнера map). 

    Итак, дано задание

    Есть некая электронная книга, которую одновременно читает неограниченное количество читателей. Нужно сделать так, чтобы любой читатель в любой момент мог проверить, сколько еще читателей читают ту же страницу, что и он. Предложена наивное решение хранить в map<int,int> в качестве ключа номера страниц, в качестве значения- количество прочитавших их пользователей. Конечно, при таком подходе программа медленно работает с большими тестами потому, что количество итераций по контейнеру map равняется числу прочитанных пользователем страниц. То есть, если пользователь прочел 1000 страниц из 1000 возможных, то в цикле нужно будет сделать 1000 итераций, и это сильно замедляет программу.  

    Чтобы уменьшить время работы программы, нужно упростить алгоритм подсчета пользователей. В этом алгоритме я отдельно считаю, сколько пользователей прочли столько же полных сотен страниц, как и искомый читатель, и затем уже постранично суммирую всех, кто прочел столько же страниц из той сотни, на которой сейчас находится читатель. Такой алгоритм позволяет вместо 999 итераций (если пользователь читает 999-ю страницу) сделать всего 108 (9 итераций сотням и 99 по единичным страницам). 

     Это вкратце, теперь перейдем к подробному описанию и для начала приведу код.

    больше информации
  • Решил как-то абапер питон выучить. Часть 1

    Так случилось, что довольно давно я работаю со "страшно дорогой 1С-кой немецкого происхождения"(с) по имени SAP, которая написана на ABAP.

    Поэтому, можно сказать, что по долгу службы, для меня это основной язык.

    Но как-то решил я выучить какой-нибудь еще язык для своих рутинных консовских задач (сверок/сводок и т.д.).

    Выбор пал на Python...

    Читать далее
  • Проект webcar64

    Здравствуйте, представляю проект webcar64.

    Для чего и почему, нужен казалось бы ещё и локализованная сборка php, apache, python, perl, ruby, mariadb, postgresql, openssl? Не всегда стандартный вариант устраивает, когда нужен специализированный исследовательский полигон, своя локализованная ИТ лаборатория для Ubuntu 20.04 LTS x86-64...

    Уж очень не хочется бороться с зависимостями deb пакетов в Ubuntu систему устанавливая всё в /usr/bin, /usr/local, а если нужно быстро подключить или смонтировать с внешнего диска, то тогда локализованный /opt/webcar64 вариант весьма удобен, а также если хочется использовать две системы стандартный вариант и локализованный /opt/webcar64 в Ubuntu 20.04 LTS.

    Коротко о проекте, проект разрабатывался с тем, что бы уйти от зависимости lampp решений и как его альтернатива.

    Что установлено php 7.4.20 как текущий стабильный релиз, perl 5.32.1, apache 2.4.48 , python 3.9.5, ruby 3.0.1, postgresql 13.3, mariadb 10.4.19, sqlite 3.35.5, miniSQL - 4.3, openssl 1.1.1k и др. необходимые программы для поддержки зависимостей данных программ. Специально для любителей математики добавлена специализированная программа maxima 5.45.0, подробнее о программе https://maxima.sourceforge.io/ и https://maxima.sourceforge.io/docs/manual/maxima.pdf

    Если интересно, то проект можно скачать отсюда: https://cloud.mail.ru/public/ap4T/GHHt3TfeH и sha512 https://cloud.mail.ru/public/vNXn/Sf1HwnW3d .

    Итак, скачали, распаковываем в директорию /opt, и командой sudo chown -R yourlogin:yourgroup ./webcar64 настраиваем права доступа.

    Читать далее
  • Выбирайте правильный gsm-модуль для шлагбаума

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

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

    Путём не долгих раздумий решили остановиться на относительно простом способе модернизации ограждающего устройства, а именно доукомплектования его GSM-модуль. На рынке оказалось огромное количество производителй разной ценовой категории от 3500 до 15000 рублей. Решили смотреть золотую середину и... промахнулись :(

    Выбрали модуль компании Нависет Домовой IP на DIN-рейке, который на тот момент заявлял самое большое количество подключаемых номеров и возможность управления с помощью мобильного приложения, а также заявлялось что это единственное устройство которое соответствует требованиям Правительства РФ о системе Безопасный город. Однако забегая вперёд - скразу же раскрою тайну: Распоряжение Правительства действительно есть (выпущено ещё причем 3 декабря 2014г. За номером 2446-р), а системы "Безопасный город" и требований к ней нет до сих пор. Это чистой воды - маркетинг.

    Если с первой частью - всё худо бедно заработало сразу из коробки, за исключением того, что объем памяти у контроллера очень скудный, и к тому же перераспределить её невозможно: например, если вы как мы захотите вместо 15.000 маркетинговых номеров (не представляю себе массовые объекты с таким количеством абонентов - таких заводов в стране остались единицы, а даже в самых больших офисных зданиях и многоквартирных домах нет столько автомобилистов) увеличить поле для ввода имени абонента, то сделать это не сможете, все таблицы захардокены и естественно нельзя говорить о возможнсти добавить такие поля как фамилия или номер закрепленного машиноместа и вам придется придумывать имена в стиле Vasya15 и Masha8.

    Читать далее
  • Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца

    Количество мобильных устройств растет, люди все больше проводят времени с гаджетами. На данный момент у 66% населения планеты есть телефон, 89% из них — смартфоны. Такое положение вызвало серьезный спрос на специалистов в сфере мобильной разработки.

    Senior Mobile Developer отвечает, стоит ли идти в эту сферу, кому она подходит, что нужно на старте и какие подводные камни могут ожидать новичка.

    Читать далее →
  • Настольные игры в XXI веке

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

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

    Читать далее