Привет, Habr! Меня зовут Алексей, я iOS Developer в компании FINCH. Скоро Новый год — самое время чтобы начать жить по-другому, а поможет в этом такая классная штука как SwiftLint. В статье я расскажу, почему ее обязательно нужно внедрять во все проекты, включая legacy и pet-проекты, а также покажу как выжать из этого инструмента максимум, используя регулярные строки.
Читать полностью »
Рубрика «ruby» - 3
Кастомные SwiftLint Rules
2019-12-23 в 13:23, admin, рубрики: ios development, regex, ruby, swift, разработка под iOSОртодоксальный Backend
2019-11-05 в 8:01, admin, рубрики: backend, clean architecture, dependency injection, domain-specific language, mvc, ruby, Программирование, Проектирование и рефакторингСовременный backend разнообразен, но всё-таки подчиняется некоторым негласным правилам. Многие из нас, кто разрабатывает серверные приложения, сталкивается с общепринятыми подходами, такими как Clean Architecture, SOLID, Persistence Ignorance, Dependency Injection и прочими. Многие из атрибутов серверной разработки настолько заезжены, что не вызывают никаких вопросов и используются бездумно. О некоторых много говорят, но никогда не используют. Смысл остальных же либо неправильно интерпретирован, либо перевран. Статья рассказывает о том, как построить простую, совершенно типичную, архитектуру backend, которая не только может без какого-либо ущерба следовать заветам известных теоретиков программирования, но и в некоторой степени может их усовершенствовать.
Читать полностью »
Отладка скрытых утечек памяти в Ruby
2019-10-28 в 13:08, admin, рубрики: ruby, Анализ и проектирование систем, Блог компании Mail.Ru Group, высокая производительность, никто не читает теги, отладка, утечки памяти
В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об инструментах и хитростях, которые вы можете применять для ликвидации утечек, которые в Ruby не так легко проанализировать. В частности, я расскажу о mwrap, heaptrack, iseq_collector и chap.
Читать полностью »
Розеттский код: измеряем длину кода в огромном количестве языков программирования, изучаем близость языков между собой
2019-10-15 в 12:07, admin, рубрики: autohotkey, C, c++, clojure, common lisp, D, Factor, Go, haskell, J, java, javascript, Julia, kotlin, Lua, mathematica, perl, perl 6, Phix, PicoLisp, python, Racket, REXX, ring, ruby, scala, Sidef, tcl, wolfram language, wolfram mathematica, Алгоритмы, Блог компании Wolfram Research, Занимательные задачки, изучение языков, Программирование, языки программирования
Скачать файл с кодом и данные можно в оригинале поста в моем блоге
Существует очень интересный проект — «Розеттский Код». Их цель — «представить решение одинаковых задач на максимально возможном числе различных языков программирования для того, чтобы продемонстрировать их общие места и различия и помочь человеку обладающему знаниями по решению проблемы одним методом узнать другой».
Этот ресурс предоставляет уникальную возможность сравнить коды программ на разных языках, этим мы и займемся в этой статье. Она является полной переработкой и доработкой статьи Джона Маклуна "Code Length Measured in 14 Languages".
Читать полностью »
Проблема установки Ruby on Rails в конце 2019 года
2019-10-11 в 14:30, admin, рубрики: ruby, ruby on rails, разработка под windowsВсем привет любители программировать и улучшать мир к лучшему.
В данном посте я расскажу как мучился с установкой Ruby on Rails, сразу скажу, до этого я никогда не сталкивался с данным решением и задание мне дал потенциальный работодатель, написать определенное решение на данном фрэймворке.
Ушло у меня на это почти четыре дня, и честно сказать, я даже не представлял куда рыть в какую сторону и что делать, по причине не знания вообще ничего об этом решении. Поиски в интернете по переустановки компонентов программы и языка, ничего не дали, так же как и поиски на разных форумах и на видео площадках. И самой большой проблемой было то, что эти видео и решения были уже либо прошлогодними, либо с устаревшими версиями, и повторение прошлых шагов не давало результата.
Потратив на это большое количество времени, я надеюсь что эти шаги дадут возможность нуждающимся в ответе и решении своих проблем в установке, какую то помощь и сократят то драгоценное время которого у нас всегда не хватает.
Читать полностью »
Как с Prometheus собирать метрики, не искаженные привязкой ко времени
2019-10-07 в 7:11, admin, рубрики: devops, metrics, prometheus, ruby, Ruby gem, Tracer, Блог компании Southbridge, Серверное администрирование, системное администрирование
Многие сетевые приложения состоят из веб-сервера, обрабатывающего трафик в реальном времени, и дополнительного обработчика, запускаемого в фоне асинхронно. Есть множество отличных советов по проверке состояния трафика да и сообщество не перестает разрабатывать инструменты вроде Prometheus, которые помогают в оценке. Но обработчики порой не менее – а то и более – важны. Им также нужны внимание и оценка, однако руководства по тому, как осуществлять это, избегая распространенных подводных камней, мало.
Эта статья посвящена ловушкам, наиболее часто встречающимся в процессе оценки асинхронных обработчиков, — на примере инцидента в рабочей среде, когда даже при наличии метрик невозможно было точно определить, чем заняты обработчики. Применение метрик сместило фокус настолько, что сами же метрики откровенно врали, мол, обработчики ваши ни к черту.
Мы увидим, как использовать метрики таким образом, чтобы обеспечить точную оценку, а в заключении покажем эталонную реализацию prometheus-client-tracer с открытым исходным кодом, который и вы можете применить в своих приложениях.
9 лучших опенсорс находок за сентябрь 2019
2019-10-02 в 8:24, admin, рубрики: C, github, Go, javascript, opensource projects, python, ruby, Rust, shell, Программирование, Разработка веб-сайтов, СофтДоброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.
За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).
В сегодняшнем выпуске.
Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.
Кир Шатров: Shopify начался с Rails и здесь искренне любят этот фреймворк
2019-09-16 в 7:02, admin, рубрики: Conference, railsclub, railsconf, ROR, ruby, ruby on rails, rubyrussia, Shopify, архитектура, Блог компании RubyRussia, интервью, конференции, монолитНа конференции RubyRussia Кир Шатров расскажет об архитектуре Shopify. Как одного из самых больших и нагруженных в мире приложений на Rails поддерживает рост бизнеса на протяжении 10 лет, не переходя на микросервисы, Elixir и другие популярные альтернативы? В традиционном интервью перед конференцией вопросы Киру задал Анатолий Зайцев, разработчик компании Evrone.
Расскажи, как ты начал карьеру?
Читать полностью »
RubyRussia 2019. Михаил Пронякин: безопасен ли Ruby
2019-09-13 в 13:45, admin, рубрики: Conference, railsclub, railsconf, ROR, ruby, ruby on rails, rubyrussia, безопасность, безопасность веб-приложений, Блог компании RubyRussia, интервью, информационная безопасность, уязвимостиНа конференции RubyRussia будет много докладов о том, как писать код и как делать это лучше других. Но если продукт, который выпускает ваша компания, небезопасен, то это может привести к большим проблемам. Григорий Петров обсудил эту важную тему с Михаилом Пронякиным из компании «ОНСЕК», разработчик комплексной платформы «Валарм».

Расскажи, чем ты занимаешься и как используешь Ruby?
Читать полностью »
Поднимаем свой DNS-over-HTTPS сервер
2019-09-12 в 20:33, admin, рубрики: DNS, freebsd, ruby, безопасность в сети, веб-серверы, веб-сервисы, информационная безопасность, приватность, Программирование, системное администрированиеРазличные аспекты эксплуатации DNS уже неоднократно затрагивались автором в ряде статей опубликованных в рамках блога. При этом, основной акцент всегда делался на повышение безопасности этого ключевого для всего Интернет сервиса.
До последнего времени, несмотря на очевидность уязвимости DNS трафика, который, до сих пор, по большей части, передаётся в открытом виде, для злонамеренных действий со стороны провайдеров, стремящихся повысить своих доходы за счёт встраивания рекламы в контент, государственных силовых органов и цензуры, а также просто преступников, процесс усиления его защиты, несмотря на наличие различных технологий, таких как DNSSEC/DANE, DNScrypt, DNS-over-TLS и DNS-over-HTTPS, буксовал. И если серверные решения, а некоторые из них существуют уже довольно долгое время, широко известны и доступны, то поддержка их со стороны клиентского программного обеспечения оставляет желать много лучшего.