[ /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/ ] [ Главная | Настройки | Закладки | Плеер ]

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

No.46762 Ответ
Файл: prev1955.jpg
Jpg, 22.66 KB, 590×442 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
prev1955.jpg
Тред помощи начинающим свой долгий и тернистый путь в дебри программирования. А также необузданных оленей, код-мартышек, выбора ЯП и иных платиновых вещей.
Но в первую очередь всё-таки помощи новичкам. Всё, чтобы зашедший сюда в первый раз мог почувствовать себя как дома.
Главное - без фанатизма.

Предыдущий: >>44688
>> No.46764 Ответ
Файл: ca3ce3bbf76ab3edba760602bd38c468.jpg
Jpg, 64.74 KB, 590×607 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
ca3ce3bbf76ab3edba760602bd38c468.jpg
В предыдущих сериях:
Есть один массив на С, организованный с помощью указателя на указатели. Как создать массив указатель ей, ссыдлающийся на определенные элементы первого массива?

Имеет ли смысл сейчас осваивать pure Win32 API?

Не могу определиться с языком. Хочу выучить их всех.
Основы знаю и применяю в C++.
>> No.46765 Ответ
>>46764
> Хочу выучить их всех.
Лучше этого не делать.
>> No.46768 Ответ
>>46767
Например.
#include <stdio.h>

#define N 32

int main() {
int a1[N], a2[N], *p[2], **pp = p;

for(int i = 0; i < N; i++) {
a1[i] = i;
a2[i] = N - i;
printf("a1[%d]=%d a2[%d]=%d\n", i, a1[i], i, a2[i]);
}

p[0] = a1;
p[1] = a2;
pp = p;

printf("\na2[2]=%d\n", *(p[1] + 2));

return 0;
}
>> No.46770 Ответ
>>46768
Ещё вот как работает, оказывается:
printf("\na2[2]=%d\n", (p[1])[2]);
>> No.46771 Ответ
>>46768
Вот почище пример с доступом через указатель на указатель.
http://paste.lisp.org/display/329859
>> No.46772 Ответ
>>46768
>>46770
>>46771
Нет, ты не понял. У меня уже есть примерно такая структура (отличии от твоего примера там все выделяется динамически). И мне нужно создать новый указатель на список указателей, каждый из которых будет указывать, скажем, на средний элемент каждой строки исходной таблицы. А потом передать это дело в функцию, но тут проблем возникнуть не должно.
>> No.46776 Ответ
>>46772
В чём проблема?
>> No.46777 Ответ
Поругайте код, может я где про..этсамое.
Это сортировка слиянием, на D.

http://pastebin.com/8vTj08Bu
>> No.46778 Ответ
Файл: ccLReuxyz9Q.jpg
Jpg, 54.04 KB, 604×467 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
ccLReuxyz9Q.jpg
>>46772
Я не вижу, в чём у тебя проблема и чего я не понял.
> У меня уже есть примерно такая структура (отличии от твоего примера там все выделяется динамически)
> на средний элемент каждой строки исходной таблицы
Тут ты больше путаницы вносишь, чем проясняешь ситуацию. С терминологией разберись, код покажи.
Какая структура, какие строки, таблицы? В коде по последней ссылке посредством указателя на указатель (который pp) и адресной арефметики ((pp[n])[m]) организован доступ к двум массивам типа int. Если нужно получить значение из второго массива с индексом N/2 через pp, (pp[1])[N/2].
>> No.46779 Ответ
Перекатываюсь из бэ с глупым вопросом. Вопросик по плюсам.
Программка делает вот так вот.
cin >> 004356
cout << 0 0 4 3 5 6
Как можно избавиться от, так сказать, "лидирующих" нулей? Не на одну конкретно комбинацию, а чтобы в принципе не зависимо от того, сколько человек в начале нулей напишет - чтобы все они удалялись. И да, я ультра-бака, язык знаю ужасно, но надо делать. Поэтому хотелось бы не слишком запутанно. Пожалуйста. С меня няши.
Ну и приложу текстовый вариант задания. В принципе не обязательно делать именно через string. Само задание закручено на том, чтобы учиться пользоваться циклами for или while.
"Ввести с клавиатуры целое положительное число. Напечатать его цифры через пробел в прямом порядке (без ведущих нулей)."

#include<iostream>
#include<string>
using namespace std;
int main() {
setlocale(LC_ALL, "RUS");
string N;
cout << "Введите целое положительно число N: ";
cin >> N;
for (int i = 0; i < N.size(); i++) { cout << N[i] << " "; }
cout << endl;
system("pause");
return 0;
}
>> No.46780 Ответ
Файл: 1264126944732s.jpg
Jpg, 9.06 KB, 251×189 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1264126944732s.jpg
>>46779
Забирай число числом, они сами отрежутся, потом перегони его в строку и дальше как ты делаешь.
Или сразу в строку. Тогда надо дополнительную переменную. В твоем цикле пока переменная 0 и символ 0 - пропускаешь, если символ не ноль - в переменную 1 и дальше пошло нормально.
Очевидно же.
>> No.46783 Ответ
>>46779
```
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
string N;
bool leading = true;
cout << "Введите целое положительно число N: ";
cin >> N;
for (int i = 0; i < N.size(); i++)
{
if(N[i] == '0' && leading)
continue;
leading = false;
cout << N[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
```

Либо:

```
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
string N = "";
int i = 0;
cout << "Введите целое положительно число N: ";
cin >> N;

// сначала пропускаем все нули
for (; i < N.size(); i++)
{
if(N[i] != '0')
break;
}

// выводим цифры идущие за нулями
for (; i < N.size(); i++)
{
cout << N[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
```
>> No.46784 Ответ
>>46783
> ```
Что не так, бледь?
>> No.46785 Ответ
>>46784
На доброчане код в два бактика заворачивают.
Но то до апдейта было, сейчас же хуй на рыло.
>> No.46786 Ответ
>>46784
Хуячь на пастебин, разметка давно как сломана.
>> No.46787 Ответ
>>46784
Два акута.
>> No.46788 Ответ
Файл: yakutetno_14.jpg
Jpg, 322.54 KB, 1000×667 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
yakutetno_14.jpg
>>46787
Прочитал как два якута.
>> No.46789 Ответ
>>46783
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
string N;
bool leading = true;
cout << "Введите целое положительно число N: ";
cin >> N;
for (int i = 0; i < N.size(); i++)
{
if(N[i] == '0' && leading)
continue;
leading = false;
cout << N[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
>> No.46790 Ответ
Файл: tumblr_nn0mya6cQo1shpedgo4_1280.jpg
Jpg, 235.32 KB, 1280×823 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tumblr_nn0mya6cQo1shpedgo4_1280.jpg
int main() {
int nItem;
list p, tmp;

printf("\nEnter a list (any character to end input): ");
while (scanf_s("%d", &nItem)) {
push(nItem);
}

/.../

printf("\nPress Enter to exit.");
fflush(stdin);
getchar();
return 0;
}
Почему программа завершается не ожидая нажатия чего либо? Я так понимаю, stdin не чистится, но почему?
>> No.46791 Ответ
>>46790
Шинда?
>> No.46792 Ответ
>>46791
Да.
>> No.46793 Ответ
>>46790
Потому что он не должен чиститься, flush это для вывода, а не ввода.
>> No.46794 Ответ
>>46793
А что же для ввода?
>> No.46795 Ответ
>>46790
У fflush неопределнное поведение, если ей передавать stdin.
>> No.46796 Ответ
>>46795
Как мне очистить поток иначе?
>> No.46797 Ответ
>>46790
А почему не system("pause")? Вроде на этой вашей винде так делают.
>> No.46798 Ответ
>>46797
Ох уж эти университеты.
>> No.46799 Ответ
>>46797
Ну, так только на винде так и делают.
>> No.46800 Ответ
>>46797
Это финиш.
>> No.46801 Ответ
Выяснилось, что, если заменить getchar() на getch(), то все работает. Как так?
>> No.46802 Ответ
Файл: AskingForHelp.jpg
Jpg, 26.42 KB, 460×276 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
AskingForHelp.jpg
Был у меня когда-то полный XAudio SDK от разработчиков, с экзамплами на разных языках, с подробной документацией и прочими прелестями. Но он помер вместе со старым хардом. Может завалялся у кого? Спрашиваю в последней надежде на анона, потому что гугл показывает только мертвые ссылки на мертвых форумах.
>> No.46803 Ответ
>>46798
>>46800
> качественные коментарии по теме
>> No.46804 Ответ
>>46803
Это крики души.
>> No.46805 Ответ
Файл: 221.png
Png, 128.05 KB, 400×272 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
221.png
>>46764
char** source = ...;
char my_array = (char) calloc(sizeof(char*), 10);
my_array[0] = source[0];
my_array[1] = source[4];
...
free(my_array);
Проще представить, что `*char` это `char`.
>> No.46806 Ответ
>>46805
Зафейлил разметку, лол.
http://pastebin.com/W8GeXMSS
>> No.46807 Ответ
>>46800
Проблемы? На стековервлоу именно так советуют делать виндопользователям. На *nix консольные программы запускаются в консоли (неожиданно!), которая сама по себе не закрывается после завершения программы, поэтому костыль с ожиданием ввода с клавиатуры не используют.
>> No.46808 Ответ
>>46807
Кто тебе именно так и советует? По первому результату system pause http://stackoverflow.com/questions/1107705/systempause-why-is-it-wrong
> которая сама по себе не закрывается после завершения программы
https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s05.html
Terminal=true
>> No.46810 Ответ
Привет, тред. Не подскажешь, как спарсить с OSM данные об объектах (интересуют достопримечательности, рестораны etc.) в таком-то городе? По сути нужно получить только их координаты, названия и категории.
>> No.46812 Ответ
Файл: 1478038698098.jpg
Jpg, 243.24 KB, 700×849 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1478038698098.jpg
Насколько нехорошо обманывать заказчика в вопросе о запущенных проектах?
Я на 90% уверен, что его задачу я выполню, но пока спрашивает примеры работ и меня невольно тянет к идее предстваить своим какой-нибудь запущенный проект.
>> No.46814 Ответ
>>46812
Тебя спалят же 90%. Это детская идея.
1) На сайтах везде написано обычно, кто делал
2) Возможно, ещё где-то написано. На сайте делавшей студии, например.
3) Велик шанс, что ты выберешь своими проекты, которые тебе реализовать было бы абсолютно не по зубам.
4) Тебе зададут вопросы по этому проекту и ты не сможешь ответить.
5) Возможно заказчик знает этих ребят сам или может уточнить.
>> No.46815 Ответ
Файл: 14687182937360.jpg
Jpg, 241.67 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14687182937360.jpg
>>46814
Ага, таки решили не хитрить: фронт скинул несколько работ в архивах, охо, а заказчик их съел и согласился работать дальше.
Насколько сложно деплоить настоящий коммерческий проект, если я делаю это впервые? Проект - магазин на Джанго.
>> No.46816 Ответ
>>46814
Я двумаю речь идет о халтуре, а не устройстве на нормальную работу с техсобом. В таком случае заказчик вряд ли будет что-то проверять.
>> No.46824 Ответ
>>46815
Относительно сложно. Или скорее просто долго, может быть. Я не уверен. Я надеюсь, ты знаешь основные связанные с безопасностью вещи? Сложностей много с тюнингом производительности и дырами. В остальном ещё и несколько долго.
>> No.46831 Ответ
Решил от нехуй делать поучаствовать в AI cup'e. Скачал noinstall сборку CodeBlocks с Mingw для винды, открыл стандартный проект и получил `lwc232.lib` not found и ещё 12 аналогичных ошибок при компиляции. В папке с либами соответственно `libwc232.а` Какого хуя и что с этим можно сделать?
>> No.46832 Ответ
>>46831
Ебаная разметка.
>> No.46833 Ответ
Аноны, не подскажете, где взять размеченных датасетов для классификации твитов на инглише? Нужно научить классификатор распознавать твиты на тему путешествий. Гуглится по большей части что-то нерелевантное.

Конечно, можно скачать пару тысяч рандомных и тематических твитов и разметить их ручками, дело относительно нехитрое, но, блин, лень.
>> No.46851 Ответ
Файл: 2016-11-11-015757_1920x1080_scrot.png
Png, 39.61 KB, 1065×551 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
2016-11-11-015757_1920x1080_scrot.png
Запилил юзерскрипт который встраивает в сообщения код\пасту с pastebin и ideone.
https://github.com/tagener-noisu/CodeEmbedding

http://pastebin.com/3Hb6bfNS
При включенном скрипте над ссылкой появится фрейм с текстом, ресайз в нижнем правом углу.
>> No.46852 Ответ
>>46851
Крут. В функции replaceLinks у тебя происходить перебор ВСЕХ линков, можно более конкретизировать селектор, типа a[href^="https://pastebin.com/"]. Также _matchUrl выглядит не очень, а если сервисов будет десяток, тоже копипастить будешь?
>> No.46853 Ответ
> у тебя происходить перебор ВСЕХ линков
Не знал про такую фичу. Попробую.
> а если сервисов будет десяток
Зависит от сервисов, если все будут следовать паттерну domain.com/pASteI, то вполне достаточно будет заменить регулярку чтобы матчила все любые домены, если нет, то переписать не проблема.

Update
* Закоммитил ресайз про который написал, а добавить забыл.
* Пофиксил множественную замену
>> No.46854 Ответ
>>46762
Кто-нибудь работал с R?
>> No.46855 Ответ
Файл: 1478900310089.png
Png, 2.00 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1478900310089.png
>>46854
Я писал недавно парсер для импорта неструктурированных данных.
Весьма ебанутая штука, лол. Так сходу запрыгнуть на него сложно для привычного к мейнстримным языкам человека.
>> No.46856 Ответ
>>46855
> Весьма ебанутая штука, лол.
Еще как. А есть для нее какие-то гайды на русском?
>> No.46857 Ответ
>>46856
А тебе именно скрипты надо? Потому что они там не основное, в общем-то.
Я покуривал эту книжку https://www.nostarch.com/artofr.htm и гугл по потребности. На русском вроде есть тоже какая-то переводная от manning.
>> No.46858 Ответ
Файл: __dustox_and_musashi_pokemon_drawn_by_a_shacho__sa.jpg
Jpg, 246.08 KB, 850×1338 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
__dustox_and_musashi_pokemon_drawn_by_a_shacho__sa.jpg
>>46857
Хочу полноценно разобраться.
Спасибо за за помощь!
>> No.46864 Ответ
Файл: fw.png
Png, 78.46 KB, 425×344 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
fw.png
На саете codescool.com какой-то фри-викенд запилил, стоящая вещь или нет?

https://www.codeschool.com/free-weekend
>> No.46865 Ответ
>>46864
Ну и что ты там за два дня насмотришь? Обычная замануха с перспективой на подписку.
Алсо, на е-лернинг трекерах были недавно паки с этого кодескула, там наверное всё и есть, кроме самого новья. Вроде даже у меня где-то валяется.
>> No.46917 Ответ
Файл: 4949__safe_solo_meme_simple+background_colgate_min.png
Png, 63.82 KB, 469×413 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4949__safe_solo_meme_simple+background_colgate_min.png
Хочу написать программку под шинду, которая будет хранить весь текст, который побывал в буфере обмена. Писать буду на С или С++, хотя для такой маленькой программы даже разницы в коде не будет. В связи с этим у меня возник ряд вопросов. Первый из них: как сделать, чтобы программа запускалась в фоновом режиме? Знаю, что можно из программы запускать другую в виде демона, но это как-то костыльно. Причем, чтобы она не мешала другим программам. Я не знаю, как там это точно работает, но, подозреваю, что придется при каждом нажатии кнопки придется ее обрабатывать, а потом заталкивать код обратно в буфер ввода. Это тоже выглядит как-то криво.
>> No.46918 Ответ
>>46917
Пылко объесняю почему это нинужно.
>> No.46920 Ответ
>>46918
Запускать программу в фоновом режиме?
>> No.46936 Ответ
>>46920
Думаю, он имеет в виду написание такого софта в принципе. Если тебе не для самообучения, то в гугле "windows clipboard history".
>> No.46937 Ответ
>>46917
>>46936
А если все же для самообучения и разбирательства, то гугли AddClipboardFormatListener. Нищенская реализация "фонового" приложения - скрыть консоль или окно на старте через ShowWindow, а саму приложуху записать в автозапуск. Если ты не знаешь "как там это точно работает", то тебе пригодится знать что такое WinAPI.
>> No.46945 Ответ
>>46937
Ясно, благодарю. Да, в основном для обучения, также есть идея другой программы, эксплуатирующей примерно те же моменты.
>> No.46995 Ответ
Файл: 1maxresdefault.jpg
Jpg, 68.80 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1maxresdefault.jpg
Анон, у меня наверное глупый вопрос по части методов обучения.

Прочитал учебник по Java, ясное дело ничего толком не запомнил, вернее не "набил руку" в решении задачек. Проклял себя, полез решать задачки на всяких ресурсах.
И, опять же, ясное дело, практически ничего не могу решить (ну кроме совсем лёгких примеров).
Правильно ли будет подглядывать решение, обдумывать, переписывать и т.д.?
Ну т.е. от этого будет толк и останется что-нибудь в памяти, или пустая трата времени?
И вообще советы по самостоятельному обучению буду рад услышать.
>> No.46996 Ответ
>>46995
Ты читал учебник по Java, а тебе нужен учебник по программированию. Учебник по языку - для тех, кто переходит с одного языка на другой.
>> No.46999 Ответ
>>46996
Твои слова да всем авторам этих, блядь, учебников в уши. Если бы учебники по языку были строго "для тех, кто переходит с одного языка на другой", то такие учебники были бы размером с брошюрку.
мимо
>> No.47000 Ответ
>>46996
Я практически всё понял из учебника, дело в запоминании и применении этих знаний.
>> No.47001 Ответ
>>47000
В том то и дело, что ты не понял то, чего в этих учебниках нет.
>> No.47002 Ответ
Файл: shirayuki_kantai_collection_drawn_by_kanamura_will.jpg
Jpg, 214.82 KB, 730×1299 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
shirayuki_kantai_collection_drawn_by_kanamura_will.jpg
>>46995
> Проклял себя
Вон из профессии.
>> No.47004 Ответ
>>47001
Так что же делать?
Каковы ответы на заданные мной вопросы?

>>47002
Нет. с: девочку считая, не смог не ответить
>> No.47007 Ответ
>>47004
Почитай ещё что-нибудь. Какую-нибудь книгу по программированию. Попытался сформулировать, что именно неполучается. Потом спроси где-нибудь по этой проблеме.
>> No.47008 Ответ
Файл: w_21954a62.jpg
Jpg, 733.26 KB, 1684×1191 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
w_21954a62.jpg
>>46996
> учебник по программированию
Реквестую учебник^W хорошую книжку по программированию, в которой обсасывались бы базовые понятия с примерами.

Алсо - поставьте в шапку уже какой-никакой список "с чиво начать", а то мы вас заебем платиной же
>> No.47009 Ответ
>>47008
Сейчас тебе насоветуют сицпов и хачкелей.
>> No.47010 Ответ
>>47008
На тему "с чего начать" есть диаметрально противоположные мнения. Кто-то будет рассказывать про всякие лиспохаскели, кто-то будет советовать сишарп или бейсик какой-то.

Лично я придерживаюсь точки зрения, что начинать стоит с Си под GNU/Linux или BSD, изучив по ходу дела основные алгоритмы и структуры данных, научившись пользоваться отладчиком, освоив указатели и адресную арифметику. После этого надо немного потыкать в ассемблер, например попробовать написать какие-нибудь простые программы на нем, скомпилировать сишный код в асм и потом его попробовать разобрать и установить связь между одним и вторым.
Дальше уже можно двигаться на свое усмотрение так сказать
>> No.47020 Ответ
>>47008
Из твоего поста совсем не ясно, чем ты планируешь заниматься. Сайты, игры или что.
Мне кажется, лучшее - вот этот видеокурс. За 20 уроков ты выучишь основы языка (все эти циклы, условия, фунции и прочее), выучишь ООП, как пользоваться нужными алгоритмами (сортировкой, мапом, фильтром, поиском и прочее), самые важные паттерны на практике, выучишь, что такое БД, и как ей пользоваться (причем, и в консоли и в коде). То бишь, базовые понятие на примерах.
https://laracasts.com/series/php-for-beginners/episodes/1
Но это для php.
Лучшая книга - официальная документация и твоя практика. В документации всегда есть примеры. Все остальные книги - мусор. Учи основы по видеоурокам, там всегда рассказывают все самое нужное и необходимое для тебя, причем всегда на примерах, и после изучения основ начинай сразу делать то, что тебе интересно. Есть подход, сначала все выучить, а потом начать делать. Ты лучше делай сразу, и учи по ходу.
Никогда не учи что-то наперед, на всякий случай, а вдруг пригодится мало ли, сэкономишь кучу времени. Не бойся говнокода, говнокод это практично, хорошо и нормально, все через это проходят.
>> No.47021 Ответ
>>47008
Так что.
> > "с чиво начать"
С того, что тебе интересно. С видеоуроков, а зачем сразу практики.
>> No.47023 Ответ
>>47020
Во-первых, два чая этому господину.
Во-вторых, действительно не понятно чего человек хочет. После изучения совсем азов (синтаксис, алгоритмы, структуры данных) я бы советовал бы заняться тем что интересно. Писать очередную вакабу, лепить марио или движок для VN. Суть в том, что получается опыт использования языка для достижения реальных задач, раскручивается понимание алгоритмов работы как самого приложения, так и алгоритмов работы с кодом, раскрывается ООП и зачем оно нужно (как его не обзови принципы везде примерно одинаковые). Да, я сторонник обучения через решения реальных задач.
Во-третьих, говнокод, это хотя и плохо, но нужно понимать почему это говнокод, и почему этот говнокод в данном случае сгодится. Как первое так и второе приходит с практикой и работой в количестве больше одного программиста над проектом.
Боятся говнокода не нужно, его просто нужно делать со временем лучше и со временем будет получаться лучше. Почти как рисование (insert any another job). Ну и классическое, через год каждый с вероятностью 95% напишет делающий тоже саомое код по другому. Да и вообще, думать о говнокоде - не задача новичка.
>>47010
> На тему "с чего начать" есть диаметрально противоположные мнения.
Потому что у каждого свой опыт прихода в профессию и свой взгляд как можно это было оптимизировать.
> Си под GNU/Linux или BSD
Имхо порог вхождения довольно высок. Хотя идея, конечно, интересная. С другой стороны я не могу себе представить беспроблемную IDE для новичка на проекте сложене HelloWorld.
>> No.47024 Ответ
Файл: Screenshot-from-2016-12-09-11-43-21.png
Png, 68.56 KB, 682×717 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot-from-2016-12-09-11-43-21.png
>>47023
>>47020
Благодарю вас, достойнейшие господа. Сейчас я прохожу Learn Python The Hard Way. Потом планирую Dive Into его же. И пхп тоже хочу, а перл мне вроде как даже можно в шараге взять курс.

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

Почему питон? Потому что я пилил проект на Raspberry Pi для экзамена по дурацкому предмету в шараге, и с GPIO через питон общаться было очевидно. И еще мой хороший знакомый - питонист - посоветовал книжек.

Я плохо могу но честно-честно попробую в видеоуроки. Формат Learn Python the Hard Way - учеба через практику - меня устраивает.

Сейчас передо мной, как я вижу, стоят две группы проблем:
1 - базовые теоретические понятия + матан
2 - real-world проекты, куда можно будет приложить знания. Я пока не особо задумываюсь над этим, чтобы не потерять мотивацию

Прилагаю кортинку моей первой-единственной погроммой на пейтоне, чтобы достопочтеннейшие господа поняли, с каким дном они имеют дело.
>> No.47026 Ответ
>>47020
Кого ты назвал мусором. Есть куча отличных, которые позволяют не писать говно-код и не ныть потом постоянно, что видете ли ты не можешь поменять код из-за того, что он слишком запутан, как вы постоянно ноете. Начальник, ну пожалуйста, давай обойдемся без этой функции, опять все переделывать! Я не знаю, откуда идут баги! Вот к чему все это приводит. Опыт и практика конечно нужны, их всегда и везде переоценивают, а теорию всегда недооценивать. Не только в программировании. Потом они думают, что у них не получается, так как не хватает таланта, тогда как им не хватает знаний. Потом они ищут себе наставника, тогда как текст легко может заменить живого человека, который вообще не нужен.

Есть Мейерская книга по ООП, есть несколько Фаулеровских книг
, есть Совершенный код Макконела. По структурам данных вроде была книга Кормана.

Вы как хотите, а я вообще ненавижу видео-курсы. Текстовая информация почти всегда лучше чем чья-то устная речь.
>>47023
Для новичков то, для новичков туда. Могу предложить перестать самоунижаться и стать серьёзным человеком с серьёзным отношением к обучению. Цель - стать профессиональным разработчиком ПО, ты не можешь быть новичком вечно.
>> No.47028 Ответ
Файл: 14659246510410.jpg
Jpg, 748.10 KB, 2310×2306 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14659246510410.jpg
> С чего начать
Кхе-кхе. Гм.
>> No.47029 Ответ
Файл: c5.gif
Gif, 3.84 KB, 254×238 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
c5.gif
Кому-нибудь интересен рендеринг графена с нуля? Хочу геометрический движок с генерацией функций графического ренеринга и физических взаимодействий объектов. Графические примитивы, матан, трансляция в GLSL - на таком уровне. Из OpenGL только Compute Shaders понадобятся. Цель - запилить нечто похожее на визуализатор математических выражений, как в Wolfram Alpha, на его основе уже физический сендбокс, а там можно и игоря в качестве побочного продукта. Сам слишком кукоретик, очень медленно костыляю. Но рад был бы хотя бы пообсуждать с таким же кукоретиком тему.
>> No.47030 Ответ
>>47029
Мне интересно было бы почитать, но сам я лошара и ничем помочь не смогу.
мимо ОП треда про числа с плавающей точкой
>> No.47031 Ответ
Файл: deer-dreams-04.jpg
Jpg, 56.75 KB, 534×401 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
deer-dreams-04.jpg
Насколько написание программ под окна отличается от оного под линуса и прочие гну?
>> No.47032 Ответ
>>47031
Поконкретней, пожалуйста.
>> No.47033 Ответ
>>47031
Зависит от фреймворка и языка. Нативно на крестах отличия довольно заметные. На жабе с каким-нибудь FXом в обнимку - не очень.
>> No.47034 Ответ
>>47033
Это если речь о десктопных приложениях, есессно.
>> No.47039 Ответ
>>47033
>>47034
Ясно, это меня и интересовало.

Кстати, а есть ли отличия для низкоуровневых языков?
>> No.47040 Ответ
>>47039
Для них то и будут основные отличия. Для них отличий очень много. Чем больше абстракций, тем сильнее они прячут отличия.
>> No.47041 Ответ
>>47040
> Чем больше абстракций, тем сильнее они прячут отличия.
В идеальном мире.
>> No.47042 Ответ
>>47041
В общем и целом, остальное зависит от конкретных случаев.
>> No.47043 Ответ
Файл: 1459950153524.jpg
Jpg, 399.04 KB, 1024×1255 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1459950153524.jpg
Анон,
есть идея сделать сайт с парочкой ботов, которые бы объединяли и обрабатывали инфу с десятка других сайтов. Никаких сложных вычислений: просто работа с текстами на уровне склеить, найти частые слова и прочая лабуда, сверстать ссылки и картинки на главной.

Вопрос, как это реализовать?

У меня есть распберри, думаю сделать на нём сервер.
Можно ли распберии оставлять постоянно включенным эс из, или же ему непременно нужен вентилятор?
Электричество для них, я так понимаю, копейки стоит при потреблении в 30 Вт час за сутки (в месяц около 1кВт, то есть 5 рублей максимум, верно же)?

Знаю я только питон, но не будет ли это забиванием шурупов?
Нормлаьные люди для подобного РНР используют или что?

Не хочу ебаться с дизайном сайта.
Где брать нормальные шаблоны или даже покупать?
Никаких изысков: менюшка с главной страницей, архивчиком, и about + место для рекламок.

Что сделать, чтобы меня могли найти в гугле?
Почитал всяких сеошников. Они говорят, что нужно соблюдать правила построения текста, включить соцблок и вести твиттер с ссылками. Но достаточно ли этого или нужно ещё реально напрягаться и лезть на всяких форумы и пихать ссылки на свой ебучий ресурс?
>> No.47044 Ответ
>>47043
Крон, бидон, бутстрап.
Гугл сам тебя найдет, сеошникам кол в анус.
>> No.47045 Ответ
>>47043
Таких сайтов как говна. Пользы обществу и пользователям - ноль. Поисковики умеют определять повторы и определять, кто был первым, из-за этого сайт гарантированно будет очень далеко в выдаче, если они тебя вообще не забанят за такую херню. Во всяком случае сами копируемые тексты не будут искаться у тебя, а будут только у тех, у кого ты их скопировал(или у кого они скопировали).
> правила построения текста
Как ты их будешь соблюдать, если тексты тупо копирует бот?
> ещё реально напрягаться
Того, что ты до этого перечислил достаточно будет уже, чтобы тебя более чем "реально" напрячь. На расслабон вообще не рассчитывай, с таким подходом у тебя мгновенно порох закончится.
Без ссылок на твой сайт гугл не сможет тебя в принципе найти, он же по ссылкам ищет, и ты у него в базе не появишься. Вообще да, надо с ними по идее тоже что-то делать.
> Нормлаьные люди для подобного РНР используют или что?
Все люди, делающие сайты, - нормальные, на чём бы они их не делали. Да, тебе хватит php при всех его недостатках, которые не будут видны в этой ерунде, тем более ничего сложнее ты учить не будешь.
На распбери ты убьёшь кучу времени и ничего в итоге не сделаешь. Целей и предметов изучения слишком много.
>> No.47047 Ответ
Файл: test.dec.jpg
Jpg, 869.97 KB, 200×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
test.dec.jpg
>> No.47052 Ответ
>>47040
Ну, я так и думал. Спасибо.
>> No.47054 Ответ
>>47043
Дорогой анончик, у тебя каша в голове.
Использовать для сайта свой сервак, а тем более малинку - плохая идея.
Что с питоном, что с пхп нужно будет использовать фреймворк, так что разница будет минимальна. Разве что, на питоне писать приятнее, но его сложнее деплоить.
Немного сумбурно вышло
>> No.47055 Ответ
>>47043
И кстати, с агрегаторами у тебя врядли что-то выйдет. Гугол не очень к такому относится
Если будут ещё вопросы, можешь найти меня в https://telegram.me/webach
>> No.47056 Ответ
>>47044
бидон?
>> No.47059 Ответ
Нужно ли переписывать код примеров из книг?
>> No.47060 Ответ
>>47059
Нет, лучше писать по памяти что-то похожее. Но его нужно читать и обращать внимание на отличия от того, как бы ты написал. увидел что-то непонятное, останавливаешь чтение и пошёл выяснять. В зависимости от важности определённого куска, который ты не понимаешь. Важность придётся определять самому по контексту.
>> No.47061 Ответ
Файл: tumblr_nwn314nMXn1rhe8jbo1_500.jpg
Jpg, 205.07 KB, 466×700 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tumblr_nwn314nMXn1rhe8jbo1_500.jpg
Есть С. Я хочу считать последовательность символов неизвестной длинны. Как это сделать? gets сразу же переполнение буфера вызывает. В тырнете все решения аля "char stroka[100]", как же у меня горит с них! Что непонятного в словах "неизвестного размера"?! Сейчас я знаю, как сделать с помощью списка. А именно, создать односвязный список, в каждый элемент которого пихать по одному символу. Потом этот список уже преобразовать в строку или сразу с ним сделать, что мне нужно. Но это выглядит как-то костыльно, нельзя ли попроще?
>> No.47062 Ответ
>>47061
1. используй malloc() для выделения памяти, достаточной для N символов. для начала возьми N=100.
2. прочитай N символов в эту память. если входная последовательность закончилась, то выход.
3. если входная последовательность не закончилась, выдели новый блок памяти размером N*2.
4. скопируй ранее прочитанную последовательность в новую память. освободи старую память используя free().
5. возвращайся к пункту 2. будь внимателен и не записывай новые считанные данные поверх старых.

если это задание на односвязный список, то предлагаю в каждый элемент односвязного списка пихать не по одному символу, а по 100. или в первый 100, а в каждый последующий в два раза больше. такой подход оптимален по количеству выделений памяти.
>> No.47063 Ответ
>>47062
Точно, спасибо.
>> No.47064 Ответ
>>47061
То есть у тебя поток? Что мешает использовать стандартные функции работы с потоком?
>> No.47065 Ответ
>>47064
Например?
>> No.47066 Ответ
>>47065
fgetc.
>> No.47067 Ответ
>>47066
Но ведь она считывает один символ.
>> No.47068 Ответ
>>47067
Так тебе и нужно посчитать последовательность символов. Или я чего-то не понимаю?
>> No.47069 Ответ
>>47068
Не посчитать, а считать, в смысле прочитать и записать.
>> No.47070 Ответ
>>47069
Пардон. Тогда >>47062 описал доходчиво. Но динамическое выделение памяти медленное, если тебя это заботит. Можно читать в массив фиксированного размера и сразу обрабатывать, если данные действительно потоковые.
>> No.47071 Ответ
>>47070
Нет, в моей задаче сразу обработать не выйдет. Динамическое выделение меня вполне устраивает.
>> No.47072 Ответ
>>47070
> Но динамическое выделение памяти медленное, если тебя это заботит.
оно может быть "медленным" в определенных условиях. в большинстве случаев оно быстрое.
есть правило, звучащее как "преждевременная оптимизация - корень всех зол". еще есть правило "make it work - make it right - make it fast", то есть: быстродействие - в последнюю очередь.
важно знать асимптотическую сложность всех используемых алгоритмов ("O - нотацию"). быстродействие отдельных операций ни в учебных упражнениях, ни в существенной части реальных задач - не важна.
если выделять память блоками, увеличивающимися в геометрической прогрессии, то количество выделений памяти - O(log N), что простыми словами значит - "быстро".
>> No.47074 Ответ
>>47072
> важно знать асимптотическую сложность всех используемых алгоритмов ("O - нотацию").
Это опять ты? Выделение памяти сложно назвать алгоритмом. Ты ведь с ОС взаимодействуешь (системный вызов, например, нельзя алгоритмом назвать). И в разных реализациях компилятора может быть, а может и не быть оптимизации для конкретного случая. Не надо только про большинство и какие-ниубдь стандарты де-факто.
> в большинстве случаев
> быстродействие отдельных операций ни в учебных упражнениях, ни в существенной части реальных задач - не важна.
> есть правило, звучащее как "преждевременная оптимизация - корень всех зол"
> еще есть правило "make it work - make it right - make it fast", то есть: быстродействие - в последнюю очередь.
Есть абсолютно разные ситуации, в том числе такие, где необходимо думать над оптимизацией на этапе проектировки.
В общем, да, динамическое выделение памяти может не быть медленным. Согласен. И про асимптотическую сложность выделения памяти ты смешно пошутил.
>> No.47075 Ответ
>>47074
> Есть абсолютно разные ситуации, в том числе такие, где необходимо думать над оптимизацией на этапе проектировки
в таких случаях это не называется "оптимизацией".
на этапе проектирования нередко нужно думать о быстродействии. и имеется в виду именно асимптотическая сложность, а не количество тактов на библиотечные вызовы.
бывают и исключения. если ты хочешь поговорить о них, то приведи пример, что конкретно имеешь в виду.

я хочу подчеркнуть, что человеку, который делает упражнения на связные списки или впервые знакомится с динамическим выделением памяти, забивать голову мыслями о "быстродействии" категорически противопоказано.

> И про асимптотическую сложность выделения памяти ты смешно пошутил.
вообще у меня не было цели шутить, поэтому, вероятно, ты просто чего-то не понял.
>> No.47076 Ответ
>>47075
Вот жеж правда говорят, что среди погромистов процент специалистов с зашкаливающим ЧСВ максимален.
Я тоже наслышан о "правиле" не оптимизировать код, пока не накостыляешь тонну говна. Это правило так-то часто приходится слышать от ИТ-идолов из корпоративной среды. Не хочешь - не забивай голову. Ни себе, ни другим.
>> No.47078 Ответ
Файл: 7uZWPOQOM6k.jpg
Jpg, 15.01 KB, 500×335 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
7uZWPOQOM6k.jpg
Хочу написать аудиоплеер который сможет mp3. Собираюсь писать на С/С++ При этом знаю только С на уровне знания всех операторов (вроде бы как), нескольких функций из стандартной библиотеки (которые не имеют никакого отношения к звуку) и написания консольных приложений. На сколько я знаю, С++ не сильно отличается от С, но является более гибким. Так ли это? Если да, то я бы хотел писать на нем. На сколько задача сложна? Что вообще мне нужно? С чего начать? Ах да, под линуксы (конкретно, под дебианом) прогу хочу.
>> No.47079 Ответ
>>46762
Хочу работать С программистом. С не знаю. Достаточно ли изучить его на начальном уровне и написать пару проектов или обязательно получать высшее образование?
>> No.47080 Ответ
>>47079
Никто тебя сейчас си на ходу учить не будет, спрос небольшой и нужны специалисты, а не джуниоры.
>> No.47081 Ответ
>>47079
Ты ничего не можешь выучить кроме одного языка на начальном уровне без помощи образования? Тебе надо знать гораздо больше даже для создания сайтов на пыхе, не говоря уже о си. Без образования обойтись можно. Но это не значит, что программистом стать проще. Это значит то, что программистом стать сложнее, так как за ручку препод тебя не отведёт.
>> No.47082 Ответ
Анон, подскажи хостинг django или rails, желательно недорогой. И заодно, какие версии языка/фреймворка там стоят. Спасибо
>> No.47084 Ответ
>>47082
Я бы на шаред хостинг не надеялся. Для дешёвых поделий на шаред-хостинге для жадин лучше брать пых. Если уж делаешь что-то большое и серьёзное, то нужен отдельный сервачёк, vds или что-то типа. Есть https://www.digitalocean.com, может есть что-то ещё.
>> No.47085 Ответ
>>47080
>>47081
Ясно. Спасибо.
>> No.47086 Ответ
>>47081
На хероку можно бесплатно хостить простенький проект.
>> No.47087 Ответ
>>47086
Мне сайт-визитку надо.
.ru домен можно сделать?
>> No.47088 Ответ
>>47087
Можно. Но нахуя тебе какие-то технологии для визитки? Статики достаточно.
>> No.47089 Ответ
>>47088
Джанго это уже технологией считается?
>> No.47090 Ответ
Файл: 1484242002914.png
Png, 1.42 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1484242002914.png
>>47088
Из технологий мне разве что нужно админку сделать, поэтому хотел джанго.
Ладно, тогда сейчас выучу ларавел.
А раз так, мне нужно будет всего лишь залить папку с проектом на хостинг? Фреймворк - это же куча скриптов внутри проекта?
>> No.47091 Ответ
>>47089
А что же это?
>>47090
Да можешь на чем угодно делать, лол, просто зачем переусложнять?
Насколько я помню, там основано на гите, так что закоммитишь свой проект и оно само деплоит.
>> No.47092 Ответ
>>47089
У нас всё, что имеет название, принято называть технологиями. Не горшками же их называть.
>>47090
На визитку проще чпокнуть cms на пыхе и всё.
>> No.47099 Ответ
Файл: Vu9LQYG.jpg
Jpg, 33.47 KB, 333×480
edit Find source with google Find source with iqdb
Vu9LQYG.jpg
Файл: 1005909611.jpg
Jpg, 53.41 KB, 492×700
edit Find source with google Find source with iqdb
1005909611.jpg

Анон, есть две книги. Я так понимаю, будущему программисту понадобится инфа из обеих? Или хватит одной "Современные операционные системы"?
>> No.47100 Ответ
>>47099
В целом, будущему погромисту ни одна не нужна.
Нужен синтаксис, алгоритмы, структуры, паттерны.
У самого языка может быть в стандартной библиотеки юникс-днище и в придачу шиндовс костыли, по которым и ознакомишься с операционными системами, а может и не быть, если это изолировано за вм.
>> No.47101 Ответ
>>47099
Они очень хорошие и полезные, но в целом можно обойтись без обоих.
>> No.47102 Ответ
>>47100
>>47101
Спасибо.
Может в таком случае подскажете откуда можно почерпнуть общие знания, так сказать.
>> No.47103 Ответ
>>47102
Всякие Корманы, Макконелы, Мейеры, банда четырёх, Фаулеры. Ищи по отзывам в обсуждениях.
>> No.47104 Ответ
>>47099
Эти книги говно, потому что рассказывают слишком много низкоуровневых подробностей, но обходят стороной vlan например.
>> No.47105 Ответ
>>47104
Там вообще что-нибудь про IOS есть?
>> No.47108 Ответ
>>47104
В книге про сети не было про vlan? Да, это теория, а не практика, зато даёт твёрдую основу, ты уже будешь понимать, что и как в реальности происходит. в частности благодаря этому не будешь делать глупых выводов относительно производительности код.
>> No.47109 Ответ
>>47104
https://montcs.bloomu.edu/Readings/Computer%20Networks%20-%20A%20Tanenbaum%20-%205th%20edition.pdf
Написано, что в 4-й главе есть про vlan. Ты уверен в том, что говоришь? Это сети, 5-е издание. Да, есть ещё третья книга этого чувака по сетям, такая же длинная, как и эти две.
>> No.47119 Ответ
>>47105
У смартфонов обработка прерываний не отличается от.
>> No.47129 Ответ
Челлендж. Выучить за завтра с нуля JS (начну сразу с jquery) и написать змейку.
Клавиатурой буду двигать, мышкой ставить еду.
Как все это будет реализовано - пока что не представляю вообще.
Код скину сюда, пожелайте мне удачи.
>> No.47130 Ответ
>>47129
js весьма злоебуч в плане изучения, надо его прохавать, а не брать нахрапом.
Жквери вообще прошлый век, никто им уже не пользуется.
>> No.47131 Ответ
>>47130
> Жквери вообще прошлый век, никто им уже не пользуется.
Про пыху так тоже говорят, ага.

Ты ему предлагаешь angular брать?
>> No.47133 Ответ
>>47131
> Про пыху так тоже говорят, ага.
И что? Имеют право. Попробуй запретить мне также говорить про пыху. Я бы всегда предложил не брать пыху, если только это не сайт-визитка или интернет-магазин.
А jquery, как и ангуляр - не для игр. Может лучше брать какой-нибудь Phaser?
>> No.47134 Ответ
Файл: 1484891744-08.jpg
Jpg, 61.00 KB, 700×525 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1484891744-08.jpg
Котаны, такой вот почти философский вопрос: как кодить не отвлекаясь по 100500 строк кода в день и как научиться адекватно оценивать время на таски, не просрачивая их в итоге?
>> No.47135 Ответ
>>47134
Кодить по 100500 строк - это помидорная техника или что-то еще из раздела GTD. Адекватные эстимейты - это опыт вцелом и знание текущего проекта в частности.
>> No.47136 Ответ
Файл: SVoCPCA.jpg
Jpg, 612.79 KB, 3250×4250 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
SVoCPCA.jpg
>> No.47137 Ответ
>>47135
А есть помидорные таймеры под линуксы (под кубунту в частности) например?
>> No.47138 Ответ
>>47137
На смартфоне удобнее, кмк.
>> No.47139 Ответ
>>47135
>>47137
Раскройте для ньюфага тему поподробнее. Что за таймеры?
>> No.47140 Ответ
>>47139
Вкратце: 25 минут работаешь, 5 минут отдыхаешь.
>> No.47141 Ответ
Файл: 1005538709.jpg
Jpg, 24.22 KB, 700×700 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1005538709.jpg
>>47137
https://www.ozon.ru/context/detail/id/18526907/
Использую линкрелейтед постоянно. В основном для готовки. Механический таймер - это великолепная вещь, никакой таймер на телефоне или компе и рядом не лежал. Потому что можно очень быстро запускать его. И в том числе жирными от еды или мокрыми руками.
>> No.47142 Ответ
>>47140
Ясно.
>> No.47143 Ответ
Файл: 1458450772118612739.jpg
Jpg, 275.19 KB, 1366×768 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1458450772118612739.jpg
Что думаете о расте? Пробовал кто-нибудь? На что похож? Как оно в целом?
>> No.47148 Ответ
Как выучить с++ за месяц? С нуля.
>> No.47149 Ответ
>>47148
0 =========> c++
>> No.47150 Ответ
>>47149
Но если серьёзно, за сколько примерно можно освоить плюсы, чтобы тыкать, к примеру, игровые движки, при условии, что будет выделяться на изучение около часа в день? И что мне понадобиться изучать помимо непосредственно плюсов?
>> No.47151 Ответ
>>47148
Вопрос не имеет смысла.
Будет так, вышла новая версия фреймворка через месяц, ты будешь сидеть и переучиваться. И так всю жизнь, а не один месяц.
>> No.47152 Ответ
>>47150
Лучше садись и тыкай игровые движки, а не задавай глупые вопросы.
>> No.47153 Ответ
>>47151
У них там каждую версию революция и разрушение всего старого в пользу нового? Как-то мало верится.
>> No.47154 Ответ
>>47150
Если час в день, то за пару лет сможешь.
>> No.47155 Ответ
>>47152
Ну, должна же быть какая-то база, как-нибудь более основательно к этому вопросу подойти, или всё хуйня?
>> No.47156 Ответ
>>47155
Чем больше опыта, тем лучше база.
https://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321776402
Вот норм книга с упражнениями и ответами.
>> No.47157 Ответ
>>47156
Окей, спасибо.
>> No.47158 Ответ
>>47157
А лучше начать не с с++, а чего-то более высокоуровневого. Освоить python к примеру, это будет в 10 раз быстрее. А потом переходить на с++
>> No.47159 Ответ
Привет, доброаноны. Расскажите, как вы поняли всякие MVC, MVVM, Singleton, Factory и прочее? Учу реакт потихоньку, часто слышу эти слова, но они почти ни о чём не говорят.
На ангуляре, например, чтобы 2 контроллёра могли обмениваться данными друг с другом есть такая штука, как Сервис. По сути - ящик с двумя методами: положи и дай.
Потом подключаем этот сервис к каждому из контроллёров и кладём/берём данные, когда нужно. Это тоже паттерн Service или что-то другое?
Есть ли простые аналогии для паттернов?
>> No.47160 Ответ
>>47159
> > как вы поняли
Они интуитивно понятны
> > MVC, MVVM, Singleton, Factory и прочее
Об этом нужно думать разработчикам фреймворков в основном, а не кодерам
>> No.47161 Ответ
>>47159
Аналогии - говно для ленивых невежд. У паттернов есть обоснования и области применения. Они описаны в книгах о паттернах. И их нужно учить, а не понимать. И не "по сути", а нормально!
>> No.47162 Ответ
>>47159
Чтобы их понять, достаточно просто использовать объектно-ориентированное программирование. Если у тебя будет хотя бы 10-15 классов, которые по-всякому друг с другом взаимодействуют (создают экземпляры один другого, или передают команды от одного другому), ты сам начнешь эти паттерны понемногу изобретать, и останется только заглядывать в интернет чтобы узнать, какой как называется.
Паттерны вообще очень простые и не нужно их переоценивать. Точнее, их вообще нет смысла учить ради них самих. Если у тебя не возникает в них потребности - то не обращай внимания.
Очень плохо выглядит код, в который начали вставлять "паттерны" только потому, что про них вычитали в книге.

>>47161
Паттерны не нужно ни "учить", ни как-то особенно "понимать". Ими нужно пользоваться, если возникает необходимость. Как штангенциркулем. Или шерхебелем. Но применяй шерхебель там, где нужен молоток. Скорее всего, шерхебель тебе вовсе не нужен...
>> No.47163 Ответ
>>47162
> Паттерны не нужно ни "учить", ни как-то особенно "понимать". Ими нужно пользоваться, если возникает необходимость. Как штангенциркулем. Или шерхебелем. Но применяй шерхебель там, где нужен молоток. Скорее всего, шерхебель тебе вовсе не нужен...
Ну я это и имел в виду.
>> No.47164 Ответ
>>47163
Точнее, я ещё всё-таки думаю, что самому их изобрести не всегда так уж просто, особенно если основных принципов и практик архитектуры ты не знаешь.
>> No.47165 Ответ
>>47164
Для паттернов не нужны "принципы" и "практики архитектуры"; паттерны - это просто названия для конкретных сочетаний классов. Будут они у тебя возникать или нет - зависит от количества классов. Нужно ли знать эти названия? - только чтобы общаться с другими программистами.
Если у тебя есть несколько связанных по смыслу классов, и ты хочешь создавать объекты этих классов где-то в одном месте - то это Factory. Если у тебя есть произвольный класс "предмет" и рядом классы "изображение предмета" и "управлялка предметом" - это MVC. Если у тебя есть класс, экземпляр которого можно создать только один - это Singleton. И т.п.
Это упрощение, но не очень сильное.
Интересный довольно паттерн "визитор", но он встречается не очень часто.
>> No.47166 Ответ
>>47165
Боюсь, с такими минимальным изучением и максимальным упрощением любой новичок будет тупо шуровать всё в один класс и наваливать статик-методы по 500 строк каждый. А потом они говорят, что не хотят ничего менять в своей программе, а "давайте лучше всё заново".
>> No.47167 Ответ
>>47166
Не надо ничего переписывать заново, для этого существует паттерн refactor.
>> No.47169 Ответ
>>47158
Может тогда лучше какой-нибудь li/s/p?
>> No.47170 Ответ
Файл: 326.jpg
Jpg, 43.97 KB, 600×440 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
326.jpg
>>47169
У нас для етово есть паттерн CZalupa.
>> No.47171 Ответ
>>47169
Лисп - говно, лучше Хаскель.
>> No.47172 Ответ
В CL всё ещё самая крутая объектная система, гармонично вписанная в функциональную парадигму, даже если не учитывать MOP. А плюсы всё ещё чисто корпоративный язык, популярный только из-за форса и больших зарплат. В этот чудный век технического прогресса механизация интегрируется только там, где нет народа, желающего въёбывать за совсем копейки. Так же и с программированием. Модно, молодёжно, С++. Зачем все эти расты и питоны, когда можно развивать стандарты вполне рабочих языков?
>> No.47173 Ответ
Анон, а ты читал SICP? Актуален ли он сейчас? Надо ли читать новичку?
>> No.47174 Ответ
>>47172
С++ не так уж и моден, тем более по сравнению с питоном.
>> No.47175 Ответ
>>47172
На лиспе не пишут код, это академический язык, не имеющий совершенно никакого практического применения. Объектная модель в лиспе сосёт с проглотом у smalltalk, java, c#, ruby и даже у js.
>> No.47176 Ответ
>>47173
SICP обогнал свое время на 20 лет. Там все эти лямбды и прочее. Вышла эта книга в 85.
Уже все давным-давно забыли о ней. Просто хабрахабровцы в вк погоне за лайками сгребают все помои с обочины интернета, а потом другие начинают это форсить, чтобы показать, что они умнее, чем оппонент.
>> No.47177 Ответ
>>47173
То есть еще раз.
SICP - это рекомендация для создания языков программирования, там даже в упражнениях есть создание интерпритатора. Просто идейная книга, несколько простых но на то время новых концепций, которые спотыкаются об убогий синтаксис лиспа.
Сейчас все, что есть в lisp, есть абсолютно в любом языке, и лучше. Все, что есть в SICP, есть в официальной документации к любому языку. Поэтому lisp не нужен.
>> No.47178 Ответ
>>47176
SICP изначально использовался как учебник для студентов в каком-то сшашном вузе. Но потом пошел в люди.
А в самом вузе его давно заменили на курс по бидону.
>> No.47179 Ответ
>>47175
Lisp - это семейство языков. Кложура - тот же лисп, только на JVM. У лиспа нет объектной модели вообще. Я писал про CLOS и MOP Common Lisp'а, с которыми ты, понятное дело, не работал вообще.
>>47173
Ты начни хотя бы читать. Там сразу станет ясно, нужно оно тебе или нет.
>> No.47180 Ответ
Прочтите хотя бы про принципы DRY и SRP. Если вы начнёте хотя бы использовать тупо эти два самых примитивных принципа, которые можно выразить двумя предложениями, то это уже хорошее подспорье для серьёзной архитектуры программы. Не книга, а, хотя бы, два предложения!
>> No.47181 Ответ
>>47180
Не, кроме SRP еще нужно использовать OCP, LSP, ISP и DIP. А еще нужно помнить что global and static are evil.
>> No.47182 Ответ
>>47181
Да и много ещё есть полезного, но вот это два на уровень чисто "ну хотя бы", супер-минимальный кодера, для самых бомжей, кто на отрез отказывается учить и читать что-то.
>> No.47187 Ответ
>>47173
> Анон, а ты читал SICP? Актуален ли он сейчас? Надо ли читать новичку?
Я читал SICP после того, как лет пять уже занимался программированием. Эта книга изменяет представлеие о мире. Только после этого понимаешь, что такое на самом деле "функция" и что такое "объект" и как все это работает и почему. Взгляд на уже известные языки меняется, и новые после этого учатся на раз-два. Потому что книга объясняет базовые принципы, которые ни в одной книге про конкретные языки программирования не затрагиваются.

>>47177
> это рекомендация для создания языков программирования,
Это попросту неверно, SICP - это фундаментальный учебник для желающих разобраться, как и почему программы вообще работают.

>>47178
> в каком-то сшашном вузе.
В MIT - одном из лучших технологических вузов мира.
>> No.47190 Ответ
>>47187
> В MIT - одном из лучших технологических вузов мира.
Насколько я знаю, сейчас его не преподают?
>> No.47191 Ответ
>>47190
Кого не преподают? Это книга, а не предмет или наука.
>> No.47192 Ответ
>>47190
> Насколько я знаю, сейчас его не преподают?
>>47191
> Это книга, а не предмет или наука.
Это книга - вузовский учебник, то есть, университетский курс. Насколько я знаю, его и сейчас преподают.
Какое-то время назад они то ли поменяли, то ли хотели менять язык программирования, на котором в курсе приводятся примеры и упражнения. У этой идеи есть как положительные, так и отрицательные стороны. Но речь шла именно о "языке программирования, на котором в книге даются примеры", не о чем-то большем.
Например, вводные курсы по Scala от Мартина Одерски используют множество упражнений из SICP.
Книга посвящена не какому-то специфическому языку программирования, а вычислениям и программированию в целом. Тот факт, что заодно знакомишься со Scheme (LISP), идёт как приятный бонус.
>> No.47193 Ответ
Какую математику дают в ВУЗах на околокодинговых специальностях?
>> No.47196 Ответ
Файл: TcUqxrTIIf8.jpg
Jpg, 54.19 KB, 764×1024 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
TcUqxrTIIf8.jpg
>>47193
Нинужную.
>> No.47197 Ответ
>>47193
Везде разную. Определяется левыми пятками чиновников и преподов. Почти всегда устаревшую и неполную. Культ Карго в чистом виде. ну не могут они в умные умности, им подавай продавать.
>> No.47198 Ответ
Файл: 2017-01-31_150803...
Png, 44.85 KB, 646×2791
edit Find source with google Find source with iqdb
2017-01-31_150803.png
Файл: 2017-01-31_152546...
Png, 11.88 KB, 761×501
edit Find source with google Find source with iqdb
2017-01-31_152546.png

>>46762
суп анон, я пытаюсь исследовать виртуальное адресное пространство доступное процессам в шиндовс, Вопрос, вот я получит примерно таблицу регионов с их атрибутами на пике, почему на некоторых регионах в протекте стоят нули (1) и что эти нули значат? вопрос номер два , почему у некотрых регионов AllocateBase стоит на 0x00000000 , хоть они и не первый регион (9), и что означает AllocateBase я так понимаю это регион к которому должны принадлежать страницы региона , но так как регионы полученные не соответсвуюют нулевому региону как соответсвующие страницы могут принадлежать нулевому региону?

PS: регионы я различал по отличию их атрибутов, кусок кода прилагаю на втором пике .
>> No.47199 Ответ
>>47198
Тебе нужно ботать книжки по реверсингу, а не исследовать.
>> No.47200 Ответ
>>47199
а оп делу есть чего ?
>> No.47201 Ответ
>>47193
Обычно такую же как и на мех-матах и фез-техах, т.е. олскульную, академическую, почти не имеющую применения в современности.
>> No.47202 Ответ
>>47193
Вычислительную, дискретную?
>> No.47231 Ответ
Файл: Jython.png
Png, 66.48 KB, 597×255 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Jython.png
Что почитать по программированию в общем? Оно мне надо, если я начинающий быдло^Mдоброкодер? Хочу знать, как все работает, подозреваю, пригодится, ну и вообще интересно.
>> No.47232 Ответ
>>47231
«У меня для тебя плохие новости» (c)

Операционные системы: Эндрю Таненбаум, Ричард Стивенс (есть на русском),
Компиляторы: Terence Parr, Richard Bornat (книги на английском),
СУБД: Алан Бьюли, Мартин Гарднер, Том Кайт есть на русском),
и т.д. и т.п.

По каждой отдельно взятой ОС и по каждому я/п — разные книги.
Часто они противоречат одна другой, т.е. что считается «правильным» в одном я/п того нет в другом.

У меня в коллекции около сотни книг. И каждую полезно было бы прочитать...
>> No.47233 Ответ
>>47232
> было бы
Лол.
>> No.47234 Ответ
>>47231
Этот стиль скобочек просто мандец какой-то.
>> No.47235 Ответ
>>47232
Спасибо, посмотрю.

>>47234
;}

Алсо, интересно, какие методы программирования сейчас используются? На википедии большой список, он весь? Наслышан об ООП, вроде бы что-то сложное, поясните за него в двух, хех, словах. На википедии той же непонятно.
>> No.47236 Ответ
Файл: MacApp2.png
Png, 6.33 KB, 583×367 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
MacApp2.png
>>47235
Википедию пишут википидоры, у них 90% непонятно.
ООП зарождалось как на рисунке, именно эта библиотека называлась MacApp, её почти точная копия — Delphi.
Сейчас эти методы... всё там же, в общем, и используются. Да будет срач, но чем дальше от окошек и формочек, тем пользы от ООП меньше и меньше.
>> No.47246 Ответ
>>47235
Надоело уже на одни и те же вопросы отвечать. Поищи книги по именно по ООП и прочти просто одну-две первых глав, мотивация в самом начале написана. Что сейчас используется можно узнать в вакансиях.
>> No.47251 Ответ
>>47234
А мне вот что мандец:

> > System.out.println(String.valueOf(a))

Что в переводе на Питон print(a).
>> No.47252 Ответ
>>47251
Потому что ты пишешь короткие программы, которым при этом не нужно ручное управление памятью и по факту не нужна скорость. Выбор инструмента не вписывается в задачу.
>> No.47253 Ответ
>>47252
printf(a)
>> No.47256 Ответ
Файл: 11.png
Png, 3.42 KB, 364×146 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
11.png
Что происходит в С, если вызвать fclose(f) без f = fopen("myfile", "r")? То есть, у меня есть функция выхода из программы, которая все освобождает и все закрывает. Но может так получиться, что fopen фейлится, и программу надо бы закрыть. В этом случае VS выдает такую ошибку. Это нормально? Что ему от меня нужно?

Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';?if(!tmp) вместо if (tmp != NULL)? Объявлять переменные где попало^W^W перед использованием, а не в одном месте?Инициализировать переменные во время/сразу после объявления без особой необходимости? Типа присваивания 0 какому-нибудь счетчику цикла, так, на всякий случай, или -1 переменной, значение которой предполагается положительным. && и || в if, если можно сделать вложенные if?
>> No.47265 Ответ
>>47256
> Это нормально?
Нет. Инициализируй f в NULL, после естественного закрытия тоже в NULL выставляй, а в функции выхода проверяй, является ли f non-NULL.

> Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';
Да.

> if(!tmp) вместо if (tmp != NULL)?
Нет, но эти строки делают противоположные вещи

> Объявлять переменные где попало^W^W перед использованием, а не в одном месте?
Так и надо

> Инициализировать переменные во время/сразу после объявления без особой необходимости? Типа присваивания 0 какому-нибудь счетчику цикла, так, на всякий случай, или -1 переменной, значение которой предполагается положительным.

В контексте предыдущего пункта у тебя не должно быть такой ситуации

> && и || в if, если можно сделать вложенные if?
Если ты пытаешься проверить одновременное выполнение двух условий, то, да, && лучше, чем if (...) { if (...) {}}
>> No.47266 Ответ
>>47256
> если вызвать fclose(f) без f = fopen("myfile", "r")
если ты используешь язык C, попробуй "man fclose" в командной строке линукса или в гугле.
вкратце - по стандарту ничего плохого не произойдет.
то что VS выдает ошибку - ненормально. это следствие того, что microsoft целенаправленно не соблюдает стандарты.
предполагаю, что ты используешь язык C++. в таком случае тебе не нужны функции fopen/fclose, используй файловые потоки из <fstream>.

> Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';?
в языке C - нет, в языке C++ - да

> if(!tmp) вместо if (tmp != NULL)?
нет, не является

> Объявлять переменные где попало^W^W перед использованием, а не в одном месте?
нет

> Инициализировать переменные во время/сразу после объявления без особой необходимости?
нет

> Типа присваивания -1 переменной, значение которой предполагается положительным
да, является; используй беззнаковый тип, вроде unsigned int или size_t

> && и || в if, если можно сделать вложенные if?
нет, наоборот, вложенных if следует избегать
>> No.47267 Ответ
>>47266
Ясно.

> > Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';?
> в языке C - нет, в языке C++ - да
У этого различия есть какие-то основания, кроме сложившейся традиции? Я на С пишу, что там в С++ происходит — не знаю.
>> No.47268 Ответ
>>47267
> У этого различия есть какие-то основания, кроме сложившейся традиции?
основания представляют чисто академический интерес (0 имеет тип int, '\0' имеет тип int в C, тип char в C++).
практической роли не играет.
>> No.47269 Ответ
>>47265
Понятно.
>> No.47270 Ответ
>>47256
В VS нет Си, только С++.
>> No.47271 Ответ
>>47270
Вообще-то есть, только очень древнего стандарта
>> No.47319 Ответ
Как на С лучше писать: "string[i+1] = '\0'; i++" или "string[++i] = '\0';"? Второй вариант лаконичнее и оптимальнее, но в нем легко допустить ошибку, и выглядит он чуть менее читаемым.

Почему тут спрашиваю только я? Неужели у других нет глупых вопросов?
>> No.47320 Ответ
>>47319
> лучше
Если стандарту похуй, объективного "лучше" нет. Если ты работаешь в команде, стиль кода оговаривается заранее. Если один, пиши так, как тебе понятнее.
У меня есть только неглупые.
>> No.47321 Ответ
Файл: Ada_Lovelace_portrait.jpg
Jpg, 2238.31 KB, 2439×3504 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Ada_Lovelace_portrait.jpg
>>47319
> Неужели у других нет глупых вопросов?
Почему никто ещё не поздравил Августу Аду Кинг (урождённую Байрон), графиню Лавлейс, первого программиста в истории, с 8 марта?
>> No.47324 Ответ
>>47321
Разве сам создатель машины не программировал?
>> No.47326 Ответ
>>47324
Запутанная история. Почитал Википедию и ГикБрейнс – так и не понял до конца, нужно больше почитать на эту тему.
>> No.47329 Ответ
Зачем кастовать маллок к указателю на структуру, если всё равно идёт присваивание адреса?
Например
pstruct->pptr = (struct блабла )malloc(sizeof(struct блабла) блабла);
>> No.47330 Ответ
>>47329
Присвоение указателю адреса память не выделяет, просто указатель будет хранить адрес который ты ему даёшь. Если ты хочешь, чтобы у указателя был адрес, по которому выделена память, выделяешь память. Всё очевидно, по-моему.
>> No.47331 Ответ
>>47329
Возможно на разных архитектурах поинтеры указывают на первый или последний байт, поэтому каст будет менять значение поинтера, хз кароч.
>> No.47332 Ответ
Файл: 1.png
Png, 17.69 KB, 681×114 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1.png
Не знаю, где спрашивать: тут или в /lor/. В общем, оставил себе IDE Codelite, и в нем при компиляции появляется такая вот ошибка. То есть, компилирую я из него, а не из консоли, стандартные аргументы запуска не трогал. Погуглив, я понял только то, что у каждого эта ошибка появляется из-за своей особой причины, и то что проблема в линкере. Я не понимат, помогайте.
>> No.47334 Ответ
>>47332
1. Не путаешь ли ты где-нибудь языки C и C++? Компилятор у тебя g++ (т.е. для C++), а файл main.c должен быть на языке C. Проверь все настройки, что везде указан один и тот же язык.
2. С объявлением функции main() все в порядке?
>> No.47335 Ответ
>>47332
На ideone залей чтоли код например.
>> No.47336 Ответ
>>47334
>>47335
Та же среда под шиндой этот же проект компилирует без ошибок/предупреждений, и он работает.

> 1
Действительно, хотя, вроде бы везде указывал gcc. Так или иначе, после смены компилятора проекта туда-обратно, ошибка пропала. Спасибо.

Но появилась другая уже, видимо, чисто системопроблема. Если запускать программу из среды (build and run), то окно терминала не появляется. Так и должно быть? Просто в шинде, в той же среде cmd открывается автоматически. В любом случае, в настройках есть параметр про использование встроенного терминала, так вот если его активировать, то терминал появляется, и сообщает "/bin/sh: 1: ./B5133: Permission denied". Я так понимаю, проблема в правах. Я прописывал sudo chmod -R +x в папку с проектом (точнее, с воркспейсом, в котором лежит проект), и 777 тоже пробовал, но ничего не изменилось. Чяднт? Программа консольная, на вход получает два файла в виде аргументов командной строки и читает их (только чтение), потом внутри себя производит некоторые манипуляции, выводит пару строк в консоль и завершается, вроде бы ничего криминального.

Алсо, вопросы по программированию. В С и С++ объявления "тип *argv", "тип argv[]" и тип argv[][]" абсолютно идентичны, да?
Чем отличается unsigned от size_t?
>> No.47337 Ответ
>>47336
На винде ты наверно цомпилируешь чем-то отличным от gcc. С какими опциями смонтирована файловая система, где лежит проект?
>> No.47338 Ответ
>>47337
Спасибо, смонтировал с defaults, все заработало.
>> No.47339 Ответ
Файл: 8415433-smart-cat-working-at-the-computer1.jpg
Jpg, 77.83 KB, 1200×798 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
8415433-smart-cat-working-at-the-computer1.jpg
Есть ли какой-нибудь второй язык программирования после питона, для, например, скриптов или веб-серверов?
Или оставшиеся альтернативы действительно умирающие, потому что все остальные перешли на питон?
>> No.47341 Ответ
>>46762
>>b/4788813
У меня тупой вопрос по околошкольному программированию на pascal.abc.net
Если я создаю тип переменной 1..n1 (n1 константа) то могу ли я его сравнивать с переменными типа integer ?
Вообще могу, но я всё никак не пойму правильно ли это делать.
>> No.47343 Ответ
Насколько сложно запилить игру, с графикой как в Дварф Фортресс, то есть из символов. Так вот, чтобы она работала в терминале. Если что, не знаю, как ДФ работает на линуксах, и работает ли вообще. Знаю, там можно накатить раскрашивание терминала, тогда других ограничений я не вижу. Ну, на винде такое не прокатит, в связи с этим еще вопрос. Насколько сложно запилить эмуляцию нужных для игоры свойств терминала в винде?
>> No.47344 Ответ
>>47339
Perl, lua, ruby, php, javascript, bash.
>> No.47345 Ответ
Файл: characterkids.png
Png, 5.75 KB, 512×384 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
characterkids.png
>>47343
Никогда таким не занимался, но могу предположить что вот с цветастым терминалом проблем должно быть меньше всего. А если писать на каком-нибудь питоне, то эта штука возможно у тебя получится сразу кросплатформенной без дополнительных мучений.

Но вообще я хотел тебе просто вот эту ссылку дать http://www.roguebasin.com/index.php?title=Articles - это вики посвящённая разработке рогаликов, возможно там есть ответы на твои вопросы (и не только про цветастый терминал).

К примеру вот туториал на питоне http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python%2Blibtcod - первая глава там как раз посвящена "графике". Я её по диагонали пролистал и вроде как оно под win/linux/mac подходит.
>> No.47346 Ответ
>>47345
Спасибо.
>> No.47350 Ответ
>>47343
Линупсячие эмуляторы терминалов - это зло. "Текстовый графон" в DF, C:DDA и прочих пилят на том же SDL и правильно делают. С терминалами имеет смысл связываться, если ты хочешь, чтобы твою игру можно было через SSH с кофеварки играть. Как это с Nethack (NAO): достаточно любой минимальной UNIX-like ОС с SSH-клиентом, чтобы залогиниться на сервер и начать играть. Но вообще виртуальные терминалы костыльны максимально, они больше ебли дают, чем универсальности интерфейса. А с запилом ядерного DRM/KMS - и подавно.
>> No.47353 Ответ
>>47350
Да, идея именно в запуске без графической оболочки. Про SSH не подумал, действительно хорошая идея.

> Nethack
Интересно, надо будет посмотреть.
>> No.47354 Ответ
>> No.47355 Ответ
>>47344
> Perl
А он жив?
> lua
Разве это не встраиваемый язык для программировантя WoW?
> bash
Какие есть программы для отсылания POST?
>> No.47356 Ответ
>>47355
1. Уже не столь популярен.
2. Не только.
3. http://curl.haxx.se
>> No.47357 Ответ
>>47356
А Ruby?
Говорят, что Руби только из-за Рельсов был популярен, а сейчас и Рельсов нет.
>> No.47358 Ответ
>>47357
Всё так. Перл полезен как язык общего назначения для всяких автоматизаций и администраций, и вообще, это часть юниксов. А руби без рельс не пришей пизде рукав. Хотя остались утята, которые там что-то мутят.
>> No.47359 Ответ
>>47358
Ну например из комманд лайн проектов можно вспомнить vagrant и brew. Вообще у руби богоподобно няшный синтаксис, но самый большой минус - низкая производительность, даже если альтернативными вм типа rubinius обмазаться.
>> No.47360 Ответ
>>47358
Что мешает поставить Руби так же как и Перл и использовать? Только без эмоций, по аргументам. И что значит "часть юниксов"? Ты же точно так же устанавливаешь пакеты, чтобы им пользоваться. Почему они утята и что они не так мутят? Чего не хватает на Руби, что есть на Перле? И что не так с Рельсами? То, что про них не орут на каждом углу, не значит, что "Рельсов нет".
>> No.47361 Ответ
>>47360
> Что мешает поставить Руби так же как и Перл и использовать? Только без эмоций, по аргументам. И что значит "часть юниксов"? Ты же точно так же устанавливаешь пакеты, чтобы им пользоваться.
В том-то и дело, что в любом дистрибутиве линупсов-юниксов есть искаробочный перл, потому что некоторые части сделаны на нем и зависят от него. Потому и часть юниксов. Даже гит завязан на перл. И зачем тогда специально ставить руби?
> Почему они утята и что они не так мутят?
Потому что пришли во время хайпа на рельсы (который начался раньше доминирования питона) и остались.
> И что не так с Рельсами? То, что про них не орут на каждом углу, не значит, что "Рельсов нет".
Рельсы начали всё это движение с веб-фреймворками и со временем это пизданули в все популярные языки, а само рельсокоммюнити сдулось. А потом последний гвоздь в крышку гроба рельс вбила нода, которая выпнула рельсы и заняла их нишу хипсторско-передовой технологии.
>> No.47362 Ответ
Увлекался программированием, изучал алгоритмы, учил матан. Зашел в ваш сосачевский мывамперезвоним-тред - сразу отвращение к будущей профессии появилось. Как теперь с депрессией бороться? Неужели все действительно так плохо? Галеры, нет времени после работы и все такое.
>> No.47363 Ответ
>>47362
А ты не делай программирование своей будущей профессией.
Или сосач не читай.
>> No.47364 Ответ
>>47362
Это сосач. Он всегда портит настроение. Он просто всегда так делает. А знаешь что ещё важно? Эти люди, которые портят настроение в интернете, с высокой вероятностью делают и в жизни то же самое. А теперь представь, что ты, например, девушка, и он тебе портит настроение. Теперь ты понимаешь, почему у битардов проблемы?
>> No.47365 Ответ
>>47364
Хуя ты копнул.
>> No.47366 Ответ
Файл: 4fc8i35.jpg
Jpg, 79.67 KB, 480×470 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4fc8i35.jpg
>>47362
> Неужели все действительно так плохо?
Да. Но если ты действительно увлёкся и тебе прям по душе то будет пикрелейтед.
>> No.47367 Ответ
>>47366
Ты кидаешься в крайности.
>> No.47368 Ответ
>>47367
Нет, картинка очень в тему. При чём не только в плане погромизма.
>> No.47369 Ответ
>>47366
> > я веселый паренёк
В смысле педик?
>> No.47382 Ответ
Как перезаписать переменную из под скрипта веб-страницы? С учётом того что сделать это нужно сразу после её определения в скрипте, принадлежащем странице. Так как она там же за считанные секунды будет утилизироваться.
Т.е. без всяких onload и event listener-ов.
>> No.47383 Ответ
>>47364
Так ведь битард и есть девушка.
>> No.47384 Ответ
>>47383
Я про людей, которые пишут в этом треде. Почему-то в нашей компании программиста очень трудно найти, даже с низким уровнем навыков, а вот в глазах тех, кто никогда не искал программиста, их всегда "как собак нерезаных". Вот я вообще не знаю, как это работает. Всех всегда "как собак нерезаных", пока ты их не ищешь, а потом они раз - и куда-то пропали.
>> No.47385 Ответ
>>47384
Потому что в глазах любых эйчаров ты всегда говно, если не набиваешь себе цену и не живешь на позитиве. Тут царит особый, никем не понятый цинизм.
Это отношение точно никуда не денется даже с реальным недостатком программеров. Компания ощущает на себе недостаток квалифицированных кадров, кадры ощущают роботизированную мясорубку. "Каждому - своё", гласит надпись на концлагерных воротах.
>> No.47386 Ответ
>>47385
Эйчары вообще очень интересные бывают иногда. И они, между прочим, очень сильно портят репутацию психологии как дисциплины и, с вашего позволения, науки.
>> No.47387 Ответ
>>47386
Алсо, ещё хотел сказать, что чаще всего о том, что кодеров много, слышишь в баре с кружкой пива, когда говоришь, что ты кодер, своим друзяшкам. И они такие презрительно:"Вот, вас так много развелось". Кодеров тем больше, чем ты дальше от кодинга.
>> No.47388 Ответ
>>47383
А это вообще финиш, дальше падать девушке некуда. Даже бытиё спитой сорокалетней дешевой шлюхой не так позорно. Никогда не женюсь на бабе, сидящей на бордах.
>> No.47390 Ответ
Похоже, классическим примером применения стека является проверка правильности расстановки скобок в некотором выражении. Чем в этом случае стек лучше функции, где вместо переменной и массива объявлена только переменная int, функция идет по строке и увеличивает этот int, если скобка открывается, и уменьшает, если закрывается, проверяя неотрицательность переменной, а когда строка кончилась, проверяет, равна ли переменная нулю? Кажется, я раньше в какой-то момент понял, но теперь забыл, что понял, и теперь думаю, что стек только хуже тем, что наличие >N подряд открывающихся скобок создает проблемы.
>> No.47391 Ответ
>> No.47392 Ответ
>>47391
Не, это понятно, ну а с одинаковыми скобками?
>> No.47393 Ответ
>>47392
С одинаковыми будет и так как ты описал работать.
>> No.47398 Ответ
Файл: Clipboard01.png
Png, 3.03 KB, 622×175 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clipboard01.png
>>47390
У каждой открывающей скобки должна быть закрывающая того же вида, однако автомат помнит лишь своё предыдущее состояние, поэтому, достигнув восьмой скобки, он забывает, в какое состояние ему возвращаться. Стэком расширяют автомату память.
>> No.47399 Ответ
>>47398
Откуда эта пикча?
>> No.47400 Ответ
Файл: Clippy.png
Png, 123.77 KB, 362×335 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clippy.png
>>47399
Ты не поверишь.
>> No.47401 Ответ
Файл: Clipboard02.png
Png, 95.19 KB, 434×241 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clipboard02.png
>> No.47403 Ответ
>>47401
Я и говорю.
>> No.47404 Ответ
Имеет ли смысл в Си/с++ использовать для счетчика цикла, который не превосходит определенного небольшого значения тип unsigned short или даже unsigned char? Подозреваю, последний случай считается плохим стилем и без особой нужды так лучше не делать.
>> No.47405 Ответ
>>47404
Не вижу смысла. 32/64-битной машине 8/16-битные значения погоды не делают, т.к. обрабатываются они так же, как и 32/64-битные.
>> No.47409 Ответ
Оперативную память загружают только переменные и константы, а процессор нагружают операции?

>>47405
Ясно.
>> No.47412 Ответ
>>47409
Эти вопросы очень тяжело предсказать. Ты уходишь в очень тонкие дебри. Чтобы на них ответить, нужно разбирать конкретную машину, конкретную ОС и конкретный компилятор. В целом скорее да, почти. Но это очень приблизительно.
>> No.47414 Ответ
>>47341
В Паскале разве есть производные типы и их иерархии? То, о чем ты говоришь, — подтип, та же самая сущность, что и оригинальный тип, но с другим именем и опционально имеющая ограничения по диапазону.
>>47404
Ну, компилятор под эту переменную может поюзать низкоразрядный регистр. А может и не поюзать. Смотри документацию на компилятор.
>>47409
Память загружают данные, процессор — инструкции MOV с этими данными. Остальное можно считать статистически незначимым. :o)
>> No.47418 Ответ
>>47409
Переменные и константы - это термины уровня ЯП, а вопрос, если я правильно понимаю, о технической организации хранения данных и вычилительного процесса. В ЦП есть своя память, даже несколько уровней, один оперативнее другого. Регистры - это тоже ячейки памяти. Короче, Таненбаума почитай, например.
>> No.47419 Ответ
Допустим, мне нужно считать из файла данные, а если файл не открылся, получить их из stdin. Насколько удачной идеей будет сообщить, что файл не найден, предложить ввести данные, а затем указателю на файл присвоить stdin и считывать? Это экономит несколько строк кода, но я не уверен, будет ли это правильно работать.

>>47414
>>47418
Спасибо.
> :o)
Это смайлик со вторым подбородком?
>> No.47421 Ответ
>>47419
Чтобы читать stdin, вместо имени файла надо задавать "-".
>> No.47422 Ответ
Файл: Мистер_Бин.png
Png, 328.48 KB, 465×524 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Мистер_Бин.png
>>47419
На клиентской стороне не должно быть разницы, откуда читать. У меня и то, и другое имеют тип FileType и можно сделать просто SetInput (StandartInput); loop GetImmediate (Symbol); case Symbol is ... end case; end loop; Учитывая, что модуль Text_IO наполовину состоит из импортированных сишных подпрограмм, то же должно быть верным и для тебя.
<-
>> No.47423 Ответ
Файл: 853759-cirno.jpg
Jpg, 14.74 KB, 320×320 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
853759-cirno.jpg
>>47421
>>47422
Ничего не понял. У меня такая задача: считать и разобрать данные, а потом произвести над ними некоторые манипуляции. А считываются они по дефолту из файла, а если такового нет, то юзверю предлагается ввести их вручную. Вопрос в том, нормально ли написать FILE *F; ... F = stdin; (ну или F = fopen("-", "r")), или лучше отдельно расписать случай считывания, без использования F вообще, строго через stdin и использующие его функции?
>> No.47424 Ответ
Файл: bean.png
Png, 45.54 KB, 104×358 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
bean.png
>> No.47437 Ответ
>>47423
> Вопрос в том, нормально ли написать
Да, это на планете Земля давно известно.
>> No.47441 Ответ
Как так может быть, что у меня на линуксе с codlite и gcc программа работает нормально, а на древнем ПК с ХР и visual studio 2008 она падает с сегфолтом? Может и не с сегфолтом, я уже ни в чем не уверен. Суть такова, что на линуксе я написал и отладил программу, перенес ее на старый ПК, обнаружил сегфолт, снова стал тестить на нормальном ПК и сегфолта не появилось. Тестить на старом я не могу, за время, которое у меня было выяснилось только то, что программа падает при абсолютно корректных входных данных. И то, что ошибка возникает, когда переменной char c, почему-то getc(f) присваивается значение. Могут это быть проблемы кодировки входных файлов?
Вообще, вот программа, если кто-то найдет ошибку, было бы хорошо, а так, прогоните у себя ее, посмотрите, что будет. На вход она получает два текстовых файла и ищет самое длинное слово, которое есть в обоих файлах. Сегфолт был при наличии как такого слова, так и прочего мусора в файле (то есть подразумевается, что такой случай будет самым частым и нормальным).
https://gist.github.com/anonymous/22f514bd7e5b16ae857a82b10c3af0c9

Алсо, сейчас нашел еще ошибку при пустом первом файле, потом исправлю, сейчас некогда. Вероятно она не связана с описанной проблемой, ведь сейчас при корректных файлах все работает.
>> No.47442 Ответ
>>47441
Да, забыл выпилить объявление структуры и указатели, тестил без них, разумеется.
>> No.47443 Ответ
>>47441
Нет вот чтобы объявить переменные как массивы char[1024] в области стека. Обязательно нужны malloc и free, а потом анон удивляетьса что ЭТО падает с сегфолтом.
>> No.47444 Ответ
>>47443
А вдруг слово длиннее?
>> No.47445 Ответ
>>47441
Так она падает или не падает, ЯННП? В чём проявляется «падение»?
>> No.47447 Ответ
>>47445
В том, что на одном компе падает, а на другом не падает. И доступа к тому, ПК, на котором она падает у меня сейчас доступа нет, но сдавать мне ее, вероятно, на нем. Падение заключается в том, что дебагер сообщает о недопустимом обращении к памяти (на сколько я помню, об этом, проверить по описанной выше причине не могу).

Похоже, придется сделать вторую версию со статическим массивом, если в следующий раз (завтра) все опять пойдет не так, и я не успею все исправить.
>> No.47448 Ответ
>>47447
Я особого криминала не вижу, так что, вероятно, или у студии кривой malloc, или у препода кривая память.
>> No.47449 Ответ
Если кому-то интересно, я понял в чем проблема. Сегодня у меня было больше времени, и я разобрался. Это был не сегфолт. Оказалось, что у ранних ВС вызывает лютое непонимание сравнение знакового и беззнакового типа. К слову, у ВС15 такой проблемы нет,он обращает на это внимание в процессе компиляции, но даже не оформляет как предупеждение.
>> No.47450 Ответ
>>47449
1. У тебя нигде нет такого сравнения.
2. Машина при сравнении регистров X и Y проводит операцию X' ← X; Y' ← Y; X' ← X' - Y'; и вывешивает флаги в регистре статуса, ей безразлично, что ты положил MSB у регистра B признаком знака числа — она такими понятиями не оперирует.
>> No.47451 Ответ
>>47450
Действительно, тупанул. В общем, сейчас нагуглировал ошибку, но из-за чего она происходит никто не пишет. "Debug Assertion Failed File:\dd\vctools\crtbld\selfx86\crt\src\isctype.c Expression: (unsigned)(c+1) <= 256". Точнее кто-то пишет, что дело в забытом месте под символ разрыва строки (при чем он вообще здесь?), кто-то про то, что в isalfa поставляется значение аргумента больше 256, но я в файлах даже русские буквы выпилил, на сколько помню. Если в первом случае имелся ввиду нулевой символ, то это многое объяснило бы: выход за пределы файла, пихание в isalfa мусора, который может быть больше 256. Но тогда не понятно почему такого ни разу не происходило в других средах и программа работала корректно. Очень странно, что даже разные версии студии относятся к ней по-разному.
>> No.47452 Ответ
>>47451
Ты живёшь в нулевых и за интернетом с почасовой оплатой ездишь с коробкой дискет на почту в облцентр? msdn.microsoft.com кому даден, там всё расписано по всем версиям студии, включая соглашения по типам данных.
>> No.47453 Ответ
Файл: ice_fairy_sister_cirno__create_swf_character__by_f.png
Png, 208.00 KB, 1137×677 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
ice_fairy_sister_cirno__create_swf_character__by_f.png
>>47452
> msdn.microsoft.com
Там ничего не понятно, еле для 15-го нашел, для остальных не вижу.
Еще одно предположение: проблема в том, что getc возвращает int и теоретически (но как?) может вернуть отрицательное значение? Но ведь оно должно привестись к беззнаковому char. Ведь оно присваивается с, которое char. И раньше таких проблем не было, и было бы странно, если были, судя по назначению функции. Что за бред.
>> No.47454 Ответ
>>47453
Я с продуктами Microsoft не работал, но слышал, что подобные фичи у них в норме вещей. Вплоть до того что бывает несоответствие стандартам IEEE в "профессиональных" релизах. И MSDN единственный ресурс, где можно узнать наверняка.
>> No.47455 Ответ
Где находятся name сервера, хранящие IP адреса сайтов?
Можно ли запустить сервер с доменным именем, никому не заплатив?
>> No.47456 Ответ
>>47455
В разных местах. Вот гугловский DNS сервер, например: 8.8.8.8 .
Существует такая штука, как подмена DNS, так что вероятно да, можно.
>> No.47457 Ответ
>>47456
> подмена DNS
Я так понимаю, она ведётся на уровне прописки какого-то левого сервера как name сервера на чьём-то компе.
Тут вот пишут:
https://en.wikipedia.org/wiki/Conficker

> Variant A generates a list of 250 domain names every day across five TLDs.

Этот вирус делает подмену DNS или же что-то иное?
>> No.47458 Ответ
Файл: iuS0O.jpg
Jpg, 41.00 KB, 432×633 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
iuS0O.jpg
Доброкодер, помоги доучиться наконец и подержи за ручку. Горят лабы по машобу и OpenCV(С++). В школке хорошо если расскажут что вот есть такие функции в библиотеках, а с остальным разбирайтесь сами, мы каждую неделю будем проверять.
Ищу того кто поможет разобраться что надо делать и как.
noulife@cock.li
>> No.47459 Ответ
>>47458
Просто вы все переоцениваете курсы и человеческую речь. Вы все. Письменность рулит, бери да читай.
>> No.47460 Ответ
>>47455
> никому не заплатив
Да. Например, раньше в зоне .tk бесплатно раздавали домены (может и сейчас раздают, х.з.).
>> No.47461 Ответ
>>47455
Если клиенты, которые заходят на твой сайт, пропишут твой домен у себя в хостах, или если ты поднимешь DNS-сервер, а они пропишут ip твоего DNS-сервера у себя в настройках сети, то можно. Смысл в том, что рандомные люди, которых ты не знаешь, а так же поисковики, будут использовать общие DNS-сервера, которые используют все. И тебе надо, чтобы твоё доменное имя туда попало. Чтобы туда попала строчка, сопоставляющее купленное застолблённое доменное имя и твой ip, куда оно будет перенаправлять. Можно вообще не использовать доменное имя, а пихать ip-адрес прямо в строку браузера.
Есть сервисы, которые дают на халяву домены второго уровня типа .cu.cc. В зоне ru домен стоит сто рублей в год.
>> No.47462 Ответ
>>47455
За топовую зону надо заплатить регулятору, там вроде в районе нескольких или нескольких десятков килобаксов. Географические бесплатно раздавали.
Потом тебе делегируют управление ей и нужно держать сервера. Ну и можешь опять же отдавать сегменты ниже кому-то другому под управление.

>>47457
Нет, он генерирует списки псевдорандомных доменов, чтобы в случае отема мусорами оригинального домена не потерять управление. Если надо, регистрируется один из них и продолжается использование.

>>47459
Курсы намного дороже из-за более сложного производства, потому кажутся круче, лол.
>> No.47463 Ответ
>>47462
> Курсы намного дороже из-за более сложного производства, потому кажутся круче, лол.
Можно посмотреть отзывы на книгу на амазоне и на хабре, скачать книгу с торрентов. Возникнут вопросы - можно задать на SO. Кругом одна сплошная халява.
>> No.47465 Ответ
>>47463
В целом надо отличать сириуз бизнес сертификации, которые зачастую оплачивает контора. Там просто проштудировать книжку-кирпич зачастую недостачно, нужно дрочить всякие лабы, практические занятия и т.д. Эти курсы могут стоить оче дохуя.

А массовые сервисы типа линды, удеми и прочих больше для казуальных потребителей. Может быть, что какой-то индус прочел книжку по питону с торрентов и перессказывает своими словами с ужасным акцентом, лол. Тогда да, книга лучше.
>> No.47466 Ответ
>>47465
Да, практика тоже нужна, я забыл упомянуть. Но опять же, установить все необходимые тулзы, а потом самому что-то делать, тренироваться. Задачи придумываешь от балды, экспериментируешь, либо в книгах они есть. По большому счёту и без задачника обойтись иногда можно, просто что-то делаешь, повторяешь что-то из книги, решает типовую задачу.
>> No.47467 Ответ
>>47466
Ну под какой-то энтерпрайз или пентест ты вряди ли годно сделаешь тестовую игрушку. Тут нужен уже специалист.
А на вагранте поднять какой-то похапе и прочий тулчейн, это да.
>> No.47475 Ответ
Есть одна лаба, и завтра последний день ее сдачи. Она должна быть на С или С++. Одним из дополнительных заданий является отрисовать трехмерную модель многогранника, который у меня есть в виде координат вершин, оси координат и координаты вершин. Можно использовать нестандартные библиотеки. Я нашел подходящую http://plib.sourceforge.net/index.html . В частности SG и FNT? Но они для С++, а у меня вся программа на С. У меня есть минимальные знания о плюсах, так что перенести уже готовое не должно составить труда. Дело в том, что эт ООП библиотека, на сколько я могу судить. Это будет нормально, если у меня половина программы чисто функциональна, а другая опирается на классы? Это вообще будет работать? Я в ООП не шарю, мы его еще не проходили.
Нужно ли при переносе мне прописывать какие-то неймспейсы, если да, то как?
Может вообще есть какая для С, с которой все будет просто сделать то же самое?
>> No.47476 Ответ
>>47475
Это с нуля пишется довольно просто. За исключением функционала, инициализирующего графен, и если освещение граней не нужно делать, а только line'ами отрисовать скелет, там геометрией школьного уровня всё сделать можно. С геометрией могу подсказать, если что.
>> No.47477 Ответ
>>47476
Я не писал ни одной программы с какой бы то ни было графикой и не представляю, как это делается. Сомневаюсь, что у меня есть время на велосипеды, особенно учитывая, что это не единственное задание, на другие тоже уйдет какое-то время, хотя их я уже придумал как написать.
>> No.47481 Ответ
Всем кто хочет стать программистом, вот кулстори с двачей о том как важа жизнь превратиться в рабство:
> обычно рабочий день до 6, еще надо до дома доехать, пожрать. итого перед нормальным сном останется 2-3 часа. Этого хватит только комп включить и охуеть, что скоро надо идти спать.
> > с 16 до 00:00 у тебя 8 часов ебучего времени
Студент много?
Во первых, с 8 до 17ти.
Во вторых, Чтобы попасть на работу в 8, надо в лучшем случае встать в 6. А для этого лечь в 10 вечера.
На деле же, поездка в офис может занимать больше часа.
К 18, допустим, в идеальном случае, ты попадаешь домой.
Тебе нужно поужинать, приготовить еду на завтра, искупаться, вымыть посуду, этом инимум 2 часа, если все остальное ты делаешь на выходных. Того уже 20 00. 2 часа остается чтобы исступленно посмотреть анимцо, например, и уйти спать.

На деле же, обычно пред сном есть ровно час свободного времени.
>> No.47482 Ответ
>>47481
Тащемто это обычный график большинства офисных (и не только) работников. Для кого-то это действительно стало шоком?
>> No.47483 Ответ
>>47482
ЛОЛШТО. Я прочитал это и понял, что всё состоит из фреймворков, даже небо, даже Аллах.
>> No.47484 Ответ
>>47482
Ну это просто больше на рабство какое-то похоже, чем на работу.
>> No.47486 Ответ
>>47482
> и не только офисных
А у не офисных может и хуже оказаться - с 6 утра или вообще какой-нибудь уёбищный график сутки-через-трое.

>>47481
> больше часа на дорогу
Проблемы Нерезиновки? Да и кто мешает одинокому программисту снять квартиру поближе и/или ездить на работу не в час пик, а часам к 10-11?
>> No.47487 Ответ
>>47481
> Во первых, с 8 до 17ти.
График с 9 вполне распространён.
> Чтобы попасть на работу в 8, надо в лучшем случае встать в 6
Зависит от расстояния. По-разному. Два часа - это много.
> Тебе нужно поужинать, приготовить еду на завтра, искупаться, вымыть посуду, этом инимум 2 часа
Готовить каждый день не обязательно. Холодильник и микроволновка есть. И 2 часа - это много.
>> No.47488 Ответ
>>47484
Так с любим видом занятости, если ты работаешь ради денег.
>> No.47489 Ответ
Файл: Безымянный.jpg
Jpg, 197.78 KB, 734×839
edit Find source with google Find source with iqdb
Безымянный.jpg
Файл: Безымянный2.jpg
Jpg, 163.61 KB, 961×626
edit Find source with google Find source with iqdb
Безымянный2.jpg
Файл: Безымянный3.jpg
Jpg, 99.49 KB, 810×1080
edit Find source with google Find source with iqdb
Безымянный3.jpg

Анон, объясни мне метод Хоара. Это же нерабочая хуита, совсем. Пикрил, то, как он описан у меня в методичке. И он не работает, вот второй пикрил. Потому что, как только оказывается так, что приходится передвигать опорный элемент, он оказывается где-то в заднице, и возможно собьет порядок. А из-за l++ r-- счетчики могут этого не заметить. Вроде очевидно, убрать эти операторы во вложженом, который после if на l<r именно так этот алгоритм описан на Википедии и ряде других сайтов Тогда это будет работать. Но как только в массиве окажутся 3 одинаковых элемента опорный, и два одинаковых по краям прога впадет в бесконечный цикл, меняя местами те крайние. В комментах заключена моя попытка найти ещё один способ перемещения ебучих элементов как на картинке страницы, посвещенной методу Хоара на Вики. Но и он не работает, пикрил третий. Я понимаю суть метода Хоара, но как нормально менять эти элементы я не понимаю. Это просто какой-то пиздец. Помогите реализовать. Нужно именно методом Хоара.
>> No.47490 Ответ
Файл: Quick_Sort_Generi...
Png, 14.25 KB, 709×642
edit Find source with google Find source with iqdb
Quick_Sort_Generic-Partition.png
Файл: Ada-95-Style-and-...
Png, 28.47 KB, 738×666
edit Find source with google Find source with iqdb
Ada-95-Style-and-Quality-guidelines-for-profession.png

>>47453
> оно должно привестись к беззнаковому char.
> беззнаковому
> char
Родина дала тебе K&R, читай K&R... (http://zelslonik.info/quote/3)
>>47489
Ну есть у меня рабочий, держи. И ещё: используй подпрограммы, Люк, это удобно.
>> No.47491 Ответ
Файл: 8EphjWnZtKk.jpg
Jpg, 69.28 KB, 604×453 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
8EphjWnZtKk.jpg
На С есть какая-то возможность удалить кусок из текстового файла, не перезаписывая весь остальной файл?
>> No.47492 Ответ
>>47491
Это не к С вопрос, а к ФС.
>> No.47493 Ответ
>>47492
Тогда так: есть ли такой способ, простой в реализации, для любой не экзотической для шиндовса ФС?
>> No.47494 Ответ
>>47493
Адаптированные для SSD ФС должны именно так работать. В шиндовсе не эксперт. На уровне ЯП всё остаётся по-прежнему, если ты не свою ФС костыляешь, конечно.
>> No.47495 Ответ
>>47494
Ладно, будем переписывать.
>> No.47496 Ответ
>>47490
Что за подпрограммы? Функции? Использую, функция сортировки. Ты можешь объяснить, как ты меняешь? И почему везде этот метод описан неправильно? Я даже не знаю, на каком языке твой код.
>> No.47497 Ответ
>>47496
> Что за подпрограммы?
Мы вам перезвоним.
> почему везде этот метод описан неправильно?
Чтобы ты хоть немного начал думать, студент, а не ограничивался образованием ассоциаций на перцептивном уровне аки голубь. За зерно ты почему-то работать не хочешь.
> Ты можешь объяснить, как ты меняешь?
From left side of given set ``Container (From .. To)`` search an element that not less than pivot. From rigth side search an element that not greater than pivot. If subsets ``Container (From .. Left)`` and ``Container (Right .. To)`` intersects, exit from search loop; otherwise swap founded elements and repeat search. After exiting from search loop split given set by two non intersecting subsets and repeat procedure on both. Quite easy, right?
> Я даже не знаю, на каком языке твой код.
Жизнь жестока, да. Ты думал, тебе тут родят код, который ты отнесёшь преподу и получишь зачёт?
>> No.47498 Ответ
> опорный элемент, он оказывается где-то в заднице
Ему не обязательно оставаться на одном месте, он может оказаться в любом, хоть в начале/конце.
> возможно собьет порядок
Нет. Элемент, который ты помещаешь на его место - это такой элемент, на котором не сработало условие из пары циклов. Порядок с боков, слева от i и справа от j остаётся правильным. Порядок элементов между ними, посередине, тебе не интересует, ты до них не дошёл. Алгоритм идёт с боков внутрь, а не слева направо.

Как у тебя на последнем шаге на бумаге тройка попала не на второе место, а на третье? Запасись терпением.
>> No.47499 Ответ
Файл: zad.png
Png, 64.44 KB, 1149×174 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
zad.png
Есть одна задача пикрелейтед. Нашел решение к ней, вот оно:
C# http://ideone.com/zC6i5V
pascal http://ideone.com/0h4e2l

Вроде понятно, но не понимаю, как мы пришли к выводу, что число действий = p+q+r? Что за действия тут вообще считаются?
>> No.47500 Ответ
>>47499
Ну, в худшем случае, когда общего элемента у массивов нет, тебе надо p элементов сравнить с q и r элементами. В общем случае будет O (pq + pr) если положить, что `type Relation is (GreaterThan, Equal, LessThan); function Compare (Left, Right : Number) return Relation;`. Если допустить, что p = q = r, O (pq + pr) = О (2p^2). Если заранее известно, что массивы неубывающие, то перебирать каждый из оставшихся p раз не имеет смысла, отсюда и получается O (p + q + r).
>> No.47501 Ответ
>>47497
Нет, серьезно, что такое подпрограммы? Функции и операторы? И не выебывайся, я просто плохо помню ненужную терминологию.
>>47498
Все, починил. Мне просто нужно было сделать исключение для массивов из 2х элементов, на которых начинался бесконечный цикл.
информатика убивает
>> No.47502 Ответ
>>47501
Нет, анон, я все равно не понимаю. Написал как в методичке, и получается вот это. В итоге, программа дает верно отсортированный массив, но я не понимаю, где тут метод Хоара. Ведь даже на первой сортировке опорный элемент улетает в конец, слева от него есть как большие, так и меньшие, то есть, своей конечной позиции опорный элемент не занял. Но все равно, какие бы массивы я не пробовал, всегда выходит отсортированный массив. Почему?
>> No.47503 Ответ
Файл: Безымянный.jpg
Jpg, 196.72 KB, 1280×1024 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Безымянный.jpg
>> No.47506 Ответ
>>47503
Форматирование кода у тебя ужасно сделано
>> No.47510 Ответ
>>47502
Это магия. Поищи более серьёзную книгу, если тебя это так сильно интересует. С мат. доказательством.
>> No.47511 Ответ
>>47506
А что с ним?
>> No.47512 Ответ
>>47502
Возьми Автокад, нарисуй какие-нибудь яблоки разных размеров и посортируй их руками.
>>47510
Хорошая шутка, лол. Там идея проще пареной репы же.
>> No.47513 Ответ
>>47512
Ну во всяком случае, в мат. доказательстве будет расписано более подробно всё. Так что уже нельзя будет не понять. Поэтому я решил предложить.
>> No.47514 Ответ
>>47511
Ну, ты исходник выложи куда-нибудь, я тебе покажу, что там не так. Не буду ж я файнридером распознавать или руками там перенабирать все это
>> No.47515 Ответ
>>47513
Не совсем так. Математическое доказательство концентрируется на доказательстве корректности алгоритма, а не на донесении самой идеи до чукчи-студента которому, суко, лень и над кодом порассуждать, и в английскую педивикию слазить, т.е. хорошо работает тогда, когда «я понимаю идею, но не верю, что она работает всегда»; когда понимания нет, доказательство лишь больше запутывает.
>> No.47516 Ответ
Тут есть кто-нибудь, кто разбирается в архитектуре программ? Вот говорят, что нужно скрывать от клиента реализацию, а насколько далеко имеет смысл в этом сокрытии заходить не говорят.
>> No.47517 Ответ
>>47516
Совершенный код Макконела, книга про ООП Бертрана Мейера.
>> No.47518 Ответ
Файл: Alice.Margatroid.full.396266.png
Png, 240.17 KB, 723×831 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Alice.Margatroid.full.396266.png
>>47516
Пользователь программной подсистемы и клиент должны видеть ровно то, что им необходимо для работы с подсистемой штатным путём, и ничего сверх этого. Не стоит в клиентской части показывать кровавые детали внутренней реализации потому, что они сбивают пользователя с толку, ухудшая читаемость, и могут постоянно меняться на протяжении всей жизни подсистемы, особенно если за простым интерфейсом скрывается довольно сложный программный комплекс. Исключением могут стать простые подсистемы, состоящие из одной-двух частей и предоставляющие один интерфейс, например, реализация стэка или очереди, однако здесь, опять же, пользователю бесполезна информация о самом механизме хранения элементов. Если подсистема является производной от какой-либо сторонней подсистемы, хорошим тоном будет указание данного факта в явной форме, т.е. если, например, клиентские типы являются производными от типов сторонней подсистемы, их определения не прячутся, а указывается полностью, поскольку подсистему-родителя могут поставлять совсем другие люди.
>> No.47519 Ответ
>>47514
Я другой анон, просто интересно.
>> No.47520 Ответ
Анон, есть ли системная вендовая функция, возвращающая название (не символ) клавиши по ее виртуальному коду?
>> No.47521 Ответ
>>47516
«Шаблоны корпоративных приложений» Мартина Фаулера еще.
>> No.47522 Ответ
>>47520
Вряд ли. Есть в всяких заголовочных файлах, сделай обратную табличку.
>> No.47523 Ответ
Файл: img.jpg
Jpg, 99.17 KB, 1220×1850 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
img.jpg
>>47516
http://www.adaic.org/resources/add_content/docs/95style/95style.pdf — внятные ответы на ваши вопросы.
>> No.47526 Ответ
>>47519
Например отступ (идентация) в куске где if(r<l). Можно подумать что этот if выполняется в цикле while() который чуть выше

Отсутствие отсупов в арифметических выражениях и сравнениях, например там:
if((a+first)<(a+last))
Лучше сделать
if((a + first) < (a + last))
и так далее

Еше например это
sort(a,first,l)
print(a,first,last)
я обычно ставлю пробелы после каждой запятой. Но вообще это все решается всяким автоформатированием (типа GNU Indent, clang-format и проч), который часто встраивается в IDE/редактор, но можно и отдельно вызывать
>> No.47532 Ответ
Если я не понимаю математические формализации, всё плохо?
>> No.47533 Ответ
>>47532
Если ты не понимаешь толстые книги по компьютер сайенс, то всё ок. Макаки нужны всем и будут нужны.
Но если ты набиваешься в илитку, то без этого никак.
>> No.47534 Ответ
Что такое математические формализации? Доказательства верности алгоритмов?
>> No.47538 Ответ
Файл: 812cadd0d92211d3628804ce73241f18.jpg
Jpg, 40.28 KB, 500×500 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
812cadd0d92211d3628804ce73241f18.jpg
Есть один проект на пэхэпэшечке, в нем для всяких задач виндоуз-девелоперы развели пахомию с десятком bat-файлов вида ``php ./такой-то-криптец --с-такими-то-параметрами``, я всё это дерьмо вынес в один Makefile, но они говорят что "это неудобно, не хотим ставить цыгвин, хотим тыкать мышой".
Собственно вопрос, есть ли по винду(7,8,10) изкоробочный скриптовый ЯП с поддержкой рисования гуя?
>> No.47539 Ответ
Файл: 09d3e2ade407320a30dc192520c04357.jpg
Jpg, 439.53 KB, 600×848 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
09d3e2ade407320a30dc192520c04357.jpg
Горит лаба, курс читается и математикам, и кодеркам, только математикам разжевывают как на питоне что сделать, а мне (не совсем бидуро-, такими-то методами, но кодерку) говорят что математику должен знать.
Есть сгенерированные данные по равномерному распределению, надо с помощью Maximum Likelihood Estimation найти такие параметры нормального распределения, чтобы оно максимально совпадало с данными из равномерного. В конспекте много математических формул, которые у меня не получается перевести в алгоритм, как это сделать?
Дальше идут задачи на... минимализацию логарифмированных функций вероятности, что я тоже не понимаю, и мои острые сожаления о том что не брал пару лишних курсов математики.
>> No.47540 Ответ
>>47539
Забашляй какому-нибудь сэмпаю за лабы чо.
>> No.47541 Ответ
Файл: Ia.jpg
Jpg, 188.47 KB, 1280×1024
edit Find source with google Find source with iqdb
Ia.jpg
Файл: Ib.jpg
Jpg, 209.36 KB, 1280×1024
edit Find source with google Find source with iqdb
Ib.jpg
Файл: II.jpg
Jpg, 225.42 KB, 1280×1024
edit Find source with google Find source with iqdb
II.jpg
Файл: III.jpg
Jpg, 190.73 KB, 1280×1024
edit Find source with google Find source with iqdb
III.jpg

Анон, я тот кун, который спрашивал про метод Хоара. И у меня опять проблемы, на этот держи файл кода, если захочешь помочь, конечно.
https://pastebin.com/fp2PWh40
Пишу на Pellec C именно на нем т.к. он же стоит на пк в аудитории, где все это сдавать буду. И тут я просто не знаю как решить 2 проблемы. И так, пока что есть метод сортировки пузырьком и случайный массив, который надо им отсортировать. И в 1% случаев все идет нормально, но чаще всего программа не работает.
I проблема: не происходит возврат из функции сортировки. надпись FUCK поставил выводить, чтобы проверить, до куда доходит выполнение программы. И, как видно, до ходит до оператора return в этой самой функции сортировки. После чего без ошибок или чего-либо ещё программа просто останавливается. НО. Как видно в комментарии там же, если поставить вот такой вот цикл из вывода цифр от 0 до 2 и дальше от 0 до 3, от 0 до 4.. то проблема исчезнет. Но если поставить вывод цифр от 0 до 1, то она останется. И я не понимаю, как это вообще связано, и почему так происходит.
II и III проблемы, наверное, происходит по одной и той же причине, но я не понимаю, по какой именно. Программа выходит из функции сортировки, но при выводе отсортированного массива происходит ошибка. Потому, что при выводе массива сначала выводится индексы всех его элементов в строчку, потом все элементы чтобы было удобно смотреть. И либо вывод индексов идет очень очень долго, либо не идет вообще. Потому, что по каким-то причинам N - количество элементов в массиве - становится очень большим положительным или очень большим отрицательным числом после функции сортировки. И я опять не могу понять, почему так происходит. N один раз получает свое значение через scanf, и больше никогда не изменяется, а в функцию сортировки передается через значение, а не адресс. Но все равно почему-то она изменяется.
НО НО НО, СМОТРИ СЮДА, АНОН, ЕСТЬ ЕЩЁ КОЕ-ЧТО. Последние аргументы к функции проверки prov(..), и переменные i и i2 в функции сортировки, это счетчики количества сравнений и присвоений мне нужно отсортировать массив пузырьком и Хоаром, а потом сравнить все это. И если просто убрать их насовсем, а точнее будет достаточно убрать их из prov() то есть определить, что в проверки только 2 параметра то все проблемы сразу исчезнут. Но опять же я не понимаю, почему. Серьезно. Это просто 2 переменные, не связанные вообще ни с чем. Но почему-то их присутствие ломает всю программу. Такие дела, надеюсь на помощь и объяснение.
Код как ссылка, т.к. когда пытался загрузить в пост как .c, Доброчан выдавал:
sr15.c: exception - 'utf-8' codec can't decode byte 0xea in position 410: invalid continuation byte
Пришлось сохранить в .txt с выбором кодировки UTF-8, но тогда Доброчан выдавал, что неизвестная кодировка. Пиздос.
>> No.47542 Ответ
>>47541
Ну и в залитом коде как раз та ситуация, когда счетчики присвоений/сравнений выключены комментариями.
>> No.47543 Ответ
Файл: IV.jpg
Jpg, 147.34 KB, 1280×1024 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
IV.jpg
>>47542
И ещё оффтоп по двумерным массивам. Вопрос, можно ли как-то передать ссылку на сам двумерный массив в функцию? То есть, вот на примере мне нужно сделать функцию заполнения массива. В теле main я бы написал все то же самое, что и в функции, но если делать функцию, то получается то, что получается, ошибка. И как с этим быть? Сколько разных вариантов не перепробовал, получаю ошибку из-за несоответствия типов. В чем проблема передать ссылку на массив ссылок типа int?
>> No.47544 Ответ
>>47543
Все, вопрос снят, я просто жопой читаю. Но тогда такой вопрос, тоже оффтоп. Фиксированные матрицы (у которых размерность задается в коде программы) и динамические (размерность которой может задать пользователь) реализуются совсем по-разному, да?
>> No.47545 Ответ
>>47544
Да. Во втором случае тебе потребуется динамическое выделение памяти. Гуглируй функцию malloc и иже с ней. Не забудь про free.
>> No.47546 Ответ
>>47545
Мы это уже прошли, знаю. Я про то, что не получится просто как и с фиксированным размером определить массив массивов и использовать его.
>> No.47547 Ответ
Файл: Cheeks_Space_AU.jpg
Jpg, 456.33 KB, 773×1000
Ваши настройки цензуры запрещают этот файл.
r-15
>>47522
Спасиб, так и сделал.

Еще один глупый вопрос: прочитал в MS SDK Help, что комплексные регионы это по сути растровые бинарные маски, а можно ли превратить монохромный битмап в такой регион, когда у меня от него только хэндл?
>> No.47548 Ответ
Файл: Лаба_15.png
Png, 71.28 KB, 1024×768 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Лаба_15.png
>>47541
L'attrazione di generosita senza precedenti! Ora mi devi un pompino.
Усё работает, выкинь каку, возьми компилятор.
>> No.47549 Ответ
>>47548
Я ж говорю, нужно, чтобы работало именно на Pellec C. Да и к тому же, может как раз на этом наборе значений программа и работает. Она иногда ломается по 1 из 3 проблем, а иногда нормально проходит.
>> No.47550 Ответ
>>47549
Да ёпт... смотри, что есть в моём коде, чего нет в твоём. Нормальный компилятор тебя носом в это ткнёт.
>> No.47551 Ответ
>>47550
Серьезно? Скобочки? В них вся проблема? Перечитал методичку, где написано, что без скобочек будет увеличиваться сам указатель, а не элемент. То есть из-за этого программа ломалась? Из-за того, что я не поставил скобочки, в prov() брался адрес счетчика, увеличивался на 1, получилась какая-то непонятная ячейка памяти. И что дальше? Получается просто разыменование какой-то ячейки. Разве тут уже не должна была быть ошибка? Только что ещё проверил, в случайном месте кода написал *ar;. Компилируется. Что делает простое разыменование? Ничего?
Но а так, ошибку понял, и методичку перечитал по этому поводу, спасибо.
>> No.47552 Ответ
>>47551
Надо читать Кернигана и Ричи, а не дурацкую методичку, там всё подробно расписано, в том числе про порядок выполнения операций и этот случай особо.
> И что дальше?
Дальше ты в зависимости от фазы Луны (массив же рандомом заполняешь) увеличиваешь на два содержимое какой-то ячейки памяти.
> Разве тут уже не должна была быть ошибка?
Тут будет варнинг при -Wall, а так это — корректная синтаксическая конструкция и компилятор С, в отличие от компилятора Ады, не волнует её бессмысленность.
>> No.47553 Ответ
Как в питоне в риалтайме снимать голос с микрофона?
>> No.47554 Ответ
Файл: 1493647598910.png
Png, 1.29 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1493647598910.png
>>47552
Да, читайте дальше книжку восьмидесятых годов, потому что так положено.
Блевотня этот ваш кр. Читал и было смешно, как старому перлоеду который сам из восьмидесятых, юниксня и инспирирован сишечкой, на минуточку
>> No.47556 Ответ
Файл: 79.jpg
Jpg, 145.76 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
79.jpg
>>47554
И у которого есть божественнй кэмелбук в оргнале в бумаге, да-да.
>> No.47558 Ответ
Файл: mp9Np7WRaKo.jpg
Jpg, 12.72 KB, 242×209 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
mp9Np7WRaKo.jpg
Кому не лень, можете рассказать, как реализована в VS2008 (ну или любого другого года) функция С remove? Почему файл может не удалиться, в результате чего возвращается -1?
>> No.47559 Ответ
Файл: 02-Clippy.png
Png, 20.51 KB, 140×161 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
02-Clippy.png
>>47558
https://msdn.microsoft.com/en-us/library/52cs05fz(v=vs.90).aspx — сохрани в закладки, ёпт.
>> No.47560 Ответ
>>47559
Спасибо, Скрепыш.
>> No.47564 Ответ
Файл: 1334157573031.jpg
Jpg, 37.95 KB, 480×480 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1334157573031.jpg
Есть один школьный проект на opencv, по распознаванию и отслеживанию движущихся объектов, можно через haar каскады (если есть) или как угодно иначе. И мне нужна помощь чтобы закончить его за выходные. Плачу картинками красивых но целомудренных двухмерных девочек, карманными деньгами на телефон или фотографиями купальников сестры (без самой сестры).
ilovesweetthings@yandex.ru
>> No.47566 Ответ
>>47564
У тебя есть опыт работы с OpenCV или питоном или тебе придется основы рассказывать?
Я не знаю OpenCV, но это то что бы я спросил если бы у меня он был.
>> No.47567 Ответ
Аноны, пишу диплом по автоматизации тестирования, накидайте пожалуйста ссылок на проги которые можно протестировать. Обязательным критерием является наличие документации (спецификаций, инструкций пользователя и тп.) желательно на русском языке. Плюсами будет открытый исходных код и возможность контакта с разработчиками. На всякий случай оставлю свою фейкопочту umarkumar@yandex.ru
>> No.47568 Ответ
>>47566
Я пишу на плюсах, и есть опыт работы с OpenCV. Собственно, пишу сам, но с некоторыми моментами приходится долго разбираться.
>> No.47571 Ответ
Файл: Screenshot-at-2017-05-15-21:34:14.png
Png, 18.96 KB, 566×215 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot-at-2017-05-15-21:34:14.png
Эта функция полностью освободит бинарное дерево? Алсо, на сколько плохим стилем является совмещение двух функций в одной? То есть, вот сдесь, например, происходит обход дерева поиска с целью получить отсортированный список. Но вроде бы как имеет смысл избавляться от пройденных вершин как можно скорее, ведь они больше не нужны, а дерево теоретически может занимать большой объем памяти.
>> No.47572 Ответ
>>47571
Память вообще стараются не освобождать, потом пригодится.
То есть так просто не сбросишь уже выделенную процессу память.
Но можешь потестировать.
>> No.47573 Ответ
>>47571
1. Эта функция освободит дерево с одним элементом? С двумя элементами, тремя? Дальше по индукции.
2. У тебя, как и у всех сишников, проёб в понимании отличий процедуры от функции.
3. Есть такие «problem domain» и контекст, в частности, контекст выполнения подпрограммы. Вот без их знания тебе никто никогда не сможет сказать, хорошо ты сделал или нет. Книга >>47523 даёт совет: «Если вы не можете дать название циклу, блоку, подпрограмме или пакету, у вас, похоже, проёб в дизайне подсистемы.» К сожалению, я могу назвать твою процедуру Unload и далее всё будет зависеть от контекста, в котором она выполняется, и от проблемы, которая решается с её помощью.
4. Если дерево не влезло в память, ос при его обходе начнёт лазить в свап, ибо она любой программе даёт иллюзию о неограниченном объёме памяти.
>>47572
Дедушка, купите себе наконец современный компьютер, хотя бы с гигабайтом ОЗУ. Вы чё ему предлагаете, пару гигов на дерево зарезервировать?
>> No.47574 Ответ
>>47573
Почитай реальную теорию, как там всякие современые линупсы работают, они тоже не освобождают. libc, glibc и друзьяшки.
Сегменатация, хуитация, все дела. Сколько выжрал процесс - всё его.
>> No.47575 Ответ
>>47574
The Linux programming interface есть годный кирпич, читани.
>> No.47576 Ответ
>>47573
> Эта функция освободит дерево с одним элементом? С двумя элементами, тремя? Дальше по индукции.
Это я знаю, просто хотел, чтобы кто-нибудь проверил.
> процедура
Вероятно потому, что среди сишников этот термин и не используется никогда, на сколько я знаю.
>> No.47577 Ответ
С. Пытаюсь пихнуть символ '╗' в массив по адресу ar[i][j], но gcc ругается, грит "multi-caracter character constant". Массив типа wchar_t, потому что с char все еще хуже (overflow in implicit char convention), хотя, это вроде бы как ASCII символ. Что я делаю не так?
>> No.47578 Ответ
>>47577
Числом пихни.
>> No.47579 Ответ
>>47577
Нет не аски, это \u2557 или E2 95 97.
>> No.47580 Ответ
Файл: extend.gif
Gif, 11.47 KB, 573×335 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
extend.gif
>>47577
А сам исходник у тебя аски?
>>47579
Эти рамочки ещё в досе рисовали. Всякие нортоны на них и сделаны.
>> No.47581 Ответ
>>47580
В те времена были охапки однобайтовых кодировок, сейчас везде юникот.
>> No.47582 Ответ
>>47581
Ну он и пихает однобайтовую досовскую рамочку. Вот я и предположил, что у него исходник в юникоде, поэтому она многобайтовая.
>> No.47583 Ответ
>>47575
IMO, ему стоит начать с архитектуры ЭВМ, а то его манятеории конфликтуют со здравым смыслом. После разобраться, что же показывает top. После освоить взрослые средства разработки. Хотя я, кажется, начинаю понимать, почему современные программы жрут столько памяти.
>>47576
> среди сишников этот термин и не используется никогда
Угу, вместо этого идёт борьба с side-эффектами у функций в результате поганого дизайна.
Ты, кстати, в курсе, почему не надо использовать глобальные переменные вообще никогда?
>> No.47584 Ответ
>>47583
Ну почитай про тот же питон http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-delete-a-large-object.htm
Я думаю, в той же жабе всё ещё хуже в этом плане.
>> No.47585 Ответ
>>47583
> Ты, кстати, в курсе, почему не надо использовать глобальные переменные вообще никогда?
Чтобы избежать конфликтов при соединении частей программы? При чем здесь это?
>> No.47586 Ответ
Файл: Глава-10.-Системное-администрирование.png
Png, 13.73 KB, 817×244 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Глава-10.-Системное-администрирование.png
>>47584
Блять, ты разницу между виртуальным адресным пространством и физической памятью понимаешь? Я могу Memory_Pool определить на гиг и реально в нём использовать 4 КБ, остальное просто табличка «Адреса от сих до сих не занимать!»
И при чём тут компилируемые языки с низкоуровневым доступом к системным ресурсам, вроде C и Ады, и скриптопараша, тебе же чёрным по белому написали, что в бидоне свой аллокатор читай, велосипед, он что сожрал назад не вернёт — один большой мемлик, короче, и возможность бородатым детям рассуждать с умным видом об оптимальном использовании памяти и хороших практиках говнокода, простиоспаде.
Короче, не считай разработчиков ОС и GCC идиотами. Просадки производительности ловятся профилировщиком, а не top-ом, а у него free и malloc — величины статистически незначимые.
>>47585
Это тоже пример поганого дизайна, после которого подсистему проще переписать, чем доработать и отладить. Тыкнул в глаз — из жопы кровь полилась... твою мать, как так?!
> Чтобы избежать конфликтов при соединении частей программы?
https://betterembsw.blogspot.ru/2012/12/global-variables-are-evil-sample-chapter.html
Они порождают неявные зависимости логически не связанных между собой частей програмной системы. Из-за этого работу системы и её частей сложно понять, зависимость при модернизации легко проебать и получить баги, которые то ли вылезут на первом же тестировании, то ли через десять лет безупречной работы потому, что так совпало.
Что за listPush, из контекста можно понять, зачем оно глобально и куда пушает?
>> No.47587 Ответ
>>47586
Внезапно, функция, которая пушает в единственный список в программе. Конечно, можно указатель на него сделать локальным, но не хочется с этим упираться ради микроскопической лабы, коей программа и является. Если тебя смущает то, что listPush и treeSort разного цвета, так это потому что программа еще не знает о существовании последней. Или хочешь сказать, функции тоже нужно внутри других функций объявлять и определять или что? Звучит как сомнительная затея.
>> No.47588 Ответ
Есть ли какой то алгоритм, который может высчитать минимальный возможный поток в транспортной сети с ограничениями на МИНИМАЛЬНЫЙ поток по ребру?
Что то вроде этого: e-maxx.ru/algorithm/flowwithlimits
Но без ограничений сверху

Или же хотя бы алгоритм проверки выполнения ограничений (последнее предложение по ссылке)
>> No.47589 Ответ
>>47588
В ссылке перед и после "flow" должны стоять нижние подчеркивания
>> No.47590 Ответ
>>47589
Не flow, а limits
>> No.47591 Ответ
>>47590
"with", твою мать
>> No.47592 Ответ
>>47591
А мог бы просто ссылку нормально скинуть.
>> No.47594 Ответ
>>47580
>>47579
>>47578
Действительно, похоже проблема в том, что файл в UTF-8.

Другое дело, теперь я понимаю, что мне нужен юникод. То есть массив из символов в юникоде. В wchar_t они не помещеются, при этом, при записи типа char *a = "║" все в порядке. Может там нулевой символ в конце обязательно нужен почему-то? Или дело просто в том, что выделяется достаточно памяти? Короче, похоже, в char[2] они помещаются с помощю strcpy(), но придется выводить как строку. Как-то неочень выглядит. Как сделать нормально? Чтобы работать как с символами?
>> No.47595 Ответ
>>47594
Ты знаешь, как работает utf-8? Это кодировка с переменным размером символа. Более редкие символы длиннее. Чтобы с ней работать, нужны либы. Сишка работает с байтами, а не с символами как таковыми.
>> No.47596 Ответ
>>47594
А нельзя использовать символы до 128 нумера вместо этих, например | = и звездочку или плюс по углам?
>> No.47597 Ответ
>>47579
Как выяснилось, терминал, в котором запускается программа использует UTF-8, так что и плюсик мне нужен тоже utf-8. Или терминал, умеющий в ASCII. Как я понимаю.

>>47595
Ясно.

Решение с массивами, похоже мне тоже не пожходит. Видимо, предется использовать int для храненния данных, а при выводе ему сопоставлять символы как строки.
>> No.47598 Ответ
>>47597
ASCII - подмножество UTF-8 для обратной совместимости.
>> No.47599 Ответ
>>47598
Действительно. Очепятолся, когда проверял, по этому вывелось не то.
>> No.47615 Ответ
А C есть динамические массивы указателей? Ведь для них мне нужен malloc(sizeof(указатель)). И я не понимаю, как это сделать.
>> No.47619 Ответ
дабля

>>47615
Для этого существуют указатели на указатели (и указатели на указател на указатели и т.д). У тебя должно быть что-то вроде:
int **ptrArr = NULL; // указатель на указатели
If(!(ptrArr = (int звездочказвездочка)malloc(sizeof(intзвездочка)звездочкаPTR_AMOUNT)))
actionsiferror();
Поздравляю, получился двумерный массив с элементами типа int.
>> No.47621 Ответ
>>47619
Двухмерный массив можно и иначе сделать, двойной указатель необязателен
>> No.47622 Ответ
Файл: 14703377321350.jpg
Jpg, 71.86 KB, 720×975 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14703377321350.jpg
Что нужно знать джуниару быдлокодеру? Может есть полезные книжки? Являюсь первокурсотой, скоро лето, вероятно появится время на совершенствование своих скиллов хакермена.
>> No.47624 Ответ
Нужно заполнить массив 8х8 нулями и единицами так, чтобы нулей было ровно в 2 раза больше. Подскажите алгоритм, язык неважен (C#, C++, Pascal)...
>> No.47625 Ответ
>>47624
Количество ячеек должно делиться на 3, а оно не делится. Заполнить 8х8 ячеек так нельзя.
>> No.47627 Ответ
Файл: Clipboard01.png
Png, 10.14 KB, 719×214 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clipboard01.png
>>47624
Да бля!..


Пароль:

[ /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/ ] [ Главная | Настройки | Закладки | Плеер ]