Найти - Пользователи
Полная версия: Ищу работу!
Начало » Флейм » Ищу работу!
1 2 3 4
xam1816
Rodegast
но скоро начну с него слазить
И на какой залазить?
Rodegast
Haskell, я уже про это писал.
FishHook
Rodegast
Haskell, я уже про это писал.
ой! Покажи что-нибудь работающее
Rodegast
> Покажи что-нибудь работающее

https://hackage.haskell.org/packages/browse
FishHook
Rodegast
> Покажи что-нибудь работающееhttps://hackage.haskell.org/packages/browse
сходил по ссылке, увидел первую страницу, из 50-ти “проектов” только два имели апдейт в 2021м году, пять имеют хоть какой-нибудь рейтинг. Ну и вообще это всё похоже на свалку студенческих курсовых - одних тетрисов 9 штук. Кто-то играет в эти тетрисы, реально? Ну то есть, какой-нибудь hetris, который скачали за всю его историю 8 раз, это ты приводишь в доказательство… а собственно чего? Да не продолжай, так всегда бывает с адептами альтернативных Великого Альтернативного Знания. Самое тут главное, чтобы великое знание было недоступным для прямого наблюдения.
- Мы орден монахов Шаолинь, наш отец и основатель тридцать лет медетировал, ел одни банановые листья и пил только уксус. Через тридцать лет он познал дзен, научился полнимать язык животных и летать.
- А можно увидеть как он летает?
- Можно! Он живет на самой большой горе, на которую еще никому не удалось забраться. Если ты пройдёшь тридцать три испытания и останешься жив, мы позволим тебе попробовать забраться на гору.
- А кроме него, кто-нибудь еще летает?
- Нет только он, но мы учимся.
- А что-нибудь уже умеете?
- Да, я могу насрать иероглифом Сяо, а вон тот парень классно пердит подмышками. Но мы медетировали всего 25 лет.

Такая же херня с вашим хаскелем. Тупая шляпа не имеющая практического применения, но так как оперирует терминами вызывающими оторопь у неопытных людей, то дает возможность выёбываться и причислять себя к элите. И что падла характерно, литература по хаскелю построена наиболее непонятным образом, с применением зачем-то теории категорий, аля “Монада это моноид в категории эндофункторов” Хотя открой учебник по Скале, монада - да это дженерик с flatMap и initial методами. Так вот всё тривиально. Но на Скале построили Спарк, на котором почти всю бигдату в мире считают, а на Хаскеле есть целых восемь тетрисов.
Rodegast
> из 50-ти “проектов” только два имели апдейт в 2021м году, пять имеют хоть какой-нибудь рейтинг.

А отсортировать таблицу по апдейту/рейтингу ты не догадался

> Самое тут главное, чтобы великое знание было недоступным для прямого наблюдения.

“Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.”

> Такая же херня с вашим хаскелем.

Неосилятора в тебе ощущаю я…

> И что падла характерно, литература по хаскелю построена наиболее непонятным образом, с применением зачем-то теории категорий, аля “Монада это моноид в категории эндофункторов”

А как ты хотел? Haskell опирается на математическую теорию, а именно на теорию категорий и лямбда счисление. Отсюда и терминология.

> монада - да это дженерик с flatMap и initial методами

Ты уверен что любой “дженерик с flatMap и initial” является монадой?
py.user.next
FishHook
сходил по ссылке, увидел первую страницу, из 50-ти
Так это же не Rodegast'а проекты. А где его проекты-то? Хоть на питоне, хоть не на питоне? Где? Нихуя же нет.

Rodegast
Потому что python это подростковый язык.
xam1816
И на какой залазить?
Rodegast
Haskell, я уже про это писал.
Да это просто депрессуха. Тебе не поможет Haskell, это нужно антидепрессанты принимать и прочие вещи делать. Не в языках дело.

FishHook
Такая же херня с вашим хаскелем. Тупая шляпа не имеющая практического применения
Да просто функциональный язык. Они хороши для создания трансляторов. Можно ещё учиться функциональной парадигме на них. В ООП обязательно наличие состояния (объекты всегда находятся в каком-то состоянии своём), а функциональная парадигма исключает наличие состояния. Поэтому, если ты пытаешься на Haskell'е в ООП писать, что делает Rodegast обычно, ясен пень , то ты как бы делаешь противоречивую вещь саму по себе - используешь язык не по назначению.
А потом ты удивляешься, что у тебя что-то ни в чём нигде не сходится и в итоге не получается ничего в результате.
Rodegast
> это нужно антидепрессанты принимать и прочие вещи делать.

Зачем мне они нужны если ты есть? Я сегодня твоё сообщение знакомым показал, так мы вместе над тобой полчаса ржали. PS Если ты чего то не знаешь, то лучше молчи. Может и за умного сойдёшь, а иначе все поймут кто ты.
py.user.next
Rodegast
Я сегодня твоё сообщение знакомым показал, так мы вместе над тобой полчаса ржали.
А я вчера, пока ты показывал и ржал там, я вчера в это время делал программу.

Вот эта функция у меня вчера появилась в программе
  
