[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: music, vector, image, code, pdf, flash, archive, text, video
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.42650 Ответ [Открыть тред]
Файл: hellodob.pas.png
Png, 17.52 KB, 646×428 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
hellodob.pas.png
В этом треде мы будем помогать новичкам с решением элементарных задач.
Говорить о том, что %названиеЯзыка1% лучше %названиеЯзыка2%, мы здесь не будем, для этого есть другие треды.
Предыдущий: >>28288
268 posts are omitted, из них 39 с файлами. Развернуть тред.
>> No.49742 Ответ
>> No.49744 Ответ
>> No.49751 Ответ
>>49737
Meanwhile, твой стиль кода - говно.
За using namespace std; надо пиздить.
int n; нужно инициализировать, даже если следующей строкой ты его считываешь.
За имена переменных n и v нужно пиздить еще сильнее. Это только в циклах можно i, j, k.
Вместо char и int нужно использовать типы фиксированной длины из cstdint.
За auto вместо примитивных типов нужно что? Правильно, пиздить. auto вообще следует использовать по-минимуму, только для итераторов или сложных шаблонов.
И про кавычки не забывать.
>> No.49752 Ответ
>>49751
> auto
И чем тебе auto не нравится? Использовал бы его всегда и везде, если бы писал на плюсах - чем больше работы я могу скинуть на компилятор, тем лучше.
>> No.49753 Ответ
>>49751
> За using namespace std; надо пиздить.
Один дурачок не понял, теперь другие за ним повторяют.
https://github.com/lefticus/cppbestpractices/blob/master/03-Style.md#never-use-using-namespace-in-a-header-file
Ещё почитай Страуструповый C++ Programming Principles and Practice, начиная на странице 296 в главе 8.7.1 как раз про это. То же самое и в приложении А.15 на странице 1127.
> int n; нужно инициализировать, даже если следующей строкой ты его считываешь.
а) Это записываешь, а не считываешь.
б) Тебя же за это любая крестомакака говном польёт.
> Вместо char и int нужно использовать типы фиксированной длины из cstdint.
Лолнет. Типы фиксированной длины нужно использовать только если длина тебе важна. Здесь она не важна.
> За auto вместо примитивных типов нужно что?
Хвалить?
https://herbsutter.com/2013/06/13/gotw-93-solution-auto-variables-part-2/
>> No.49754 Ответ
>>49752
> Использовал бы его всегда и везде, если бы писал на плюсах - чем больше работы я могу скинуть на компилятор, тем лучше.
Это говнокод. Нужна строгая типизация, вот это все - а с auto ты можешь скомпилить ошибочный код, не подозревая об этом. Это что-то вроде задания констант define'ами.
>>49753
> Ещё почитай Страуструповый C++ Programming Principles and Practice, начиная на странице 296 в главе 8.7.1 как раз про это. То же самое и в приложении А.15 на странице 1127.
Можно дрочить на мертвого страуса, а можно на Дейкстру с "goto нинужен". А можно вместо этого сообразовываться с реальностью - и заранее защитить код от подключения говнолиб с идентичными стандартным именами.
> а) Это записываешь, а не считываешь.
> б) Тебя же за это любая крестомакака говном польёт.
Ну вот макака и поливает. А сениоры знают, что потом какой-нибудь джун будет допиливать этот код, вставит еще строку между объявлением переменной и считыванием, и словит УБ.
> Лолнет. Типы фиксированной длины нужно использовать только если длина тебе важна. Здесь она не важна.
Макакам не важна, а сениорам нужна всегда. Потому что рекомпильнут твой говнокод более модным компилятором или на другой платформе - и выебут тебя скопом.
> Хвалить?
Нет, ебать. И статеечка говно.
А) В итераторах можно использовать auto, но исключительно из-за крайней убогости STL API. К слову, там говнокод, потому что надо использовать cbegin
B) Несет какую-то хуету. Макака узнала про слово explicit и удивляется.
>>49752
> Использовал бы его всегда и везде, если бы писал на плюсах - чем больше работы я могу скинуть на компилятор, тем лучше.
Это говнокод. Нужна строгая типизация, вот это все - а с auto ты можешь скомпилить ошибочный код, не подозревая об этом. Это что-то вроде задания констант define'ами.
>>49753
> Ещё почитай Страуструповый C++ Programming Principles and Practice, начиная на странице 296 в главе 8.7.1 как раз про это. То же самое и в приложении А.15 на странице 1127.
Можно дрочить на мертвого страуса, а можно на Дейкстру с "goto нинужен". А можно вместо этого сообразовываться с реальностью - и заранее защитить код от подключения говнолиб с идентичными стандартным именами.
> а) Это записываешь, а не считываешь.
> б) Тебя же за это любая крестомакака говном польёт.
Ну вот макака и поливает. А сениоры знают, что потом какой-нибудь джун будет допиливать этот код, вставит еще строку между объявлением переменной и считыванием, и словит УБ.
> Лолнет. Типы фиксированной длины нужно использовать только если длина тебе важна. Здесь она не важна.
Макакам не важна, а сениорам нужна всегда. Потому что рекомпильнут твой говнокод более модным компилятором или на другой платформе - и выебут тебя скопом.
> Хвалить?
Нет, ебать. И статеечка говно.
А) В итераторах можно использовать auto, но исключительно из-за крайней убогости STL API. К слову, там говнокод, потому что надо использовать cbegin
B) Несет какую-то хуету. Макака узнала про слово explicit и удивляется.
C) Макака опять несет хуету. Похоже, макака еще не знает про разницу между конструктором и оператором = , а также тем, что компилятор не даст породить временную переменную в этом идиоматичном случае.
D) Оставлять сигнатуру функции на auto - это такой способ отстрелить себе все ноги вместе с яйцами, что просто пиздец. И заменять тип аргумента auto - еще больший пиздец криворукой макаки. Еще бы функции через define задать предложил, индус хуев бомбит от такого рукожопия. Уж если хочется метапрограммировать, бери шаблоны: уж сколько там проверок в компайл-тайм можно навертеть. Нет, бля, хочу индусить говно, не хочу size_t и шаблоны, нас в Бомбейском Заборостроительном на вечерних курсах крестов за 21 день этому не учили.
Сообщение слишком длинное. Полная версия.
>> No.49755 Ответ
>>49754
> Нужна строгая типизация
Во-первых, если нужна строгая типизация, то не пиши на крестах. Во-вторых, auto никакой типизации не отменяет, и без него ты напорешься на implicit conversion и отстрелишь себе ногу с гораздо большей вероятностью. О чём там Саттер выше и пишет.
> заранее защитить код от подключения говнолиб с идентичными стандартным именами.
Что? Я тебе вообще-то про то, что только дурачки обрезают фразу "никогда не используй using namespace в заголовочниках" до "никогда не используй using namespace". И ты тоже дурачок, потому что не думая за ними повторяешь.
> вставит еще строку между объявлением переменной и считыванием
Ну не пиши на крестах. Там и не такое можно сделать. Или не нанимай идиотов. Проблема или надумана или в тебе, потому что ты не обучил своего джуна объявлять переменные по месту использования.
Вот серьёзно, гайдланы про "никогда не инициализируй то, что будет сразу же перезаписано" разбросаны по всему интернету, поэтому мне хотелось бы получить от тебя ссылок туда, где с каким-нибудь обоснованием рекомендуется обратное.
> рекомпильнут твой говнокод более модным компилятором или на другой платформе
И что произойдёт? Ничего? Всё продолжит работать?
Оно сломается только если ты не использовал типы фиксированной длины там, где они были нужны, о чём я, собственно, и писал.
> статеечка говно
Ну да, откуда ж Саттеру-то знать, как так кресты эти работают. То ли дело какой-то случайный анонимный хрен с горы.
> Оставлять сигнатуру функции на auto - это такой способ отстрелить себе все ноги вместе с яйцами, что просто пиздец.
>>49754
> Нужна строгая типизация
Во-первых, если нужна строгая типизация, то не пиши на крестах. Во-вторых, auto никакой типизации не отменяет, и без него ты напорешься на implicit conversion и отстрелишь себе ногу с гораздо большей вероятностью. О чём там Саттер выше и пишет.
> заранее защитить код от подключения говнолиб с идентичными стандартным именами.
Что? Я тебе вообще-то про то, что только дурачки обрезают фразу "никогда не используй using namespace в заголовочниках" до "никогда не используй using namespace". И ты тоже дурачок, потому что не думая за ними повторяешь.
> вставит еще строку между объявлением переменной и считыванием
Ну не пиши на крестах. Там и не такое можно сделать. Или не нанимай идиотов. Проблема или надумана или в тебе, потому что ты не обучил своего джуна объявлять переменные по месту использования.
Вот серьёзно, гайдланы про "никогда не инициализируй то, что будет сразу же перезаписано" разбросаны по всему интернету, поэтому мне хотелось бы получить от тебя ссылок туда, где с каким-нибудь обоснованием рекомендуется обратное.
> рекомпильнут твой говнокод более модным компилятором или на другой платформе
И что произойдёт? Ничего? Всё продолжит работать?
Оно сломается только если ты не использовал типы фиксированной длины там, где они были нужны, о чём я, собственно, и писал.
> статеечка говно
Ну да, откуда ж Саттеру-то знать, как так кресты эти работают. То ли дело какой-то случайный анонимный хрен с горы.
> Оставлять сигнатуру функции на auto - это такой способ отстрелить себе все ноги вместе с яйцами, что просто пиздец.
Хотелось бы пример. Не говоря уже о том, что в крестах ты физически не можешь написать тип для лямбды, поэтому ты обязан использовать auto (там про это, кстати, написано).

У тебя типичный синдром ньюфага. Это когда ты недавно что-то там выучил и спешишь со всеми поделиться новостью, а всё, что не соответствует твоему видению мира, которое ты почерпнул из одной-двух энтрилевельных книжек (и хорошо, если книжек), в тебе вызывает агрессию, потому что, ну как же так-то, ты же лучше знаешь, как оно там на самом деле, а тут какой-то "дурак" старается покрасоваться и "обсирается" в процессе.
Сообщение слишком длинное. Полная версия.
>> No.49756 Ответ
>>49755
> Во-первых, если нужна строгая типизация, то не пиши на крестах.
Ты еще скажи, что в крестах не строгая типизация. Не учитывая шаблоны, конечно.
> Во-вторых, auto никакой типизации не отменяет, и без него ты напорешься на implicit conversion и отстрелишь себе ногу с гораздо большей вероятностью.
Поэтому все конструкторы делают explicit, если implicit не нужен. С auto отстрелить ногу проще, потому что выведенный тип может оказаться не тем, который ожидал программист - надеюсь, ты не будешь с этим спорить?
> Что? Я тебе вообще-то про то, что только дурачки обрезают фразу "никогда не используй using namespace в заголовочниках" до "никогда не используй using namespace". И ты тоже дурачок, потому что не думая за ними повторяешь.
Я как раз думаю, и даже встречал дурачков-джунов, которые ломали код из-за этого using. Внезапно, в .cpp ты пишешь имплементацию, где можешь вызвать не ту функцию, которую ожидаешь - потому что дурачок и влепил using.
> Ну не пиши на крестах. Там и не такое можно сделать. Или не нанимай идиотов. Проблема или надумана или в тебе, потому что ты не обучил своего джуна объявлять переменные по месту использования.
Ну в общем когда выйдешь из вузика и начнешь работать на реальных проектах, поймешь. Правда же, зачем писать строгий код? Лучше хуяк-хуяк и в продакшн, а потом будешь объяснять клиентам, что твой босс нанял не тех джунов, лол.
>>49755
> Во-первых, если нужна строгая типизация, то не пиши на крестах.
Ты еще скажи, что в крестах не строгая типизация. Не учитывая шаблоны, конечно.
> Во-вторых, auto никакой типизации не отменяет, и без него ты напорешься на implicit conversion и отстрелишь себе ногу с гораздо большей вероятностью.
Поэтому все конструкторы делают explicit, если implicit не нужен. С auto отстрелить ногу проще, потому что выведенный тип может оказаться не тем, который ожидал программист - надеюсь, ты не будешь с этим спорить?
> Что? Я тебе вообще-то про то, что только дурачки обрезают фразу "никогда не используй using namespace в заголовочниках" до "никогда не используй using namespace". И ты тоже дурачок, потому что не думая за ними повторяешь.
Я как раз думаю, и даже встречал дурачков-джунов, которые ломали код из-за этого using. Внезапно, в .cpp ты пишешь имплементацию, где можешь вызвать не ту функцию, которую ожидаешь - потому что дурачок и влепил using.
> Ну не пиши на крестах. Там и не такое можно сделать. Или не нанимай идиотов. Проблема или надумана или в тебе, потому что ты не обучил своего джуна объявлять переменные по месту использования.
Ну в общем когда выйдешь из вузика и начнешь работать на реальных проектах, поймешь. Правда же, зачем писать строгий код? Лучше хуяк-хуяк и в продакшн, а потом будешь объяснять клиентам, что твой босс нанял не тех джунов, лол.
> Вот серьёзно, гайдланы про "никогда не инициализируй то, что будет сразу же перезаписано" разбросаны по всему интернету, поэтому мне хотелось бы получить от тебя ссылок туда, где с каким-нибудь обоснованием рекомендуется обратное.
Ну если ты читаешь каких дрочащих на auto индусов, то ты еще и не такие гайдлайны найдешь.
Начни с C++ Gotchas Дьюхерста. Для тебя даже погуглил, это совет 48.
> И что произойдёт? Ничего? Всё продолжит работать?
Действительно, ничего ведь не произойдет, если твой int imdumb = 0xFFFFF скомпилируют на платформе с 16-битным int.
Скажи, ты индус?
> Ну да, откуда ж Саттеру-то знать, как так кресты эти работают. То ли дело какой-то случайный анонимный хрен с горы.
Ну кто же виноват, если этот Саттер с горы не знает азы серьезной разработки.
> Хотелось бы пример
Да хотя бы проебывание const и последующий вызов неконстантного метода аргумента в коде функции. Был бы не индус, словил бы компайл эррор.
> Не говоря уже о том, что в крестах ты физически не можешь написать тип для лямбды, поэтому ты обязан использовать auto
Бля, индус, иди на cppreference, открывай std:: function и смотри примеры, там и лямбда есть.
> У тебя типичный синдром ньюфага.
Как скажешь, лол. Пойду расскажу коллегам, как нынче макаки пишут с auto, неинициализированными переменными и прочими int.
Сообщение слишком длинное. Полная версия.
>> No.49757 Ответ
>>49756
> Ты еще скажи, что в крестах не строгая типизация.
Нет четкого определения строгой типизации. Однако есть определение статической типизации, и, да, плюсы статически типизированы. Однако использование auto никак ее не нарушает. Ты просто просишь у компилятора выбрать тип самому. И, если вдруг что-то пойдет не так, например ты будешь использовать переменную как int, а потом попытаешься ее использовать как объект (мы пока не обсуждаем тысячи способов неявных преобразований), то ты получишь ошибку компиляции.
>> No.49759 Ответ
>>49756
> Ты еще скажи, что в крестах не строгая типизация
С narrowing implicit conversions повсюду? С возможностью проебать один сраный & и получить ситуацию, когда компилятор молча пихает объект туда, где ожидается референс? Такая-то строгость.
> выведенный тип может оказаться не тем, который ожидал программист
Ну да. Об этом Саттер и пишет. Вот вместо for ( int x = arraylength; ... делаешь ты for ( auto x = arraylength; ... и получаешь не тот тип, который ожидал.
> Внезапно, в .cpp ты пишешь имплементацию, где можешь вызвать не ту функцию, которую ожидаешь - потому что дурачок и влепил using.
Ну, окей, тут соглашусь. Мне, конечно тяжело представить ситуацию, в которой есть две функции с одинаковыми именами, которые принимают одинаковое количество аргументов с одинаковыми (или хотя бы совместимыми) типами и возвращают значение одного и того же типа, но что я вообще могу знать о жизни.
> Правда же, зачем писать строгий код?
И при этом ты пишешь на крестах. Ну, да, логично.
> ничего ведь не произойдет, если твой int imdumb = 0xFFFFF скомпилируют на платформе с 16-битным int
Ничего. Потому что во-первых, тут длина, очевидно важна, и во-вторых, оно не скомпилируется. Алсо, в третьих, если оно-таки скомпилируется, то это будет хорошим таким аргументом про строгую типизацию в крестах.
> Ну кто же виноват, если этот Саттер с горы не знает азы серьезной разработки.
Ну, да, Саттеры эти ваши со Страуструпами вообще ни в чём не шарят. Набрали дебилов в комитет по квотам. Вот твои мифические сеньёры, которых никто не видел - вот это да, вот это эксперты.
>>49756
> Ты еще скажи, что в крестах не строгая типизация
С narrowing implicit conversions повсюду? С возможностью проебать один сраный & и получить ситуацию, когда компилятор молча пихает объект туда, где ожидается референс? Такая-то строгость.
> выведенный тип может оказаться не тем, который ожидал программист
Ну да. Об этом Саттер и пишет. Вот вместо for ( int x = arraylength; ... делаешь ты for ( auto x = arraylength; ... и получаешь не тот тип, который ожидал.
> Внезапно, в .cpp ты пишешь имплементацию, где можешь вызвать не ту функцию, которую ожидаешь - потому что дурачок и влепил using.
Ну, окей, тут соглашусь. Мне, конечно тяжело представить ситуацию, в которой есть две функции с одинаковыми именами, которые принимают одинаковое количество аргументов с одинаковыми (или хотя бы совместимыми) типами и возвращают значение одного и того же типа, но что я вообще могу знать о жизни.
> Правда же, зачем писать строгий код?
И при этом ты пишешь на крестах. Ну, да, логично.
> ничего ведь не произойдет, если твой int imdumb = 0xFFFFF скомпилируют на платформе с 16-битным int
Ничего. Потому что во-первых, тут длина, очевидно важна, и во-вторых, оно не скомпилируется. Алсо, в третьих, если оно-таки скомпилируется, то это будет хорошим таким аргументом про строгую типизацию в крестах.
> Ну кто же виноват, если этот Саттер с горы не знает азы серьезной разработки.
Ну, да, Саттеры эти ваши со Страуструпами вообще ни в чём не шарят. Набрали дебилов в комитет по квотам. Вот твои мифические сеньёры, которых никто не видел - вот это да, вот это эксперты.
> открывай std:: function и смотри примеры, там и лямбда есть
Открываю: "Class template std::function is a general-purpose polymorphic function wrapper."
Если погуглить, то легко найти информацию, что если лямбду записать в переменную типа std::function, то случится боксинг. Теперь смотрим вот сюда https://stackoverflow.com/questions/7951377/what-is-the-type-of-lambda-when-deduced-with-auto-in-c11 и в принятом ответе видим, что "The type of a lambda expression is unspecified.". Крутим ниже, и видим цитату из стандарта "The type of the lambda-expression (which is also the type of the closure object) is a unique, unnamed non-union class type". Знаешь, что значит юник и аннеймд? Это значит, что у тебя нет никакой возможности выразить этот тип в коде.
Сообщение слишком длинное. Полная версия.


No.46029 Ответ [Открыть тред]
Файл: pylogo0.png
Png, 126.61 KB, 800×642 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
pylogo0.png
Предыдущий >>37139 ушёл в бамплимит.

Краткая справка для новичков:
Официальный сайт: http://python.org/
Документация по стандартной библиотеке и разнообразные Tips & Tricks: http://docs.python.org/
неСвежая тема для священной войны, или руководство по выбору между версиями: http://wiki.python.org/moin/Python2orPython3
Ссылка для вопящих про дикие тормоза: http://speed.pypy.org/
Python для микроконтроллеров http://micropython.org или http://www.github.com/micropython
358 posts are omitted, из них 62 с файлами. Развернуть тред.
>> No.49674 Ответ
>>49672
А кто ж тебя знает, какой пример ты поймёшь и примешь, а с чем захочешь, несмотря на задекларированное ньюфажество, поспорить.

Меня, например, дико триггернуло появление (где-то в районе версии 3.5, ЕМНИП) в синтаксисе языка операции @ (матричное умножение). Это при том, что в языке такого типа, матрица, нет. Он есть, конечно, но только в дополнительных библиотеках.

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

Однако же, кому-то такая неконсистентность кажется абсолютно недопустимой, а кто-то её особо и не замечает.

Вообще говоря, пайтон изначально задумывался как простенький скриптовый язычок, без особых возможностей расширения. А используется сейчас как повсеместный универсальный язык для всего. В результате тем, кто его поддерживает я бы сказал "создателям", но создатель плюнул на всё и ушёл на пенсию, приходится городить в нём кучу дополнительных фич. Но поскольку, как я уже говорил, возможностей расширения языка изначально в его дизайн Гвидо не заложил, то все эти фичи часто выглядят уродливой нашлёпкой. А поскольку нашлёпок этих уже много, то язык уже и сам превращается потихоньку в одну большую уродливую нашлёпку.
>> No.49675 Ответ
>>49674
Ну я понял твой пример, и, что такое матрицы, знаю. А чем мешает эта операция? Ну есть в синтаксисе теперь "собачка", но она ведь не лает и никого не кусает, сидит себе спокойно. Или дело в том, что символ занят, когда можно было в матричной библиотеке создать хитровыдуманное слово вроде peremnozhenie_matrits?
Если написал непонятно, то прошу прощения за неровный почерк.
>> No.49676 Ответ
>>49675
А чем мешает эта операция?
Тем, что таких операций и фич больше определённого порога, после которого python из языка "простенького" и "читаемого" превращается в просто урезанный перл. Зачем урезанный перл, когда
> когда можно было в матричной библиотеке создать хитровыдуманное слово вроде peremnozhenie_matrits
Если можно функцию, лучше делать функцию.
>> No.49703 Ответ
Выручайте, доброчаньки. Можно ли на QPython и Pydroid создавать файлы в телефоне (я имею в виду f.open('path', 'w')
капча всё знает: омрачен подробно
>> No.49705 Ответ
Файл: Screenshot_2020-0...
Jpg, 67.91 KB, 720×576
edit Find source with google Find source with iqdb
Screenshot_2020-04-07-15-03-30-727_ru.iiec.pydroid.jpg
Файл: Screenshot_2020-0...
Jpg, 77.16 KB, 720×527
edit Find source with google Find source with iqdb
Screenshot_2020-04-07-15-03-53-531_ru.iiec.pydroid.jpg

>> No.49707 Ответ
>>49703
termux
>> No.49708 Ответ
Файл: Screenshot_2020-04-11-08-58-17-632_com.termux~2.jpg
Jpg, 66.72 KB, 720×369 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot_2020-04-11-08-58-17-632_com.termux~2.jpg
>> No.49709 Ответ
>>49708
termux-setup-storage должен создать ссылку в home.
>> No.49733 Ответ
>>49709
Сдаюсь. Я гуглил, я писал "termux-setup-storage" в термуксе, я... Я не знаю, что ещё делать.
>> No.49743 Ответ
>>49733
Напиши все действия и все их результаты.


No.29402 Ответ [Открыть тред]
Файл: serial_experiments_lain-14377.jpg
Jpg, 405.57 KB, 1600×1200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
serial_experiments_lain-14377.jpg
Был удивлён, пролистав за десяток страниц, и не найдя здесь подобного трэда.
Решил начать учить язык богов. С чего начать - книги и мануалы, теория и практика (желательно на русском), в чём лучше писать (под винду и под никсы), советы, распространённые ошибки, всё сюда. Лисп-нить иди.
405 posts are omitted, из них 51 с файлами. Развернуть тред.
>> No.49656 Ответ
>>49655
А чего ты ждал? Что тебе https://ru.wikipedia.org/wiki/Лисп будут пересказывать в свободном изложении?

Хороший язык. Его основные концепции стоит изучить любому программисту или даже просто интересующемуся темой. Опытные аноны из соответствующего треда целиком поддерживают и одобряют твой интерес. Иди учи. Как появятся вопросы, приходи в соответствующий тред, опытные аноны с удовольствием ответят на них.
>> No.49657 Ответ
>>49553
> Вообще изначально байтоёб, так что хочу байтоёбский императивный, но лисп. Есть идеи?
Тебе прямая дорога в CL. Там изкоробки даже есть функция disassemble, которая тебе натурально показывает ассемблерный дамп написанных тобой или не тобой функций. Ну и целое поле для низкоуровневых оптимизаций через декларации типов.
>> No.49658 Ответ
>>49657
Да я уже более-менее определился. Вообще байтоёб не в этом смысле, а в том, чтобы разбирать двоичные файл на байтики, например. Основная масса реализаций с типами ниже строк тяжело работает, по ощущениям. Так что если кто знает как в вышеназванных реализациях работать с двоичными данными, или работал сам, можете подсказать вкратце если не лень. Ключевое слово в языке С - struct и сопутствующие функции, желательно без lisp-way и unix-way.
>> No.49660 Ответ
>>49658
https://paste.debian.net/1121242/

> Ключевое слово в языке С - struct и сопутствующие функции
На тебе три часа на несвежую голову утром, мысли вслух под guile scheme. Это можно сделать короче, красивее и так, как надо, но мне лень и чёткого понимания нет.
Сперва взгляни на let в строке 36, всё писалось с него. По крайней мере, всё без переменной c.

По поводу твоих ощущений: ну да, мне как бы тоже не очень хочется вызывать все эти bytevector-u8-ref, но один раз пришлось, если мало, то можно жить. Вообще, всё, что есть - это несколько SRFI, прямо смотришь в оглавление мануала на твою схему или на srfi.schemers.org, не забыв про (rnrs bytevectors), но ощущения, как понимаешь, не очень. Надо сокращать и устраиваться поудобней.

> lisp-way и unix-way
А это что за звери и чем они тебе не угодили? Что понимаешь под?

Что-то здешняя вакаба не понимает файлы. Говорит, exception - неизвестная кодировка. Хотя сверху она стоит.
>> No.49661 Ответ
>>49655
>>49653
Давай начнём с того, что я не могу себе представить человека, у которого лисп был первым. Кроме пользователя какой-нибудь CAD, но я с такими не общаюсь за их отсутствием.
Так что толстишь тут скорее всего ты, особенно, учитывая то, что краткая характеристика уже в треде есть и не одна.
>> No.49667 Ответ
>>49660
> unix-way lisp-way чем не угодили
Да, нужно бы расшифровать. В данном случае имел ввиду следующие проблемы:
для unix-way - сведение всего к текстовому конвееру, тоесть практически антиподход для случая обработки двоичных данных;
для lisp-way - когда вместо 1МиБ двоичных данных придётся работать с 1 миллионом точечных пар (или как они там в любой книжке по лиспу позиционируются как самый базовый тип данных).

За пример благодарю.
>> No.49668 Ответ
>>49667
> для unix-way - сведение всего к текстовому конвееру, тоесть практически антиподход для случая обработки двоичных данных;
Можно же делать текстовые конвееры с именами отдельных файлов. Это удобней для пакетной обработки, например. Нет, конечно, есть примеры, когда в пайпы долны полезть бинарные данные.

В r5rs векторы есть например. В книжках по лиспу мне не приходилось сталкиваться с совсем уж "двоичными" запакованными данными.
А ещё ко всему есть вариация этих самых списков, где снизу массивы вместо cons-ячеек. Но за это ты платишь неизменяемостью списка.
https://www.gnu.org/software/guile/docs/master/guile.html/VLists.html

Ты не доводи до абсурда же, изо всякого правила есть исключения. Просто текстовые данные проще дёргать из того же шелла, например. Работать с ними проще. И чем больше излишней бинарщины, тем труднее с ней жить. Со списками теми же работать проще, чем неоправданным образом делать ADT или векторы на каждый чих. Как-то так. Но это не значит, что всякая программа обязана быть текстовым фильтром или использовать только списки.
>> No.49669 Ответ
>>49668
Где ты увидел доведение до абсурда? Мне кажется ты проецируешь какие то свои взгляды, например если тебе проще работать с текстом, это не значит что и другим также.

А почему проще? Потому что если попытаться вчитаться в вышеприведённый пример >>49660 окажется что работать с данными таким образом - это боль. Получается что лисп в данном примере показывает себя как язык, не приспособленный для таких задач. Конечно тогда проще не натягивать сову на глобус.

> платишь неизменяемостью списка
Очередное необоснованное ограничение.
>> No.49670 Ответ
>>49669
> Где ты увидел доведение до абсурда?

>>49658
> желательно без lisp-way и unix-way
>>49667
> для unix-way - сведение всего к текстовому конвееру
> для lisp-way - когда вместо 1МиБ двоичных данных придётся работать с 1 миллионом точечных пар (или как они там в любой книжке по лиспу позиционируются как самый базовый тип данных).

Вот доведение до абсурда. У тебя в руках UNIX-подобная система есть? Ты в курсе, что у неё есть библиотеки и остальные программы, которые обрабатывают бинарные данные целиком и полностью и даже пишут в пайпы/стандартные потоки бинарщину? Даже sysvinit слушает пайп /run/initctl, забирая оттуда структуру. Если надо — давай, бери, пользуйся, никто тебе не запрещает, юниксвей — про то, что структуры и байты не надо бездумно совать везде, где придётся. Где можно обойтись текстом, вот там и обходись текстом. У меня же сложилось ощущение, что ты же думаешь, что текст надо пихать везде. Точно то же самое ты говоришь про cons-списки, считая, что тебя насильно заставляют пользоваться ими вместо векторов, особенно для целей, для которых они мало предназначены.

Я уже не говорю, что lisp-way — это оксюморон. У языка с подстраиваемыми языковыми формами никакого way практически нет. Хоть awk с шеллом впиливай прямо внутрь.

> Мне кажется ты проецируешь какие то свои взгляды, например если тебе проще работать с текстом
>>49669
> Где ты увидел доведение до абсурда?

>>49658
> желательно без lisp-way и unix-way
>>49667
> для unix-way - сведение всего к текстовому конвееру
> для lisp-way - когда вместо 1МиБ двоичных данных придётся работать с 1 миллионом точечных пар (или как они там в любой книжке по лиспу позиционируются как самый базовый тип данных).

Вот доведение до абсурда. У тебя в руках UNIX-подобная система есть? Ты в курсе, что у неё есть библиотеки и остальные программы, которые обрабатывают бинарные данные целиком и полностью и даже пишут в пайпы/стандартные потоки бинарщину? Даже sysvinit слушает пайп /run/initctl, забирая оттуда структуру. Если надо — давай, бери, пользуйся, никто тебе не запрещает, юниксвей — про то, что структуры и байты не надо бездумно совать везде, где придётся. Где можно обойтись текстом, вот там и обходись текстом. У меня же сложилось ощущение, что ты же думаешь, что текст надо пихать везде. Точно то же самое ты говоришь про cons-списки, считая, что тебя насильно заставляют пользоваться ими вместо векторов, особенно для целей, для которых они мало предназначены.

Я уже не говорю, что lisp-way — это оксюморон. У языка с подстраиваемыми языковыми формами никакого way практически нет. Хоть awk с шеллом впиливай прямо внутрь.

> Мне кажется ты проецируешь какие то свои взгляды, например если тебе проще работать с текстом
А это не мои взгляды. Это вгляды любого человека, державшего в руках шелл. *nix — это кучка мелких максимально реюзабельных утилит, склеиваемых вместе шеллом. Я этот подход считаю удобным, как и кто-то другой, вот и всё. Не хочешь скреплять шеллом — не скрепляй, никто тебе не запрещает.

> А почему проще? Потому что если попытаться вчитаться в вышеприведённый пример >>49660 окажется что работать с данными таким образом - это боль. Получается что лисп в данном примере показывает себя как язык, не приспособленный для таких задач. Конечно тогда проще не натягивать сову на глобус.

Во-первых, не лисп, а scheme. Scheme вообще не обязан тебе быть приспособлен для всего, особенно со стандартом в 50 страниц. Лисп в целом жил на лисп-машинах как единственный язык и вполне себе обрабатывал всё, что нужно, про common lisp говорить не буду. Но scheme приспособлен приспосабливаться. Я приспособил.

Ящитаю, оформить вот эти мысли из файла как модуль (или просто подключать через include/load) и использовать формы
(bstruct mystruct
(a 1)
(b 2)
(c 8 ->u64 u64->))

(with-mystruct bv
(bv.c newvalue)
(format #t ".a ~a\n.b ~a\n.c ~x\n"
(bv.a)
(bv.b)
(bv.c)))
особого труда не составит. В случае чего можно вполне себе нарисовать врапперы вокруг bytevector-<тип>-native-{ref,set}, особо много это не займёт.

> Очередное необоснованное ограничение.
Честно говоря, мне лень читать исходник и смотреть, почему там неизменяемость, хочешь обоснований — смотри сам. Векторы и так есть, а в основной массе списки обрабатываются без изменения хвоста.
Сообщение слишком длинное. Полная версия.
>> No.49726 Ответ
Файл: 15304474106560.png
Png, 14056.52 KB, 3041×4096 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
15304474106560.png
Позвольте сХОРОнить.


No.32929 Ответ [Открыть тред]
Файл: ss-(2013-07-05-at...
Png, 5.64 KB, 456×59
edit Find source with google Find source with iqdb
ss-(2013-07-05-at-05.37.07).png
Файл: 2000_-_asctrix178...
Gif, 22.68 KB, 640×480
edit Find source with google Find source with iqdb
2000_-_asctrix1780.gif
Файл: qoob_demoscene_mo...
Jpg, 51.51 KB, 500×453
edit Find source with google Find source with iqdb
qoob_demoscene_modeller_02.jpg

Привет, анон.
Совсем недавно я был причислен к слоупокам я узнал о существовании такой вещи как демосцена. Это дало мне толчок для изучения ассемблера. В данный момент я умею только вызывать некоторые системные функции Win32 на FASM, то есть совсем ничего не умею.
Итак, анон, мне нужны понятные уроки для работы с ассемблером, а лучше всего, с графикой на ассемблере, желательно, чтобы они были датированы нашим тысячелетием. Приветствуются советы и напутствия мудрого анона. Может быть стоит заняться чем-нибудь более полезным? Уверен, я не дойду до стадии, когда смогу писать завораживающие интро размером 64Кб, но в любом случае знания не должны пропасть даром.
Подари мне мечту, доброчан.mp3
147 posts are omitted, из них 14 с файлами. Развернуть тред.
>> No.49687 Ответ
Инвайт-линк в чат крэклаба (исследование и взлом программ):
https://t.me/joinchat/K9QvRBMc0dN9d_pjKQ1KFw
>> No.49691 Ответ
Файл: Touhou.full.2000847.jpg
Jpg, 1698.33 KB, 1514×1556 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Touhou.full.2000847.jpg
>>43017
> > или же приведения в негодность аппаратных комплексов компьютера.
Интересно, многа надо думать, чтобы прийти к такому успеху?
>> No.49692 Ответ
Совсем прижал долбанный аутизм, и вот я взялся переписать на асме некоторую часть сишных библиотек. Просто-напросто через хидерсы подключается объектный код, скомпилированный НАСМом.
Но уже при попытке реализовать форматированный принт столкнулся с проблемой вывода банальной строки. В отладчике дело доходит до sys_write, но в консольке - ничаво.
Напомню, что сама функция написана в асме и без сомнений верно, её вызов происходит в сишном мэйне. Дескриптор стдаут - правильный.
>> No.49693 Ответ
>>49691
> Интересно, многа надо думать, чтобы прийти к такому успеху?
Вряд ли, учитывая что это часто происходит само по себе, например из-за криворуких юзеров, перепрошивающих биос видеокарты и материнки
>> No.49698 Ответ
Файл: 75eaec03aa73353bef4944eb17a7edf5-imagepng.png
Png, 570.55 KB, 700×980 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
75eaec03aa73353bef4944eb17a7edf5-imagepng.png
>>49692
> форматированный принт
О-хо, это же сложно же.
И надо же, я не так давно тем же занимался, когда увидел, сколько запутанного непонятного кода в glibc. Только попроще — сравнение строк, поиск подстроки, вот такое, из <string.h>. И немного иначе: ассемблерные функции хранятся в исходниках, компиляция статическая.
> В отладчике дело доходит до sys_write, но в консольке - ничаво.
Сверься с ABI. Для Linux x86-64 надо так:
RAX — номер сисколла;
RDI, RSI, RDX, R10, R8, R9 — аргументы.
Или покажи код.
>> No.49700 Ответ
>>49698
> О-хо, это же сложно же.

Сначала реализация элементарных вывода строки. Далее, простейший парсинг на дескрипторы.
Ну и сам вывод - можно в консоль, диск или буффер. по сути, должен получится sprintf
> И надо же, я не так давно тем же занимался, когда увидел, сколько запутанного непонятного кода в glibc.
Пока не лез в те края, чтобы самому велосипеды придумывать.

> Сверься с ABI. Для Linux x86-64 надо так:
> RAX — номер сисколла;
> RDI, RSI, RDX, R10, R8, R9 — аргументы.
Здесь всё верно, адрес строки в rdi (а пока только он и нужен).
Перед int80h: в a - 4, в b - 1, в c - адрес, d - заранее вычисленная длинна с нулём. Но... увы. Если же вызвать мой велосипед из ассемблерного "мэйна", то всё замечательно. Ума не приложу, как так.
>> No.49701 Ответ
>>49700
> Здесь всё верно, адрес строки в rdi (а пока только он и нужен).
> Перед int80h: в a - 4, в b - 1, в c - адрес, d - заранее вычисленная длинна с нулём.
Да, вроде бы всё правильно. Только если у тебя 32-битная система или компилируешь с флагом -m32.
> заранее вычисленная длина с нулём
Она должна быть без нуля. scasb в этом поможет.
> Далее, простейший парсинг на дескрипторы.
Спецификаторы.

В качестве памятки:
https://en.wikibooks.org/wiki/X86_Assembly/Interfacing_with_Linux
И ещё:
https://en.wikipedia.org/wiki/X86_calling_conventions#cdecl
>> No.49706 Ответ
>>49701
> movq $1, %rax ; use the write syscall
> movq $1, %rdi ; write to stdout
> movq $msg, %rsi ; use string "Hello World"
> movq $12, %rdx ; write 12 characters
> syscall ; make syscall

Забавно, что натыкался на это всё, когда гуглил, но видимо пребывал в полной уверенности, что интерфейсы не отличаются, потому и просмотрел. Разумеется, всё заработало.

> Спецификаторы.
Май бэд.
>> No.49710 Ответ
>>49692-кун узнал, что существуют целые машинные инструкции по строкам. Так что планы по реализации своей стдио.х откладываются до полного ознакомления с оными. Мимо дела - почти полностью переписал string.h. Тут не было никаких проблем.
Не очень понял, как и главное куда записывать отформатированную копию буффера. Первый вариант - буфферизированный вывод (по 4КБ к примеру), но я боюсь, что спецификаторы могут лежать прямо на их границе. Второй вариант - запись в стэк по sp, но в виду очевидных особенностей писать придётся с конца, что разумеется усложняет парсинг (либо вообще делает его невозможным). Третий вариант - в кучу с динамическим наращиванием, но здесь страшно заебать ОС с brk() , если вдруг кто-то захочет Войну и Мир вывести.
Алсо тоже посмотрел glibc, в частности принтф; пока доходил до корневой функции (vbprintf вроде), понял что видел как минимум четыре исходника за время путешествия. Особо не вникал, но судя по всему на асме написаны только системные вызовы. Всё остальное - исключительно Си.

И ещё посоветуйте пожалуйста чтиво про эксплойты, вирусы, резиденты итд. под винду/линукс. Находил много чего подобного, но всё увы под реальную адресацию.
>> No.49712 Ответ
Файл: yande.re-486709-dress-hiten-hitenkei-see_through.jpg
Jpg, 2526.64 KB, 2916×3500 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
yande.re-486709-dress-hiten-hitenkei-see_through.jpg
>>49710
> Не очень понял, как и главное куда записывать отформатированную копию буффера.
Уже отформатированную — то есть, когда спецификаторы заменены, чем надо? Можно выводить, как есть, кусками, прямо по дескриптору. Без промежуточных буферов в программе — потому что у ОС уже есть свои.

> Алсо тоже посмотрел glibc
Там очень и очень запутанно. Советую musl, эта либа проще (не такая блотварная).

> почти полностью переписал string.h
> Тут не было никаких проблем.
Круто же. Залей код, если не стесняешься.


No.47927 Ответ [Открыть тред]
Файл: tumblr_oppvh6XMAq1w6k0rko1_540.gif
Gif, 231.52 KB, 540×304 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tumblr_oppvh6XMAq1w6k0rko1_540.gif
Тред помощи начинающим свой долгий и тернистый путь в дебри программирования. А также необузданных оленей, код-мартышек, выбора ЯП и иных платиновых вещей.
Но в первую очередь всё-таки помощи новичкам. Всё, чтобы зашедший сюда в первый раз мог почувствовать себя как дома.
Главное - без фанатизма.

Предыдущий: >>46762
495 posts are omitted, из них 82 с файлами. Развернуть тред.
>> No.49679 Ответ
>>49678
Собери портфолио. Набей гитхаб своим кодом, тематически близким по должности, к которой стремишься. Изучай рынок труда по интересующей специализации. То есть общайся с людьми, которые уже этим занимаются. Обязательно гугли отзывы: хорошая контора с рабочей карьерной лестницей скорее всего предложит стажировку с минималкой или даже тестером поработать сначала. Не ограничивайся отечественными конторами. Если у тебя на гитхабе твоего кода овер 10k SLOC, можешь в английский и действительно хочешь этим заниматься, вероятность вката стремится к 100%.
>> No.49680 Ответ
>>49677
Прохо понятно, слишком общее описание. Если каждому елементу из множества твоих данных соответствует константное множество дат, в которые элемент может отображаться, добавь к классу этого множества параметр, содержащий множество дат и задавай его значение при инициализации инстансов класса.
Если доступные для отображения дни надо пересчитывать каждый раз, например, после отображения, сделай соответствующий метод.
Детали реализации зависят от твоего шедулера и всего прочего, о котором ты ни слова не сказал.
>> No.49681 Ответ
>>49680
константное множество дат
У каждого элемента одна отметка времени. CreationTime, по факту.
> Если доступные для отображения дни надо пересчитывать каждый раз, например, после отображения, сделай соответствующий метод.
Слишком затратно. Элементов сотни тысяч, и даже на простой экспорт в csv тратится прилично времени.
> Детали реализации зависят от твоего шедулера
On demand, по запросу клиента (наверное стоило сказать, что вебня)
>> No.49682 Ответ
>>49679
Про портфолио хороший совет, давно хотел, а вот гитхаб кажется идиотизмом. Яж не хипстер-вактывальщик какой, подразумевается что кодировать умею, чё там на гитхабе смотреть. Впрочем если мимикрировать под вкатывальщиков, то да. Но до этого уровня пока ещё не опустился.
>> No.49683 Ответ
>>49682
Если ты не фронтендер, который на конструкторе лепит сайты, ссылки на которые может приложить, и без опыта, то гитхаб == портфолио.
Квалификация != опыт.

> подразумевается что кодировать умею
А ты докажи. Покажи код. Умеешь ли ты лепить архитектуру проекта, можешь ли доводить до конца это говно? Для этого и выкладывают всякое в репозитории (ну еще иногда, потому что это херня может кому-то помочь).

Да и
> "у нас нет вакансий под вашу квалификацию"
слишком расплывчато. Было тестовое задание, которое пролюбил? Опыт работы есть?
>> No.49685 Ответ
Как перестать играть в сессионки и начать кодить?
>> No.49688 Ответ
Файл: 1583831849973.jpg
Jpg, 23.74 KB, 601×334 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1583831849973.jpg
Как написать чтото с интерфейсом? Ну хоть калкулятор. В школе только всякая фигня в командной строке была.
>> No.49689 Ответ
>>49688
Если калькулятор, то таких туториалов до жопы, стоит только поискать. Не знаю только на всех ли языках есть GUI библиотеки
>> No.49694 Ответ
>>49688
У питона есть графические библиотеки.

Ну что же вы, кодеры – последний пост 28 марта...
>> No.49697 Ответ


No.49322 Ответ [Открыть тред]
Файл: tenor.gif
Gif, 428.29 KB, 320×240 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tenor.gif
Захотелось попробовать чего-нибудь этакого и написать мелодию, используя исключительно текст. Еще до изобретения этих ваших трекеров программисты каждую нотку прописывали в коде программы. Вот что анон может посоветовать погуглить носкиллу по данному вопросу? Музыку писать-то я умею, а вот программировать нет. Есть ли что-то простое и легкоусвояемое?
14 posts are omitted, из них 1 с файлами. Развернуть тред.
>> No.49347 Ответ
>>49345
Алсо, то что ты описываешь нельзя назвать языком именно программирования. Это скорее лежит в плоскости языков вёрстки и сериализации.
Как ни странно гуглежом по "midi langauge" я что-то нашёл:
http://www.zelsoftware.org -- действительно язык разметки midi-файла. Компилит спец. язык в midi, как ты хотел.
>> No.49348 Ответ
>>49346
Я спокойно пишу музыку сидя с гитарой перед компом и набивая подобранные ноты в гитар про. Но жизнь поставила меня раком из-за работы, и теперь я это делать не могу. В моем распоряжении лишь небольшой угол и старенький ноутбук. Дай, думаю, делать все равно нечего, попробую такой способ. Ведь когда-то давным-давно я делал что-то подобное в школе в логоврайтере и кбейсике. Трекерами я обмазывался, не то, мне хочется именно полного управления клавиатурой без использования мыши.
> Ты ж не описываешь картинки на языке картинок.
Вообще текстовые игры прекрасно описывают картинки с помощью текста, ага.
>>49347
Спасибо. Уууух, интернет нулевых. Почитаю на досуге.
>> No.49349 Ответ
Файл: 12345-Cubase-Pro-...
Png, 120.88 KB, 1918×970
edit Find source with google Find source with iqdb
12345-Cubase-Pro-Template.png
Файл: snap-10.02-3.png
Png, 53.11 KB, 827×726
edit Find source with google Find source with iqdb
snap-10.02-3.png

>>49348
А зачем тебе надо набирать мелодию непременно в виде текста? Что насчет трекеров всяких? Вот например https://www.rosegardenmusic.com/ - им можно открывать и редактировать midi файл. Cubase еще есть, сотни их.
Какого рода преимущество ты хочешь получить от написания мелодий именно в виде текста?
>> No.49350 Ответ
>>49349
> Какого рода преимущество ты хочешь получить от написания мелодий именно в виде текста?
Я уже выше написал, зачем мне это нужно. Нет у меня пространства, приходится ныкаться по углам со старым ноутом, есть возможность только печатать. Про трекеры я уже выше сказал. С нормальным интерфейсом я так и не обнаружил. А ДАВы вообще для написания музыки не предназначены, они нужны для сведения и мастеринга, а не для написания мелодий. Эти миди-паттерны в давах не дают никакого представления об устройстве мелодии.
>> No.49351 Ответ
Файл: Po-ulize-hodila-krokodile.jpg
Jpg, 54.07 KB, 600×491 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Po-ulize-hodila-krokodile.jpg
>>49350
> Эти миди-паттерны в давах не дают никакого представления об устройстве мелодии.
Пифагор его рассчитал, представление твоё, я же ж бросал картинки выше...
>> No.49352 Ответ
Файл: frescobaldi-lilypond-editor.png
Png, 266.82 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
frescobaldi-lilypond-editor.png
>>49350
Т.е. тебе нужен нотный редактор, где эти ноты можно вводить текстом? Попробуй http://lilypond.org/text-input.html http://lilypond.org/easier-editing.html
>> No.49353 Ответ
>>49352
Это тоже прикольно, спасибо.
>>49351
Причем тут вообще пифагор и современные давы?

Ладно, забейте на тему, что я хотел узнать - узнал, спасибо.
>> No.49361 Ответ
>> No.49367 Ответ
>>49322
твой стэк: Assembly, MIDI, VST
>> No.49659 Ответ
мне Sibelius норм заходил, но в сети его сложно найти.


No.49298 Ответ [Открыть тред]
Файл: oie_SohS1tCbFmpd.jpg
Jpg, 15.52 KB, 563×225 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
oie_SohS1tCbFmpd.jpg
У нас есть для каждой задачи куча в целом аналогичных, но всё же значительно отличающихся решений. Причём если с языками и фреймворками всё ещё как-то интуитивно понятно, чем они отличаются, то чем все Хадупы, Касандры и Сфинксы отличаются друг от друга вообще не очевидно. Причём работают они совсем по-разному, но задачи решают, казалось бы, примерно одинаковые. При этом каждая хреновина настолько сложна, что изучать её можно неделями или месяцами, чтобы знать, когда она нужна, и как ей пользоваться. И если потом узнаешь, что есть что-то получше, то недели изучения зря потеряны.

Хотелось бы узнать мысли анона, как определять, что нужно для дальнейшего развития, и что нужно использовать. Как анон вообще выпутывается из этого капкана?
6 posts are omitted. Развернуть тред.
>> No.49315 Ответ
>>49314
> моментально
Я про то, что рождаются и дохнут, не успев документацию написать.
>> No.49316 Ответ
>>49314
Но ведь все и так учат SQL! Никого из кодеров нету, кто бы юзал nosql, но не умел базово юзать mysql какой-ниубдь. У нас пытались внедрить mongodb, якобы будет без схему, проще, гибкие изменения. Было только хуже.
Но ещё ж говорят, что на (очень больших) кластерах производительность nosql выше. И что у некоторых из них выше скорость инсёртов или апдейтов.
>> No.49318 Ответ
>>49316
> Но ведь все и так учат SQL!
У меня для тебя плохие новости: нет. А те, кто учили, позабыли. MySQL я, например, не знаю.

Скорость, которая выше, достигается забивом на отношения и гарантии целостности. Если найдёшь, где в твоей sql-базе такое сделать. всё будет точно так же.
И всё равно вся эта скорость будет смыта в унитаз, когда кому-нибудь придёт в голову сделать ODM. Да, такие есть.
>> No.49330 Ответ
>>49318
Но вообще тред не только про NoSql-решения. Ещё вот эти вот
1) движки полнотекстового поиска (sphinx, elasticsearch)
2) хранилища, сборщики и визуализации метрик и логов (elasticsearch, prometheus, sentry, grafana, graphite, influxdb, etc)
3) брокеры очередей
Тут тоже широкий выбор и фиг знает, что учить.
>> No.49360 Ответ
>>49330
То, у чего больше лайков на гитхабе и твиттере.
>> No.49371 Ответ
Хочу найти флэтфайл-базу типа SQLite, только не с ужасными SQL-таблицами, а монго-подобную, с джейсонами. Всякие "written in Node.JS" мне, скорее всего, не годятся, желательно что-то менее привязанное к конкретному языку, реализованное в виде либы с кучей биндингов для неё (тот же SQLite, опять).

Такое вообще существует? Если нет - как сделать самому? Так, чтобы было быстрее, чем ебать диск на каждый чих, но при этом данные не терялись бы в случае перебоев с электричеством или ещё чего.
>> No.49372 Ответ
>>49371
Плоские таблицы чем не вариант?..
>> No.49373 Ответ
>>49371
В редиске есть персистентность.
>> No.49477 Ответ
>>49371
1.sqlite умеет в json и лучше бы тебе непродуманность схемы устранить, чтоб на грабли не наступать.
2.клоны dbm с обёртками, сериализующими значение в джейсон, сам такую писал раза два на питоне.
>> No.49649 Ответ
>>49371
lowdb, pouchdb.


No.35693 Ответ [Открыть тред]
Файл: Haskell-Logo.svg
Svg, 1.42 KB, 602×425 - Нажмите на картинку для увеличения
Haskell-Logo.svg
Надеюсь, ещё не совсем вымерли упоровшиеся сабжем.
235 posts are omitted, из них 35 с файлами. Развернуть тред.
>> No.46875 Ответ
Файл: 2bcbe14ae2efadfc9...
Png, 33.29 KB, 417×326
edit Find source with google Find source with iqdb
2bcbe14ae2efadfc95267413a710ec4c1480097777262.png
Файл: 3a50cdabf2ff37212...
Png, 25.21 KB, 409×212
edit Find source with google Find source with iqdb
3a50cdabf2ff3721282443bfd82989111480097777263.png

SPJ со своим другом наконец-то разработали недостающую теорию,
открывающую мир нешаблонного параметрического полиморфизма байтоёбским типам со стека:
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/11/levity-1.pdf
>> No.47994 Ответ
>>46875
> 25 November 2016
Ж - живой язык
>> No.47995 Ответ
>>37765
Не знаю как там в 2014, но у нас есть https://ru.wikipedia.org/wiki/Yi_(редактор) и пожалуй ещё https://ru.wikipedia.org/wiki/Leksah
>> No.47998 Ответ
Файл: 1496672176680-g.png
Png, 785.77 KB, 1000×1300 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1496672176680-g.png
>>47995
Но все равно, лучше использовать Emacs.
>> No.48030 Ответ
>>47998
> Основные режимы эмуляции для Yi это vim и emacs.
А вообще какой режим лучше, вообще vim VS emacs что победит?
>> No.49381 Ответ
Бампану, что ли.
>> No.49611 Ответ
>>48030
VS и победит, им пользоваться куда удобнее, да и особых знаний он не требует.
>> No.49612 Ответ
>>44574
Нет и не будет. Hask не является категорией, seq и undefined все портят:
seq (undefined . id) ()
> ()
seq undefined ()
> |
Противоречия!
Больше тут:
https://stackoverflow.com/questions/48485660/is-hask-even-a-category
>> No.49646 Ответ
Расскажите про forkOS. Можно ли через него и mvar'ы пропустить массив данных так, чтобы ленивость массива не терялась?
>> No.49647 Ответ
>>49646
Массив таки список.


No.49448 Ответ [Открыть тред]
Файл: segfault.jpg
Jpg, 48.88 KB, 600×300 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
segfault.jpg
Доброчан, тут возник вопрос. Есть ли какая-то готовая платформа, которую можно развернуть у себя, в которую можно загрузить каким-либо образом скрипт на некотором языке, который она поддерживает ("нормальный" или подмножество "нормального", хотя любой сойдёт), после чего можно будет вызвать его http запросом содержащим параметры и получить результат выполнения. При этом, интерфейс должен быть относительно высокоуровневым (т.е. не а-ля (S|C)GI) и унифицированным, а скрипт должен быть ограничен в плане доступа к системе, кроме некоторого внутреннего хранилища, поэтому условный PHP в чистом виде не подходит. Я мельком проглядел модные serverless'ы, но как-то оно всё рассчитано на aaS и запускает всё это безобразие в контейнерах, что оверкилл для моих хотелок. По каким ключевым словам это вообще искать и, если такого нет, что лучше взять, для того, чтобы на коленке смастерить (пока смотрю на duktape ибо его можно к python'у прикрутить)?
>> No.49449 Ответ
>> No.49450 Ответ
>>49449
И, я не просил фреймворк для веб-приложений в чистом виде. Близко к микрофреймворкам, но с возможностью на ходу добавлять обработчики, ограниченной средой и интерфейсом вроде json-rpc
>> No.49452 Ответ
>>49450
Ну в общем-то подходит, нода + экспресс.
>> No.49453 Ответ
>>49452
Как ты себе это представляешь? Во-первых, как ограничить этот код, во-вторых, мне не нужен весь интерфейс http запроса, потом, разве нода позволит переопределить обработчики на ходу. Так можно и python + flask предложить.
>> No.49454 Ответ
>>49448
Как понимаю, ты хочешь тот же *cgi, вид сбоку. Сбоку в том плане, что кишки парсить не хочешь, а хочешь, чтобы их парсили за тебя.
Ещё ты хочешь разграничение доступа.
Первое ты сделаешь только написав обёртку над тем, что есть, попутно запилив свой протокол с IPC, второе тебе даст MAC.
>> No.49461 Ответ
>>49454
IPC, кстати, на SHM.


No.49446 Ответ [Открыть тред]
Файл: E61EAE9DC1AF99978E0C39C23646F19965A67F28.gif
Gif, 668.98 KB, 400×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
E61EAE9DC1AF99978E0C39C23646F19965A67F28.gif
Скажи доброчан, вот есть сайт, есть на нем форма отправки контента (скажем тот же пост в треде на имиджборде). Вот я нажал кнопку "отправить". Вопроса два:
1) как перехватить и посмотреть что именно передается на сервер когда я нажимаю кнопку
2) как продублировать этот запрос, чтобы можно было отправить то же или немного измененное на тот же сервер.

Хочу попробовать сделать бота который бы централизованно по одному нажатию кнопки разбрасывал мой контент по нескольким разным сайтам.
>> No.49447 Ответ
Файл: vIMMnUn.jpg
Jpg, 174.62 KB, 600×756 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
vIMMnUn.jpg
Простейший способ - девелопер тулс в браузере. Можно смотреть ходящие запросы. Там же есть copy as curl, который сгенерирует параметры для повторения запроса курлом.
Ну и дальше можешь заскриптовать это на шелле или батниках.

Но это так, баловство. Для сириус бизнеса надо на нормальном языке писать.
>> No.49458 Ответ
>>49446
> по одному нажатию кнопки разбрасывал мой контент по нескольким разным сайтам
> то же или немного измененное на тот же сервер
Так тебе и поверим, мамкин хакер. Твоя задача легко не решается. И если бы твой скилл был достатоный, ты бы не задавал свой вопрос.


[0] [1] [2] [3] [4] [5] ... [52] [53] [54]
Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]