![]() | Автор ничего не хотел... черкать От RinaM |
![]() | Сонные сказки От Peppegina |
![]() | Последнее собрание Клуба Слизней От Peppegina |
![]() |
12 лет на сайте
21 июля 2024 |
![]() |
11 лет на сайте
21 июля 2023 |
![]() |
10 лет на сайте
21 июля 2022 |
![]() |
Поддержал проект рублём
23 марта 2022 |
![]() |
9 лет на сайте
21 июля 2021 |
#проект_fanficmd
#рубиновый_поезд Не прошло и трех лет, как Страга Севера решил вернуться к этому проекту. Пока у меня первое достижение - с использованием двух библиотек я смог удалить любое форматирование из фанфика =-) троллейбус_из_буханки.jpg Показать 5 комментариев |
#рубиновый_поезд
#айтишный_быт I'm given up on Ruby outside web and scripts. Серьезно. Не так давно мне пришла в голову идейка капельку потренироваться в геймдеве - сделать текстовую стратежку про стандартного попаданца. Естественно, я захотел написать ее на самом удобном и красивом языке в мире - Ruby. Разумеется, мне захотелось, чтобы она жужжала не только на моей девелоперской линухомашине, но и под виндой. Я начал рыться в тысяче технологий с тысячью ограничений и танцами на цыпочках вокруг исходного кода, отметая одну за другой со словами "херня"... ... а потом нашел этот старый-старый, датированный 2011 годом тред. И внезапно на меня снизошло просветление. Руби - это язык, ориентированный на удовольствие разработчика, как объяснял нам вчера на RailsConf создатель этого языка, Юкихиро Мацумото. И вся экосистема этого языка ориентирована на удобство разработчика. На нем можно писать прекрасные, красивые, удобные программы... ... которые работают на компьютере разработчика. Но когда мы пытаемся выползти за его пределы - начинается пипец. В принципе, это даже логично. Вся огромная библиотека гемов - это такой не останавливающийся circlejerk. Руби - сообщество разработчиков для разработчиков, разработчиков, чьи программы будут запускаться на количестве машин, измеряемом на пальцах. Это делает его идеальным для веба, идеальным для внутренних девелоперских фич, идеальным для messing around. И отвратительным для клиентской разработки. К сожалению, несмотря на мою фанатичную любовь к этому языку, я сдаюсь. Руби не убивают рельсы - Руби убивает Рубийная экосистема. Именно благодаря ей Руби никогда не станет таким массовым языком, как, скажем, Питон. Сейчас разрываюсь между тем, чтобы начать учить питон, и тем, чтобы начать учить Rust. За питоном - некоторая похожесть на руби, универсальность и RenPy, за Rust - компилируемость и тоже некоторая похожесть на руби (как нам пояснял вчера мейнтейнер этого языка). Граждане, что посоветуете для современной клиентской разработки, что не будет тупым ножом резать мои рубийные чувства? Свернуть сообщение - Показать полностью
Показать 17 комментариев |
#локальное
#айтишный_быт #рубиновый_поезд Почтенный мастер Ку Чи шел со своим учеником, Антоном. Надеясь вступить с мастером в дискуссию, Антон сказал: «Учитель, я слышал, что объекты это очень хорошая вещь — это правда?» Ку Чи с сожалением посмотрел на своего ученика и ответил: «Мой глупый ученик, объекты — это замыкания для бедных.» Антон поклонился и вернулся в свою келью изучать замыкания. Он внимательно прочитал всю серию работ «Lambda: The Ultimate…», потом все остальные статьи по этой теме, и создал небольшой интерпретатор с использованием объектов эмулирующих функционал замыканий. Он многому научился, и стал искать встречи с мастером, чтобы похвастатья. На своей следующей прогулке с Ку Чи, Антон сказал: «Учитель, я усердно изучал этот вопрос, и теперь понимаю, что объекты действительно являются замыканиями для бедных.» Ку Чи ударил Антона своей палкой и сказал: «Когда же ты научишься? Замыкания — это объекты для бедных». В этот самый момент Антон достиг просветления. http://frontender.info/the-two-pillars-of-javascript-pt-2-functional-programming/ Показать 9 комментариев |
#айтишный_быт
#рубиновый_поезд Думая, что самый умный, разбил scss- и js-ассеты поконтроллерно. Типа, чтобы ненужный CSS не болтался повсюду. Поставил иерархию - каждый контроллер линкует только свой ассет, а уже внутри него импортируется ассет общесайтовый. Деплой идет уже минут шесть и не собирается заканчиваться. Прекомпилировать столько разнообразных CSS-ников... ... ... которые еще и не закешируются и будут грузиться с каждым новым контроллером... Я гений, бл*. 1 Показать 6 комментариев |
#рубиновый_поезд
#айтишный_быт #проект_fanficmd Обнаружил, что на Фанфиксе перекрывающиеся теги валидны. Походу, придется отойти от стандартной библиотеки и писать парсер с ноля. Ибо от древовидной структуры я отказываться не собираюсь, а Parslet перекрывающиеся теги не распознает. Показать 7 комментариев |
#рубиновый_поезд
#айтишный_быт #проект_fanficmd Обнаружил нетривиальные свойства тегов Фанфикса. Например, теги выравнивания можно ставить в середине предложения, и они действуют не до закрывающего тега, а до СЛЕДУЮЩЕГО ОТКРЫВАЮЩЕГО тега выравнивания. Товарищ ReFeRy, это нормальное поведение? Можно его вписывать в спецификацию? Показать 14 комментариев |
#рубиновый_поезд
#айтишный_быт #проект_fanficmd И, об overengineering. Было: class FanficsmeBlock < Parslet::Parser # elementary rules rule(:eol) { str("r") | str("n") | str("rn") } rule(:lchar) { match("[^rn]") } rule(:space) { match(" ") } rule(:lspace) { match("[[:blank:]]") } rule(:exspace) { match("[[:space:]]") } rule(:eof) { any.absent? } rule(:eolf) { eol | eof} # basic rules rule(:sline) { lspace.repeat(1).as(:line) >> eolf } rule(:bline) { str("").as(:line) >> eol } rule(:bsline) { bline | sline } rule(:line) { lchar.repeat(1).as(:line) >> eolf } rule(:aline) { bsline | line } # complex rules rule(:block) { aline } rule(:text) { block.repeat(1) } root(:text) end Стало: class FanficsmeBlock def parse(str) str.gsub!(/rn/, "n") str.gsub!(/r/, "n") arr = str.split("n") arr.map! { |s| {line: s} } end end Свернуть сообщение - Показать полностью
Показать 14 комментариев |
#металитература
#рубиновый_поезд #айтишный_быт #проект_fanficmd Итак, товарищи, Страга дописал очередную проду, и у него появилась идея. Изначально я хотел выставлять свой фанфик в нескольких местах. Куски его лежат на Фикбуке, на Самиздате и даже на СлиФоруме. (Да-да, знаю, я attention whore, можете не упоминать это снова). Однако в процессе я понял, что конвертировать фанфик под стандарты этих разных площадок - занятие утомительное. Фанфикс требует расставлять HTML-теги жирности-курсива и не понимает отступов в начале строки, Самиздат требует полного HTML-оформления, но понимает отступы, СлиФорум требует использовать BB-коды... Именно поэтому, например, на Самиздате у меня фанфик застрял на 14 главе. Потому что меня раздражает каждый раз скачивать с гуглдокса и экспортировать. И у меня появилась идея. Сервис, который автоматически конвертирует ваш фанфик под соответствие разным площадкам. В качестве "принимаемого" формата, думаю, буду использовать Markdown. Он очень прост и рассчитан на нормальное восприятие "невооруженным глазом". Ведь мы регулярно, чтобы выделить текст в простой переписке, используем, скажем, звездочки - а Markdown просто переконвертирует выделенное звездочками в курсив. И так далее. В общем, я, наверное, даже приостановлю написание блога на ought.ru ради подобного сервиса. Следите за новостями! Свернуть сообщение - Показать полностью
4 Показать 20 комментариев из 36 |
Показать 20 комментариев из 26 |
#айтишный_быт
#рубиновый_поезд #помощь_зала Товарищи, есть ли хоть одна причина включать в .gitignore папку .idea, если я работаю над проектом один? Показать 7 комментариев |
#айтишный_быт
#рубиновый_поезд С детства приучен не закрывать тег < P >. Ждет ли меня ад за это? =-) Показать 8 комментариев |
#логичная_логика
#айтишный_быт #рубиновый_поезд В King's Bounty меня повысили до барона. Значит, мне выдали нового бойца, гвардейца, и нужно определить, кто сильнее - гвардеец или древний медведь. Так как считать самому по формулам и вычислять удельное лидерство на единицу урона грустно, надо писать скрипт. Так как писать скрипт для одного подсчета грустно, то надо делать универсальный скрипт с базой данных. Так как делать базу данных для локальной проги скучно, делаем онлайн-помощник. Так как писать на PHP грустно, нужно использовать Ruby. Так как писать на Ruby под Windows не интересно, нужно ставить Linux. Итого - из-за того, что меня повысили до барона, я начинаю писать на Ruby под Linux'ом. Люблю свою логику. 3 Показать 20 комментариев из 30 |
#айтишный_быт
#рубиновый_поезд Ставлю линукс, кажется, раз в десятый. Только на этот раз я наконец-то понял, зачем он мне нужен. Ruby FTW! Показать 17 комментариев |