ctrees_converter_convert_remove_post_align()
{
    local ifname="$1"
    local ofname="$2"
    local xpathreq1 xpathreq2
 
    xpathreq1='./body/div'
    xpathreq2='.//div[@class="post-align"]'
 
    echo -n >"$ofname"
 
    cat "$ifname" | python3 -c '
import sys
import lxml.html
 
doc = lxml.html.fromstring(sys.stdin.read())
print("<html>\n<body>")
outer_nodes = doc.xpath(r"""'"$xpathreq1"'""")
for i in outer_nodes:
    inner_nodes = i.xpath(r"""'"$xpathreq2"'""")
    for j in inner_nodes:
        for k in j:
            j.addprevious(k)
        j.getparent().remove(j)
    text = lxml.html.tostring(i, encoding="unicode", pretty_print=True)
    print(text)
print("</body>\n</html>")
'   >"$ofname" || return 1
    return 0
}
Что это такое? Это, короче, при скачивании страницы обнаруживалось, что в некоторых страницах (не во всех) вокруг ссылок стоял тег выравнивания ссылки по центру. Такая трэшовая мелочь. Казалось бы, нахера это нужно вообще, выравнивать что-то по центру, но вот бывает так, что люди ставят что попало, в том числе и это. Пришлось написать вот этот удалятель этого выравнивания. Это небольшой этап, страница перестраивается многократно, как в цепочке вывода синтаксического дерева - правило за правилом, правило за правилом.

Дальше этот маленький этап участвует вот в этой процедуре конвертаций
  
topichand_convert_cuttrees()
{
    local ifname="$1"
    local ofname="$2"
    local tfname_s1="${ifname}.converted.stage1.tmp"
    local tfname_s2="${ifname}.converted.stage2.tmp"
    local tfname_s3="${ifname}.converted.stage3.tmp"
    local tfname_s4="${ifname}.converted.stage4.tmp"
 
    echo -n >"$tfname_s1"
    if ctrees_converter_convert_remove_post_align "$ifname" "$tfname_s1" && \
       ctrees_converter_test_converted_cuttrees "$tfname_s1"; then
        :
    else
        error "Can't convert cut trees to the removed post alignment."
        return 1
    fi
    echo -n >"$tfname_s2"
    if ctrees_converter_convert_ahref_to_var "$tfname_s1" "$tfname_s2" && \
       ctrees_converter_test_converted_cuttrees "$tfname_s2"; then
        :
    else
        error "Can't convert cut trees from var in tag a to var."
        return 1
    fi
    echo -n >"$tfname_s3"
    if ctrees_converter_convert_deep0_to_deep1 "$tfname_s2" "$tfname_s3" && \
       ctrees_converter_test_converted_cuttrees "$tfname_s3"; then
        :
    else
        error "Can't convert cut trees from deep 0 to deep 1."
        return 1
    fi
    echo -n >"$tfname_s4"
    if ctrees_converter_convert_deepn_to_deep1 "$tfname_s3" "$tfname_s4" && \
       ctrees_converter_test_converted_cuttrees "$tfname_s4"; then
        :
    else
        error "Can't convert cut trees from deep N to deep 1."
        return 1
    fi
    rm -f "$tfname_s1" || return 1
    rm -f "$tfname_s2" || return 1
    rm -f "$tfname_s3" || return 1
    mv "$tfname_s4" "$ofname" || return 1
    return 0
}
Она появилась не вчера, но вчера я в неё добавил этот один этап конвертации. Тут можно увидеть, что конвертации проводятся разные: у деревьев меняются глубины (слишком мелкие углубляются до единичной глубины, а слишком глубокие обмельчаются до единичной глубины), из ссылок вытаскиваются наружу их атрибуты, так как не все ссылки хранятся одинаково (это в учебных задачках всё всегда одинаковое, а тут реальная задача - зоопарк из ссылок). Естественно, эта вся штука тоже не последняя, а участвует тоже в процедуре выше в качестве маленького кирпичика. После того как ссылки извлечены, для них формируются закачки. Долго описывать не буду, так как до формирования закачек ещё сами ссылки транслируются из эскизов в полные формы (часто ссылки являются не полными, а эскизами только, поэтому их нужно транслировать).

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

Это обёртка для сообщения
  
logger_wrap_broken_url()
{
    awk '{ print "Found broken [" $NF "] at [" $(NF-2) "]"; }'
}
На неё подаётся сообщение, а она возвращает обёрнутое сообщение.
Таким макаром она потом используется
  
log "$ofname_log" "$(echo "$line" | logger_wrap_broken_url)"
То есть в лог-файл пишется уже не просто сообщение, а обёрнутое сообщение в правильную форму.

Так что два бага я вчера исправил этих (выравнивание ссылок и дохлые ссылки). А сегодня планирую исправлять экстрактор деревьев, потому что в некоторых источниках (не во всех) не извлекает он всё, что там есть, стопорится почему-то на начальном элементе.

Вот кто чем занимается, тот то и умеет.
Rodegast
Я сегодня твоё сообщение знакомым показал, так мы вместе над тобой полчаса ржали.
Да, да, я об этом и говорю.
Rodegast
> я вчера в это время делал программу.

Молодец! Возьми с полки пирожок.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB