[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

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

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

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

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

http://pastebin.com/8vTj08Bu
>> No.46778 Reply
File: ccLReuxyz9Q.jpg
Jpg, 54.04 KB, 604×467 - Click the image to expand
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 Reply
Перекатываюсь из бэ с глупым вопросом. Вопросик по плюсам.
Программка делает вот так вот.
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 Reply
File: 1264126944732s.jpg
Jpg, 9.06 KB, 251×189 - Click the image to expand
edit Find source with google Find source with iqdb
1264126944732s.jpg
>>46779
Забирай число числом, они сами отрежутся, потом перегони его в строку и дальше как ты делаешь.
Или сразу в строку. Тогда надо дополнительную переменную. В твоем цикле пока переменная 0 и символ 0 - пропускаешь, если символ не ноль - в переменную 1 и дальше пошло нормально.
Очевидно же.
>> No.46783 Reply
>>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 Reply
>>46783
> ```
Что не так, бледь?
>> No.46785 Reply
>>46784
На доброчане код в два бактика заворачивают.
Но то до апдейта было, сейчас же хуй на рыло.
>> No.46786 Reply
>>46784
Хуячь на пастебин, разметка давно как сломана.
>> No.46787 Reply
>>46784
Два акута.
>> No.46788 Reply
File: yakutetno_14.jpg
Jpg, 322.54 KB, 1000×667 - Click the image to expand
edit Find source with google Find source with iqdb
yakutetno_14.jpg
>>46787
Прочитал как два якута.
>> No.46789 Reply
>>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 Reply
File: tumblr_nn0mya6cQo1shpedgo4_1280.jpg
Jpg, 235.32 KB, 1280×823 - Click the image to expand
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 Reply
>>46790
Шинда?
>> No.46792 Reply
>>46791
Да.
>> No.46793 Reply
>>46790
Потому что он не должен чиститься, flush это для вывода, а не ввода.
>> No.46794 Reply
>>46793
А что же для ввода?
>> No.46795 Reply
>>46790
У fflush неопределнное поведение, если ей передавать stdin.
>> No.46796 Reply
>>46795
Как мне очистить поток иначе?
>> No.46797 Reply
>>46790
А почему не system("pause")? Вроде на этой вашей винде так делают.
>> No.46798 Reply
>>46797
Ох уж эти университеты.
>> No.46799 Reply
>>46797
Ну, так только на винде так и делают.
>> No.46800 Reply
>>46797
Это финиш.
>> No.46801 Reply
Выяснилось, что, если заменить getchar() на getch(), то все работает. Как так?
>> No.46802 Reply
File: AskingForHelp.jpg
Jpg, 26.42 KB, 460×276 - Click the image to expand
edit Find source with google Find source with iqdb
AskingForHelp.jpg
Был у меня когда-то полный XAudio SDK от разработчиков, с экзамплами на разных языках, с подробной документацией и прочими прелестями. Но он помер вместе со старым хардом. Может завалялся у кого? Спрашиваю в последней надежде на анона, потому что гугл показывает только мертвые ссылки на мертвых форумах.
>> No.46803 Reply
>>46798
>>46800
> качественные коментарии по теме
>> No.46804 Reply
>>46803
Это крики души.
>> No.46805 Reply
File: 221.png
Png, 128.05 KB, 400×272 - Click the image to expand
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 Reply
>>46805
Зафейлил разметку, лол.
http://pastebin.com/W8GeXMSS
>> No.46807 Reply
>>46800
Проблемы? На стековервлоу именно так советуют делать виндопользователям. На *nix консольные программы запускаются в консоли (неожиданно!), которая сама по себе не закрывается после завершения программы, поэтому костыль с ожиданием ввода с клавиатуры не используют.
>> No.46808 Reply
>>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 Reply
Привет, тред. Не подскажешь, как спарсить с OSM данные об объектах (интересуют достопримечательности, рестораны etc.) в таком-то городе? По сути нужно получить только их координаты, названия и категории.
>> No.46812 Reply
File: 1478038698098.jpg
Jpg, 243.24 KB, 700×849 - Click the image to expand
edit Find source with google Find source with iqdb
1478038698098.jpg
Насколько нехорошо обманывать заказчика в вопросе о запущенных проектах?
Я на 90% уверен, что его задачу я выполню, но пока спрашивает примеры работ и меня невольно тянет к идее предстваить своим какой-нибудь запущенный проект.
>> No.46814 Reply
>>46812
Тебя спалят же 90%. Это детская идея.
1) На сайтах везде написано обычно, кто делал
2) Возможно, ещё где-то написано. На сайте делавшей студии, например.
3) Велик шанс, что ты выберешь своими проекты, которые тебе реализовать было бы абсолютно не по зубам.
4) Тебе зададут вопросы по этому проекту и ты не сможешь ответить.
5) Возможно заказчик знает этих ребят сам или может уточнить.
>> No.46815 Reply
File: 14687182937360.jpg
Jpg, 241.67 KB, 1920×1080 - Click the image to expand
edit Find source with google Find source with iqdb
14687182937360.jpg
>>46814
Ага, таки решили не хитрить: фронт скинул несколько работ в архивах, охо, а заказчик их съел и согласился работать дальше.
Насколько сложно деплоить настоящий коммерческий проект, если я делаю это впервые? Проект - магазин на Джанго.
>> No.46816 Reply
>>46814
Я двумаю речь идет о халтуре, а не устройстве на нормальную работу с техсобом. В таком случае заказчик вряд ли будет что-то проверять.
>> No.46824 Reply
>>46815
Относительно сложно. Или скорее просто долго, может быть. Я не уверен. Я надеюсь, ты знаешь основные связанные с безопасностью вещи? Сложностей много с тюнингом производительности и дырами. В остальном ещё и несколько долго.
>> No.46831 Reply
Решил от нехуй делать поучаствовать в AI cup'e. Скачал noinstall сборку CodeBlocks с Mingw для винды, открыл стандартный проект и получил `lwc232.lib` not found и ещё 12 аналогичных ошибок при компиляции. В папке с либами соответственно `libwc232.а` Какого хуя и что с этим можно сделать?
>> No.46832 Reply
>>46831
Ебаная разметка.
>> No.46833 Reply
Аноны, не подскажете, где взять размеченных датасетов для классификации твитов на инглише? Нужно научить классификатор распознавать твиты на тему путешествий. Гуглится по большей части что-то нерелевантное.

Конечно, можно скачать пару тысяч рандомных и тематических твитов и разметить их ручками, дело относительно нехитрое, но, блин, лень.
>> No.46851 Reply
File: 2016-11-11-015757_1920x1080_scrot.png
Png, 39.61 KB, 1065×551 - Click the image to expand
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 Reply
>>46851
Крут. В функции replaceLinks у тебя происходить перебор ВСЕХ линков, можно более конкретизировать селектор, типа a[href^="https://pastebin.com/"]. Также _matchUrl выглядит не очень, а если сервисов будет десяток, тоже копипастить будешь?
>> No.46853 Reply
> у тебя происходить перебор ВСЕХ линков
Не знал про такую фичу. Попробую.
> а если сервисов будет десяток
Зависит от сервисов, если все будут следовать паттерну domain.com/pASteI, то вполне достаточно будет заменить регулярку чтобы матчила все любые домены, если нет, то переписать не проблема.

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

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

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

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

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

Лично я придерживаюсь точки зрения, что начинать стоит с Си под GNU/Linux или BSD, изучив по ходу дела основные алгоритмы и структуры данных, научившись пользоваться отладчиком, освоив указатели и адресную арифметику. После этого надо немного потыкать в ассемблер, например попробовать написать какие-нибудь простые программы на нем, скомпилировать сишный код в асм и потом его попробовать разобрать и установить связь между одним и вторым.
Дальше уже можно двигаться на свое усмотрение так сказать
>> No.47020 Reply
>>47008
Из твоего поста совсем не ясно, чем ты планируешь заниматься. Сайты, игры или что.
Мне кажется, лучшее - вот этот видеокурс. За 20 уроков ты выучишь основы языка (все эти циклы, условия, фунции и прочее), выучишь ООП, как пользоваться нужными алгоритмами (сортировкой, мапом, фильтром, поиском и прочее), самые важные паттерны на практике, выучишь, что такое БД, и как ей пользоваться (причем, и в консоли и в коде). То бишь, базовые понятие на примерах.
https://laracasts.com/series/php-for-beginners/episodes/1
Но это для php.
Лучшая книга - официальная документация и твоя практика. В документации всегда есть примеры. Все остальные книги - мусор. Учи основы по видеоурокам, там всегда рассказывают все самое нужное и необходимое для тебя, причем всегда на примерах, и после изучения основ начинай сразу делать то, что тебе интересно. Есть подход, сначала все выучить, а потом начать делать. Ты лучше делай сразу, и учи по ходу.
Никогда не учи что-то наперед, на всякий случай, а вдруг пригодится мало ли, сэкономишь кучу времени. Не бойся говнокода, говнокод это практично, хорошо и нормально, все через это проходят.
>> No.47021 Reply
>>47008
Так что.
> > "с чиво начать"
С того, что тебе интересно. С видеоуроков, а зачем сразу практики.
>> No.47023 Reply
>>47020
Во-первых, два чая этому господину.
Во-вторых, действительно не понятно чего человек хочет. После изучения совсем азов (синтаксис, алгоритмы, структуры данных) я бы советовал бы заняться тем что интересно. Писать очередную вакабу, лепить марио или движок для VN. Суть в том, что получается опыт использования языка для достижения реальных задач, раскручивается понимание алгоритмов работы как самого приложения, так и алгоритмов работы с кодом, раскрывается ООП и зачем оно нужно (как его не обзови принципы везде примерно одинаковые). Да, я сторонник обучения через решения реальных задач.
Во-третьих, говнокод, это хотя и плохо, но нужно понимать почему это говнокод, и почему этот говнокод в данном случае сгодится. Как первое так и второе приходит с практикой и работой в количестве больше одного программиста над проектом.
Боятся говнокода не нужно, его просто нужно делать со временем лучше и со временем будет получаться лучше. Почти как рисование (insert any another job). Ну и классическое, через год каждый с вероятностью 95% напишет делающий тоже саомое код по другому. Да и вообще, думать о говнокоде - не задача новичка.
>>47010
> На тему "с чего начать" есть диаметрально противоположные мнения.
Потому что у каждого свой опыт прихода в профессию и свой взгляд как можно это было оптимизировать.
> Си под GNU/Linux или BSD
Имхо порог вхождения довольно высок. Хотя идея, конечно, интересная. С другой стороны я не могу себе представить беспроблемную IDE для новичка на проекте сложене HelloWorld.
>> No.47024 Reply
File: Screenshot-from-2016-12-09-11-43-21.png
Png, 68.56 KB, 682×717 - Click the image to expand
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 Reply
>>47020
Кого ты назвал мусором. Есть куча отличных, которые позволяют не писать говно-код и не ныть потом постоянно, что видете ли ты не можешь поменять код из-за того, что он слишком запутан, как вы постоянно ноете. Начальник, ну пожалуйста, давай обойдемся без этой функции, опять все переделывать! Я не знаю, откуда идут баги! Вот к чему все это приводит. Опыт и практика конечно нужны, их всегда и везде переоценивают, а теорию всегда недооценивать. Не только в программировании. Потом они думают, что у них не получается, так как не хватает таланта, тогда как им не хватает знаний. Потом они ищут себе наставника, тогда как текст легко может заменить живого человека, который вообще не нужен.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>47178
> в каком-то сшашном вузе.
В MIT - одном из лучших технологических вузов мира.
>> No.47190 Reply
>>47187
> В MIT - одном из лучших технологических вузов мира.
Насколько я знаю, сейчас его не преподают?
>> No.47191 Reply
>>47190
Кого не преподают? Это книга, а не предмет или наука.
>> No.47192 Reply
>>47190
> Насколько я знаю, сейчас его не преподают?
>>47191
> Это книга, а не предмет или наука.
Это книга - вузовский учебник, то есть, университетский курс. Насколько я знаю, его и сейчас преподают.
Какое-то время назад они то ли поменяли, то ли хотели менять язык программирования, на котором в курсе приводятся примеры и упражнения. У этой идеи есть как положительные, так и отрицательные стороны. Но речь шла именно о "языке программирования, на котором в книге даются примеры", не о чем-то большем.
Например, вводные курсы по Scala от Мартина Одерски используют множество упражнений из SICP.
Книга посвящена не какому-то специфическому языку программирования, а вычислениям и программированию в целом. Тот факт, что заодно знакомишься со Scheme (LISP), идёт как приятный бонус.
>> No.47193 Reply
Какую математику дают в ВУЗах на околокодинговых специальностях?
>> No.47196 Reply
File: TcUqxrTIIf8.jpg
Jpg, 54.19 KB, 764×1024 - Click the image to expand
edit Find source with google Find source with iqdb
TcUqxrTIIf8.jpg
>>47193
Нинужную.
>> No.47197 Reply
>>47193
Везде разную. Определяется левыми пятками чиновников и преподов. Почти всегда устаревшую и неполную. Культ Карго в чистом виде. ну не могут они в умные умности, им подавай продавать.
>> No.47198 Reply
File: 2017-01-31_150803...
Png, 44.85 KB, 646×2791
edit Find source with google Find source with iqdb
2017-01-31_150803.png
File: 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 Reply
>>47198
Тебе нужно ботать книжки по реверсингу, а не исследовать.
>> No.47200 Reply
>>47199
а оп делу есть чего ?
>> No.47201 Reply
>>47193
Обычно такую же как и на мех-матах и фез-техах, т.е. олскульную, академическую, почти не имеющую применения в современности.
>> No.47202 Reply
>>47193
Вычислительную, дискретную?
>> No.47231 Reply
File: Jython.png
Png, 66.48 KB, 597×255 - Click the image to expand
edit Find source with google Find source with iqdb
Jython.png
Что почитать по программированию в общем? Оно мне надо, если я начинающий быдло^Mдоброкодер? Хочу знать, как все работает, подозреваю, пригодится, ну и вообще интересно.
>> No.47232 Reply
>>47231
«У меня для тебя плохие новости» (c)

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

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

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

>>47234
;}

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

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

Что в переводе на Питон print(a).
>> No.47252 Reply
>>47251
Потому что ты пишешь короткие программы, которым при этом не нужно ручное управление памятью и по факту не нужна скорость. Выбор инструмента не вписывается в задачу.
>> No.47253 Reply
>>47252
printf(a)
>> No.47256 Reply
File: 11.png
Png, 3.42 KB, 364×146 - Click the image to expand
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 Reply
>>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 Reply
>>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 Reply
>>47266
Ясно.

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

Почему тут спрашиваю только я? Неужели у других нет глупых вопросов?
>> No.47320 Reply
>>47319
> лучше
Если стандарту похуй, объективного "лучше" нет. Если ты работаешь в команде, стиль кода оговаривается заранее. Если один, пиши так, как тебе понятнее.
У меня есть только неглупые.
>> No.47321 Reply
File: Ada_Lovelace_portrait.jpg
Jpg, 2238.31 KB, 2439×3504 - Click the image to expand
edit Find source with google Find source with iqdb
Ada_Lovelace_portrait.jpg
>>47319
> Неужели у других нет глупых вопросов?
Почему никто ещё не поздравил Августу Аду Кинг (урождённую Байрон), графиню Лавлейс, первого программиста в истории, с 8 марта?
>> No.47324 Reply
>>47321
Разве сам создатель машины не программировал?
>> No.47326 Reply
>>47324
Запутанная история. Почитал Википедию и ГикБрейнс – так и не понял до конца, нужно больше почитать на эту тему.
>> No.47329 Reply
Зачем кастовать маллок к указателю на структуру, если всё равно идёт присваивание адреса?
Например
pstruct->pptr = (struct блабла )malloc(sizeof(struct блабла) блабла);
>> No.47330 Reply
>>47329
Присвоение указателю адреса память не выделяет, просто указатель будет хранить адрес который ты ему даёшь. Если ты хочешь, чтобы у указателя был адрес, по которому выделена память, выделяешь память. Всё очевидно, по-моему.
>> No.47331 Reply
>>47329
Возможно на разных архитектурах поинтеры указывают на первый или последний байт, поэтому каст будет менять значение поинтера, хз кароч.
>> No.47332 Reply
File: 1.png
Png, 17.69 KB, 681×114 - Click the image to expand
edit Find source with google Find source with iqdb
1.png
Не знаю, где спрашивать: тут или в /lor/. В общем, оставил себе IDE Codelite, и в нем при компиляции появляется такая вот ошибка. То есть, компилирую я из него, а не из консоли, стандартные аргументы запуска не трогал. Погуглив, я понял только то, что у каждого эта ошибка появляется из-за своей особой причины, и то что проблема в линкере. Я не понимат, помогайте.
>> No.47334 Reply
>>47332
1. Не путаешь ли ты где-нибудь языки C и C++? Компилятор у тебя g++ (т.е. для C++), а файл main.c должен быть на языке C. Проверь все настройки, что везде указан один и тот же язык.
2. С объявлением функции main() все в порядке?
>> No.47335 Reply
>>47332
На ideone залей чтоли код например.
>> No.47336 Reply
>>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 Reply
>>47336
На винде ты наверно цомпилируешь чем-то отличным от gcc. С какими опциями смонтирована файловая система, где лежит проект?
>> No.47338 Reply
>>47337
Спасибо, смонтировал с defaults, все заработало.
>> No.47339 Reply
File: 8415433-smart-cat-working-at-the-computer1.jpg
Jpg, 77.83 KB, 1200×798 - Click the image to expand
edit Find source with google Find source with iqdb
8415433-smart-cat-working-at-the-computer1.jpg
Есть ли какой-нибудь второй язык программирования после питона, для, например, скриптов или веб-серверов?
Или оставшиеся альтернативы действительно умирающие, потому что все остальные перешли на питон?
>> No.47341 Reply
>>46762
>>b/4788813
У меня тупой вопрос по околошкольному программированию на pascal.abc.net
Если я создаю тип переменной 1..n1 (n1 константа) то могу ли я его сравнивать с переменными типа integer ?
Вообще могу, но я всё никак не пойму правильно ли это делать.
>> No.47343 Reply
Насколько сложно запилить игру, с графикой как в Дварф Фортресс, то есть из символов. Так вот, чтобы она работала в терминале. Если что, не знаю, как ДФ работает на линуксах, и работает ли вообще. Знаю, там можно накатить раскрашивание терминала, тогда других ограничений я не вижу. Ну, на винде такое не прокатит, в связи с этим еще вопрос. Насколько сложно запилить эмуляцию нужных для игоры свойств терминала в винде?
>> No.47344 Reply
>>47339
Perl, lua, ruby, php, javascript, bash.
>> No.47345 Reply
File: characterkids.png
Png, 5.75 KB, 512×384 - Click the image to expand
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 Reply
>>47345
Спасибо.
>> No.47350 Reply
>>47343
Линупсячие эмуляторы терминалов - это зло. "Текстовый графон" в DF, C:DDA и прочих пилят на том же SDL и правильно делают. С терминалами имеет смысл связываться, если ты хочешь, чтобы твою игру можно было через SSH с кофеварки играть. Как это с Nethack (NAO): достаточно любой минимальной UNIX-like ОС с SSH-клиентом, чтобы залогиниться на сервер и начать играть. Но вообще виртуальные терминалы костыльны максимально, они больше ебли дают, чем универсальности интерфейса. А с запилом ядерного DRM/KMS - и подавно.
>> No.47353 Reply
>>47350
Да, идея именно в запуске без графической оболочки. Про SSH не подумал, действительно хорошая идея.

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

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

>>47414
>>47418
Спасибо.
> :o)
Это смайлик со вторым подбородком?
>> No.47421 Reply
>>47419
Чтобы читать stdin, вместо имени файла надо задавать "-".
>> No.47422 Reply
File: Мистер_Бин.png
Png, 328.48 KB, 465×524 - Click the image to expand
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 Reply
File: 853759-cirno.jpg
Jpg, 14.74 KB, 320×320 - Click the image to expand
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 Reply
File: bean.png
Png, 45.54 KB, 104×358 - Click the image to expand
edit Find source with google Find source with iqdb
bean.png
>> No.47437 Reply
>>47423
> Вопрос в том, нормально ли написать
Да, это на планете Земля давно известно.
>> No.47441 Reply
Как так может быть, что у меня на линуксе с codlite и gcc программа работает нормально, а на древнем ПК с ХР и visual studio 2008 она падает с сегфолтом? Может и не с сегфолтом, я уже ни в чем не уверен. Суть такова, что на линуксе я написал и отладил программу, перенес ее на старый ПК, обнаружил сегфолт, снова стал тестить на нормальном ПК и сегфолта не появилось. Тестить на старом я не могу, за время, которое у меня было выяснилось только то, что программа падает при абсолютно корректных входных данных. И то, что ошибка возникает, когда переменной char c, почему-то getc(f) присваивается значение. Могут это быть проблемы кодировки входных файлов?
Вообще, вот программа, если кто-то найдет ошибку, было бы хорошо, а так, прогоните у себя ее, посмотрите, что будет. На вход она получает два текстовых файла и ищет самое длинное слово, которое есть в обоих файлах. Сегфолт был при наличии как такого слова, так и прочего мусора в файле (то есть подразумевается, что такой случай будет самым частым и нормальным).
https://gist.github.com/anonymous/22f514bd7e5b16ae857a82b10c3af0c9

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

Похоже, придется сделать вторую версию со статическим массивом, если в следующий раз (завтра) все опять пойдет не так, и я не успею все исправить.
>> No.47448 Reply
>>47447
Я особого криминала не вижу, так что, вероятно, или у студии кривой malloc, или у препода кривая память.
>> No.47449 Reply
Если кому-то интересно, я понял в чем проблема. Сегодня у меня было больше времени, и я разобрался. Это был не сегфолт. Оказалось, что у ранних ВС вызывает лютое непонимание сравнение знакового и беззнакового типа. К слову, у ВС15 такой проблемы нет,он обращает на это внимание в процессе компиляции, но даже не оформляет как предупеждение.
>> No.47450 Reply
>>47449
1. У тебя нигде нет такого сравнения.
2. Машина при сравнении регистров X и Y проводит операцию X' ← X; Y' ← Y; X' ← X' - Y'; и вывешивает флаги в регистре статуса, ей безразлично, что ты положил MSB у регистра B признаком знака числа — она такими понятиями не оперирует.
>> No.47451 Reply
>>47450
Действительно, тупанул. В общем, сейчас нагуглировал ошибку, но из-за чего она происходит никто не пишет. "Debug Assertion Failed File:\dd\vctools\crtbld\selfx86\crt\src\isctype.c Expression: (unsigned)(c+1) <= 256". Точнее кто-то пишет, что дело в забытом месте под символ разрыва строки (при чем он вообще здесь?), кто-то про то, что в isalfa поставляется значение аргумента больше 256, но я в файлах даже русские буквы выпилил, на сколько помню. Если в первом случае имелся ввиду нулевой символ, то это многое объяснило бы: выход за пределы файла, пихание в isalfa мусора, который может быть больше 256. Но тогда не понятно почему такого ни разу не происходило в других средах и программа работала корректно. Очень странно, что даже разные версии студии относятся к ней по-разному.
>> No.47452 Reply
>>47451
Ты живёшь в нулевых и за интернетом с почасовой оплатой ездишь с коробкой дискет на почту в облцентр? msdn.microsoft.com кому даден, там всё расписано по всем версиям студии, включая соглашения по типам данных.
>> No.47453 Reply
File: ice_fairy_sister_cirno__create_swf_character__by_f.png
Png, 208.00 KB, 1137×677 - Click the image to expand
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 Reply
>>47453
Я с продуктами Microsoft не работал, но слышал, что подобные фичи у них в норме вещей. Вплоть до того что бывает несоответствие стандартам IEEE в "профессиональных" релизах. И MSDN единственный ресурс, где можно узнать наверняка.
>> No.47455 Reply
Где находятся name сервера, хранящие IP адреса сайтов?
Можно ли запустить сервер с доменным именем, никому не заплатив?
>> No.47456 Reply
>>47455
В разных местах. Вот гугловский DNS сервер, например: 8.8.8.8 .
Существует такая штука, как подмена DNS, так что вероятно да, можно.
>> No.47457 Reply
>>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 Reply
File: iuS0O.jpg
Jpg, 41.00 KB, 432×633 - Click the image to expand
edit Find source with google Find source with iqdb
iuS0O.jpg
Доброкодер, помоги доучиться наконец и подержи за ручку. Горят лабы по машобу и OpenCV(С++). В школке хорошо если расскажут что вот есть такие функции в библиотеках, а с остальным разбирайтесь сами, мы каждую неделю будем проверять.
Ищу того кто поможет разобраться что надо делать и как.
noulife@cock.li
>> No.47459 Reply
>>47458
Просто вы все переоцениваете курсы и человеческую речь. Вы все. Письменность рулит, бери да читай.
>> No.47460 Reply
>>47455
> никому не заплатив
Да. Например, раньше в зоне .tk бесплатно раздавали домены (может и сейчас раздают, х.з.).
>> No.47461 Reply
>>47455
Если клиенты, которые заходят на твой сайт, пропишут твой домен у себя в хостах, или если ты поднимешь DNS-сервер, а они пропишут ip твоего DNS-сервера у себя в настройках сети, то можно. Смысл в том, что рандомные люди, которых ты не знаешь, а так же поисковики, будут использовать общие DNS-сервера, которые используют все. И тебе надо, чтобы твоё доменное имя туда попало. Чтобы туда попала строчка, сопоставляющее купленное застолблённое доменное имя и твой ip, куда оно будет перенаправлять. Можно вообще не использовать доменное имя, а пихать ip-адрес прямо в строку браузера.
Есть сервисы, которые дают на халяву домены второго уровня типа .cu.cc. В зоне ru домен стоит сто рублей в год.
>> No.47462 Reply
>>47455
За топовую зону надо заплатить регулятору, там вроде в районе нескольких или нескольких десятков килобаксов. Географические бесплатно раздавали.
Потом тебе делегируют управление ей и нужно держать сервера. Ну и можешь опять же отдавать сегменты ниже кому-то другому под управление.

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

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

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

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

>>47481
> больше часа на дорогу
Проблемы Нерезиновки? Да и кто мешает одинокому программисту снять квартиру поближе и/или ездить на работу не в час пик, а часам к 10-11?
>> No.47487 Reply
>>47481
> Во первых, с 8 до 17ти.
График с 9 вполне распространён.
> Чтобы попасть на работу в 8, надо в лучшем случае встать в 6
Зависит от расстояния. По-разному. Два часа - это много.
> Тебе нужно поужинать, приготовить еду на завтра, искупаться, вымыть посуду, этом инимум 2 часа
Готовить каждый день не обязательно. Холодильник и микроволновка есть. И 2 часа - это много.
>> No.47488 Reply
>>47484
Так с любим видом занятости, если ты работаешь ради денег.
>> No.47489 Reply
File: Безымянный.jpg
Jpg, 197.78 KB, 734×839
edit Find source with google Find source with iqdb
Безымянный.jpg
File: Безымянный2.jpg
Jpg, 163.61 KB, 961×626
edit Find source with google Find source with iqdb
Безымянный2.jpg
File: Безымянный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 Reply
File: Quick_Sort_Generi...
Png, 14.25 KB, 709×642
edit Find source with google Find source with iqdb
Quick_Sort_Generic-Partition.png
File: 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 Reply
File: 8EphjWnZtKk.jpg
Jpg, 69.28 KB, 604×453 - Click the image to expand
edit Find source with google Find source with iqdb
8EphjWnZtKk.jpg
На С есть какая-то возможность удалить кусок из текстового файла, не перезаписывая весь остальной файл?
>> No.47492 Reply
>>47491
Это не к С вопрос, а к ФС.
>> No.47493 Reply
>>47492
Тогда так: есть ли такой способ, простой в реализации, для любой не экзотической для шиндовса ФС?
>> No.47494 Reply
>>47493
Адаптированные для SSD ФС должны именно так работать. В шиндовсе не эксперт. На уровне ЯП всё остаётся по-прежнему, если ты не свою ФС костыляешь, конечно.
>> No.47495 Reply
>>47494
Ладно, будем переписывать.
>> No.47496 Reply
>>47490
Что за подпрограммы? Функции? Использую, функция сортировки. Ты можешь объяснить, как ты меняешь? И почему везде этот метод описан неправильно? Я даже не знаю, на каком языке твой код.
>> No.47497 Reply
>>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 Reply
> опорный элемент, он оказывается где-то в заднице
Ему не обязательно оставаться на одном месте, он может оказаться в любом, хоть в начале/конце.
> возможно собьет порядок
Нет. Элемент, который ты помещаешь на его место - это такой элемент, на котором не сработало условие из пары циклов. Порядок с боков, слева от i и справа от j остаётся правильным. Порядок элементов между ними, посередине, тебе не интересует, ты до них не дошёл. Алгоритм идёт с боков внутрь, а не слева направо.

Как у тебя на последнем шаге на бумаге тройка попала не на второе место, а на третье? Запасись терпением.
>> No.47499 Reply
File: zad.png
Png, 64.44 KB, 1149×174 - Click the image to expand
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 Reply
>>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 Reply
>>47497
Нет, серьезно, что такое подпрограммы? Функции и операторы? И не выебывайся, я просто плохо помню ненужную терминологию.
>>47498
Все, починил. Мне просто нужно было сделать исключение для массивов из 2х элементов, на которых начинался бесконечный цикл.
информатика убивает
>> No.47502 Reply
>>47501
Нет, анон, я все равно не понимаю. Написал как в методичке, и получается вот это. В итоге, программа дает верно отсортированный массив, но я не понимаю, где тут метод Хоара. Ведь даже на первой сортировке опорный элемент улетает в конец, слева от него есть как большие, так и меньшие, то есть, своей конечной позиции опорный элемент не занял. Но все равно, какие бы массивы я не пробовал, всегда выходит отсортированный массив. Почему?
>> No.47503 Reply
File: Безымянный.jpg
Jpg, 196.72 KB, 1280×1024 - Click the image to expand
edit Find source with google Find source with iqdb
Безымянный.jpg
>> No.47506 Reply
>>47503
Форматирование кода у тебя ужасно сделано
>> No.47510 Reply
>>47502
Это магия. Поищи более серьёзную книгу, если тебя это так сильно интересует. С мат. доказательством.
>> No.47511 Reply
>>47506
А что с ним?
>> No.47512 Reply
>>47502
Возьми Автокад, нарисуй какие-нибудь яблоки разных размеров и посортируй их руками.
>>47510
Хорошая шутка, лол. Там идея проще пареной репы же.
>> No.47513 Reply
>>47512
Ну во всяком случае, в мат. доказательстве будет расписано более подробно всё. Так что уже нельзя будет не понять. Поэтому я решил предложить.
>> No.47514 Reply
>>47511
Ну, ты исходник выложи куда-нибудь, я тебе покажу, что там не так. Не буду ж я файнридером распознавать или руками там перенабирать все это
>> No.47515 Reply
>>47513
Не совсем так. Математическое доказательство концентрируется на доказательстве корректности алгоритма, а не на донесении самой идеи до чукчи-студента которому, суко, лень и над кодом порассуждать, и в английскую педивикию слазить, т.е. хорошо работает тогда, когда «я понимаю идею, но не верю, что она работает всегда»; когда понимания нет, доказательство лишь больше запутывает.
>> No.47516 Reply
Тут есть кто-нибудь, кто разбирается в архитектуре программ? Вот говорят, что нужно скрывать от клиента реализацию, а насколько далеко имеет смысл в этом сокрытии заходить не говорят.
>> No.47517 Reply
>>47516
Совершенный код Макконела, книга про ООП Бертрана Мейера.
>> No.47518 Reply
File: Alice.Margatroid.full.396266.png
Png, 240.17 KB, 723×831 - Click the image to expand
edit Find source with google Find source with iqdb
Alice.Margatroid.full.396266.png
>>47516
Пользователь программной подсистемы и клиент должны видеть ровно то, что им необходимо для работы с подсистемой штатным путём, и ничего сверх этого. Не стоит в клиентской части показывать кровавые детали внутренней реализации потому, что они сбивают пользователя с толку, ухудшая читаемость, и могут постоянно меняться на протяжении всей жизни подсистемы, особенно если за простым интерфейсом скрывается довольно сложный программный комплекс. Исключением могут стать простые подсистемы, состоящие из одной-двух частей и предоставляющие один интерфейс, например, реализация стэка или очереди, однако здесь, опять же, пользователю бесполезна информация о самом механизме хранения элементов. Если подсистема является производной от какой-либо сторонней подсистемы, хорошим тоном будет указание данного факта в явной форме, т.е. если, например, клиентские типы являются производными от типов сторонней подсистемы, их определения не прячутся, а указывается полностью, поскольку подсистему-родителя могут поставлять совсем другие люди.
>> No.47519 Reply
>>47514
Я другой анон, просто интересно.
>> No.47520 Reply
Анон, есть ли системная вендовая функция, возвращающая название (не символ) клавиши по ее виртуальному коду?
>> No.47521 Reply
>>47516
«Шаблоны корпоративных приложений» Мартина Фаулера еще.
>> No.47522 Reply
>>47520
Вряд ли. Есть в всяких заголовочных файлах, сделай обратную табличку.
>> No.47523 Reply
File: img.jpg
Jpg, 99.17 KB, 1220×1850 - Click the image to expand
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 Reply
>>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 Reply
Если я не понимаю математические формализации, всё плохо?
>> No.47533 Reply
>>47532
Если ты не понимаешь толстые книги по компьютер сайенс, то всё ок. Макаки нужны всем и будут нужны.
Но если ты набиваешься в илитку, то без этого никак.
>> No.47534 Reply
Что такое математические формализации? Доказательства верности алгоритмов?
>> No.47538 Reply
File: 812cadd0d92211d3628804ce73241f18.jpg
Jpg, 40.28 KB, 500×500 - Click the image to expand
edit Find source with google Find source with iqdb
812cadd0d92211d3628804ce73241f18.jpg
Есть один проект на пэхэпэшечке, в нем для всяких задач виндоуз-девелоперы развели пахомию с десятком bat-файлов вида ``php ./такой-то-криптец --с-такими-то-параметрами``, я всё это дерьмо вынес в один Makefile, но они говорят что "это неудобно, не хотим ставить цыгвин, хотим тыкать мышой".
Собственно вопрос, есть ли по винду(7,8,10) изкоробочный скриптовый ЯП с поддержкой рисования гуя?
>> No.47539 Reply
File: 09d3e2ade407320a30dc192520c04357.jpg
Jpg, 439.53 KB, 600×848 - Click the image to expand
edit Find source with google Find source with iqdb
09d3e2ade407320a30dc192520c04357.jpg
Горит лаба, курс читается и математикам, и кодеркам, только математикам разжевывают как на питоне что сделать, а мне (не совсем бидуро-, такими-то методами, но кодерку) говорят что математику должен знать.
Есть сгенерированные данные по равномерному распределению, надо с помощью Maximum Likelihood Estimation найти такие параметры нормального распределения, чтобы оно максимально совпадало с данными из равномерного. В конспекте много математических формул, которые у меня не получается перевести в алгоритм, как это сделать?
Дальше идут задачи на... минимализацию логарифмированных функций вероятности, что я тоже не понимаю, и мои острые сожаления о том что не брал пару лишних курсов математики.
>> No.47540 Reply
>>47539
Забашляй какому-нибудь сэмпаю за лабы чо.
>> No.47541 Reply
File: Ia.jpg
Jpg, 188.47 KB, 1280×1024
edit Find source with google Find source with iqdb
Ia.jpg
File: Ib.jpg
Jpg, 209.36 KB, 1280×1024
edit Find source with google Find source with iqdb
Ib.jpg
File: II.jpg
Jpg, 225.42 KB, 1280×1024
edit Find source with google Find source with iqdb
II.jpg
File: 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 Reply
>>47541
Ну и в залитом коде как раз та ситуация, когда счетчики присвоений/сравнений выключены комментариями.
>> No.47543 Reply
File: IV.jpg
Jpg, 147.34 KB, 1280×1024 - Click the image to expand
edit Find source with google Find source with iqdb
IV.jpg
>>47542
И ещё оффтоп по двумерным массивам. Вопрос, можно ли как-то передать ссылку на сам двумерный массив в функцию? То есть, вот на примере мне нужно сделать функцию заполнения массива. В теле main я бы написал все то же самое, что и в функции, но если делать функцию, то получается то, что получается, ошибка. И как с этим быть? Сколько разных вариантов не перепробовал, получаю ошибку из-за несоответствия типов. В чем проблема передать ссылку на массив ссылок типа int?
>> No.47544 Reply
>>47543
Все, вопрос снят, я просто жопой читаю. Но тогда такой вопрос, тоже оффтоп. Фиксированные матрицы (у которых размерность задается в коде программы) и динамические (размерность которой может задать пользователь) реализуются совсем по-разному, да?
>> No.47545 Reply
>>47544
Да. Во втором случае тебе потребуется динамическое выделение памяти. Гуглируй функцию malloc и иже с ней. Не забудь про free.
>> No.47546 Reply
>>47545
Мы это уже прошли, знаю. Я про то, что не получится просто как и с фиксированным размером определить массив массивов и использовать его.
>> No.47547 Reply
File: Cheeks_Space_AU.jpg
Jpg, 456.33 KB, 773×1000 - Click the image to expand
edit Find source with google Find source with iqdb
Cheeks_Space_AU.jpg
>>47522
Спасиб, так и сделал.

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

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

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

>>47595
Ясно.

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

>>47615
Для этого существуют указатели на указатели (и указатели на указател на указатели и т.д). У тебя должно быть что-то вроде:
int **ptrArr = NULL; // указатель на указатели
If(!(ptrArr = (int звездочказвездочка)malloc(sizeof(intзвездочка)звездочкаPTR_AMOUNT)))
actionsiferror();
Поздравляю, получился двумерный массив с элементами типа int.
>> No.47621 Reply
>>47619
Двухмерный массив можно и иначе сделать, двойной указатель необязателен
>> No.47622 Reply
File: 14703377321350.jpg
Jpg, 71.86 KB, 720×975 - Click the image to expand
edit Find source with google Find source with iqdb
14703377321350.jpg
Что нужно знать джуниару быдлокодеру? Может есть полезные книжки? Являюсь первокурсотой, скоро лето, вероятно появится время на совершенствование своих скиллов хакермена.
>> No.47624 Reply
Нужно заполнить массив 8х8 нулями и единицами так, чтобы нулей было ровно в 2 раза больше. Подскажите алгоритм, язык неважен (C#, C++, Pascal)...
>> No.47625 Reply
>>47624
Количество ячеек должно делиться на 3, а оно не делится. Заполнить 8х8 ячеек так нельзя.
>> No.47627 Reply
File: Clipboard01.png
Png, 10.14 KB, 719×214 - Click the image to expand
edit Find source with google Find source with iqdb
Clipboard01.png
>>47624
Да бля!..
>> No.47638 Reply
File: face.png
Png, 45.62 KB, 850×529 - Click the image to expand
edit Find source with google Find source with iqdb
face.png
Как быстро и безболезненно сделать такой интерфейс на С++ под линукс? Весь мой опыт графики это вывод графиков в питонах-матлабах и у OpenCV есть свой минималистичный набор - картинка и трэкбары сверху, а тут препод уперся что можешь писать под своими прыщами, но без гуя никак.
>> No.47640 Reply
>>47638
Очевидный Qt очевиден
>> No.47641 Reply
>>47622
Зачем тебе что-то знать?
Когда в продакшене половина кода будет на первом ангуларе, половина на втором, и все то в вперемешку с другими говно библиотеками, и у тебя будет 20 способов что-то сделать, и каждый из них несёт какие-то проблемы в дальнейшем, знания сортировки тебе не поможет
>> No.47643 Reply
>>47638
>>47640
Пытаюсь в Qt. Сейчас у меня выводятся фреймы таким образом
MainWindow w;
CVImageWidget* imageWidget = new CVImageWidget(); // библиотечный виджет для OpenCV
w.setCentralWidget(imageWidget);
imageWidget->showImage(frame); // frame это cv::Mat кадр обрабатываемого видео
Проблема в том, что что бы я не набросал в mainwindow.ui, выводится только видео без интерфейса, полагаю, это потому что w.setCentralWidget(imageWidget);
Вопрос, как сделать так чтобы видео выводилось только в виджете, который большое поле справа на картинке? Допустим, это у меня QObject, который QWidget, у которого objectName = cvframe
>> No.47644 Reply
>>47641
А потом открываешь страницу, а она отжирает проц и память, как будто это crysis 3(или что-то сейчас крутое?). И нет, не из-за ангуляров. Просто кто-то решил, например, сравнить все 1000 опшенов селекта с массивом из 1000, каждый с каждым. С сопутствующим квадратичным ростом потребления проца. Или просто что-нибудь решит уйти в рекурсию и развалит стек. Все зависимости работают ОК, но кодеры всегда найдут способ, всё разломать. Чего только стоит какой-нибудь on(change) без debounce. Триста ajax-запросов никуда, с кучей мусора.
https://habrahabr.ru/company/everydaytools/blog/329282/
>> No.47649 Reply
>>47643
Разве твой CVImageWidget не QWidget? Зачем ты тут хочешь запихать виджет в виджет - шоб було?
>> No.47650 Reply
>>47649
Мне достаточно просто вывести CVImageWidget справа от кнопок и ползунков, но на панельке в designer моего CVImageWidget нет, отсюда я делая вывод, что надо бросить какой-то QWidget на нужное место, а потом сказать что этот QWidget это мой CVImageWidget. Скажи, если есть вариант как просто вывести мой CVImageWidget.
>> No.47651 Reply
>>47650
Лично я так и делал, только на PyQt и Matplotlib. Наверное, воркфлоу идентичен: авторы матплотлибов предоставляют готовые виджеты под разные гуи, а юзеры их приклеивают.

В кьют дезигнере мне этот виджет хватило запромоутить в нужный класс, чтобы оно заработало:
http://doc.qt.io/qt-5/designer-using-custom-widgets.html#promoting-widgets

Совершенно точно (как минимум, для PyQt) можно импортировать свои виджеты внутрь дезигнера, и в папке с примерами оно было, но я заморачиваться не стал, так как делал всё в первый раз.
>> No.47652 Reply
File: Screenshot_9.png
Png, 42.45 KB, 927×509 - Click the image to expand
edit Find source with google Find source with iqdb
Screenshot_9.png
Почему, когда я на имдб ввожу поисковый запрос вручную, то выдача быстрого поиска одна, а когда ввожу через Selenium или HTMLunit - совсем другая? На сайте стоит какая-то защита от автоматизации или проблема в логике работы этих библиотек?
>> No.47653 Reply
>>47652
Сними скрин после поиска и глянь, что там.
>> No.47654 Reply
>>47653
Зачем скрин? Селениум я и так остановить могу после набора запроса, а юнит не рендерит страницу, в нем я вывожу предложения в массив и печатаю в консоль. Вручную если искать - всё отлично, нужные фильмы в первой же строке. А нажимать на кнопку поиска не помогает - имдб локализует названия, хрен найдешь.
>> No.47655 Reply
>>47654
Может там какой-то косяк с вводом или ещё с чем-то, потому и результаты кривые. На скрине будет видно.
>> No.47656 Reply
File: Screenshot_13.png
Png, 463.50 KB, 841×612 - Click the image to expand
edit Find source with google Find source with iqdb
Screenshot_13.png
>>47655
Ну вот в первом моем посте скрин кода и вывода для HTMLunit, там в консоль пишется, какой поисковый запрос я посылаю (search) и что получаю в ответ. Ввожу вручную, в анонимном окне - всё норм. Селениум у меня дома написан, но там ровно те же результаты, могу потом запостить скрин, если интересно.
>> No.47657 Reply
>>47652
Какие-то тонкости идентификации? Что тут особенного?Скорее всего поиск самообучается под тебя. Идентификация кукисами, айпишником, возможно юзер-агентом. Кукисы чистил?
>> No.47658 Reply
>>47657
> Кукисы чистил?
> в анонимном окне - всё норм
Пробовал это на хроме и фаерфоксе, на новом компе.
> Какие-то тонкости идентификации?
Вот я и спрашиваю, может кто сталкивался с подобным и может подсказать.
>> No.47659 Reply
>>47656
Юзерагент.
>> No.47661 Reply
File: -.jpg
Jpg, 88.18 KB, 540×540 - Click the image to expand
edit Find source with google Find source with iqdb
-.jpg
Допустим есть один хостинг картинок, и я хочу, написать качалку этих самых картинок на С++ под линуксы. Но не простую, а чтобы по мере скачивания она делала некоторые вещи на сайте, например лайкала картинку. Внимание, вопрос: мне придется изучать то, с помощью чего сделаны кнопочки на сайте, или это делается с помощью методов используемого протокола? Вообще еще ничего не писал для сети, так что плохо представляю, что там как. Какая библиотека наиболее полно покроет мои потребности? Имеет ли смысл попутно браться за изучение объектно ориентированного/обобщенного стиля (рано или поздно я этим все равно займусь, не с этим проектом, так с другим) или удобнее будет реализовывать в функциональном стиле? В идеале, в далеком будующем, планируется поддержка нескольких сайтов (в том числе и создание кастомных конфигов/методов, не знаю, как именно это будет реализовано) — для каждого сайта свой модуль, который можно было бы отдельно устанавливать и кастомизировать.
Сейчас вспомнил, что существует такая штука, как API. Так вот, у сайта оно есть. Как я понимаю, написано оно на JSON. Так же есть библиотеки для Python и Go. Ничего из этого я не знаю. Будет сильно сложно?
>> No.47662 Reply
>>47661
Открываешь в браузере девелопер тулс и смотришь реквесты, которые идут при нужных действиях. Параметры, заголовки, возможно печеньки.
Потом повторяешь у себя. Для сишек есть curl, он всё это умеет.
>> No.47663 Reply
File: e97c7288177d8d89954123b383c2baaf.jpg
Jpg, 123.85 KB, 500×800 - Click the image to expand
edit Find source with google Find source with iqdb
e97c7288177d8d89954123b383c2baaf.jpg
>>47662
Спасибо.

Вспомнил еще вопрос. Как прикрутить к программе распознавания ключей и параметров? Писал такое сам для использования внутри программы, получилось криво и работало не всегда (хотя в большинстве случаев). Наверняка же есть какая-нибудь либа для этого.
>> No.47664 Reply
>>47661
если у сайта есть API, то кнопочки на сайте вообще не понадобятся. из чего они сделаны - в любом случае не важно. выясни, что такое "используемый протокол".
будет сложно. для первой версии программы про лайки забудь, напиши просто качалку.
если будешь писать на C++, то изучай объектно-ориентированный подход.

вообще, изучать одновременно линукс, С++ и сеть - плохая идея. каждая из областей сложная сама по себе. могу рекомендовать исключить C++, а вместно него использовать python и линуксовые инструменты командной строки (типа curl, nc, wget...) - будет существенно проще.

>>47663
man getopt
>> No.47665 Reply
>>47664
Спасибо.

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

> могу рекомендовать исключить C++
Ради него все и затевается, по большому счету.
>> No.47666 Reply
>>47661
Что за хостинг конкретно?

>>47664
> если у сайта есть API, то кнопочки на сайте вообще не понадобятся
> для первой версии программы про лайки забудь, напиши просто качалку
> изучать одновременно линукс, С++ и сеть - плохая идея
> использовать python

Подписался.
>> No.47667 Reply
File: spheres.png
Png, 172.87 KB, 600×338 - Click the image to expand
edit Find source with google Find source with iqdb
spheres.png
>>47665
> > могу рекомендовать исключить C++
> Ради него все и затевается, по большому счету.
тогда я рекомендую найти другое упражнение, более подходящее по смыслу к C++. числодробилку какую-нибудь. рендеринг (построение красивых картинок по описанию геометрии сцены), или например локальный индексер/поисковик... C++ хорош для реализации сложных алгоритмов. лезть на нем в сеть, конечно, можно, но в качестве обучающего примера / первого знакомства - я бы не советовал.
>> No.47668 Reply
>>47665
> Ради него все и затевается, по большому счету.
вдогонку: не забывай, что C++ - один из самых сложных существующих языков программирования, а область применения у него сегодня - довольно узкая. трижды подумай, то ли это, что тебе нужно.
>> No.47669 Reply
>>47666
trixiebooru.org или e621.net, скорее первое, для начала.

>>47667
Другого ничего интересного (полезного) в голову не приходит из относительно простого (на мой взгляд).

>>47668
> один из самых сложных существующих языков программирования
Это меня не пугает (пока).
> область применения у него сегодня - довольно узкая
С этого момента по-подробнее.

Вообще, я отталкивался от того, что вроде бы как более-менее знаю С, и вроде бы как С++ еще более мощный инструмент. Вероятно, когда-нибудь я захочу написать Dwarf Fortress, и я подозреваю, что лучше это делать на C++, а не на Python.
>> No.47670 Reply
File: pony_json.png
Png, 47.93 KB, 1102×676 - Click the image to expand
edit Find source with google Find source with iqdb
pony_json.png
>>47669
Выглядит довольно просто. Кроме необходимости париться с проксёй в России (заблокировано). Накручивать апвоуты через это апи тоже нельзя, только загружать инфу с сервера.

То есть когда определишься со своим способом получить линк на изображение:
https://trixiebooru.org/1451736

То элементарно и безо всяких аутентификаций и клиентских ключей можешь посмотреть джейсон:
https://trixiebooru.org/images/1451736.json

Берёшь любую джейсон либу и в data['image'] лежит прямая ссылка на скачивание.

На питоне это просто, на C++ - хз. Тоже должно быть несложно. К другим сайтам требуется такой же индивидуальный подход. Бывает, что апи геморройное, и проще из хтмл-сорца страницы вытащить инфу, воспользовавшись хтмль-парсером.
>> No.47671 Reply
После питона на спп можно уже и не вернуться, лол.
Лучше сначала задрачивать что-то уровнем пониже, а то потом как без рук с элементарными казалось бы действиями.
>> No.47672 Reply
>>47671
Согласен.
>> No.47673 Reply
>>47671
Последние несколько лет модно на гоу переходить с питона. Я даже видел в вакансиях типа: микросервисный проект на пхп, но часть модулей на гоу переписывают.
>> No.47674 Reply
>>47669
> > один из самых сложных существующих языков программирования
> Это меня не пугает (пока).
"вычерпать ванну чайной ложкой гораздо сложнее, чем ведром" - "это меня не пугает". Это говорит не о смелости, а о несоответствии задачи и инструмента
> > область применения у него сегодня - довольно узкая
> С этого момента по-подробнее.
C++ нужен тем, кому нужно одновременно как минимум следующее: а) исключительное быстродействие, б) сложные алгоритмы, в) компиляция в нативный код на разных архитектурах. Такие задачи достаточно редки и большинству программистов никогда не встречаются.
>> No.47677 Reply
>>47674
> а) исключительное быстродействие, б) сложные алгоритмы, в) компиляция в нативный код на разных архитектурах
Это задачи как раз большинства программистов, а те кому они никогда не встречаются - это вебмакаки и их сородичи на мобильных платформах.
>> No.47678 Reply
>>47668
Может, он для обучения это делает. Тогда всё нормально.
>> No.47679 Reply
>>47674
> а) исключительное быстродействие, б) сложные алгоритмы
Мне это интересно.
>> No.47681 Reply
File: Screenshot_43.png
Png, 124.57 KB, 1123×891 - Click the image to expand
edit Find source with google Find source with iqdb
Screenshot_43.png
Делаю проект на джаве, надо выводить графику, строить хотя бы примитивные геометрические тела. Раньше использовал JOGL, но он местами кривой, с 2015 года не обновлялся и на прошлой неделе у меня внезапно сломались текстурки. Так что я окончательно решил переходить на другую библиотеку и выбрал LWJGL как достаточно популярную и живую на сегодняшний момент. Но в LWJGL 3.0 убрали поддержку glu из-за чего нельзя на ходу делать кубы, пирамиды, сферы и прочее. Но библиотека поставляется с кучей стороннего говна, среди которого - как раз надстройка для быстрого построения и работы с примитивами. Я добавил её и кучу другого через maven, всё вроде подтянулось, тестовый проект работает. Вот только когда дело дошло до par_shapes, IDE вроде и помогает заполнить импорт, и при использовании функций из библиотеки рекомендует импортировать именно её, но вот сам ругается на импорт, хотя джарники-то есть. Таки что в таком случае делать? Строить сферу попиксельно я не хочу, хочу нажать кнопку и чтоб всё было заебись.
>> No.47683 Reply
>>47681
> import static
>> No.47686 Reply
>>47679
> > а) исключительное быстродействие, б) сложные алгоритмы
> Мне это интересно.
в таком случае сложно придумать что-нибудь более подходящее, чем построение или (в меньшей степени) обработка изображений.
работа с сетью (на уровне протоколов приложений) к этому не относится.
линукс этому ортогонален (быстрые сложные алгоритмы обычно системно-независимы)
>> No.47705 Reply
Почему при использовании библиотек в С от сторонних разработчиков нужно выполнять все эти
./configure
mingw32-make
./install
?

Почему нельзя просто добавить файлы с/h в проект того же Netbeans/QT Creator и он самостоятельно сделает всё нужно? (Hello World линкуется как нужно)
Так будет работать?
>> No.47707 Reply
>>47705
Есть header only библиотеки, типа существенной части буста для C++.

То, что ты предлагаешь иногда тоже встречается, но обычно когда для проекта нужна либо конкретная версия нужной библиотеки, либо она в каком-то виде форкнута, но сам форк не имеет смысла в отрыве от твоего проекта.

По факту же, ты получаешь большие проблемы с распространением и переиспользуемостью (тебе и каждому, кто пользует твою либу/etc придется пересобирать все зависимости, не говоря уже о том, что в GNU/Linux дистрибутивах есть пакетные менеджеры, например, и такой вариант установки поломает все нафиг).
>> No.47711 Reply
>>47707
Я о Windows. И о разработке приложений. Да и какая проблема в Linux прилинковать все библиотеки в проект, и потом просто запускать ./mysoftware.bin?
Однажды друг в ВУЗе собрал вот такой вот файл release.bin. Попробовал запускать под виртуальной машиной Ubuntu. Искал потом библиотеки по всем мутным линукс-варезникам: libcairo (именно .10, а не .9 в конце!), wxwidgets. Да и ещё нужно бросать строго в точную папку где-то в системе... Так и не запустил. Хорошо хоть в msys удобно сделали: сам знает, откуда качать

Значит, такой способ тоже работает?
>> No.47719 Reply
>>47711
> разработке приложений
Ты их распространять собираешься?

> спойлер
Про статическую vs динамическую линковку можно долго спорить.

> Значит, такой способ тоже работает?
Да. Но могут возникнуть проблемы с разными системами сборки. Иногда можно встретить Makefile, который вызывает системы сборки и собственно компиляцию для всех зависимостей и самого приложения.
>> No.47731 Reply
>>47730
> general-items.html?infinite=true
А они и не прекращают. Показывают тебе всё из каталога, пока не закончится.
>> No.47732 Reply
>>47731
О чем и речь, не понятно откуда сами узнают на клиентсайде. Если вручную подставлять страницы, то даже на 50 что-то покажет.
>> No.47733 Reply
>>47732
> на клиентсайде
Зачем клиент? Формируется список на 96 айтемов из каталога, они могут подгружаться из базы и приводиться в нормальный вид на бекенде. Браузер принимает только такими вот пачками, пока юзеру не надоест скроллить или пока вещи из каталога не кончатся. А может, разработчики сделали так, что когда покупатель просмотрит всё, ему повторяют выдачу сначала.
> даже на 50 что-то покажет
Что говорит разве что о том, что в магазине много наименований.
>> No.47734 Reply
>>47733
Нет, оно где-то приныкано и пачка быдлокода где-то это делает именно на клиентсайде, но вот где - не понятно.
>> No.47735 Reply
Таки нашел там.
<p class=\"amount\">\n Items 1 to 96 of 808 total <\/p>
Но на самой странице что-то не заметно, лол.
>> No.47786 Reply
Можно как-то в селениуме вытянуть время, которое тест простаивал в ожидании элемента? Я вот задал 10 минут - этого с головой хватит на правильную обработку запроса и вывод сообщения.

WebDriverWait wait = new WebDriverWait(driver, seconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));

Но я хочу знать, сколько именно понадобилось времени на появление сообщения. Селениум так сможет? Или надо обходить стороной, каким-нибудь циклом, который будет подсчитывать количество проваленых ожиданий по Х секунд?
>> No.47787 Reply
>>47786
А оно разве не вернет в момент когда условие станет тру/нот-нулл? Засечь перед и замерить после. То есть там внутри такой же цикл с проверкой (насколько вижу можно отконфигурировать частоту c .pollingEvery()). Обернуть как-нибудь для красоты если нужно. Извини если сильно мимо.
>> No.47796 Reply
Шалом, /s/.

Есть исходники программы geosteiner-5.1 http://www.geosteiner.com/

Как из них собрать рабочую прогу под Win 8.1?

make в консоли в чистом виде не помогает.
Установил cygwin, запустил make -f makefile.in - ошибка, прерывание на строке 104.
>> No.47797 Reply
File: 1486490149651.jpg
Jpg, 176.26 KB, 800×1083 - Click the image to expand
edit Find source with google Find source with iqdb
1486490149651.jpg
Есть какой-то список специальностей более узких прграммистов? Или лучше дерево. Я имею в виду, например, корень "программирование", а от него ребро к 3д инженеренгу, фронтенд разработке, AI, и прочим таким вещам. Чтобы можно было точнее определиться чего хочешь, и вообще посмотреть, что бывает, вдруг окажется, что я больше хочу заниматься чем-то о чем еще даже не знал.
>> No.47798 Reply
>>47797
Ещё лучше большое дерево по всей жизни, по всем специальностям и вообще всем делал. Я думаю, что его нет. Тут вот какая вещь. Ты становишься в итоге тем, кем ты себя чувствуешь изначально. Не совсем, но почти. Доступ к информации ограничен. И если бы ты точно знал, как стать каким-то там узким специалистом, то тут же стал бы им. Простой и наивный парень не станет им, так вообще не в курсе, что "так можно было", а не просто потому, что у него не хватает чего-то. В конечном итоге ты рискуешь, добываешь информацию и пробуешь, не имея никаких гарантий. Чем более мутные и непонятные штуки ты делаешь, тем больше капусты ты рубишь, и тем дальше ты отдаляешься от простых людей. И тем меньше тебя понимают. И ты никем не станешь просто делая всё правильно.
>> No.47799 Reply
>>47797
>>47798
Ты в рефлексию вообще не можешь? Смотри что устраивает в разработке, что не устраивает, какие предпочтения. Дерево ему постройте. Определиться он хочет. Охуеть вообще. Если с собой разобраться не можешь, становись говнокодером. Правда, это не узкая область, скорее наоборот.
>> No.47800 Reply
>>47799
Fullstack govnocode developer, звучит!
>> No.47850 Reply
Хаскель или R? Питон и так знаю.
Я доучиваюсь на математика, проприетарщина не нужна, octave это не серьезно. Область применения - тяжеловесные вычисления, в том числе и на видеокартах, всевозможный машоб и моделирование процессов, может быть с простеньким гуем. Требуется быстродействие, простота, меньше "программирования" (ООП-фаги могут укусить меня за зад).
>> No.47851 Reply
>>47850
Откуда тянется эта байка о том, что якобы хаскель используют математики в вычислениях? Кто это придумал? Откуда вы идете?
>> No.47852 Reply
File: hqdefault.jpg
Jpg, 33.02 KB, 480×360
edit Find source with google Find source with iqdb
hqdefault.jpg
File: 1498917585012.png
Png, 1.06 KB, 300×20
edit Find source with google Find source with iqdb
1498917585012.png

Допустим, я пишу программу на плюсах. Допустим, если оптимизация возможна, то она значима. В таком случае, есть ли разница между функцией, котороая возвращает что-то вникуда, и такой же функцией, но не возвращающей ничего вовсе? Или зависит от компилятора? Если я использую g++?
>> No.47853 Reply
>>47851
Мой препод по математике из современных языков использует только хаскель, но аргументировал только тем что очень быстро пишется.
>> No.47854 Reply
Это глупых вопросов тред? Линукс, питон, библиотека-пример, поехали:
1) Что почитать про поведение ботов в играх? Стрелять по мишеням просто, а вот как бегать\кататься-прятаться в складках местности интеллигентно? Может, курс какой-то есть?
2) Как "блокировать" экран на линуксе(xfce)? Хочу заставить себя вести дневник, блокировать каждый час пока не введу в поле чем я этот час занимался. Не обязательно делать процесс неубиваемым и останавливающим все остальные, хотя я бы почитал о том как это делается.
3) Как выводить графики функций чтобы рисовать что-то вроде https://www.youtube.com/watch?v=qz0uC8ypbyI ?
4) Как управлять клавиатурой и мышкой?
5) Как писать лог клавиатуры и мышки?
6) Как считывать звук с микрофона для изменений в риалтайме?
7) Есть ли конструктор десктопных интерфейсов как Qt, только для питона?
8) Как проще всего получать RRS моих любимых комиксов?
9) Чем сейчас шифровать файлы (учитывая квантовые компьютеры в подвалах ЦРУ), тоже в питоне?
>> No.47855 Reply
>>47853
Молодой препод небось? И что он с ним делает? Просто преподаёт? Быстро пишется после того, как ты потратил месяцы на изучение. Это тяжелее и замудреннее чем ООП, но при этом во многом то же самое. У тебя в голове полная каша. Десятки каких-то глупостей. Я даже не хочу все их разбирать. Просто почитай что-нибудь. Вообще всё равно что, лишь бы путнее.
>> No.47856 Reply
>>47855
Не сказать чтоб совсем разваливается, но пожилой. Показывал на нем решения задач, которые мы проходили. Вообще на многих предметах надо было иллюстрировать программой доклад или писать что-то на бонусные баллы, но все обычно использовали питон + jupyter слайды.
>> No.47857 Reply
>>47855
> Быстро пишется после того, как ты потратил месяцы на изучение.
Как что-то плохое. Я всякую мелкотку по автоматизации до сих пор пишу только на перле - быстро и минимум кода, мало на чем так получится. А всякая хипстота и младопогромисты кривятся уже только при слове перл, лол.
>> No.47858 Reply
>>47852
Такой несущественный случай не влияет на скорость работы программы абсолютно.
>> No.47859 Reply
>>47858
А если бы первая функция возвращала объект весом в гигабайт, например?
>> No.47860 Reply
>>47859
В сишке, плюсах, ассемблере и прочих подобных ЯП функция может вернуть только что-то размером не больше регистр проца. Если программист нахуячил в теле функции создание гигабайтного объекта, возвращает ссылку на него и не использует, то рождается резонный вопрос: нахера он это сделал?
>> No.47861 Reply
>>47860
Вопрос теоретический, просто пытаюсь выяснить, есть ли хоть какое-то влияние или нет. Альтернативной формой вопроса может быть: будет ли разница во времени исполнения программы, совершающей только многократное вызов (1ккк, например) функции первого типа, и такой программы с функцией второго типа? При том, что время выполнения одинаковой части функции одинаково и пренебрежимо мало.
>> No.47862 Reply
>>47854
> интеллигентно
Интеллектуально?
> заставить себя вести дневник, блокировать каждый час пока не введу в поле чем я этот час занимался
Ваша метода изначальна проигрышная, товарищ. Нужно делать так. Процесс мониторит всю активность на компластере: посещение и время потраченное на вебсайтах, время проведенное в активных окнах и каждые N часов показывать always on top окошко куда ты впишешь не компьютерные дела. Это будет добавляться репорт. В QT такие флаги для окошка быть должны.
> Как управлять клавиатурой и мышкой?
xdotool, wmctrl
> Есть ли конструктор десктопных интерфейсов как Qt, только для питона?
QTCreator (или дезайнер?). Потом с pyqt его выхлоп подбирать (хотя там вроде кодогенератор по этому выхлопу).
> Как проще всего получать RRS моих любимых комиксов?
RSS? Обычно есть ссылка на сайте комикса, некоторые читалки сами подхватывают если сунуть им сайт.
> Чем сейчас шифровать файлы (учитывая квантовые компьютеры в подвалах ЦРУ), тоже в питоне?
Я enсfs использую, но для сильно специфичных целей (шифрованные бекапы).
>> No.47863 Reply
>>47862
Да, интеллектуально, сори за англицизм.
> Ваша метода
Так гораздо лучше, спасибо.
> QTCreator
wxFormBuilder мне больше понравился, простой и сразу на нескольких языках генерирует.
> RSS
В своей программе, имелось ввиду. Решил через https://wiki.python.org/moin/RssLibraries
И по шифрованию туда же, pycrypto чтобы в RSA паковать рисованных девочек.
>> No.47864 Reply
В общем, я протестировал. Написал две программы:
#include <iostream>

using namespace std;

double rettest();

int main() {
for (double i = 0; i != 10000000; ++i) {
rettest ();
cout << i << endl;
}
return 0;
}

double rettest() {
double d = 0;
return d;
}

и

#include <iostream>

using namespace std;

void rettest();

int main() {
for (double i = 0; i != 10000000; ++i) {
rettest ();
cout << i << endl;
}
return 0;
}

void rettest() {
double d = 0;
return;
}

И последовательно запускал их. Сначала первую, потом вторую, так три раза. Условия, конечно, не идеальные, но тем не менее результат показателен. Обе они стабильно отрабатывали 3м 51 секунду, разница была в знаках после запятой, кои и привожу:
запуск\программа| первая вторая разница
первый ,248 ,195 ,053
второй ,257 ,217 ,040
третий ,234 ,123 ,111
Результат, что называется, на лицо. И это на i5 каком-то процессоре, всего одна микроскопическая функция, вызывается не так уж много раз.
>> No.47865 Reply
>>47864
Это надо смотреть в дизасме, а не считать время. Вас там уже не учат штоле?
>> No.47866 Reply
>>47865
Ну откомпилируй, да посмотри, я в ассемблерах не шарю. Нет, не учат.
>> No.47867 Reply
>>47864
Это типичный случай экономии на спичках. У тебя программы не делают нихуя, они бессмысленны, первая не делает нихуя (NOP), но возвращает всегда ноль, вторая просто не делает нихуя (тоже NOP). И ты пытаешься сравнить в каком случае нихуя выполняется быстрее.
>> No.47868 Reply
>>47867
Так сделано, чтобы минимизирывать погрешность, вызываимую тратой времени на все остальное, кроме исследуемого места. Или, если бы это была крупная программа, с сотней подобно используемых функций, делающих что-то полезное, это бы улучшило скорость возвращения значения?
> NOP
Как я написал, я не разбираюсь в ассемблере, но ничего подобного в дизассемблированных бинарниках я не вижу.
Если перенести счет до n в функцию, она будет считаться делающей что-то? Это на что-то повлияет?
>> No.47869 Reply
>>47868
Это не влияет ни на что. Вот если у тебя в программе например были бы вычисления по алгоритму с экспоненциальной сложностью, а ты заменил бы на полиномиальную, то вот это была бы оптимизация. А вот это не оптимизация ни разу.
>> No.47870 Reply
File: 1498980200639.png
Png, 1.15 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1498980200639.png
>>47869
Так это вообще вопрос выбора алгоритма, от тонкостей языка это не зависит. Я, вот, сейчас читаю книжку с базовым курсом С++, так там, например, автор замечает, что имеет смысл, когда это возможно, использовать префиксный инкремент/декремент, так как он оптимальней постфиксного, если исходное значение не нужно. Я подумал, раз уж в общем курсе такое упоминается, наверное подобные моменты имеют какое-то значение.
>> No.47871 Reply
>>47870
Для встроенных типов компиляторы пост-инкремент в легкую оптимизирует, для сложных типов с переопределенным оператором инкремента это уже не работает, программист сам должен решить по логике программы что использовать.
>> No.47872 Reply
>>47866
Учи операционки, проц, компилятор, асм. Ты тратишь время впустую.
>> No.47876 Reply
File: 1320916611311.jpg
Jpg, 154.47 KB, 800×600 - Click the image to expand
edit Find source with google Find source with iqdb
1320916611311.jpg
Доброкодер, передо мной такая задача: нужно окну чужого 32-битного приложения посылать по таймеру серию событий - кликов левой кнопкой мыши, пока юзер удерживает в этом окне правую кнопку или хоткей. С координатами курсора само собой, наверное придется использовать событие WM_MOUSEDOWN, но я никогда не имел дела с хуком окон и чужих системных сообщений. Возможно ли это сделать без хука или возни с событиями, ведь мышиный курсор в системе всегда один, а его координаты целевое окно и так ловит? Иными словами, можно ли написать турбо-репитер для мыши с помощью состояния виндовых виртуальных клавиш или чего-то еще в том же духе?
>> No.47877 Reply
В следующем семестре, среди прочего, у меня будет курс OpenGL на плюсах под линуксом, как и почти все однокурсники, я решил подготовиться за лето и заранее написать по нему семестровый проект, что-то вроде https://www.youtube.com/watch?v=QUIRvJKroMk
Посоветуйте, пожалуйста, туториал как сделать очередной минималистичный дженерик 3д спейсшип симулятор, можно на английском. Определенный опыт в плюсах у меня есть, но я не буду против пояснений для совсем нубов, на всякий случай.
>> No.47879 Reply
>>47877
Очень давно лежит на ПК NeHe Tutorial.
http://s000.tinyupload.com/?file_id=00433847440490596016
Лично я решил для себя начать знакомство с понятиями 3D в three.js, и не пожалел. Но курс в вузе - это не личный проект
>> No.47887 Reply
File: 14464948571790.jpg
Jpg, 578.60 KB, 1920×1723 - Click the image to expand
edit Find source with google Find source with iqdb
14464948571790.jpg
Что я имею: вполне умный по моим ощущениям кун, учащийся в МИФИ. В школе изучал ненужный паскаль. Причем, я переходил из школы, где инфы вообще не было в школу, где она была, и боясь быть аутистом в ней за месяц прошел какую-то методичку по Паскалю. Знаний из неё мне хватило на весь курс школьного Паскаля. В свободное время прошел методичку по с++, где было описано все то же самое, что в Паскале, но на языке плюсов. Сейчас на первом семе мы прошли с, где было описано все то же самое, что в Паскале и с++, но на языке с. Везде все одинаковое, про функции, процедуры, циклы, if-ы и введение собственных типов данных struct. Все и всегда сводилось к составлению консольной программы ну это черное окошко с текстовым вводом, хотя я ещё баловался с графикой паскаля, сделав 2 игры, но это не то.
Что я хочу: стать крутым программистом. Уверен, что в будущем мне по-любому это пригодится, раз сейчас все автоматизировано. Но ещё мне это нравится и я хочу уже сейчас начать зарабатывать на этом денюжку да-да, как тупой школьник хочу стать модным фрилансером и делать IT-штуки на заказ. Но вообще хочу стать специалистом в этом деле в будущем, быдло-кодером и "код-мартышкой" быть не хочу.
Что мне делать для того, чтобы добиться того, что я хочу? Какие есть методички по созданию настоящих программ? С интерфейсом и окошками. Ну, как любые программы, которые мы используем обычно Ведь, как я уже заметил, пока всегда делал только консольные штуки. Да и нужно ли мне уметь делать программы? Может лучше внутренности сайтов, сервера и все такое? Управленцы вроде круче и востребование, хотя я ничего не знаю об этом. Но вообще я хочу знать все. Надо ли следовать пику и начать изучать Яву, Руби или Питон? Мне почему-то хочется Руби потому, что у него самый топовый и милый значок. С чего начать и куда идти?
>> No.47888 Reply
>>47887
Если хочешь интересную работу, сразу забей на веб. Да и фриланс исчезающе редко бывает интересным.
Про языки, во-первых, все языки что ты потрогал - процедурные. Паскаль мертв, можно писать студенческие работы на делфи, но серьезные библиотеки давно не пишутся. Си стоит учить, если хочешь работать на низком уровне (драйвера, микроконтроллеры) или в НАСА, впрочем, нежно обращаться с байтами (а на этом пути тебя ждут именно такие ласки, хотя в интернетах и пожизнево их принято называть иначе) нужно на многих ресурсоемких местах, так что ты можешь писать сишные вставки даже для самых хипстерких стартапов. На плюсах дальше ты прочувствуешь всю боль нафапывания макаками уровня повыше на ООПшные абстракции, когда ради мифического удобства переделки и повторного использования на пять строк полезного кода городится сотня объектов и классов. Макаки пишут на пхп, "программисты" - на плюсах, с ними ты сможешь все, но это глубоко порочный путь. Советую обратить внимание на функциональные языки, в первую очередь все еще хаскель. Это языки для белых людей, на них программы короче, читабельней и понятней, потому что ты пишешь то что хочешь получить в итоге.
Успокою тебя по поводу графики. Если речь идет об интерфейсе, то поставь QtCreator или я использую wxFormBuilder, который генерирует код сразу для плюсов, питона, пхп и луа, набросай формочку по роликам с ютуба и успокойся на этом. Средний интерфейс это просто, качественный интерфейс делают соответствующе обученные макаки и тебе это быстро наскучит. И еще, не бойся работать в терминале и пользоваться шорткатами, это хороший тон.
Начать лучше всего с питона. Это как бы и не программирование, потому что он скриптовый, костыльный и кастрированый по самые кейсы, но очень простой и удобный. Советую сразу начать писать в jupyter, блокноты (https://nbviewer.jupyter.org/github/rasoolfa/MySmallDeepNets/blob/master/RBM_run.ipynb - и текст, и иллюстрации, и код, и результаты выполнения кода в виде графиков или вывода в консоль - в одном месте) это самое лучшее что можно выжать из подобных языков. А еще, под него реально много библиотек и можно пытаться во все, от математики с искусственным интеллектом до мигания лампочками и роботов.
Управленцы это обычные менеджеры, здоровый человек не захочет этим становиться. Реши что ты хочешь делать конкретней чем просто писать программы. Посмотри на достижения науки, я говорю обо всем от разработки лекарств до полетов в Космос и реши частью чего тебе хотелось бы быть. А потом начни писать самую простую программу в этом направлении, составь список вещей которые ты хочешь в ней реализовать и реализовуй их один за другим с помощью stackoverflow, лучшего способа научиться писать программы чем писать программы просто нет. Поверь, мануалы вроде "сегодня мы шаг за шагом напишем калькулятор" ничего тебе не дадут.
Для глубокого понимания что ты делаешь, начни с Алгоритмы и стуктуры данных Вирта и SICP (под питон уже есть, кажется, а скоро будет и в формате визуальной новеллы), это самый минимум.
>> No.47889 Reply
File: Да ты охуел.jpg
Jpg, 66.01 KB, 500×375 - Click the image to expand
edit Find source with google Find source with iqdb
Да ты охуел.jpg
>>47887
> ненужный паскаль
>> No.47890 Reply
>>47887
> следовать пику и начать изучать Яву
Я бы не сказал, что Java - просто модный язык. Захочешь перейти на мобилочки - можно будет изучить, но начни лучше пока с основ, как тебе писали.
>> No.47895 Reply
>>47888
> Начать лучше всего с питона.
Хорошо, как? Нагуглил и открыл первые 2 методички. И там то же самое, что я уже знаю о плюсах, си и паскале: "Есть разные типы данных, есть операции, мы можем делать циклы, а можем и ветвления, вот так вот все, да, конец.". Есть что-нибудь, после чего я смогу DO THE REAL THING. Какая-нибудь методичка, по которой я научись реализовать настоящие задачи из хотя бы 1 какой-нибудь области. Например курс, где будет все вот это вот введение, а потом смогу сделать настоящую программу с интерфейсом, свистелками и перделками и вундервафлями. Например, как из поста >>47877 .
> jupyter
Погуглил. Это тоже самое, что codeblock для плюсов и Pellec C для с?
>> No.47896 Reply
>>47895
Если ты уже знаешь основы, я бы посмотрел в сторону чего-то вроде Python Cookbook или Fluent Python.
>> No.47899 Reply
>> No.47900 Reply
>>47895
"Настоящие задачи" состоят из таких вот простых операций и типов, а еще использования библиотек. Скажи что ты хочешь написать, и тогда я смогу тебе что-то подсказать.
> jupyter
Это блокнот. Сodeblock и прочее это IDE, посыпаный сахарком текстовый редактор с компилятором\интерпретатором, я предпочитаю использовать geany для всех языков (С, C++, python, asm, на R проще писать в jupyter как раз) из-за удобства настройки. Блокнот это... ну посмотри пример по ссылке, это набор последовательных ячеек. Ячейки могут быть разных типов, но сводятся к тому что в одних просто текст и изображения, а в других код, у ячеек с кодом есть исходящее поле, куда выводится результат работы кода. Если хорошо форматировать вывод, то тебе не нужен интерфейс, блокнот где ты работаешь и есть готовый продукт, чаще всего он используется для демонстраций, туториалов и подобного, еще я в нем презентации делаю и конспекты писал - годная интеграция с латехом.
>> No.47901 Reply
>>47900
> Скажи что
А чем занимаются всякие программисты на работе? Есть наверное сисадмины, которые постоянно переустанавливают шиндоусы и заставляют принтеры работать. А чем занимаются те, кто пишет что-то? Такие же есть?
>> No.47902 Reply
>>47901
Это как спросить чем занимаются физики или математики, внешне сидят и считают, но количество вариантов просто огромно.
Сейчас я жду деталь для того чтобы закончить шасси робота, который своей клешней будет носить мне банки колы к столу, теперь заместо мозгов стоит клон малинки - орандж, а до этого игрался с ардуино и просто микроконтроллерами.
Провожу небольшую автоматизацию рабочего процесса и быта, большую часть повторяющихся действий за компьютером можно заменить скриптами, когда со временем станет посвободней, попробую написать бота для какой-то мморпг.
По учебе разбираю обработку натурального языка и биоинформатику, а занимаюсь машинным обучением (и надеюсь в скором времени - ИИ, через вклад/стажировки в OpenAI, MIRI, etc), что включает в себя и обработку изображений и видео через OpenCV.
А ведь есть еще всякий пентест, криптографии, языки-компиляторы-операционки, геймдев и прочее.
Если ты просто увидел как люди сидят в офисах и получают большие деньги, то действительно или сайтики делай, или без настоящей увлеченности эта работа не для тебя.
>> No.47903 Reply
Пишу на питоне под линукс, снимаю звук с микрофона (http://python-sounddevice.readthedocs.io/en/0.3.8/examples.html), редактирую, как теперь заставить систему считать измененный звук входящим прямо с микрофона, чтобы все программы получали его уже после моей обработки?
>> No.47907 Reply
>>47902
> чем занимаются физики или математики
Ну, из своей учебы я уже понял, что сначала ты учишь всю стандартную механику, потом молекулярку, потом электричество, потом всякие странные вещи, и после 4 лет такой учебы ты будешь готов делать все.
Но учить сначала весь питон, потом весь си, потом все остальные языки, чтобы делать все, звучит как-то странно и неправильно. У меня есть какая-то увлеченность, мне нравится прогать, но я не знаю с чего начать. Почему бы вот как раз не делать сайтики? Ведь программы для всего уже написаны, кроме редких случаев, к которым я и не знаю как подойти и какие они вообще бывают. А вот делать всякие сайты, внутреннюю хуйню для них. Может тогда в это пойти? Как работает интернет, что такое различные протоколы и зачем они, как и где держать сайт и как его вообще запилить, как использовать mysql не раз видел это и уже понял, что это штука для баз данных сайтов. Думаю, вот таким заняться просто и понятно. Это явно легче, чем просто знать все для каких-то задач, которые я даже представить пока не могу.
>> No.47908 Reply
File: Безымянный.png
Png, 233.79 KB, 1920×1042 - Click the image to expand
edit Find source with google Find source with iqdb
Безымянный.png
Сделал LL(1) генератор парсеров. Процедурный только, т.е. правило это вызов метода addRule(...). Сделал регулярные выражения. Не добавил только обратные ссылки тк заебался уже. Еще написал трейсер чтобы проще дебажить было. Вопрос: меня возьмут на позицию java макаки 1000$?
>> No.47909 Reply
>>47907
Если знаешь С++, тебе понадобится всего пара вечеров чтобы разобраться с Си и производными, джавой, питоном и всем подобным. Если знаешь хаскель, быстро освоишь функциональщину. Все языки отличаются синтаксисом, что не есть проблема, и парой своих фич. Представь себе натуральные языки ограниченные до пары сотен слов, когда научишься говорить на одном, выражая сложные мысли и получая связную речь, изучить другой язык, зная алгоритмы, уже проще. Когда знаешь несколько языков, с какой-то новой проблемой или технологией разбираешься по ходу реализации, так что можешь заниматься всем, на что хватает мозгов и знаний математики.
Сделай хотя бы игру, если твой единственный вариант это сайты. Поставь питон, pygame, придумай как это будет выглядеть и вбей в поисковик "туториал по pygame", "как поставить картинку фоном в pygame", "как включить и зациклить музыку в pygame", etc. Учиться надо спрашивая о проблемах и смотря на примеры с гитхаба.
>> No.47911 Reply
Привет, доброкодер, есть один студент и один вопрос.
Пытаюсь понять работу Divide and Conquer Division, в публикации есть такая строка:
> First we assume that n is even...
где n — количество цифр делителя. И далее:
> If n is odd, compute Q and R by basecase algorithm.
Больше про это условие ничего не сказано. Если положить на него известный прибор, получаются неверные Q и R. Собственно, вопрос: откуда взято условие?
>> No.47912 Reply
>>47911
А ссылку на публикацию можно?
>> No.47913 Reply
Что значит «Recursive Division.pdf: exception - Currently not supported»? О_о
>>47912
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.47.565&rep=rep1&type=pdf
>> No.47924 Reply
File: 23528007193292ec77382cd3c7d2784a.jpg
Jpg, 775.94 KB, 850×1200
Your censorship settings forbid this file.
r-18g
C++. Чревато ли чем-то злоупотребление встраиванием функций класса? Я имею ввиду, если у класса много небольших функций, хорошо ли всем им прописать inline?
>> No.47925 Reply
File: DaCA.png
Png, 11.28 KB, 1022×611 - Click the image to expand
edit Find source with google Find source with iqdb
DaCA.png
>>47911
Они это сделали для упрощения, дабы не вводить проверки на ноль, ведь всегда можно докинуть в делимое нулевых старших разрядов и выполнить условие 2n/n для любого n. Так что ищи ошибку где-нибудь в другом месте.
А алгоритм хороший, да.
>> No.47932 Reply


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]