Думаю, многие разрабочики хотя бы раз в жизни хотели поделиться своими наработками с сообществом. Уж точно все - пользовались тем, чем делятся другие. Мое мнение на этот счет примерно такое - если ты делаешь что-то для себя и можешь это сделать таким, чтобы этим могли пользоваться другие с, относительно, небольшим количеством трудозатрат - то делай это. К тому же, выставляя "напоказ" свои велосипеды - так или иначе, придется их хотя бы покрасить. Смазать цепь. А значит и в твоем проекте данное решение будет уже более качественным. Не буду углубляться в философию опен-сорса (простите меня, нелюбители английских слов, написанных по русски), поэтому перейдем сразу к делу.
iOS Engineer
Защита фото от систем распознавания лиц работает?
За последние полтора месяца (с начала августа 2020) уже довольно много изданий/платформ и ресурсов говорили/писали про Алгоритм Fawkes: https://sandlab.cs.uchicago.edu/fawkes/#press.
Среди которых и Habr, The New York Times, The Verge и т.д.
Насколько актуально машинное обучение в повседневной жизни. Обзор
Трудно представить себе жизнь современного человека без машинного обучения и искусственного интеллекта. Данные технологии создают новые возможности. Например, системы безопасности в метро используют машинное обучение для распознавания и поиска лиц, которые находятся в розыске. Компьютерное зрение используется в беспилотных автомобилях и летательных аппаратах для коммерческих и военных целях.
Создание изображений в runtime (favicon, watermark, нарезка картинок) #golang
В Go есть возможность создавать файлы изображений.
С помощью этого мы можем создавать картинки на лету (в runtime).
Где же это может пригодится?
Сравним C++, JS, Python, Python + numba, PHP7, PHP8, и Golang на примере расчёта “Простое Число”
Все топовые языки программирования уже давно доказали свои позиции и "определились" с нишами своего использования.
Тем не менее, для каждого программиста важно иметь представление о количественных характеристиках для каждого из языков, которыми он пользуется.
Измерять можно довольно много параметров и для разных целей.
Для каких-то задач важнее будет наличие быстрого просчёта по математическим операциям. А для других - больше пригодится ускоренная работа с сетью и файлами.
В данной статье мы рассмотрим ускорение программы с использованием JIT-компиляции для языков Python и PHP.
В качестве задачи для расчёта возьмём функцию проверки - является ли число Простыми или нет - "is prime". Возьмём базовый алгоритм проверки на то, что число Простое:
Уровень обобщения базы данных
Введение
На самом деле я рассматриваю эту cms только как пример, того что присутствует во многих и опенсурс, и коммерческих системах. Просто мне как фрилансеру до недавних пор приходилось работать почти всегда с разработкой сайтов по дешевле и побыстрее – может у других фрилансеров много «жирных» клиентов, я не знаю, у меня не было. Так вот такая ситуация привела к не плохому опыту работы на модыксе. Но открытие собственной компании и дальнейшее подтягивание клиентов с индивидуальными запросами, потребовало вспоминать и улучшать свой лвл в настоящем программировании и построении баз данных. И вот тут я и почувствовал какой-то дискомфорт, что ли, ну как минимум смущение при воспоминании структуры как MODx, так и некоторых других открытых систем. Далее поясняю подробнее, что именно показалось странным, но интересным.
Дело в том, что в MODx Revo основным понятием для построения структуры сайта являются ресурсы. Вот именно, там нет такого как, например, в том же Вордпрессе отдельно страницы сайта, отдельно записи блога. Все страницы и записи, и даже много чего еще реализуется через модель ресурсов сайта. На самом деле это удобно, особенно учитывая тот факт, что это cmf/cms, то есть система рассчитана на разработку совершенно разных сайтов и тематически и технически. Таким образом, за всей структурой сайта удобно следить в одной панели управления ресурсами. В общем, система ресурсов позволяет создавать и управлять следующими сущностями сайта (хотел было написать объектами, но в ООП это слово уже занято, так что пусть будет «сущности»):
• Обычные html-страницы;
• Разного рода категории и разделы блога или каталога;
• Товары и их категории;
• XML-документы, например, sitemap.xml для поисковых роботов;
• Текстовые документы, к примеру, robots.txt правильно сделать ресурсом, а не просто залить файлом;
• Json-страницы, которые лично я использую для того же аякс;
• Создать собственный формат текстового файла.
Постановка проблемы
Вот такое объединение множества различных «сущностей» сайта в объекте одной модели Resources и вызвало мой интерес. Разум философа зашевелился и начал выдавать множество предположений и вопросов.
Во-первых, я обратил внимание на пользователей, потому что они сделаны совершенно отдельно от ресурсов. Как бы на первый взгляд это логично, но с другой стороны, если начали такую пляску с объединением кучи всего, почему бы не сделать все до конца. Да-да, максимализм в деле. Тем более, что сделать пользователей как один из видов ресурсов не представляет большой проблемы. В случае с modx это по большей части реализуется с помощью плейсхолдеров, позволяющих расширить количество атрибутов ресурса, и «контекстов», дающих возможность выделять часть ресурсов по их назначению. Реализация же чего-то подобного на фреймворке (я имею ввиду php-фреймворки) или голой связке скриптов и реляционной базы данных совсем дело не сложное.
Во-вторых, совершенно отдельными моделями реализуются шаблоны и вся система представления и настройки сайта. Почему бы их тоже не объединить в одну модель, хотя бы чисто ради эксперимента. Чувствую летящие в меня помидоры.
Семейный бюджет, Google sheets и Python
Привет, Хабр!
Сегодня расскажу еще одну историю из своей жизни - в этот раз не про свой “чудо-сервер” в двух частях, а про что-то более приземленное, но так или иначе связанное с технологиями. По моему субъективному мнению подсчет личных финансов крайне полезное занятие и я очень надеюсь, что данная статья замотивирует вас или поможет вам начать “считать деньги” и не влезать в кредиты и т.п.
Собственно речь пойдет о том, как мы с супругой ведем семейный бюджет, как к этому пришли и о планах на будущее.
Как следить (наблюдать) за компьютером. Часть 1 — делаем скриншоты пользователей
Делаем скриншоты пользователей. Обсудим реализацию на языке программирования C#.
Описываемый в данной статье способ является простым, никакого лишнего функционала. Вы можете воспользоваться готовой разработкой или изменить исходный код как захотите.
Домашний сервер, или приключение длиной в 6 лет. Часть вторая
Прежде всего я хотел бы сказать спасибо всем читателям, присоединившимся в комментариях к первой части. Честно сказать, я не ожидал, что моя статья получит подобный отклик! Я вообще в целом не был уверен, стоит ли рассказывать о своем франкенштейне, ожидал скорее даже критики в стиле: “Вот тебе делать нечего!”, “Купил бы готовый NAS и не занимался бы ерундой!” и т.п.
Осторожно в статье много фото!
Кстати, если кто то собирается пойти подобным путем — почитайте комментарии к первой части статьи, там множество дельных советов!
Домашний сервер, или приключение длиной в 6 лет. Часть первая
Сегодня я хотел бы рассказать про свой домашний сервер: какие ошибки допустил, на какой конфигурации сейчас остановился, да и вообще — зачем я это делал.
Авторизация в ESIA на сервере терминалов с ЭЦП по ГОСТ-2012
Коллеги работающие в сфере гос. закупок уже успели испытать на себе обязательное требование правительства касательно использования носителей с электронно цифровой подписью ГОСТ Р 34.10-2012. Использование ЭЦП по новому ГОСТу является обязательным с 1 января 2019 года, и для работы на порталах zakupki.gov и gosuslugi.ru выпустить ЭЦП по ГОСТ 2001 уже невозможно, а после 1 января 2020 года поддержка ЭЦП по старому ГОСТ будет прекращена полностью.
Как часто это бывает гос. сайт к 1 января 2018 оказался готов но не полностью.
Для работы с ЭЦП по ГОСТ 2012 необходимо установить “плагин для работы
с порталом государственных услуг” версии 3.0.3.0 или 3.0.6.0, но в отличии от версии плагина 2.0.6.0 новые версии не поддерживают работу с UNC путями (это мы выяснили в процессе многочисленных нездоровых экспериментов с разными версиями плагинов), и если вы как и мы используете перемещаемые профили, то авторизация на сайте работать у вас не будет; причем работать она не будет ни в одном браузере: IE, Google Chrome, Mozilla Firefox и даже Crypto Fox.
Длительные переписки с поддержкой гос. услуг, крипто про и контур.экстерн к сожалению ничем не помогли, специалисты технической поддержки сайта государственных услуг так вообще оказались крайне не компетентны.
Интеграция Veeam Backup & Replication и PureStorage
Добрый день, Хабр! Меня зовут Илия Карин (Iliya_karin). Я занимаюсь всеми вопросами в области системноного администрирования в крупной компании более 7 лет. Спасибо коллегам из Veeam за возможность рассказать здесь немного о моем опыте.
Недавно Veeam совместно с PureStorage выпустил плагин интеграции для Veeam Backup & Replication 9.5 с массивами компании PureStorage. И если вы являетесь счастливым обладателем лицензии Veeam Backup & Replication Enterprise Plus, то нет ни одной причины не делать резервные копии инфраструктуры из снапшотов стораджа.
Однако поскольку решение это новое, то в России и странах СНГ информации на русском языке о том, как настроить инфраструктуру под работу со бэкапами из сторадж снапшотов, пока что нет.
В своей статье я постараюсь ликвидировать этот пробел.
Перейдем к делу.
Забудьте о DAO, используйте Repository
URI — сложно о простом (Часть 1)
Привет хабр!
Появилось таки некоторое количество времени, и я решил написать сий пост, идея которого возникла уже давно.
Связан он будет будет с такой, казалось бы, простой вещью, как URI, детальному рассмотрению которой в рунете уделяется как-то мало внимания.
"Пфф, ссылки они и в Африке ссылки, чего тут разбираться?" — скажете вы, тогда я задам вопрос:
Что есть что и куда нас приведет?
http://example.com
www.example.com
//www.example.com
mailto:user@example.com
Если вы не знаете однозначного ответа или вам просто интересно
Кейт Матсудейра: Масштабируемая веб-архитектура и распределенные системы
По просьбам читателей Хабра, теперь полная версия в виде топика.
Масштабируемая веб-архитектура и распределенные системы
Кейт Матсудейра
Перевод: jedi-to-be.
Коррекция: Anastasiaf15, sunshine_lass, Amaliya, fireball, Goudron.
Создание масштабируемого распределенного приложения с нуля
Как это начиналось
Я всю жизнь занимался разработкой под Windows. Сначала на С++, затем на C#. В промежутках мелькали VB, Java Script и другая нечисть. Однако некоторое время назад всё изменилось и я впервые столкнулся с миром Linux, Java и Scala. У нас с Денисом, моим другом и соратником по многочисленным идеям, уже был свой проект – набор утилит для Windows, который пользовался широким спросом в узких кругах. В какой-то момент мы оба потеряли интерес к этому проекту и встал вопрос – что же делать дальше. Денис стал инициатором идеи нового проекта – сервис по обмену clipboard между разными устройствами. Этот проект существенно отличался от предыдущего помимо технологий ещё и целевой аудиторией. Этот сервис должен был стать полезен всем. Скопируйте данные в буфер обмена и вставьте из него на любом другом устройстве. Звучит проще некуда, пока не задумаешься над тем сколько сейчас разных устройств, а также как это все будет работать при большом количестве пользователей.
Первый прототип появился через несколько месяцев. Сервер был написан на ASP.NET и хостился на MS IIS. Было написано 2 клиента: на С++ под Windows и на Java под Android.
Тестирование показало, что прототип держит около 500 соединений. Что же делать, если их будет больше, мы ведь расчитываем на сотни тысяч пользователей ;) Как написать сервер, который может работать с большим количеством соединений, который не надо будет выключать во время апгрейда железа или софта и который будет легко масштабироваться (то есть расширяться в случае увелечения количества пользователей).
Централизованные логи для приложений с помощью связки heka+elasticsearch+kibana
Heka разрабатывается в Mozilla и написана на Go. Именно поэтому я использую его вместо logstash, который имеет сходные возможности.
Кабины для сна Sleepbox поступили в продажу
Почти три года назад на Хабрахабре сообщалось о разработке кабины для сна (или просто отдыха в любое время суток) Sleepbox. Портативный блок площадью в 3,75 м2 устанавливается в аэропортах, вокзалах, торговых центрах, в офисах — везде, где людям захочется отдохнуть. Кабина оснащена кроватью, системой вентиляции, ЖК-ТВ, WiFi, розетками для ноутбуков, зарядками для телефонов, пространством для багажа, выдвижным рабочим столом, зеркалом и т.д.
Комментаторы высказали мнение, что это слишком хорошо, чтобы быть правдой — и оказались не правы. Два года понадобилось на оформление патентов в Европе, США и России, на запуск производства — и вот всё готово. Первую экспериментальную кабину в Москве поставили в Шереметьево год назад, а сейчас компания ООО Sleepbox начала принимать заказы на отгрузку товара.
Бизнес — модель
я бы хотел с Вам поговорить об одной модели бизнеса, которая последнее время в России (ибо, например, в США уже давно) набирает обороты.
Назовем ее One month — one shop — OMOS.
Устраиваемся программистом за рубежом
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity