Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Рефакторинг Shiny приложений

Data Mining *R *Проектирование и рефакторинг *


Кадр из фильма «Формула любви», 1984


В жизненном цикле любого эксплуатируемого ПО наступает фаза, когда накопившийся набор изменений (CR) ложится неподъемным грузом на первичную архитектуру и вот тут наступает пора рефакторинга. Много книг понаписано на эту тему, есть специфика для различных языков. Ниже затронем только отдельные аспекты, которые могут оказаться полезным применительно к RStudio Shiny приложениям. Это ряд практических методов, трюков и нюансов, накопившихся при рефакторинге, как правило, чужого Shiny кода.


«Aliena nobis, nostra aliis» — Ежели один человек построил, другой завсегда разобрать сможет.


Это было в фильме, в первоисточнике несколько по-другому. Фраза Публилия Сира «Aliena nobis, nostra plus aliis placent» переводится как «Чужое нам, наше же в основном другим нравится». Но кузнец Степан все равно дело говорит.


Является продолжением серии предыдущих публикаций.

Читать дальше →
Рейтинг 0
Просмотры 25
Комментарии 0

Новости

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 2

Java *SQL *API *Финансы в IT
Tutorial

Как же быстро летит время... Прошло почти 2 месяца с момента публикации моей первой статьи о работе с TINKOFF INVEST API – Разработка торгового робота на JAVA. Часть 1, в которой мы начали свое знакомство с инструментарием автоматизации торговли, предоставляемым брокером ТИНЬКОФФ.

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

Если нет желания вникать в код и читать статью, то можете сразу мотать к разделу "Демонстрация работы приложения".

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 259
Комментарии 0

«Искусство войны» Сунь Цзы в бизнесе и проектах. Взгляд на основе личного опыта

Профессиональная литература GTD *Читальный зал Бизнес-модели
Из песочницы

Здравствуй, Хабр. 

Меня зовут Николай. 

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 690
Комментарии 0

ULE — самописное MC Java ядро. Часть #1.1 — HelloWorld и изменения…

Rust *

Дальше создаю серверное ядро на языке Rust, в данной часте был сделан переход с Go и добавлено несколько интересный изменений.

Переход с Go на Rust дал огромный прирост производительности и теперь ядро сверх быстрое. Ядро использует всего 128KB ОЗУ и запускается за менее 1мс)

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 439
Комментарии 0

Минуточку внимания

Мой опыт первой игры — Escape from the 70's

Разработка игр *
Из песочницы

Захотелось мне делать игры… Хотя бы одну! И записался я тогда на курс по Unreal Engine в середине июня 2020 - просто в гугле набрал курсы по анрниалу и на самом первом в списке я зарегистрировался. 

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

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 1.3K
Комментарии 2

Компания SUSE открыла код NeuVector

Информационная безопасность *Open source *GitHub Разработка под Linux *Kubernetes *
Из песочницы

Компания SUSE объявила о выпуске NeuVector - платформы, обеспечивающей комплексную безопасность контейнеров. Это решение предназначено для выполнения   контейнеризированных приложений в среде нулевого доверия (zero trust). База кода NeuVector уже доступна сообществу на GitHub.

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

Образы контейнеров NeuVector стали открытым ПО и могут быть развернуты на любом кластере Kubernetes. Пользователи SUSE Rancher могут установить их из каталога приложений. В следующих версиях интеграция этих двух продуктов станет еще более плотной. Разработчики NeuVector придерживаются той же стратегии, что и SUSE, и предлагают решение для всех популярных решений для управления контейнерами – SUSE Rancher, Red Hat OpenShift, VMware Tanzu, Google GKE, Amazon EKS, Microsoft Azure AKS и других.

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

Исходный код предварительного релиза SUSE NeuVector опубликован на GitHub:

Для Controller, Enforcer и Scanner

Для Manager

Документация для всех компонентов

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 438
Комментарии 0

Двадцать один год XXI века в мемах. Часть 4: 2016-2018

Блог компании RUVDS.com Читальный зал Управление медиа *

Первая, вторая и третья части обзора повествовали об интернет-культуре и мемах с начала нулевых по середину десятых. Теперь мы добрались до недавней, но уже слегка подёрнутой дымкой ностальгии эпохе второй половины 2010-х. До времени, когда интернеты приобрели уже почти современный вид, но ещё никто и помыслить не мог о том, насколько «ревущими» станут 2020-е.

Изначально я думал описать в этой части 2016-2019 годы, выделив начало 20-х в последнюю часть. Но четвёртая часть получилась бы перегруженной, а пятая включала бы всего два года и немного третьего. Посему деление на три и ещё три выглядит более логичным, тем более, что текста и про эти три года получилось довольно-таки много.
Читать дальше →
Всего голосов 21: ↑15 и ↓6 +9
Просмотры 1.1K
Комментарии 4

Современное пиратство глазами моряка. Наёмники

Блог компании Timeweb Cloud Читальный зал Транспорт
Здравствуйте.

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

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

Читать дальше →
Всего голосов 73: ↑68 и ↓5 +63
Просмотры 5.2K
Комментарии 27

Бабочки обманывают летучих мышей с помощью акустических ловушек. Это спасает … но не всегда

Блог компании ITSOFT Читальный зал Научно-популярное Биология
Перевод

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

Читать далее
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 765
Комментарии 0

Игра мечты, которую я делаю вместе с женой

Работа с 3D-графикой *Разработка игр *Unity *Дизайн игр *
Из песочницы

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

Читать далее
Всего голосов 39: ↑39 и ↓0 +39
Просмотры 2.8K
Комментарии 10

Трекер привычек и 3 простых правила для их закрепления

GTD *Лайфхаки для гиков Здоровье
Из песочницы

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

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

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

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 2.4K
Комментарии 6

Антарес — сердце Скорпиона

Научно-популярное Астрономия

У этой звезды есть двойник — на другой стороне неба



Видеоверсия статьи в конце

image

Короткими летними ночами над горизонтом северных широт крадучись поднимается одно из самых мистических (в нашем восприятии) зодиакальных созвездий — созвездие Скорпиона. Его возглавляет оранжевый Антарес — звезда со странным именем. В основе этого имени — название планеты, а если быть еще точнее — имя греческого бога войны — Ареса, который у греков всегда был связан с кроваво-красной планетой Марс. И только римляне потом навязали миру имя планеты — Марс — тоже по имени своего бога Войны.
Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры 2.8K
Комментарии 0

2 состояния аккаунта привязанного к телефону: «потерян» и «еще не потерян»

Информационная безопасность *Программирование *Анализ и проектирование систем *Интерфейсы *Сотовая связь
Из песочницы

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

Читать далее
Всего голосов 42: ↑39 и ↓3 +36
Просмотры 7.2K
Комментарии 90

Хэш-выборы, которые невозможно фальсифицировать

Криптография *Будущее здесь
Из песочницы

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

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

Предлагаю рассмотреть алгоритм хэш-выборов
Всего голосов 18: ↑6 и ↓12 -6
Просмотры 1.8K
Комментарии 36

Как я не стал программистом

Программирование *
Из песочницы

Мне уже больше 50, с работой и семьей все хорошо. Но в свободное время сейчас я помогаю брату-близнецу с написанием сайта для его мобильного приложения. У него тоже с работой (не связанной с программированием) и семьей все хорошо. Как-то так получилось, что мы оба занялись в жизни не тем, чем я думаю мы должны были заниматься, и от чего сейчас получаем искреннее удовольствие. Хотя и от текущей работы мы оба получаем не только деньги.

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

Потом был опыт в желтых страницах. Для молодых поясняю, что раньше не было интернета, и чтобы что-то найти были специальные справочники с данными компаний и их контактами, по разным видам деятельности. Желтые страницы как раз одна из компаний, которая выпускала одноименный справочник. Работать в ней я начал с того, что в течении полгода ходил по Москве, и собирал данные какие организации по какому адресу работают, именно пешком. Потом меня попросил ввести мои, а потом и чужие собранные данные в базу данных, а затем, еще и проверить и исправить данные, введенные другими. Когда я выучил пару сочетаний клавиш для сортировки, поиска, и удаления, и я начал работать со скорость остальных пяти девушек, мне предложили должность менеджера. И я понял, что надо уходить.

Читать далее
Всего голосов 24: ↑13 и ↓11 +2
Просмотры 3.6K
Комментарии 8

Engineering Manager: Место в структуре организации, задачи, плюсы и минусы

Программирование *Agile *Управление персоналом *

Данная статья поможет разобраться в том, что из себя представляет позиция Engineering Manager, причём тут Tech Lead и как с этим жить?

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 521
Комментарии 3

Версионирование API в ASP.Net Core

.NET *ASP *API *C# *
Tutorial

Поддерживая существующие уже какое-то время Web API проекты, мы нередко сталкиваемся с проблемой устаревания логики методов контроллеров и необходимостью ее изменения в соответствии с новыми требованиями. Но, как правило, на момент возникновения такой необходимости, уже существует определенное число сервисов, использующих текущую реализацию наших API, и не нуждающихся в ее модернизации. Более того, такие сервисы могут легко «сломаться» при изменении используемых ими API.

Для решения такого рода проблем в ASP.Net Core существует механизм версионирования API – когда контроллеры и их методы могут существовать одновременно в разных версиях. В таком случае, те сервисы, которым достаточно существующего состояния используемых ими API, могут продолжать использовать определенные версии этих API, а для сервисов, которые требуют модернизации логики контроллеров, мы можем создавать новые параллельные версии, и все эти версии могут работать в нашем проекте одновременно.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.8K
Комментарии 6

«На выходные с музыкой»: арт-пианино в браузере, плюс — простая драм-машина для начинающих музыкантов и не только

Блог компании Аудиомания Звук

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 585
Комментарии 0

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

Блог компании SkillFactory Информационная безопасность *IPTV *Сетевые технологии *Читальный зал
Перевод

30 апреля 2021 года автор проделал рикролл по своему школьному округу. Это не только моя школа, но и весь школьный городской округ 214 (далее — D214), один из крупнейших школьных округов в Иллинойсе, состоящий из 6 школ, в которых учатся более 11 000 человек.

Подробности рассказываем в этом пятничном посте к старту курса по этичному хакерству.

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 7K
Комментарии 15

Простые числа это… просто?

Ненормальное программирование *Программирование *Алгоритмы *
Обнаружил очень нехитрый итерационный процесс, который плодит простые числа в большом количестве. За 15 итераций добрались до 1-го квинтиллиона, дальше считать стало сложно.



Код, графики, попытка анализа — все под катом.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 4K
Комментарии 10