Pull to refresh
21
0
Игорь @IgorTimofeev

Мамочкин Кодер

Send message
Иными словами, если включен pretty, то вернется tostring от функции

Товарищ, вы бы хоть потестировали либу для начала вместо анализа ее кода. Аргумент Pretty сериализует массив не в таком виде

{["privet"] = 123, ["hello"] = {["test"] = 12}}

А в таком:

{
  ["privet"] = 123,
  ["hello"] = {
    ["test"] = 12
  }
}


Иными словами, Pretty добавляет \n в конце каждого элемента для лучшей читабельности, вот и все. Не надо додумывать функционал на основе кода — поработайте с библиотекой сами, а потом уже пишите.
Вообще вы правы: если делаешь что-то для юзеров — изволь обеспечивать максимальное удобство пользования, удовлетворяющее максимально широкую аудиторию. Это применимо к библиотекам, фреймворкам и, разумеется, к готовым приложениям. А биографии читал, правда, не до конца — наскучило где-то на середине, Айзексон пишет скучным языком, как по мне. Да и не особо люблю читать про историю жизни каких-то людей, пусть и великих — фантастику предпочитаю.
На мой взгляд, у Вас есть элементы комплекса: «я так легко понимаю программы, но другие, плохо понимающие, успешны. Почему?»

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

Вы выписываете термин из довольно изестной статьи, и не знаете, о чем я говорю? Попахивает вредностью.
Вот в этом утверждении: «система является скучным говном, как правило, с кучей модульных функций». Вы продолжаете не видеть разницы между «я не осилил» и «система — говно».

Неверно, ибо либу я осилил. Мне она неудобна в использовании, поэтому перешел на более простую версию с двумя методами, соответствующую моим требованиям.
Эта реализация и есть то, о чем я говорю. Судя по всему, вы не поняли моих требований к ее функционалу, постоянно переспрашивая то про JSON, то еще про что-то, поэтому и возникает такой вот диссонанс. В любом случае, эта либа — именно то, чего мне не хватало в шарпе, на этом и покончим.
вы про понятие essential complexity не слышали

Слышал-слышал, забавная статья, которую обосрали уже все, кому только не лень. Моя личная позиция по данному вопросу такова: любая софтина или либа обязана быть одновременно простой для начинающих и максимально гибкой для «шарящих». Любое отклонение в ту (Internet API OpenComputers) или иную (HttpClient) сторону не является правильным и требует рефакторинга кода.
Кому-то вот принципиально не даются указатели — это же не значит, что указатели говно.

Лично мне даются и указатели, и апи для запросов, и все, что я пожелаю. Вопрос лишь в том, как долго я осваиваю указанный материал. Если быстро — система хороша, и я искренне благодарю батьку-девелопера за простоту и доступность этой системы, если медленно — система является скучным говном, как правило, с кучей модульных функций. О чем мы дискуссию-то ведем вообще? Вам нравится этот HttpClient, мне нет. В чем проблема-то? Зачем по пустякам заводить длинные ветки обсуждения?
Никто никому не противоречит, ибо эта функция предназначена для сериализации таблиц, в которых может содержать все, что угодно, если это все не закрыто в теле цикла. Функции также сериализуются в виде строки, это проверено мною лично на практике и часто используется для дебага. Ну, а если запихнуть в нее число или просто строку, то она выдаст nil, т. е. ничего. Так что any туда не запихнешь, автор вики неверно указал типы.
А я тоже подчеркиваю, для обучения я бы не выбрал курсы, где мусолят лишь теоретическую часть, отдавая ей основное предпочтение — это устаревший и непродуктивный метод обучения. Нет ничего плохого в том, чтобы разбираться в типах данных и уметь грамотно их использовать, плохо — когда матчасть занимает основную нишу учебного процесса. Я человек-практик, привык изучать теорию в процессе кодинга, и почему-то я до сих пор никогда не лажал на ровном месте, ровно как и большинство моих товарищей, ибо курсы были хорошие, а преподаватель явлалась крутой, умнющей девкой, и знала свое дело.
А, это легко.

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

Качайте мод на майн, ставьте OpenOS, смотрите апи serialization, находится в папке lib. Очень простая и лаконичная библиотека, проходящаяся через цикл по структуре массива или функции, реализовать ее легко даже с базовыми знаниями Lua, ну, и при условии, что вы умеете юзать регулярки. Правда, она не совсем оптимизирована в плане расхода на память, т.к. использует быдлокодерскую конкатенацию строк, но в целом понять ее суть легко.
Подозреваю, что и с его освоением было то же самое — лень разбираться, проще говном назвать.

Именно так. Если либа трудна в освоении по сравнению с остальными либами, идущими вместе с данной либой в комплекте, то данная либа является говном. Все очень просто и логично.
Добавлю еще, что «поваров» я вижу везде: как в шарпе, так и в плюсах, бейсике, луа, питоне или явке. Говнокод неистребим, и нечего винить слабую типизацию языка в безалаберности юных кодеров. Лично у меня все работает одинаково хорошо как на сишных структурах, так и на луавских, а проблем из-за типов данных никогда не возникало.
Да ну вас, я данный текст от балды написал с целью «заполнения пространства», не надо воспринимать столь серьезным образом.
Ох. Как вы себе представляете конверсию в строку класса или функции?

void funkcia()
{
   print("bla-bla");
}

string stroka = toString(funkciya)

А как именно? Что ж, меня это не особо волнует — в опенкомпах из поста есть стандартная либа для сериализации таблиц и функций, в C# нет, вот и все. Собственно, в нашей дискуссии и шла речь о том, каких функций мне не хватает в базовом C#.

А примеры касательно Http мне лень приводить, все равно мое мнение останется на своем должном месте, а ваше на своем. Вы слишком занудный собеседник для меня, акцентирующий внимание на мелочах, на которые я обычно кладу болт. Боюсь, если я приведу примеры, то наша милая беседа затянется на куда большее количество символов, а символы — это, между прочим, физический труд в плане нажатия на клавиши. Так что лень-матушка взяла свое.
Это дело вкуса. Мне абсолютно все равно, какие структуры данных мы имеем, мне совершенно не интересно понимать процессы при написании элементарных программ (консольный калькулятор, графопостроитель и прочая элементарная чушь, которую дают в типичных универах как задание чаще всего). При обучении (я подчеркиваю, при обучении) я хочу просто кодить, понимать суть языка, понимать основы. А если потребуются какие-то дополнительные знания по конкретному вопросу, будь то оптимизация воксельного приложения через указатели — это не проблема, я просто беру и изучаю доп. материал при возникновении необходимости.

К слову, на платных курсах по C#, которые ведет моя хорошая знакомая, практически никогда не заостряется внимание на типизации данных. Люди просто получают задание и творят маленькие шедевры, получая за это хорошие деньги, при необходимости, опять же, спрашивая у лектора, как можно оптимизировать проект. Это в моем понимании и есть настоящее обучение программированию, когда ты программируешь, а не страдаешь ерундой, доказывая что-то ноунейму в комментариях.
Это неправильная постановка задачи.

Что ж тут неправильного и непонятного? Требуется функция, конвертирующая класс, массив или функцию в строку, и возвращающая эту строку. Опционально хотелось бы получать строку в человекочитабельном варианте с \n, чтобы ее впоследствии было легко парсить. Хватит казуистикой заниматься, тут и обезьяна поймет, о чем речь.
Нет, не годится. Не либа (омг, в .net вообще нет такого понятия) сложна в освоении, а вы не осилили ее освоить. Чувствуете разницу?

Ну не годится и не годится, переживу как-нибудь. А разницы не чувствую, ибо не освоить что-то можно лишь по одной причине: осваиваемый объект создает искусственные трудности в освоении. Каким бы ни был юнит, осваивающий этот объект — умным, глупым или одноклеточным — сложность осваиваемости задается именно создателем осваиваемого объекта. Любой объект можно создать универсальным, чтобы его суть понял даже конченный дебил с задержками в развитии (на то и существуют методы рефакторинга кода), а можно создать способом, понятным лишь кругу лиц, в котором находится автор — на все воля автора. Собственно, в случае с HttpClient мы имеем второй вариант. Говно-либа, неудобная в использовании.
Зачем?

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

Именно по перечисленным вами моим высказываниям данная либа мне не нравится. Это обобщающий речевой оборот, выражающий вкратце мое отношение к либе.
Если вам нужна сериализация в бинарный поток — то берите встроенную. Если в строку, то вам придется выбрать формат. Чем JSON хуже других?

Не хочу я ничего выбирать, мне необходима функция toString(class/array/function), выводящая содержимое аргумента в строку C#-кода. И все тут, безо всяких джсонов, хуенов, потоков и прочей лабуды, которую так часто приходится писать во языках семейства СИ. Хотя надо признать, что в шарпе лабуды в разы меньше, это факт, да.
Аргументы в студию

Без проблем, сейчас пошарюсь по харду, найду старые проекты на шарпе, затерянные под вековой пылью, найду в них костыльный участок кода на HttpClient и немедленно отпишусь, чтобы удовлетворить ваше любопытство, минуток 10 подождите. А если серьезно, то в чем проблема вообще? Я высказал свою позицию, что лично мне не нравится эта либа, ибо прекрасно помню, какой с ней был геморрой на старте изучения шарпа, а если у вас данной проблемы не возникало, то остается только искренне порадоваться за вас, вот и все. Аргументы вам подавай, ишь ты! Говно-либа, сложна в освоении. Годится такой аргумент? Вот и все, не надо разводить демагогию в комментах, лучше кодить пойдемте, это всяко полезнее.
Вы, наверное, JSON имеете в виду? JavaScriptSerializer (хотя Json.net лучше, не зря более поздние версии на него перешли).

Нет, я имею в виду именно массивы, а также сериализацию классов и функций. JSON-генератор и -парсер не нужен.
Серьезно?
MD5, SHA256, SHA384, SHA512.

Вот этого не нашел, сколько ни лазил по форумам — обычно всякую чушь обычно советуют вроде юзеровских библиотек, плагинов и т.д, так что спасибо за ссылочки, буду знать.
HttpClient.

Неадекватная библиотека, чтобы выполнить простую задачу, нужно проделать туеву хучу операций, так что работать с ней будут лишь мазохисты. Она имеет слишком много схожих методов с крайне непродуманными названиями и аргументами, поэтому использую кастомную с забугорного сайта, позволяющую делать то, что мне нужно, в одну строчку.
В Lua отсутствует понятие «указатель», там все работает в автоматическом режиме: если присваешь первому массиву значение второго, то идет не дублирование массива, а именно обмен указателями. Да и понятие «страница видеопамяти» там тоже отсутствует («спасибо» автору мода), поэтому приходится работать с тем, что имеем.
Странный он какой-то. Не люблю лишних знаков в основных операторах. Зачем использовать := для присваивания, а == для проверки истинности? И что за =/= для проверки на неравенство, зачем аж 3 символа использовать? Вон, в BASIC было идеально в этом плане: и присваиваешь через =, и условия проверяешь в стиле IF A = B THEN B = C ENDIF, все было элементарно. Опять же, в современном языке все должно быть интеллектуально, он сам должен понимать, где присвоение, а где проверка истины. Да и массивы по вашей ссылке там явно будут в стиле СИ. То ли дело таблицы Lua, в которые пихай что хочешь: хоть функции, хоть другие таблицы, хоть строки, хоть числа, хоть все вместе. В современном языке должны быть именно такие массивы, а то и еще лучше.
Легко.

Отсутствует сериализация массивов в строку и наоборот, отсутствуют алгоритмы хеширования SHA2 и MD5, отсутствует адекватное интегрированное Internet API для осуществления элементарных GET и POST запросов. Разумеется, все это легко исправляется поиском по гуглу и скачиванием сторонних библиотек, зачастую очень и очень неплохих, однако сейчас у нас 2015 год на дворе, и в современном языке я хочу видеть максимум удобства, благо не в пещерном веке живем.
Ага. Но ситаксис убог, слишком много «иероглифов», поэтому увы и ах.
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity