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

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

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

Предыдущий: >>32496
>> No.44691 Ответ
>>44688
Между прочим. Я надеюсь, все понимают, что треды в путеводителе(как и все остальные), которые дошли до бамплимита, можно пересоздавать и писать в путеводитель реквесты на замену. Этот тред долго не пересоздавали.
>> No.44696 Ответ
>>44691
Учитывая то, что тред ушёл в бамплимит в июне 2015-го...
>> No.44726 Ответ
Файл: Makbet.jpg
Jpg, 48.87 KB, 530×377 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Makbet.jpg
>>44688
Добрый день. Скинул на один общий ресурс файл с базой формата sdf SQL Compact, В Visual Studio через SQL Server Compact ToolBox подключился к ней с другого компа, соединение есть, запросы выполняются, но когда пытаюсь в программе открыть SqlConnection выпадает ошибка:
"An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
Additional information: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 5 - Invalid parameter(s) found)"

ConnectionString я копировал из успешного подключения SQL Server Compact ToolBox, только пришлось перед строкой поставить "@" чтобы не ругалось на "\". Получилось что-то вроде SqlConnection con = new SqlConnection(@"Data Source =\\dddd.com\DavWWWRoot\bbb\aaaa\2015\febr\Myfirstdb.sdf; Password = 1234"))
В чем может быть проблема?
>> No.44727 Ответ
>>44726
Помню, у SQLCE были какие-то проблемы с открытием файлов, лежащих в расшаренной папке. База не может открываться одновременно несколькими удаленными клиентами, или что-то такое.
>> No.44797 Ответ
Предложите какую-нибудь простенькую учебную задачку (или несколько задачек) совсем-совсем ньюфагу для реализации на С. Хелловорлд, калькулятор двух чисел и сортировку массива пузырьком уже написал.
>> No.44798 Ответ
>>44797
Покури описание какого-то lzw и реализуй упаковку и распаковку. Интереснои и несложно.
>> No.44799 Ответ
>>44797
Задача "о рюкзаке"(и связанный с ним подход "динамического программирования"), сортировка Хоара(быстрая), поиск по графу "в глубину". Трудно, но очень полезно и поучительно.
>> No.44800 Ответ
Уже очень много лет пытаюсь научиться программировать. И до сих пор, спустя много лет, постоянно испытываю жуткое желание побыдлокодерить. Но каждый раз, когда открываю книгу, у меня просто начинается приступ жуткой уныльщины и депрессии, как же это скучно и вообще какая-то хунта.

Перепробовал много разных яп: питоны, явыскрипты, ас3, кресты. И дело не в том, что сложно, а именно, что легко. Мозги это не загружает, нужно просто дрочить-дрочить-дрочить, оттачивать синтаксис и все.

Говорят, что яп gamemaker, рпгмакеры и констракты прекрасно подходит для таких как я, но мне хочется именно на клавиатуре поклацать, а не мышкой водить.
>> No.44801 Ответ
>>44800
Просто ты не можешь в нормальную постановку задач и алгоритмы. Попробуй запрограммировать что-нибудь околоматематическое, типа решения какого-нибудь диффура с малым параметром при помощи комплексной схемы Розенброка и прогонки. Если ничего не понятно, гугли и разбирайся. Я не шучу, ну а что ещё тебе посоветовать, если гришь дескать "мозги не загружай @ дрочи синтаксис"?..

мимо студент-математик, который кодит в основном только численные методы
>> No.44802 Ответ
>>44801
Чуть более универсальный совет попробовать спортивное программирование, типа codeforces. И некотрые фишки языка на оптимизацию можно узнать, и алгоритмы капитально поднять.
>> No.44803 Ответ
>>44797
quick sort, простенькая игра в консоли типа крестиков-ноликов. В вузике нам давали написать свой shell, не такой крутой как bash, конечно, но всё равно это не так уж быстро и легко.
>> No.44806 Ответ
Файл: 0ecda3fa-5952-49de-9e03-e8262cd6934d.png
Png, 812.87 KB, 1000×1451
Ваши настройки цензуры запрещают этот файл.
r-15
Htmlacademy хорошая штука для изучения, с прицелом на верстку\вебдиз? Знаю что не яп, но тред в /u/ уже, поди, утонул что не достать.
>> No.44807 Ответ
>>44806
> Htmlacademy хорошая штука
Да, очень годный ресурс, чтобы в основы въехать.
>> No.44808 Ответ
>>44806
Мне вообще кажется, что нет ничего лучше чем чтение текста. Все эти видео, примеры и прочая - это всё обучение второго и третьего сорта. С ними ты никогда не можешь просто так взять и начать работать. А если практиковаться, то самое лучшее - это, всё равно, всё самому ставить и поднимать, всё самому делать.
>> No.44809 Ответ
>>44800
> оттачивать синтаксис
Ты до сих пор не мог выучить синтаксис одного яп? Его можно было осилить за день. Или меньше.
>>44801
> типа решения какого-нибудь диффура с малым параметром при помощи комплексной схемы Розенброка и прогонки
Это же пипец как бессмысленно. Ты будешь 99% времени учить математику в этой задаче. На задаче о рюкзаке ты бы хотя бы думал о программировании, а не о математике.
> ну а что ещё тебе посоветовать
Сам бы научился сначала, прежде чем советовать.
> мимо студент-математик, который кодит в основном только численные методы
В итоге кроме них ты ничего не будешь уметь кодить.
>>44802
Чахнуть над тяжёлыми задачами - только убить мотивацию. Без планового изучения теории графов и динамического программирования и прочего их не взять. Лучше взять книгу и читать её.
>> No.44810 Ответ
Посоветуйте, пожалуйста, сервис с задачками по python.
>> No.44811 Ответ
>>44809
Человек же совершенно ясно обозначил, что ему скучно набивать однообразные задачи, для выполнения которых достаточно знания синтаксиса. Вот ему и нужна задача, где вся соль не в синтаксисе, а в алгоритме и дотошном понимании происходящего.
P.S. Я как бы и не программист.
>>44801-кун
>> No.44812 Ответ
>>44809
> Ты до сих пор не мог выучить синтаксис одного яп? Его можно было осилить за день. Или меньше.
Хунту сказал. Нюансы разжевывания человеческого понимания логики в рамки яп и есть проблема синтаксиса. Просто тупо нужно разжевывать понятные тебе вещи в уровни-подуровни-переменные-группы, и при этом не абы как, а с соблюдением правил оформления.

>>44811
Иди сначала сам попробуй попрограммировать. Я сказал, что мне скучно изучать синтаксис. Допустим я хочу сделать игру, логически она не представляет сложности программирования, но проблема в том, чтобы эту понятную логику перенести на яп. Это все равно что объяснять всем известные и понятные вещи умственно отсталому дауну, надо все до мельчайших подробностей разжевывать, и не абы как, а по правилам. В итоге, вместо того, чтобы делать игру, ты заебываешься тем, чтобы объяснить яп, что ты хочешь.
>> No.44813 Ответ
>>44812
Попробуй погрызть clojure, там весело.
>> No.44814 Ответ
>>44813
Кложура это типа лишп на жвм?
>> No.44815 Ответ
>>44814
Ага, чуть почищенный от заебов 70-х.
>> No.44819 Ответ
>>44812
Чтобы "объяснить яп, что ты хочешь", надо самому понимать, что ты хочешь. Это и называется алгоритмом -- когда ты большую задачу разбиваешь на последовательность маленьких шагов. Предварительно, естественно, уяснив это для себя.
>> No.44820 Ответ
>>44819
> Это и называется алгоритмом
Нет. Реализация одного и того же алгоритм дробится на функции и классы сотнями способов. При этом от этого будет зависеть будущность твоей программы. Для этого есть куча сложных теорий, твои шаги - это просто ясли на этом фоне.
>> No.44821 Ответ
>>44812
> Просто тупо нужно разжевывать понятные тебе вещи в уровни-подуровни-переменные-группы, и при этом не абы как, а с соблюдением правил оформления.
Это уже не синтаксис.
>> No.44822 Ответ
>>44820
С. Макконнелл «Совершенный код», М. Фаулер «Рефакторинг», Банда четырех «Паттерны проектирования», Р. Мартин «Чистый код», Д. Кнут «Искусство программирования», Э. Хант, Д. Томас «Программист-прагматик».
>> No.44823 Ответ
>>44822
> Д. Кнут «Искусство программирования»
Ты не перепутай, это книга, что дарить кому-нибудь. Или на стенку ещё можно.
>> No.44839 Ответ
Файл: wc.png
Png, 40.74 KB, 573×528 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
wc.png
Li/s/p образовательный, подскажи начинающему. На пикрелейтед код из книги Кернигана и Ритчи "Язык программирования C", который подсчитывает число введённых с клавиатуры строк, слов и символов. Мне хочется немножко доработать, чтобы программа обрабатывала не поток с клавиатуры, а считывала из текстового файла. Вот мой попытки адаптации:

#include <stdio.h>

#define IN 1
#define OUT 0

int main()
{
   FILE *text;
   text = fopen("/path/to/text.txt", "r");
   int c, strings, words, symbols, state;

   state = OUT;
   strings = words = symbols = 0;
   while (c = getchar(text) != EOF)
{
  ++symbols;
  if (c == '\n')
   ++strings;
  if (c == ' ' || c == '\n' || c == '\t')
   state = OUT;
  else if (state == OUT)
   {
   state = IN;
   ++words;
   }
}
   fclose(text);
   printf("В файле text.txt "%d" строк, "%d" слов и "%d" символов.\n", strings, words, symbols);
}

То есть всё то же самое, только вместо nl, nw, nc в оригинале назвал переменные strings, words, symbols для большей наглядности, попытался реализовать чтение потока из файла и чуть-чуть поменял вывод. Но при компиляции GCC выдаёт:

counter.c: In function ‘main’:
counter.c:16:3: error: too many arguments to function ‘getchar’
   while (c = getchar(text) != EOF)
   ^
In file included from counter.c:3:0:
/usr/include/stdio.h:538:12: note: declared here
   extern int getchar (void);
        ^
counter.c:30:36: error: ‘d’ undeclared (first use in this function)
   printf("В файле text.txt "%d" строк, "%d" слов и "%d" сим
                                ^
counter.c:30:36: note: each undeclared identifier is reported only once for each function it appears in
counter.c:30:37: error: expected ‘)’ before string constant
   printf("В файле text.txt "%d" строк, "%d" слов и "%d" сим
                                 ^
counter.c -- имя файла с кодом. Не понимаю, на что он ругается в printf. Работу с файлом, видимо, организовал неправильно. Подскажите, а как надо было?
>> No.44840 Ответ
>>44839
Заменил getchar(text) на fgetc(text) и printf переписал в упрощённом виде как в оригинале: printf("%d %d %d\n", strings, words, symbols);. Программа при выполнении выдаёт 0 1 271, но это точно неправильный результат (в текстовом файле несколько строк, явно больше одного слова и меньше 271 символа). В чём я ошибаюсь?
>> No.44841 Ответ
>>44840
> В чём я ошибаюсь?
В том, что на этой доске найдётся хотя бы одна кодомартышка с квалификацией, достаточной, чтобы указать тебе на ошибки даже в таком простом примере.
>> No.44842 Ответ
>>44840
1. Экранируй кавычки внутри строки: \"
2. Оберни c = fgetc(text) в скобки.
>> No.44843 Ответ
>>44842
Спасибо, всё работает!
>> No.44849 Ответ
Файл: Build-Your-Own-Lisp-2014.pdf
PDF, 2441.02 KB, 842×1191, 195 страниц - Нажмите на картинку, чтобы скачать файл
Build-Your-Own-Lisp-2014.pdf
Кстати, для начинающих сиёбов - бодрая книжечка по запиливанию лишпа на коленке с нуля.
>> No.44850 Ответ
>>44849
> Build-Your-Own-Lisp
Why should I?
>> No.44858 Ответ
Хочу обмазаться Джавой, пробую сначала скомпилировать хэлловорлд, например отсюда: http://introcs.cs.princeton.edu/java/11hello/HelloWorld.java.html
Выполняю в консольке gcj HelloWorld.java -o 'Hello World Java', на что получаю:

/usr/lib64/gcc/x8664-slackware-linux/4.8.2/../../../../lib64/crt1.o: In function `start':
/glibc-tmp-4ccf9267168e2e05acf2dfdc0e86d1bb/glibc-2.17/csu/../sysdeps/x86_64/start.S:119: undefined reference to `main'
collect2: error: ld returned 1 exit status

Что не так и как побороть? Непонимат.
>> No.44861 Ответ
>>44858
4.1 Why do I get undefined reference to `main' errors?

When using gcj to link a Java program, you must use the --main= option to indicate the class that has the desired main method. This is because every Java class can have a main method, thus you have to tell gcj which one to use.


https://support.google.com/websearch/answer/134479?hl=en
>> No.44862 Ответ
>>44861
Понял, спасибо! javac скомпилировала без --main, в принципе, для gcj буду знать теперь.
>> No.44863 Ответ
>>44858
Зачем ты компилируешь жабу через gcj? Скачай человеческое JDK...
>> No.44867 Ответ
>>44850
Because you can. Я так писал наколеночный forth на асме (это несложно).
>> No.44869 Ответ
Файл: c0c64bceb7dbb8a90f24fa32f25f6a11.jpg
Jpg, 16.73 KB, 236×210 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
c0c64bceb7dbb8a90f24fa32f25f6a11.jpg
Насколько это сложно начать нормально писать под андроид? Скачал студию, глаза разбегаются - мавены, грэдлы, толстые конфиги на иксэмелях. Без студии жизнь есть (не фанат жирных идей)? У кого подобный опыт есть?

Есть только знания питона и жс на хорошем уровне. Выучить джаву, наверное, не составит особого труда.
>> No.44870 Ответ
>>44869
Конфигов один файлик манифеста, который не так уж часто приходится апдейтить. Билд конфиги поначалу даже трогать не надо. Всего-то знать джаву с андроид АПИ, синтаксис ресурсов и разметки. Без студии есть эклипс - та же история, только без грейдла.
>> No.44871 Ответ
>>44870
> Конфигов один файлик манифеста
Манифест можно и через студию править.
>> No.44872 Ответ
Файл: Screenshot_2016-03-02_14-10-20.png
Png, 33.78 KB, 661×412 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot_2016-03-02_14-10-20.png
>>44871>>44870
А че она какая тормозная? Я даже оракл жидикей поставил, но, кажется, не особо повлияло. Эмулятор вообще миллион лет запускается, в кему/вбоксе и то гораздо быстрее.
Алсо, как исправить пикрелейтед (пустой проект)?
>> No.44873 Ответ
>>44872
Кто она? Если студия, то потому, что это, блядь, студия. На говно-ноуте тяжелые IDE с рефакторингом и шлюхами особо не погоняешь. И подожди минуту-другую, идея обычно фоном обновляет индексы и еще какую-то херню делает с кодом.
Эмулятор запускается долго и работает кончено, если ты используешь arm образы. Качай и запускай х86 картинки и проверь, чтоб комп поддерживал HAXM, который должен быть еще и включен.
Осло, есть инфа, что микрософт выпустили свой эмулятор ведра, который качается отдельно от вижуал студии. Не знаю насколько он пижже, но есть надежда.
Осло, если есть девайс с ведром, то лучше сразу запускать проекты на нем. Все будет быстрее в триллион раз. Сам так делаю, зависимость есть.


По твоей картинке - проект у тебя не пустой, а ошибка валится в рендерилке, которая нужна для чмошников программирования мышкой. Не все контролы поддерживают эту рендерилку. В частности FloatingActionButton рендериться в студии, по-видимому, не умеет. Внизу есть переключатель между нормальным кодом и этой херней. На девайсе и в эмуляторе твой проект будет работать нормально.
>> No.44874 Ответ
>>44871
Лучше не.
>> No.44881 Ответ
>>44849
Спасибо, анон.
>> No.44882 Ответ
>>44873
Идее кстати ещё часто нужно добавлять памяти в настройках же.
>> No.44893 Ответ
Есть тут погромисты под яОС? Хочу попытать счастья в этом направлении, но как-то страшновато. Если не сложно, поделитесь какими-нибудь годными ресурсами по теме (помимо стандартной документации).
>> No.44894 Ответ
>>44893

Изучение любых технологий 101:

1. Берем в руки любой опенсорц проект, использующий желаемую технологию.
2. Берем в руки гугл и СО.
3. Ковыряем исходники.
4. Делим проект на части, отдельно разбираем каждый компонент.
5. Пытаемся запилить свою фичу в рамках взятого проекта.
6. Повторяем несколько раз.
7. Готово.

Конкретно с яблоком есть, конечно, нюансы. Например, нужно иметь мак или хакинтош с железными нервами. Впрочем, для работы с XCode металл в нервах тоже пригодится. Objective-C вот еще во многом уж очень через жопу "не такой", Swift тоже далеко не ушел. Но это уже вкусовщина.
>> No.44895 Ответ
>>44893
На хекслете вроде что-то было.
>> No.44896 Ответ
Файл: sigh-cat.jpg
Jpg, 40.68 KB, 500×375 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sigh-cat.jpg
>>44894
Слишком долго и утомительно...
>> No.44897 Ответ
>>44894
Спасибо, именно это я и хотел узнать, но не знал как сформулировать и в итоге ничего не спросил, а оставил вкладку открытой.
>> No.44899 Ответ
>>44894
Я, собственно, пока примерно так и делаю. Начал ковырять со Swift, вроде приятно работать. Правда с другими языками у меня и опыта то не было, разве что делфи и паскаль в шараге, не с чем сравнить. Энтри левел я вроде освоил (по крайней мере надеюсь на это), думаю что-то несложное сделать и попробовать в магазин выложить, чтобы не как лох быть.
Интересно ещё услышать, сложно ли было найти работу (особенно в мухосранске), с каких проектов начинали, ну и всякое такое. Ну и какие-нибудь ресурсы (>>44895 спасибо большое, я на похожем сервисе основы курил. яоси не вижу, кстати, может не там смотрел) для полного окунания в управление памятью, кор-графикс и другие вещи, к которым мне даже притрагиваться пока страшно.
>> No.44900 Ответ
>> No.44901 Ответ
>>44900
О, dmoz, я читал о нём в статье по SEO в 2007, но после этого так ни разу и не потрудился зайти на него и посмотреть, что там.
>> No.44902 Ответ
>>44901
Полистал - по большей степени какой-то музей чисто антикварных сайтов прямо из 98-го года.
>> No.44904 Ответ
>> No.44905 Ответ
>>44904
Вот я бы сильно не рекомендовал выбирать книги рандомно вместо изучения отзывов и рекомендаций. Особенно новичку, который ещё не знает, что к чему в индустрии. Это кончится тем, что появится чувство нехватки таланта, потому что прогресс будет идти вяло, а дерьмовые книги часто запутывают и вводят в заблуждение своих читателей.
>> No.44908 Ответ
>>44904 >>44904
Нет, но спасибо за совет.
Я почитал отзывы. Ту книгу, которая мне приглянулась, ругают, говорят ошибки и вообще автор сволочь. А вот книгу с The Basics of Swift хвалят, но его я вроде как знаю (хотя есть пару очень интересных пунктов, спасибо за наводку). А их можно как-нибудь... украсть? А то дороговато будет.
Думаю вот насчёт этих https://www.raywenderlich.com/store https://www.appcoda.com/swift/, если своровать получится опять таки. Не пробовал никто?
>> No.45001 Ответ
Привет, доброкодер.
1. Как стать крутым сишником?
2. Как писать хороший код? Я вот начал закапываться глубоко и немного утонул в указателях, malloc vs calloc vs *alloc, pragma once или include guard(и зачем это нужно) и прочая. Лабы уровня перемножения матриц и вычисления интегралов уже написаны. Кодстайл?
>> No.45018 Ответ
>>45001
> Как стать крутым сишником
Как стать крутым музыкантом? Практика, и только-то.
> Как писать хороший код
Погугли:
«C Programming Style» (Paul Krzyzanowski)
«Notes on Programming in C» (Rob Pike)
«C: Elements of Style» (Steve Oualline)
«C Style and Coding Standards for SunOS» (Bill Shannon)
Лучше вроде ничего нет.
> немного утонул в указателях
Это ненадолго.
> malloc vs calloc vs *alloc
На всякий случай, StackOverflow там -->>
>> No.45109 Ответ
Файл: 7924281534_561e5b29e1.jpg
Jpg, 61.47 KB, 331×500 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
7924281534_561e5b29e1.jpg
Смотрите, я более менее понял в шарпе делегаты. А вот не могу въехать в события.
Т.е. я вроде как суть улавливаю, что это просто делегат, который вызывает некоторый метод при наступлении события. Но как правильно их создавать, когда они нужны, а когда нет и вообще понять не могу.
>> No.45111 Ответ
>>45109
ruwiki://Наблюдатель_(шаблон_проектирования)
Не смотри на диаграммы классов и код, читай область применения - события в C# реализованы не совсем так, но задачу решают ту же. Можешь ещё читнуть главу про этот паттерн у Фрименов, тогда сразу поймёшь, когда они нужны, а когда нет.
>> No.45113 Ответ
>>45109
C#-боярин в треде.
Рассматривай событие как список делегатов.
Подписался на событие - добавил делегат в список.
Отписался - убрал.
Когда событие вызывается, то вызываются все методы в списке.
Попробуй еще реализовать асинхронный вызов события (когда каждый подписчик асинхронно вызывается), поймешь окончательно.
>> No.45187 Ответ
Файл: 1381773620220.jpg
Jpg, 70.43 KB, 562×780 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1381773620220.jpg
>>44688
Аноны, с детства мечтал стать бородатым толстым умудренным опытом и ленью сисадмином, но жизнь несколько иначе решила, однако сейчас есть возможность осуществить мечту детства и встать на путь ковыряния серверов и писания скриптовых костылей. Так вот анон, нужна помощь - с чего мне начать? Какие книжки\курсы пояснят мне за сети, линукс, баш и прочее веселье? Буду в двойне благодарен, если с самых основ но не на уровне истории и жизнеописания давно минувшего ПО и разработчиков этого ПО.
>> No.45191 Ответ
>>45187
Мой кореш с нулевым багажом знаний устроился принеси-подайкой в серверную какой-то фирмы такси. Тамошний админ его на практике, без книжек, обучал всяким мудростям и сейчас кореш уже сам админит целую айтишную контору. Поражаюсь его успеху, учитывая что он до сих пор двух слов по-английски связать не может.
>> No.45194 Ответ
>>45187
Ричард Стивенс, все книги (включая сетевые протоколы в подлиннике).
>> No.45198 Ответ
Анон,

я уже года два как питоню, но так и не понимаю, что такое итератор и нахуя он нужен, когда есть списки.
Можешь на пальцах объяснить ситуацию, когда итератор просто необходим?
>> No.45199 Ответ
>>45198
Плохие новости, Ватсон. Вы уже два года не умеете в гугл.

https://www.google.com/?q=python%20iterator%20vs%20list
приведет тебя на
http://stackoverflow.com/questions/628903/performance-advantages-to-iterators
оттуда ты попадешь на
http://markmail.org/message/t2a6tp33n5lddzvy
или же сразу прочитаешь TL;DR:
For small datasets, iterator and list based approaches have similar performance. For larger datasets, iterators save both time and space.
>> No.45200 Ответ
>>45198
Итератор - это абстракция, описывающая последовательность обхода или обработки каких-то элементов. Это может быть любая структура данных, не только просто список, но и всякие там дереьвя. И это может быть вообще не структура данных, а выбора из неё или ввод данных откуда-то. Ты можешь сам как угодно программировать итераторы(создовая кастомные реализации) и получать из них разные последовательности. Тот кто обходит итератор уже не будет думать, как устроен сам механизм обхода. Причём код использующий итератор может оставаться прежним, если механизм обхода или источник данных поменяются, стоит только заменить итератор на другой. Другой способ получит то же самое - использовать функцию, которая принимает на вход колбэк, в который попдает элемент, но так ты только в одном направлении и без остановки идёшь и не можешь запомнить позицию. А итераторы могут быть двунаправленными, обход по ним можно прервать брейком, итератор можно запомнить в переменной.
>> No.45201 Ответ
>>45200
> итераторы могут быть двунаправленными
В питоне?
>> No.45209 Ответ
Правда что для обучения программированию надо 10 лет, или на худой конец 10 000 часов?
Так во всяких статейках и книжонках говорят.
>> No.45211 Ответ
>>45209
Нет, нас в вузике вебмакакингу на пхп за один семестр научили.
Правда перед этим нас учили паскалю, дельфе, ассемблеру, сишке, плюсам, жабке, прологу, сетям, базам данных, дискретке, алгоритмам.
>> No.45212 Ответ
>>45209
Смотря что считать за обучение. Синтаксис большинства отдельных языков можно вызубрить и кое-как говнокодить велосипеды за 2 дня-неделю, всё остальное - база по разделам математики и технической части, сильно зависит от того, что тебе надо.
> 10 000 часов
Это и есть 10 лет, при какой-то там стандартной частоте занятий. Вот только это "порог гениальности", то есть время необходимое для получения хай-левла в своём деле (не обязательно кодинге). Тот же sicp рассчитан на, кажется, полгода на главу (коих четыре, причём обязательные только первые две), неспешным но стабильным ходом.
>> No.45213 Ответ
>>45212
>>45211
Значит я опоздал. Я мог бы заняться кодингом нормально лет в 15, и уже пройти половину пути, вот только мне скоро исполняется 21, а я даже в вузе ещё не поступил...
Вообще я бы хотел пописывать на няшной в какую-нибудь опенсорс софтину, связанную с видео или звуком... но я даже не знаю, что там за алгоритмы и как к ним подойти, об этом нигде доступно не написано. А раньше я вообще блуждал со свечой в темном замке, некому было меня вразумить, то на пхп гостевухи пытался клепать, то ололо паскаль по ретроградным рашкинским недо-учебникам, то пытался в школьную олимпиадку, но очень быстро меня затошнило от тамошних скучнейших оторванных от жизни задач.
>> No.45214 Ответ
>>45213
Почему же поздно? Вон один анестезиолог по имени Кон Коливас писал патчи для ядра.
>> No.45215 Ответ
>>45214
А один уголовник написал ФС. Ой нет, наоборот.
>> No.45216 Ответ
>>45209
10 000 часов - это количество времени, чтобы стать гением в любом деле. Гений - понятие относительное, но это в любом случае очень много, не меньше чем тимлид или "сениор".
А так срок обучения зависит от желаемого качества спеца и твоего умения хватать информацию и энтузиазма. Синтаксис можно и за день съесть(кроме С++, скалы или любого функционального языка, но и их можно выучить на такой процент, чтобы что-то писать).
Многие сравнивают языки по сложности, но это неправильно, надо сравнивать задачи, языки только частично с ними перекликаются. Кроме того приёмы кодинга везде одни и те же либо схожие и перекликающиеся.
>> No.45218 Ответ
Накидайте конкретных задачек по Питону, чтобы набить опыт и портфолио. По возрастающей сложности. Чтобы устроиться на что-то куда всех берут и неплохо платят. А там соориентируюсь.
Опыта создания цельных приложений нет почти. Сайт-визитка, весь SICP, калькулятор на шарпе.
>> No.45219 Ответ
>>45218
Мне пофиг, хоть фформочки клёпать, хоть энтер прайз. Вот. Но чтоб научился сам браться за работу и делать её.
>> No.45220 Ответ
>>45212
> полгода на главу sicp
Чтоа? Он рассчитан на полгода, если выкинуть последнюю главу.
>> No.45221 Ответ
>>45214
>>45216
Ок. А сколько времени надо потратить, чтобы выучить самую базовую базу, основы околокомпьютерной математики, самые основные алгоритмы и т.п., чтобы начать писать более-менее вменяемые программки?
>> No.45234 Ответ
>>45221
Месяца 3 минимум.
>> No.45235 Ответ
Уже два дня ломаю голову над задачкой..
3DES шифрование, на E-D-E режим, на трех разных ключах. Есть насколько открытых текстов и соответствующие им шифротексты. Полный перебор занимает 2^168 операций. Нужно найти способ сделать это за ~2^112.
>> No.45245 Ответ
>>45221
Оно смотри как может быть. Не обязательно прям всё зазубривать. Гораздо полезнее пробежаться, и в случае чего знать где искать нужную информацию. Ну и практика, практика, практика. Программированию не учатся по книжкам, программировать учатся в процессе сверяясь с книжками
>> No.45250 Ответ
Задачка такая. Есть четыре листа значений имя + переменная1 + переменная2. Нужно выбрать из четырёх листов по записи так, чтобы при сумме переменных2, не привышающей некий задаваемый предел, сумма переменных1 была максимальная. Как эффективнее всего реализовать такой алгоритм? Я чувствую, что тупой перебор будет плохой идеей.
>> No.45256 Ответ
>>44688
Если у кого-то есть "Изучай эрланг во имя бобра" от дмк и готов поделиться книжкой за разумную плату, просьба отметиться в комментах. Спс.
>> No.45257 Ответ
>>45256
https://cloud.mail.ru/public/8pTn/sjb3TjU9H
Хз почему такой большой, скорее всего необработанный скан.
>> No.45259 Ответ
>>45257
То djvu 33 Mb + pdf 16 Mb + пачка сканов в tiff. Пасиб! =(|)..(|)=
>> No.45260 Ответ
>>45259
Что это за смайлик?
>> No.45261 Ответ
>>45260
Наверное, котик.
>> No.45262 Ответ
>>45260
Лифчик.
>> No.45283 Ответ
Файл: 1.png
Png, 357.32 KB, 550×738 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1.png
микрософт отсыпает полгода подписки на pluralsight
https://absolute-sharepoint.com/2015/12/free-pluralsight-6-month-subsc[...].html
>> No.45284 Ответ
>>45283
Там небось курсы вокруг майкросовтовского стака технологий, или чего интересное есть?
>> No.45285 Ответ
>>45284
Да нет, весьма разнообразная тематика. Можно побраузить без регистрации.
>> No.45288 Ответ
Смотрите, есть mvc(паттерн). Правильно ли я понимаю, что для каждой вьюхи нужен отдельный контроллер, при этом модель должна быть одинаковая?
Разве нельзя запилить такой контроллер, который будет работать со всеми представлениями?

Если это важно, то я студентота, учащая сярп
>> No.45289 Ответ
Файл: 089dfc6453a66944ccfdd7c113c0bf41.jpg
Jpg, 45.56 KB, 598×645 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
089dfc6453a66944ccfdd7c113c0bf41.jpg
>>45288
Ну нет же. Модель - это некоторый слой абстракции над основным хранилищем данных приложения. Вьюхи - что-то во что передаются определенным образом структурированные данные и они какбы определяют внешний вид того что увидит пользователь. А контроллеры являются просто связующим звеном между моделями и вьюхами. Теоретически контроллеры может отрисовывать данные из моделей в неограниченное число вьюх, также одна вьюха может быть отрисована в неограниченном кол-ве контроллеров. Хотя какой-то отдельно взятый фреймворк может накладывать свои искусственные ограничения.
>> No.45290 Ответ
Файл: 621.jpg
Jpg, 38.08 KB, 600×450 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
621.jpg
Господа, я тут немного got gud и хочу поделиться мудростью со всеми присутствующими. Потому что это просто охуенно, сэры.
Советы написаны для Дельфи и Паскаля в первую очередь, но могут применяться и к другим ЯП. Рекомендуется использование гугла в таком случае.

0) Золотое правило: серьёзно оптимизировать код нужно только тогда, когда код уже написан и работает, и оптимизация даст ощутимый прирост производительности. В остальное время можно и нужно обходиться просто приёмами хорошего написания.
1) Совет года: никогда не ставьте функции и сложные вычисления в условие цикла, если он будет много и часто исполняться. Не суть важно, for это, while или until. Дело в том, что дельфи будет вычислять условие цикла во время каждой его интеракции, что может вести к катастрофическим потерям производительности в случае таких ресурсоёмких функций, как length() или pos().
2) Совет года 2: не дёргай форму в цикле, если в этом нет прямой необходимости. Если тебе нужно снять все галочки в CheckListBox - цикл будет приемлем. Но вот использовать в вычисления цикла Form1.SpinEdit.Value или подобное обращение - это просто топовый способ ввести программу в лаги. VCL в дельфях - слоупочное говно. Назначь значение переменной, назначь его ещё раз!
3) Если ты хочешь дёргать в цикле WinAPI - либо попробуй найти обходной путь, либо готовься к лагам.
4) Хранить массив в памяти выгоднее, чем на диске. Если массив очень жирный - храни в оперативке кэш того, что тебе может понадобиться.
5) Ты ещё используешь i:=i+1? Не делай так, пожалуйста. inc(i). Оптимизация, может, и мелкая, но копейка рубль бережёт.
6) Разветвления могут вызывать лаг. Старайся оптимизировать булевы выражения, когда это возможно.
7) Не стесняйся использовать with .. do. Он ускоряет код.
8) Если тебе нужно хорошенько оптимизировать математическую операцию - лучше погуглить, как это делается. Но для старта можно заменить деление умножениями и сдвигами, где это возможно.
9) Более длинный код не означает того, что в итоге всё будет работать медленнее. Если ты знаешь, что ты делаешь, не бойся сделать код длиннее или объявить лишнюю переменную.

Стори моя такова: в одной из программ, которую я писал, мне нужно было перебрать несколько вложенных циклов с почти 30 миллионами интеракций в сумме. Изначально этот цикл выполнялся около двух минут... и с помощью маленьких хитростей, которые я описал выше, мне удалось сократить это время до восьми десятых секунды. Функция, для всех интересующихся, приведена ниже. И прошу заметить: никакой эззотерики.

http://pastebin.com/nmHVNazt
>> No.45291 Ответ
>>45290
Вау, делфи еще кто-то использует? И как оно? Чем ты занимаешься, анон?
>> No.45299 Ответ
>>45291
Ну а что же в этом такого страшного? Дельфи лично для меня - очень удобный и привычный язык, к тому же - первый из выученных. У него есть среда быстрой разработки, легко читаемый код, понятные (в смысле clarity) и легко запоминающиеся функции, никаких награмождений (^&*(@!#(_)$!@#!) и подобных радостей, и уж точно никаких лисповских скобочек и мозгоёбства. Я не говорю, что этот язык 10/10, у него море своих недостататков и анахронизмов, но на нём мне просто приятно писать.
Это я уже не говорю, что дельфи в программе у многих студентов. И ещё дисциплина на большинстве олимпиад по информатике 10-11 классов.

Вообще имхо питон пизже, но у меня слишком маленький запас знаний по нему, и не так просто нагуглить информацию о нём в интернете. К тому же у него по-умолчанию нет графической оболочки. Только недавно услышал об IronPython для Microsoft VisualStudio, но я не уверен, не пойдёт ли по пизде мультиплатформенность.

А если вопрос был в том, какую именно прогу я сейчас пишу - оптимизатор персонажа для Dark Souls 3.
>> No.45300 Ответ
>>45299
Есть ткинтер - на лайнэксе он таки уродлив, а на винде, наверное, будет довольно близок к нативу.
>> No.45301 Ответ
Файл: dum.jpg
Jpg, 544.23 KB, 1280×960 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
dum.jpg
>>45299
> питон
> не так просто нагуглить информацию о нём в интернете
Вы, сударь, норкоман.
>> No.45302 Ответ
>>45291
AIMP На дельфях написан, по-моему.
>> No.45303 Ответ
>>45299
Дефли тоже был моим первым языком, но вот уже наверное 6 лет я р нем ни слова не слышал так что мое удивление было искренним.
После него я перешел в вэбдев, так что плохо орентируюсь в подходах к написанию GUI приложений, но на ум мне сперва приходят C# и Java. Слишком серьезные языки считаешь? Я чувствую тебя. Не нахожу эти опасения оправданными, но они мне знакомы.
Не знаю собираешься ли ты связать свою жизнь с программированием, и стоит ли мне вызывать к твоему разумению на базе получения практического опыта с технологиями, которые популярны сейчас и продолжат такими быть во всем мире.
Просто мне кажется что рано или поздно ты сделаешь шаг, который заставит тебя пересмотреть взгляд на вещи. Для меня таким был момент, когда я открыл для себя фреймворки. Оказалось что он не такой уж и страшный зверь, оказалось что любую из прошлых задач я мог выполнить быстрее и лучше, что я получаю пользу и не компенсирую ничем взамен. Как будто бы до этого я писал вэб-сервер машинных инструкциях, до того как открыл для себя готовый HTTP стэк.
>> No.45304 Ответ
>>45303
> на ум мне сперва приходят C#
Один из лучших и уж точно самый популярный сейчас язык для написания десктопных приложений. Но у меня к нему есть личная неприязнь. Поэтому для своего удовольствия я пишу не на нём.
> Java
Окстись! Из-за джаваёбов пара хороших программ у меня в арсенале не запускаются без гига свободной оперативки и нагружают процессор процентов на 15-20. Джава для десктопа - это пиздец оптимизации.

Я и сам знаю, что пора бы даже для себя переползти на что-то посовременнее, чем дельфи (Последняя версия гуишки для которого вышла месяц назад, ага. И оптимизирована так, как будто написана на джаве - в смысле лагучая как пиздец). Но всё как-то руки не доходят поискать хорошие и новые варианты. Алсо, что ты имеешь в виду под фреймворками? Уточни.
>> No.45305 Ответ
>>45304
> Из-за джаваёбов пара хороших программ у меня в арсенале не запускаются без гига свободной оперативки и нагружают процессор процентов на 15-20
Из-за джавы ли это или же из-за того, как их программы написаны?
>> No.45307 Ответ
>>45304
Как правило фреймворки предоставляют рабочее приложение, которое ты начинаешь менять под свою задачу. Эти приложения используют утилиты из набора, который и является фреймворком. Утилиты могут варьироваться по своей значительности - какие-то из них предоставляют обобщенный интерфейс к реляционной базе данных и позволяют тебе менять движок (с SQLite на MySQL например) на уровне конфигурации, без переписывания всех запросов которые встречались бы у тебя на всех этапах программы когда ей нужно получить что-то из БД. Некоторые утилиты предоставляют абстракцию над файловой системой, и предоставляют тебе возможность эмулировать файловую систему в базе данных.
Если тебе это не нужно, то тебе и не придется об этом беспокоиться. Стандартная конфигурация подразумевает что ты пишешь очень простое приложение и наличие возможностей которые ты не используешь не окажут значительного влияния на его производительность.
Создатели фреймворков не стремятся конкретно к расширяемости. Это лишь косвенный эфект грамотно спроектированных компонентов, которые не мешало бы иметь в стандартной поставке того или иного языка. Не мешало бы для программиста использующего этот язык, для создателей языков это ненужная ответственность. Они лишь стремятся сделать подобные расширения возможными.
Возвращаясь к тому готовому приложению, которое часто поставляется с фреймворками - для тебя путь минимального сопротивления это следовать практикам используемых в нем. Это как правило хорошие практики, они подсказывают тебе как спроектировать свой код чтобы его было легко навигировать, легко извлечь индивидуальные реюзабельные компоненты, применять автоматическое тестирование и т.д.
Не знаю, возможно ситуация отличается за пределами вэб дева. С моей точки зрения языки программирования существуют для написания фреймворков, фреймворки существуют для написания приложений.
>> No.45309 Ответ
>>45305
На жабе как ни пиши всё будет жирное, неповоротливое и текущее памятью.
>> No.45311 Ответ
>>45309
Текущее несмотря на сборщик мусора? Я понимаю, что сборщик может вызвать фриз, но текущее? И я ещё понимаю, что шарп - серьёзный конкурент, но кто тогда ещё кроме шарпа и кода с ручным управлением памятью может сравниться с жабой?
>> No.45314 Ответ
> ничего не знаю кроме делфи
> C# и джава - плохие
Охуительные истории у вас итт. C# - убер-годнота для написания виндовых приложений несмотря на говеность студии. Джава в плане фич мал-мал посасывает у шарпа, ибо автор долбоеб, навязывающий свои вкусы, но возможность запаковать один джарник и запускать его (условно) везде перевешивает минусы в некоторы случаях. А еще можно на ведре использовать куски приложения, если логика к гую не прибита гвоздями.
>> No.45315 Ответ
>>45314
Вендор лок-ин.
>> No.45316 Ответ
>>45315
Бузз ворд.
>> No.45327 Ответ
У меня есть словарь с туплями 'dic' в питоне

Как понимать следующее выражение для фильтрации по второму элементу тупля?

{k: v for k, v in dic.items() if v[1] != None} k — любой ключ
v for k — соответствующее k значение

Но {k: v for k} выдаёт ошибку, хотя по такой логике просто должен выдать весь словарь же

dic.items() — это же вообще что-то вида (ключ, (зн1,зн2)), значит v[1] должен быть сразу всем туплем значений, а не только его вторым членом

Помоги разобраться, как читать такие выражения.
>> No.45328 Ответ
>>45327
> тупля
Кортежа. От тупли слышу.
>> No.45329 Ответ
>>45328
Алсо, не говоря уже о том, что tuple - это читается "тапл".
Да, я сноб, но я не хочу придти в один прекрасный день на работу, и услышать от коллег "тупля". Не для того я глажу рубашку каждый раз после стирки.
>> No.45330 Ответ
>>45327
v for k,v in dic.items() это цельное выражение.
k,v - кортеж, скобки опциональны, можно со скобками (k, v), можно без.
>> No.45331 Ответ
Файл: Screenshot_2016-05-08_14-08-09.png
Png, 16.63 KB, 523×255 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot_2016-05-08_14-08-09.png
>>45327
> v for k
> {k: v for k}
Кажется ты не понял сами list/dict comprehension.
{(блок где ты высчитываешь новый значения/элементы) for (блок где ты описываешь откуда ты эти значения берешь) if (фильтр по значениям)}.
P.S. Я за тупли.
>> No.45332 Ответ
>>45331
Cупер, спасибо
>> No.45340 Ответ
Знает ли кто-нибудь хороший-годный бесплатный багтрекер с возможностью анонимного коммита? Желательна так же возможность выставлять повестку дня и приоритет багам.
>> No.45341 Ответ
>>45340
Trac. Написан на Python.
> с возможностью анонимного коммита
https://trac.edgewall.org/wiki/TracPermissions
> возможность выставлять повестку дня
https://trac.edgewall.org/wiki/TracRoadmap
> приоритет багам
https://trac.edgewall.org/wiki/TracTickets
>> No.45342 Ответ
>>45341
Спасибо, как раз то, что нужно.
>> No.45343 Ответ
На каком ресурсе лучше всего завести аккаунт, чтобы постить примеры кода и собственных проектов для резюме: github, sourceforge, что-то другое? Обязательна бесплатность и желательна свобода (в понимании FSF).
>> No.45344 Ответ
>>45343
Гитхаб.
Ну как, как, ёб твою мать, всё что ты говоришь перекликается с целью компаний зарабатывать деньги и писать код? Какой FSF? До тех пор, пока они могут прочесть твой код, всё ок. Репа гита чуть лучше, потому что так они увидят, что ты умеешь в гит. Гитхаб - тупо самый удобный.
>> No.45345 Ответ
>>45343
Гитхаб, очевидно. Или битбакет, там профит в виде приватных реп без смс. Но гитхаб раскрученнее, лол.
Соурсфорж вообще уже не жилец, да и он больше для готовых проектов.
>> No.45346 Ответ
>>45343
Bitbucket еще например. Sourceforge говнище, нирикаминдую. В понимании fsf - gnu savannah.
>> No.45347 Ответ
>>45343
А еще можешь запилить на своей пекарне свой собственный сает с gitlab'ом, черезе no-ip или dyndns.
>> No.45348 Ответ
>>45347
Можно, но это лишь одна из полезныхв вещей, которую можно показать, одна из тысячи вариантов. Или просто написать код.
>> No.45349 Ответ
>>45343
Для резюме лучше github. Там социальность, все дела. Если напишешь что-нибудь интересное, сможешь похвастать, что тебя даже форкают и фолловят.
sourceforge для мелких проектиков, по-моему, не подходит.
Что о них думает FSF можешь посмотреть здесь https://www.gnu.org/software/repo-criteria-evaluation.html
Выше ещё советовали bitbucket и gitlab. На википедии есть сравнение хостингов.
Проще всего выбрать github. Не прогадаешь.
>> No.45350 Ответ
>>45349
> сможешь похвастать, что тебя даже форкают и фолловят
Ты серьёзно? Что за херня? Никому это не нужно.
>> No.45351 Ответ
Большое спасибо за ответы.
>>45343-кун
>> No.45371 Ответ
Знает ли доброкодер сайты, где можно пройти тестирование своих знаний C и C++ без регистрации? Натыкался на несколько англоязычных, но всё они требовали регистрироваться что мне, как анонимусу, без весомых причин делать не сильно хочется
>> No.45372 Ответ
>>45371
Видимо, не так тебе и критично проходить проверку своих знаний, если тебе западло зарегистрироваться где-то с фейкомылом.
>> No.45373 Ответ
>>45372
Есть же даже сервисы для быстрого создания временными ящиков.
>> No.45375 Ответ
>>44688
Я в алгоритмах, полный ноль, можете посоветовать литературы? Хочу плотно засесть.
>> No.45376 Ответ
>> No.45377 Ответ
Доброкодер, а расскажи как не обосрать себе штаны. Ситуация такая у меня есть низкий уровень английского и матана, хочу начать учить язык, но не знаю какой начать. Проблема в том что возможно я нормально уже буду им владеть и через два года и тогда соответственно рынок и потребности поменяются, а опыта у меня нет что бы это предсказать. Хотелось бы что бы после того как я выучил минимум лет 5 на хлеб себе смог заработать.

Пугает ещё ситуация что вот мой друг закончил универ, си++ уже 8 лет стажа, 15к рублей. Это так печально что, аж плакать хочется. Дело в нем или действительно си++ 100% зачеркивать?
>> No.45378 Ответ
>>45377
Знание плюсов и сишки никогда лишним не бывает. Зная их не составляет проблемы изучить любые другие языки. А выбор языков и платформ зависит от твоих предрасположенностей и наличия спроса на рынке труда. Хочешь шиндоус-программинг - сисярп, ынтырпраз-вебня и ведроид - жаба, наколенный сайтоклепатинг - пхп, чуть более илитный сайтофигачинг - питон и руби, илитарный матанодроч - хаскель, окамл и эрланг, клиентсайд вебня - яваскрипт, гейосная мобилота - обжективСи и свифт.
>> No.45379 Ответ
>>45378
Вопрос был немного в другом. Я приблизительно знаю про этот список.
Например 5 лет назад рынок труда различался по языкам с нынешним? Если, да. Как ты считаешь что через лет 5-8 точно будет актуально из языков?
>> No.45380 Ответ
>>45379
Через пять лет всё будет приблизительно также плюс-минус лапоть.
>> No.45382 Ответ
Написал макрос для Excel в VBA.У меня все работает. На другом компе макрос не работает,вылетает с ошибкой.Более того после сохранения файл ломается и макрос перестаёт работать и на моей машине. Строковые переменные, содержащие кириллицу, в коде отображаются кракозябрами. Даже строка в коде вида - Msgbox "Ошибка!" отображает непонятные символы. Но если написать MsgBox CStr("Ошибка!") - то все снова работает на моей машине. Проблема в том, что у меня нет доступа к той машине. Что за настройки на том компе, что макрос ломается?? Помогите, не знаю в чем проблема!
>> No.45439 Ответ
Файл: langs_2010.png
Png, 399.36 KB, 2400×1800
edit Find source with google Find source with iqdb
langs_2010.png
Файл: langs_2016.png
Png, 102.65 KB, 944×645
edit Find source with google Find source with iqdb
langs_2016.png

>>45379
Наиболее используемые языки и платформы никуда не денутся. У индустрии огромная инерция, никто не выкинет всю свою кодобазу, чтобы всё переписать с нуля на новом сумермодном и молодёжном языке. Так что бери языки из топа и дерзай. Я бы рекомендовал C# - довольно простой и удобный язык. Не рекомендовал бы кресты и похапэ - уёбищные недоязыки, созданные дегенератами.
>> No.45440 Ответ
Когда я был школьником, мне все говорили, что в программировании все ну пипец как быстро меняется. Когда я вышел из уника и начал работать, оказалось, что всё по сути меняется очень медленно. Это как-то странно. Большинство вещей, кажется, уже как будто бы вечные. Когда последний раз что-то сильно менялось. Представить, что с джавой или пхп что-то произойдёт совсем тяжело. Даже какие-то старания конкурентов ничего не меняют, всем как бы на всё похер.
>> No.45442 Ответ
>>45440
Легаси, хули ты хотел.
Хотя всякая активная моднота быстро ломается. По всяким жабаскриптовым фреймворкам и нодам уже мало что актуально нескольколетней давности. Или какой-то ларавель в похапе.
Ну и обвешались инструментарием. Контроль версий, деплоймент, тестирование, хуё-моё, хотя оно не ВНЕЗАПНО появилось, конечно.
>> No.45443 Ответ
Алсо, в том же фронтенте вообще практически всё поменялось, по сравнению с лет десять назад.
>> No.45444 Ответ
>>45379
Javascript.
>> No.45452 Ответ
>>45439
> Я бы рекомендовал C# - довольно простой и удобный язык.
> Не рекомендовал бы кресты и похапэ - уёбищные недоязыки, созданные дегенератами.
Ясно.
>> No.45457 Ответ
>>45452
С++ создан на основе С, чтобы быть с ним обратно совместим, и при этом создан с ручным управлением памяти и полным соответствием принципу "если программист не использует возможность языка, то она не есть ресурсы и никак не мешает". Всё это налагает на язык очень много известных неудобств. Естественно, что шарп и джава удобнее, они то себя этим всем не утруждают.
Пхп не был спроектирован, а появился стихийно путём постоянного нарастания фич с частичной поддержкой старого наследия. Из-за этого он откровенно дерьмовый.
Поэтому я бы тоже не рекомендовал пхп. Неизвестно, стоит ли юзать С++, если нет особых причин на это.
>> No.45464 Ответ
>>45457
Чистый си няшный. Сейчас же вроде пилят много новых языков, неужели до сих пор нет компромисса между удобством и скоростью? Шарп имеет низкий порог входа, удобные ide и много крутых плюшек, но проблема в том, что он привязан к винде. Майкрософт даже купила xamarin. В будущем если хочешь разрабатывать на шарпах под андроид/линукс то плати деньги майкам, устанавливай VS. Учитывая их политику активного навязывания, собирания личных данных, облаков и подписок - в гробу видал такой сервис.
>> No.45467 Ответ
>>45464
> Сейчас же вроде пилят много новых языков
Ты как ребёнок, ничего не учитываешь вообще. Количество готовых либ и решений, инструментов, доступость документаций, качество автоматических оптимизаций, соместимость, наличие кадров на рынке, наличие вакансий и проч.
Есть джава.
Не нужно думать, что все дураки, а есть простое решение, которое никто не видит. Простых решений нет и не будет, блядь.
>> No.45468 Ответ
>>45464
> Шарп имеет низкий порог входа, удобные ide и много крутых плюшек, но проблема в том, что он привязан к винде. Майкрософт даже купила xamarin.

https://en.wikipedia.org/wiki/Mono_%28software%29
> License: MIT, LGPLv2 and GPLv2, or dual license[3]
>> No.45469 Ответ
>>45468
Легко говорить о технологиях, когда всего лишь знаешь об их существовании из википедии. Опыт то использования Моно у тебя есть? Слухов то о багах и проблемах Моно много, и производительность не очень. Не будь слишком наивен.
>> No.45475 Ответ
>>45469
> Опыт то использования Моно у тебя есть?
Есть небольшой. В Unity3D mono, как известно, используется. Упомянутые слухи, наверное, с Юнити и связаны - там очень старая версия. Unity не хотели обновляться из-за лицензии. После того как MS купила Xamarin и релизнула mono под MIT, в юнити начали работу по апгрейду.
>> No.45499 Ответ
Сап, лисп. Заинтересовал питон, т.к. часто светит в вакансиях с зарплатами от 150к деревянных. Как быстро его можно освоить? Мне кажется что это сложилось т.к. легаси на питоне, и переходить пока не спешат, но как бы не получилось что к тому как я вымучаю из себя пару строк все не перешли на какой нибудь "удав".
Надеюсь меня поняли.
>> No.45500 Ответ
>>45499
Ты норкоман. Питон востребован, потому что это модная мейнстримовая скриптота. Подозреваю, что как только es6 станет мейнстримом, то питон начнет уходить.
> Мне кажется что это сложилось т.к. легаси на питоне
Легаси на перле и пхп.
Лучше задрачивай жабу, она ещё дороже, и так просто не уйдет. Хотя с такой мотивацией у тебя в любом случае ничего не получится.
>> No.45501 Ответ
Файл: pitonka.jpg
Jpg, 68.10 KB, 466×422 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
pitonka.jpg
>>45500
> Как быстро его можно освоить?
Быстрей любого другого языка, во всяком случае. Конкретные сроки от тебя зависят.

> Подозреваю, что как только es6 станет мейнстримом, то питон начнет уходить.
С чего бы это?
>> No.45502 Ответ
>>45501
> С чего бы это?
По той же причине, по которой появилась и получила популярность нода. Одна технология на обеих сторонах.
А когда её доведут до ума, то остальное будет нинужно.
>> No.45503 Ответ
>>45502
> Одна технология на обеих сторонах
Фронтэнд и бэкэнд пишутся по разному, думаются по разному. Разные вещи короче, это не причина.
Нода получила популярность, потому что JS - хороший функциональный язык и беспрецедентная масса умных людей инвестируют свое время в его развитие.
>> No.45504 Ответ
>>45503
> Нода получила популярность, потому что JS - хороший функциональный язык
JS это кривое говно на палке, и его используют только потому, что нет альтернативы, а веб сейчас это самая перспективная тема. ES6 как раз направлен на исправление карманного встраиваемого языка, сделанного на коленке, на нормальный.
А нода получила популярность как раз по причине в цитате.
>> No.45505 Ответ
>>45500
> Лучше задрачивай жабу, она ещё дороже, и так просто не уйдет.
Джава что ли? Вроде они сами послали всех и сказали чтобы багрепорты не писали ибо не будут больше заниматься.
> Хотя с такой мотивацией у тебя в любом случае ничего не получится.
У меня мотивация "пожрать бы". Думаю, она хорошая.
>>45501
> Быстрей любого другого языка, во всяком случае.
Спасибо.

Ребят, а нету какой-то таблицы с языками и их взаимоотношениями? Типа джаваскрипт произошёл от джава, но вобрал в себя nnnn и теперь это разные языки. А С++ от С, но разница в том-то и том-то.
>> No.45506 Ответ
>>45505
> Джава что ли? Вроде они сами послали всех и сказали чтобы багрепорты не писали ибо не будут больше заниматься.
Норкоман штоле? Это самый йобейший энтерпрайз, она ещё тебя переживет.
> У меня мотивация "пожрать бы". Думаю, она хорошая.
Да нет, ещё хуже, чем срубить бабла.
>> No.45507 Ответ
>>45506
Нормальная мотивация.
>> No.45508 Ответ
>>45499
> зарплатами от 150к деревянных
> быстро его можно освоить
Няш, я расстрою тебя. Зарплаты от 150к не за "освоение" каких-то конкретных языков даются, а за экспу.
>> No.45510 Ответ
Доброкодер, какую программу можно написать, чтобы была полезной в резюме джуниора? Язык C++, в ООП естественно могу, в настоящий момент осваиваюсь с STL и Boost. Фреймворков не знаю. Объём пусть будет до тысячи строк примерно.

Консольные утилиты и программы аля "имитация базы данных" уже пейсал неоднократно.
>> No.45511 Ответ
>>45502
Ну питон-то не только для вэба используется. node js же, как тут справедливо заметили - какая-то хрень, используемая исключительно вэб фронт-эндщиками не способными выучить второй язык программирования. Я сомневаюсь, что с таким комьюнити js вытеснит питон из его областей.

ЗЫ: Лично я надеюсь, что в вэбе Elixir и Phoenix наберут популярность. Вроде многие RoR разработчики на него переползают.
>> No.45512 Ответ
>>45511
Зачем нужен питон, когда есть мощный экмаскрипт?
Вот так и вытеснит.
>> No.45513 Ответ
>>45510
Что угодно, главное написать.
Вообще хз как на собеседовании нужно понимание алгоритмов, шаблонов, паттернов, архитектуры.
Если для развития и рассказать на собеседовании, то советую нечто модульное.
Т.е. пишешь некоторую основу, к которой можно динамически подрубать всякие самопальные модули, без надобности пересобирать все куски кода, и настраивать их взаимосвязь.
Допустим есть core, к ней подрубается dll'ка для поиска открытых ftp'шников по списку ip.
Каждый найденый кидается в модуль который подрубается и пырит что там есть интересное.
>> No.45537 Ответ
Файл: -987.jpg
Jpg, 285.16 KB, 540×800 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
-987.jpg
Нужно освоить язык до уровня написания прикладных скриптов, решающих задачи на моем linux. Что выбрать, bush или python? Я бы давно выбрал уже python, но что-то не соображу каким образом он передает команды терминалу и как их в нем писать.
В bush пугает часть программирования.
В python непонятность по многим вопросам и слабое понимание работы. В отличии от bush программирование дружеское.

Что выбрать, если второе, то что читать, как уяснить азы и т.д.
>> No.45538 Ответ
>>45537
Питон. Баш хорош для ~10 строк скриптов и может казаться довольно простым, но копнешь глубже и обнаружишь кучу непоняток типа ахуительных редиректов (http://stackoverflow.com/questions/12927927/bash-redirection-save-stderr-stdout-to-different-files-and-still-print-them-out) или сложной переносимости, когда, например, ты думал что твоя какая-то команда стандартна для линаксов, а на деле это только в паре дистрибутивов.
> но что-то не соображу каким образом он передает команды терминалу
Это именно то, что ты хотел сказать? Может принимает команды? Программы принимают аргументы как просто массив строк, будь программа написана на питоне (аргументы будут в sys.args[]) или на баше (аргументы будут в $1, $2...). Про передает - это сложнее, в баше просто пишешь `программа аргумент аргумент...`, в питоне примерно так `subprocess.call(["программа", "аргумент", "аргумент"...])`, но там разными вариантами это делается.
Или ты имел в виду как сидя в консоли передавать аргументы? Обычно ты сидишь в башевой консоли и каждая команда это однострочник на баше, типа `./my-python-script.py argument argument...`, смысла делать такое через питонову консоль особого нет.
>> No.45539 Ответ
>>45538
А можешь здесь какой нибудь от руки скрипт накатать в пару строк, перенести там filename например из папки в папку? На выбор. Если не затруднит.
>> No.45540 Ответ
>>45539
Баш или питон?
>> No.45541 Ответ
>>45540
Python3.
>> No.45542 Ответ
Файл: Screenshot_2016-05-28_09-46-28.png
Png, 12.56 KB, 432×171 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot_2016-05-28_09-46-28.png
>>45539>>45541
В текущей папке создаст подпапку big и перенесет туда все файлы жирнее 5 мегабайт (заодно выведя их в консоль).
>> No.45543 Ответ
>>45542
Упс, единичку на пятерку поменять на третьей строке.
>> No.45544 Ответ
>>45543
Теперь все стало намного яснее. Спасибо.
>> No.45545 Ответ
>>45537
Зачем ты пишешь BASH через u? Ты дебил?
>> No.45547 Ответ
>>45537
я бы тебе посоветовал выучить стандартные юниксовые команды и как их соединять в конвееры с помощью пайпа (|). Может высниться, что многие твои задачи никакого программирования вообще не требуют. Ну а если уж без программирования точно никак не обойтись, то бери питон. В баше много всяких бесящих вещей, типа того что скрипт просто молча перестаёт работать если вокруг оператора присваивания пробелы поставлены (ну или что-то в таком духе - давно ничего не баше не писал), да и вообще он очень нелогичный и непродуманный, с кучей всяких неожиданных граблей. Кроме того, питон в отличие от баша - всё-таки язык общего назначения, который много где используется, может пригодиться потом где-нибудь ещё. Про использование питона для администрирования линуксов есть даже несколько книг.
>> No.45548 Ответ
>>45542
>>45544
Кстати это как раз делается стандартной юниксовой командой и тут никакое программирование вообще не нужно:
find . -iname "*.png" -size +5M -exec mv {} /path/to/big/ \;
find обойдёт все подпапки, найдёт все png файлы больше 5 мегабайт и переместит в папку big.

Если уж ты используешь линукс, то глупо идти против философии юникс и постоянно изобретать велосипеды для частных случаев, когда ты можешь решить многие задачи скомбинировав две-три стандартные комманды.
>> No.45549 Ответ
>>45547
>>45548
Спасибо. Есть над чем подумать.
>> No.45563 Ответ
gdb после run спрашивает: Do you need "set solib-search-path" or "set sysroot"?

Что это такое и как следует отвечать?
>> No.45564 Ответ
Файл: lr1.jpg
Jpg, 150.05 KB, 1333×828 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
lr1.jpg
Суть такова: в универе дали делать лабы на вижуал С++ 6.0
Пытаюсь запустить хэлловорлд, происходит следующее:
1. компилирует нормально с нулем ошибок
2. нажимаю БИЛД - вылазит ошибка: нет дебаг файла
как создать этот дебаг файл? в методичке про него ничего не написано.
>> No.45568 Ответ
>>45564
Вместо <stdio.h> подключай <iostream>. Вместо void main должно быть int main или просто main.
>> No.45601 Ответ
>>45568
> Вместо <stdio.h> подключай <iostream>
чтобы printf отвалился?

Очевидно, что это какое-то стартовое приложение, которое должно работать и он его компилирует.

Так-то cout использовать правильнее, но проблема не в этом.
>> No.45605 Ответ
>>45564
Вся суть крестов, в свое время сказалось на выбор языка.
>> No.45611 Ответ
>>45564
Бро, попробуй какую-нибудь легковесную IDE с mingw в коробке. Я основы сей учил вместе с Dev-C++ - никакой еботни.
>> No.45620 Ответ
>>45611
спасибо, попробую.
добра тебе
>> No.45622 Ответ
>>45545
> Помощи начинающим тред
Это ты дебил. Человек был дезинформирован о названии командной оболочки, а ты можешь человека обидеть...
>> No.45702 Ответ
>>45564
В студии шаблоны проектов с привет мирами есть
>> No.45709 Ответ
>>45620
Попробовал? Как оно? Есть (был?) еще code::blocks.
>> No.45710 Ответ
>>45709
Тухлятина, что DevCPP, Что code::blocks

Либо QtCreator, ибо швабодка, либо Visual Studio 2015 Community
>> No.45713 Ответ
>>45710
> QtCreator
> нет настроек переноса скобок
> in current year
> называет что-то тухлятиной
А ты забавный.
>> No.45747 Ответ
>>45564
Б-же, зачем пугать новичка громоздким гуем IDE?
Консоли и какого-нибудь gcc на первых порах за глаза хватит.
>> No.45748 Ответ
>>45747
Зачем пугать новичка громоздкими параметрами командой строки?
IDE и какого-нибудь gcc на первых порах за глаза хватит.
>> No.45750 Ответ
Файл: 192978_original.jpg
Jpg, 79.52 KB, 1280×454 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
192978_original.jpg
Возможно не совсем подходящий тред, но остальные ещё менее подходящие. Короче, не знаешь ли ты какой-нибудь годной книги, где описывались бы всякие продвинутые техники программирования типа continuation-passing, использование замыканий, FRP, конечные автоматы, какие-нибудь комбинаторные парсеры и тому подобное и желательно с практическими примерами?
>> No.45786 Ответ
>>45750
SICP, Gang of Four например.
>> No.45789 Ответ
>>45747
Просто не жми на кнопки, которые тебе не нужны. Можно создать проект руками и в QtCreator открыть его. Не нужно - не жми.
>> No.45867 Ответ
Файл: chan.sankakucomplex.com-1654241-original.jpg
Jpg, 663.85 KB, 1000×1414 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
chan.sankakucomplex.com-1654241-original.jpg
1) Что такое генерики, зачем они? Объясните пожалуйста понятно.
2) Зависит ли потребление памяти при расчете MD5 от размера файла? Зависит ли время расчета MD5 от размера файла? Как сильно?
3) Правда ли, что форматы изображений JPEG и PNG на самом деле "сжаты", а при открытии картинка может "развернуться" в памяти на сотни мегабайт? Как это работает?
>> No.45868 Ответ
>>45867
> Что такое генерики, зачем они?
https://en.wikipedia.org/wiki/Generics_in_Java
> Зависит ли потребление памяти при расчете MD5 от размера файла?
Зависит от реализации.
> Зависит ли время расчета MD5 от размера файла?
Да.
> Как сильно?
Очень.
> Правда ли, что форматы изображений JPEG и PNG на самом деле "сжаты", а при открытии картинка может "развернуться" в памяти на сотни мегабайт?
Враки это все, западная пропаганда.
> Как это работает?
https://en.wikipedia.org/wiki/JPEG
https://en.wikipedia.org/wiki/Portable_Network_Graphics
>> No.45870 Ответ
Файл: second.png
Png, 9.67 KB, 493×326
edit Find source with google Find source with iqdb
second.png
Файл: first.png
Png, 15.84 KB, 388×216
edit Find source with google Find source with iqdb
first.png

Аноны, есть вопрос.
Читаю "The C Programming Language Second Edition" Кернигана и Ритчи.
На пике код в книге(в англ. и рус. изданиях одинаковый) - он же неправильный или это я в глаза ебусь?
Я переписал по своему вроде работает.
>> No.45871 Ответ
>>45870
Твой вариант неправильный.
>> No.45872 Ответ
>>45871
А чем неправильный?
Скомпилировался и работает же.
>> No.45873 Ответ
>>45872
Твой считает кол-во символов до первого перевода. Надо считать переводы.
>> No.45874 Ответ
>>45873
Всё-таки действительно ебусь в глаза, автоматом подумал что нужно считать символы.
Спасибо.
>> No.45878 Ответ
>>44688
Поясните, будет ли так сильно отличаться загрузчик на hdd, flash от дискеты, диска?
>> No.45949 Ответ
Файл: n-[Original].jpg
Jpg, 66.60 KB, 700×711 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
n-[Original].jpg
https://api.atarashiiapp.com/

Анон, посмотри, пожалуйста. Я правильно понял, что это нельзя просто так взять и использовать, а нужно ставить какой-то сервер, пхп, библиотеки и прочий израиль? То есть нельзя просто делать такие запросы: https://api.atarashiiapp.com/2.1/some_data.json

Например, с Реддитом всё именно что просто, только руку протяни: https://www.reddit.com/search.json?q=blablabla
С Доброчаном всё более чем просто, бери и юзай: http://dobrochan.com/api/thread/s/44688.json
На этом мой опыт заканчивается.

С МАЛ всё непросто. Надо логиниться, но тебе всё равно ничего не светит, пока не завайтлистят. Очень геморройно для простого смертного. Но там всё равно нет никаких функций почти, в частности, нужных мне - нельзя данные об аниме скачать.

Пока склоняюсь к парсингу обычного HTML. Опять же, скорей всего дадут скачать десяток страниц и забанят, я года два назад уже пробовал. Если чисто случайно тут мимопробегали те, кто знает годное и рабочее API к MyAnimeList - киньте ссылкой. Мой язык - Питон, если важно.
>> No.45950 Ответ
>>45949
Судя по описанию, это надстройка над оригинальным апи + парсинг того, что оно не дает. Надо ставить у себя или проситься к автору, да.
Про баны хз, я когда-то скачивал всё аниме и не банили. Алсо, можешь зохавать его через commoncrawl, но это будет не бесплатно.
>> No.45951 Ответ
>>45949
Нельзя. Только если попросишь их админа, либо да, ставь сервер на своей машине и общайся из своей программы с ним. Этот сервер использует как официальное апи мала так и парсинг хтмлей.
Просто самому парсить мал непросто ибо антидудос (клаудфлара и подобные), нужно особым образом обходить.

Если ничего особо большого, то возьми селениум для питона. Но, мне кажется, разобраться с это штукой будет гораздо быстрее чем копаться в хтмлях, если у тебя, конечно, не 2-3 метода всего.
>> No.45952 Ответ
>>45949
А вообще можешь, там не может быть айпи вайтлиста же. Посмотри как идентифицирует себя на их сервере само приложение, изучи апи этого пхп сервера и посылай запросы так как их посылает программа.
Если твоя балалайка не сильно публичная / воннаби-популярная то вариант.
>> No.45953 Ответ
Файл: Cagliostro-[Granblue-Fantasy].jpg
Jpg, 967.45 KB, 1000×1453 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Cagliostro-[Granblue-Fantasy].jpg
>>45950
Спасибо, так и понял. На крайний случай есть древний дедовский способ - скрапнуть через WebHarvy. Он почему-то не банился, хотя я им пару лет назад около двадцати тысяч страниц с МАЛ дёрнул. За три ночи. Хватило бы скачать всё аниме.

>>45951
Спасибо, про Селениум не знал. Сегодня requests использовал (одну страничку хтмля скачал, успешно), а до этого когда-то scrapy. Вот паука и отворачивали безошибочно, хотя юзер-агент был задан не дефолтным и был то честным: "мой паук для личных нужд бла бла бла", то пытался мимикрировать под разные браузеры, включая мой. Но я тогда только начал учить программирование. Может, не учел что-то.

>>45952
Спасибо. У меня мой личный скрипт, и мне им от силы пару тысяч страниц с описаниями аниме предстоит загрузить, но скорее всего штук 200-300. Вайтлист спрашивает и айпи. В вайтлист можно попасть, но желающих уже в 2015 проверяли нечасто, люди по паре недель ждут. Не уверен, что это даст защиту от антидудоса для парса хтмлей. А их голое АПИ мне скорей всего не поможет никак.

Тэкс, план действий теперь есть. Пока понадеюсь, что антидудос/антискрап снисходительно относется к кастомному юзерагенту. В противном случае пробую Селениум. При фейле откатываюсь на ВебХарви. Параллельно жду вайтлистинга.
>> No.45962 Ответ
Файл: saber_by_ofskysociety-d6bjanx.jpg
Jpg, 465.40 KB, 582×900 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
saber_by_ofskysociety-d6bjanx.jpg
>>45750
Во-первых:
>>45786
> SICP, Gang of Four например.
Не слушай этого анончика. Sicp must read, но это начальный уровень. Банда четырех - это грубо говоря про энтерпрайз ооп паттерны. Такой оверинжениринг через ооп наследования в случае если тебе не повезло и ты пишешь на бедном языке типа джавы или крестов.

Во-вторых, есть действительно одна книжка, которая изрядно покрывает твои запросы, но она академичная: Practical Foundations for Programming Languages 1st Edition by Professor Robert Harper. Но она начинается с теории типов. С теорией типов/теорией категорий/теорий доказательств небольшая заминка - она очень далека от реальности. Хотя сейчас есть уже какие-то подвижки в реализации Hott, но большей частью встречаются популистский утверждения про монады кококо хаскель кококо. Монада - это один из миллионов случаев того, что должен уметь выводить интепретатор про типы.

В-третьих, практичным советом было бы сесть за язык, в котором продвинутые техники идут в комплекте. Насколько я понимаю, таких языков всего 4 сейчас: Ml, Haskell, OCaml, Scala. "динамическая типизация" - оксюморон, посоны просто не смогли в типы, частный случай статики, если у тебя все имеет тип Any.
>> No.45978 Ответ
Аноны, это нормально, что мне ютюб курсы больше нравятся, чем книги. А то у меня какой-то шаблон, будто книги для умных, ютюб для тупых.
И еще вопрос. Что почитать/посмотреть для повышения качества кода, архитектуры. Можно без привязки к конкретному яп, желательно на инглише.
>> No.45979 Ответ
>>45978
Программист прагматик и Совершенный код. Сам даже не листал, но все рекомендуют.
>> No.45984 Ответ
>>45978
> Аноны, это нормально, что мне ютюб курсы больше нравятся, чем книги
Вполне.
Не все книги хороши, равно как и не все ютуберы. Смотри/читай что нравится. Имей свое мнение, будь открыт новому.
> Что почитать/посмотреть для повышения качества кода, архитектуры
мифический человеко-месяц
>> No.45985 Ответ
>>45978
Зачем тебе для тупых? Ты считаешься себя тупым? Книги/видео для новичков - это только маркетинг книгопечатного бизнеса. Все эти книги типа "С++ за 7 дней", "php для тупых" и тому подобное только тратят время впустую и часто вредят своими ошибками и дезинформацией. Ты уже наверняка видел все эти советы читать всё те же самые Совершенные коды и Человеко-месяцы, но пришёл потому что думал, что мы откроем секрет и подкинем что проще. Но тебе будут везде советовать одни и те же 10 книг. Потому что никакого секрета нет. Ты можешь добиться значительного навыка в чём-то только лишь тогда, когда будешь уже с трудом вспоминать, как ты начинал.
>> No.45986 Ответ
>>45985
> значительного навыка в чём-то только лишь тогда, когда будешь уже с трудом вспоминать, как ты начинал
Двачую пресловутое правило 10к часов.
>> No.45987 Ответ
>>45986
10к часов - это на (чуть ли не) "гения". Скорее всего можно чуть меньше, но тем не менее.
>> No.45988 Ответ
>>45987
Ну я не то чтобы прямо угорал по нему. Но суть в нем заложена абсолютно верная, типо "терпение и труд все перетрут", "гений это 10% таланта и 90% работы". Просто выглядит менее абстрактно и более "понятно" что ли.
>> No.45991 Ответ
>>45988
Я уверен, что каждый гений не работал, а наслаждался.
>> No.45992 Ответ
>>45991
Только не подумай, что наслаждаться нужно прямо сейчас. Со временем придет, чем больше будешь уделять времени.
>> No.45993 Ответ
>>45991
> не работал, а наслаждался
> > не теплое, а мягкое
Why not both?
>> No.45994 Ответ
>>45993
Прямолинейно слишком мыслишь, даже смешно стало.
>> No.46025 Ответ
>>46024
> толпа ещё больших балбесов
> ЕГЭ по математике сдал хуже всех
>> No.46026 Ответ
>>46024
> веб-кодинге
> потому что я слаб в чертовой математике.
1) Ты называешь математикой, что-то другое, кроме математике.
2) Ты делаешь что-то не так, раз тебе нужна математика настолько, что ты не можешь освоить.
>> No.46031 Ответ
>>46026
Доброчую. Алсо, может быть у анона просто нет и капли таланта.
>> No.46032 Ответ
Кхм. Ладно. Я знаю, что доброчан давно уже не доброчан, и ни на что не рассчитывал с постом уровня /rf/. Удачи, счастливые мамины везунчики.
>> No.46035 Ответ
Привет, анон.
По python прочитал одну книжку (Доусона), в попытках двигаться дальше решил осваивать какой-нибудь фреймворк. Что лучше для начинающего - джанго или фласк?

капча "светло глупо" намекает на то что это глупый вопрос.
>> No.46036 Ответ
>>46032
Ты пытаешься изучать алгоритмы и структуры данных, а там, на реальной работе тебя ожидают коллеги, которые могут вообще не понимать чем массив от дерева поиска отличается. У тебя уже будет преимущество даже без мега-уравнений и тензоров. Но твои проблемы за тебя никто не решит, учи инглиш, читай книги и статьи.
>> No.46037 Ответ
Здрасьте.
Кто-нибудь разбирается в OpenGL? Никак не выходит сделать выбор объекта по клику. Перерыл гугол, но там пустовато - либо устаревший код, использующий запрещенные функции, либо код у меня не заводится, либо есть просто описание алгоритма и мне не хватает знаний нормально его реализовать. Если у кого-то есть рабочий вариант этой фичи, чтобы по клику на объект с ним что-то происходило и, в идеале, его можно было отличить от еще дюжины других объектов, я был бы очень благодарен за код. Я пишу на java, но смогу понять и на с++ и, наверное, на других языках.
>> No.46038 Ответ
Узнал, что моя дешевая китайская видюха поддерживает CUDA. Что вообще можно с ней делать интересного, кто-нибудь пробовал?
>> No.46039 Ответ
>>46038
Можно выбросить на помойку. Куда годится только для рассчетов и акселерации рассчетов, которые велись на цп до нее.
Если у тебя нет конкретной рилейтед задачи, то она нинужна.
>> No.46040 Ответ
>>46039
Устроиться куда-кодером, чтобы дворы не мести - чем не задача?
>> No.46041 Ответ
>>46040
Ну тогда почему не ассемблер или лисп?
Чтобы дворы не мести, можно устроиться макакой, там вообще ничего учить не нужно.
>> No.46042 Ответ
Хотел спросить. Можете написать два списка, для сисадмина или для бекэнда. Что нужно знать и уметь свободно пользоваться. Самые важные вещи, без которых никуда.

Языки знаю какие учить например, а вот, что касается какой лучше сомневаюсь. php - с ним все ясно, а python и ruby выполняют задачи по разному, скорее всего и в чем соль изучать python, а не ruby.
>> No.46049 Ответ
Файл: zaeblo.PNG
Png, 2.83 KB, 344×62 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
zaeblo.PNG
Анон, я к тебе поплакаться.
В программировании полный нуб, но решил-таки заняться, дабы овладеть хоть чем то, что приносило бы минимальный доход, да и тема интересная.
Так вот, советовали мне учебник под названием "Head first: изучаем Java". Якобы разберётся даже имбецил. Ну, что касается теории, мне всё более-менее ясно, а вот задачки в конце глав (начиная с третьей гл.)... Я практически ничего не могу решить. И это жутко бесит.
Пока для себя решил, что раз я в кодинге полный ноль и даже ниже, прочитаю эту книгу как вводную, пытаясь попутно решить задачки из неё, если не получится, то не бугуртить.
Для второго уровня скачал книгу такого же энтри лвла Шилдт - "Java, руководство для начинающих", с которой и буду углубляться в тему.
Всё правильно делаю?

Пик почти рилейтед, с этим давно разобрался. Но мой первый хеллоу ворлд рождался в муках.
с:злись означает
>> No.46050 Ответ
Файл: talking_captcha.png
Png, 2.25 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: __shidou_mariya_m...
Jpg, 456.79 KB, 800×800
edit Find source with google Find source with iqdb
__shidou_mariya_maria_holic_drawn_by_menoto__3bbbf.jpg
Файл: __urushibara_ruka...
Jpg, 355.03 KB, 600×1083
edit Find source with google Find source with iqdb
__urushibara_ruka_steins_gate_drawn_by_takemori_sh.jpg

>>46049
А что там за задачи хоть? Можно посмотреть? Прост я тоже нуб, но из немного другой оперы, у меня C++, изучаю "для поиграться и чтобы не деградировать" и непонятные задачи я пропускаю. И тебе советую при первом прочтении делать так же, делая пометки, что именно вызвало затруднения, а потом планомерно пройтись по этим темам, заполняя пробелы в знаниях.
Ммм трапики в капче. Не могу не запостить парочку.
>> No.46051 Ответ
>>46049
Head First это полный пиздец для даунов. Рассчитано на рандомных ебанашек, которые захотят научится погромировать, купят книжку и выбросят через пару дней.
По жабе могу посоветовать Think Java, недавно вышла.

Алсо, в задачках в конце глав вообще никогда ничего сложного нет, это скорее повод набрать что-то самому в целях закрепления. Если у тебя не получается такой примитив, то это повод задуматься.
>> No.46052 Ответ
Доброчан мотивационный.
>>46049
Отчасти согласен с аноном выше, книжка довольно сумбурная (скачал из интереса). Одна из задачек третье главы вообще чисто игра в стаканчики. По жаве книжек не читал, но если бы хотел помочь себе ~3-5 лет назад, то посоветовал бы взять какой-нибудь онлайн курс (курсеры, кодакадеми, что там еще) или что-нибудь, что позволяет сразу параллельно писать и экспериментировать. Онлайн издания с удобной структурой, которые не больно и не скучно изучать.
>> No.46053 Ответ
>>46042
> для сисадмина
Буду подразумевать что *nix-админа
* Гугл, без гугла никуда. Так же навыки адвансед гугла по гитхабам, багтрекерам, мейлинг-листам.
* man - серьезно, я знаю множество людей которые не умеют им пользоваться. Так вот ман нужно уметь читать и спокойно это делать. Осло, программы без man-страниц не няши.
* bash, не то чтобы великолепно, но без него просто заебешься. Наикратчайший путь сделать так чтобы работу за тебя делала машина.
> Языки знаю какие учить например
Опять же по опыту администрирования
* Все. Серьезно. Глубокого знания не надо, а вот на уровне правки хотя бы. Да и не сказать, что они сильно разные. Знаешь один язык - знаешь все. Ну если в хаскель с лиспом не лезть.
* Каждый язык под свою задачу. Плюс есть куча приложенек уже написанных на чем то. Что-то на php, что-то на ruby, что-то на python. Из того что на самом деле полезно - умение читать их выхлоп при ошибке. Ну и иногда приходится что-то писать под себя в готовом софте. Типо плагин на что-то.
>> No.46054 Ответ
>>46053
Добра тебе и няшек!
>> No.46055 Ответ
>>46051
>>46052
Спасибо, добра.

>>46050
Бро, скачай пдФку и посмотри же!
>> No.46056 Ответ
Какой посоветуете хороший компилятор Fortran95 под Win2K?
>> No.46057 Ответ
Файл: __rider_of_black_fate_apocrypha_fate_grand_order_a.png
Png, 1449.57 KB, 863×1207 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
__rider_of_black_fate_apocrypha_fate_grand_order_a.png
>>46055
Пдфку я не нашел, но на либгене завалялась djvu'шка. И надо сказать, у меня возникло такое ощущение, что эту книгу изначально хотели сделать для слабоумных детей, но в итоге получилось черти что, ибо страницы пестрят всевозможной хуитой, от которой глаза разбегаются. А упражнения типа "составь из кусков кода в "бассейне" программу" вряд ли научат собственно хоть какому-то минимальному навыку составления программ.
Для сравнения, вот по этой книжке для новичков я знакомлюсь с C++ https://yadi.sk/i/Yd6KKpLBqJSUr
Просто полистай ей и сравни с Head First парашей.
>> No.46065 Ответ
У меня вопросик про sql. Имеется 3 таблицы - категория, колода и карта. Соответственно, карта принадлежит какой-то одной колоде, а колода принадлежит какой-то категории. Мне нужно сделать так, чтобы при удалении категории удалялись все колоды, принадлежащие ей (но это легко), а также чтобы удалялись все карты из данных колод. Как тут быть? Я пока рассматриваю 2 варианта:
1) Получить из базы все колоды данной категории, достать айдишники через свой язык программирования и через цикл прохождения по этим айдищникам удалять все карты.
2) Создать у карты колонку "category_id" и при удалении просто указывать на нее.
Первый вариант хуевый тем, что используется слишком много подключений к базе, плюс используется парсинг фреймворком для получения данных в нужном ЯП, и в цикле тоже много всякого говна.
Второй вариант просто кажется не рациональным, так как карта не принадлежит категории, она принадлежит колоде, а уже колода - категории.
В общем, хочу найти оптимальный вариант. Возможно, эти операции как-то можно организовать внутри самой sql. Я даже не знаю, как это загуглить.
>> No.46066 Ответ
>>46065
ON DELETE CASCADE
>> No.46069 Ответ
>>46065
Можно заджойнить, как при селекте.
Т.е.
DELETE t1., t2., t3.* FROM t1 INNER JOIN t2 on t1.id = t2.t1-id INNER JOIN t3 ON t2.id = t3.t2-id WHERE t1.id = 1;

Разметка отвалилась, вместо - _, ну вы понели.
>> No.46070 Ответ
>>46066
>>46069
Спасибо.
>> No.46072 Ответ
Файл: 670px-06720360-MainPagePart3.png
Png, 484.74 KB, 670×359 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
670px-06720360-MainPagePart3.png
>>46069
> заджойнить
Ты хотел сказать "заДжоДжойнить"?
Извините, не смог удержаться.
>> No.46074 Ответ
Что лучше для триде-сцен в джаве - JOGL или LWJGL или еще что-то? У чего меньший порог вхождения, более полезные функции и что удобнее в обращении?
>> No.46075 Ответ
Хочу вкатиться в программирование. Подскажите язык.
Опыт есть, но странный. Учил js/Ruby/Python. Дальше каких-нибудь простых программ не укатывался. Типо примитивного калькулятора или того же физзбузза. Заработок на программировании не очень интересен. Главное, чтобы было приятно кодить, язык имел удобный и няшный синтаксис и его было интересно учить. Могу конечно вернуться в Питон/Руби, если они действительно подходят под моё описание.
Использовать хочу для обыденных целей. Типо написать простого бота для себя.
Тряпками не кидайтесь, пожалуйста.
>> No.46076 Ответ
>>46075
Возвращайся в питон, чем он тебе не угодил?
>> No.46077 Ответ
>>46076
Ничем. Просто хотел пробежаться по нескольким языкам. Попробовать чтоли. Ладно, наверное вернусь.
>> No.46078 Ответ
>>46075
> если они действительно подходят под моё описание
Подходят, можешь возвращаться.
Хочешь нового - попробуй укатиться либо в C#/Java, либо в C/C++, хотя последние для обыденных целей не подходят.
>> No.46079 Ответ
>>46078
Спасибо.
>> No.46082 Ответ
>>46075
https://www.coursera.org/learn/programming-languages

Попробуй вот этот курс, который начинается в понедельник. Покажут разные языки, расскажут интересной PLT.
>> No.46085 Ответ
Файл: mpv-shot0132.jpg
Jpg, 111.20 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
mpv-shot0132.jpg
>>46082
Здравствуйте. Пишу чего-то на Qt, пытаюсь разобраться с регулярками. Есть множество строк из которых вынимаем подстроки по шаблону. Последняя подстрока вынимается по (.+), но после последней нужной подсроки иногда бывает `\\s+Part\\s\\d`, которое не нужно. Если делаю `... (.+)(\\s+Part\\s\\d)?$`, то Part прикрепляется к "нужной" подстроке. Как же выбирать любой набор символов до определенного набора букв и цифр, который может быть, а может не быть?
>> No.46086 Ответ
>>46085
(?:huita) без захвата.
Алсо, .+ это жадный квантификатор, он забирает сколько может, надо его ослаблять через .+?
>> No.46087 Ответ
>>46086
> (?:huita) без захвата.
Так то пусть захватывает, разберемся что с ним делать.

> ослаблять через .+?
Не совсем понимаю логику ослабления, но не работает. Я уже много вариантов перебробовал, нужно что-то особенное.
Вот строки, например:
SOUND HOLIC - 博麗 -HAKUREI-
SOUND HOLIC - 博麗 -HAKUREI- Part 1
как из них вытащить всё кроме Part 1?
>> No.46088 Ответ
>>46087
> Не совсем понимаю логику ослабления
В твоем случае .+ забирает всё до конца, и остальное никогда не матчится, потому что оно необязательное.
> как из них вытащить всё кроме Part 1?
^(.+?)(?:\sPart \d+?\s)?$
>> No.46089 Ответ
>>46088
Звёздочки распидорасило.
Вот готовый пример.
https://ideone.com/iN1Wj6
>> No.46090 Ответ
Файл: shot.jpg
Jpg, 258.07 KB, 669×523 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
shot.jpg
>>46089
Либо у меня неправильный Qt, либо слишком кривые руки.
>> No.46091 Ответ
>>46090
Но зачем ты эскейпишь слеши у \s и \d? Они от этого и ломаются, лол.
>> No.46092 Ответ
Файл: shot.jpg
Jpg, 155.95 KB, 378×489 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
shot.jpg
>>46091
> Но зачем ты эскейпишь слеши у \s и \d? Они от этого и ломаются, лол.
Не лол, а особенность Qt или вроде того, пока не вникал.

На пике пример хоть какого-то вывода, но в этом случае нет вывода у тех строк, которых нет Part.
>> No.46093 Ответ
>>46092
Да, какая унылая реализация, вот я нагуглил доку, там жадность квантификаторов по другому меняется.
http://doc.qt.io/qt-4.8/qregexp.html

> QRegExp's quantifiers are the same as Perl's greedy quantifiers (but see the note above). Non-greedy matching cannot be applied to individual quantifiers, but can be applied to all the quantifiers in the pattern. For example, to match the Perl regexp ro+?m requires:

> QRegExp rx("ro+m");
> rx.setMinimal(true);

То есть, убери +? и оставь +, и установи этот минимал.
>> No.46094 Ответ
Файл: mpv-shot0133.jpg
Jpg, 168.99 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
mpv-shot0133.jpg
>>46093
Ура!
Нагуглил другой класс QRegularExpression: http://doc.qt.io/qt-5/qregularexpression.html
В нем с вопросами и без сетМинималов прекрасно заработало (с сетМинималом нет).
Благодарю за помощь!
>> No.46095 Ответ
http://regexr.com/
Для сложных регулярок удобно пользоваться такими вот штуками.

к: нужды поудобнее
>> No.46096 Ответ
Ломаю голову над одним вопросом. Вот допустим некоторое число записано в переменную типа unsigned int. Нужно поменять местами эти биты, перевернуть "битовую строку" наоборот, но только делать это с битовым полем, в которое помещается это число, а остальную часть переменной не трогать.
Например, число 20. В двоичном виде оно будет как
10100
В некоторой переменной оно примет вид
0000 0000 0001 0100
Нужно перевернуть его так, чтобы в результате получилось
0000 0000 0000 0101
Или же
00101
То есть биты, идущие слева от старшего единичного бита в исходном числе, трогать НЕ нужно.
Так вот в чем вопрос, можно ли провернуть такую махинацию с помощью битовых операций(~ ^ << >> & |) на C++?
>> No.46097 Ответ
>>46096
Тебе надо определить номер старшего ненулевого бита. А потом побитово справа налево (от младшего к старшему) записывать в новое число.
>> No.46115 Ответ
Такая проблема возникла. Есть один проект, который коммитился через гит на bitbucket, после чего репозиторий на битбакете был удален. Затем ему задали удаленный репозиторий на гитхабе. Но после того, как проект залили на гитхаб, внезапно оказалось, что все коммиты с сообщениями каким-то охуенным образом остались, это при том, что я удалил нахуй все репозитории, в том числе локальный, и переинициализировал гит. Откуда он вообще берет все эти данные? Как мне залить на гитхаб проект так, чтобы эти сообщения не отображались? Какой же пиздец этот гит, инструкции в интернет невероятно убогие, абсолютно ничего не сделать без нескольких часов ебли.
>> No.46116 Ответ
>>46115
Если удалить директорию .git, то всё должно отвалиться, по идее.
>> No.46117 Ответ
>>46115
Просто ты нубас полнейший.
>> No.46118 Ответ
>>46115
Короче, думай о бранчах как о ветках дерева...
>> No.46119 Ответ
>>46118
О бранчах нужно думать как об указателях на определенные коммиты.
>> No.46120 Ответ
>>46115
> в том числе локальный, и переинициализировал гит
Как-то ты это не так сделал. А вообще так и задумано. Нафига тебе удалять коммиты? Никто никогда этого не делает. Боишься, что научрук запалит?
Ну да, банальное удаление .git делает всё отвалиться. А ты точно читаешь всё, что вываливается в консоль после выполнения команд.
>> No.46121 Ответ
>>46120
Алсо, обычно такие системы делаются, чтобы нельзя было просто так взять и всё удалить одним движением, потому что это грозит рисками. Но когда ты студент и твои лабы никому не впали, то тут конечно нужен особый гит.
>> No.46122 Ответ
Файл: qwe.jpg
Jpg, 317.95 KB, 979×1040 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
qwe.jpg
В общем, спасибо за помощь, удалил .git, вроде помогло. Я думаю, там еще можно было попробовать закоммитить все файлы из проекта сразу с каким-нибудь сообщением, тогда оно отображалось бы у всех файлов на гитхабе. Только тут еще есть проблема - почему-то не удается залить проект. Чувствую, мне придется всю оставшуюся жизнь ебаться с этим чудо-поделием. Буду благодарен, если кто подскажет, что у меня не так, и как это можно сделать.
>> No.46123 Ответ
>>46122
git push origin master -f
>> No.46124 Ответ
>>46123
Вроде что-то получилось, но как сделать, чтобы папка была папкой с содержимым, а не просто надписью? https://github.com/boulque/fc-project
>> No.46125 Ответ
>>46124
Это пустая папка. Я даже не знаю как ты её закоммитил.
>> No.46126 Ответ
>>46125
git add -A
git commit -m "test"
git push origin master
Как это может не работать? Папка у меня в директории не пустая, если что.
>> No.46127 Ответ
>>46126
Я думал что гит вообще не имеет представления о директориях. Только лиш о файлах и их путях.
Обычно чтобы закоммитить пустую папку люди добавляют пустой .keep файл. Тебе как-то удалось это обойти, поздравляю.
В любом случае, это и есть папка. Гитхаб не предоставляет тебе возможности на неё нажать потому что она пустая. Если в ней появятся файлы то ты сможешь её открыть и увидеть их.
>> No.46128 Ответ
Файл: qwe.jpg
Jpg, 63.14 KB, 978×510 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
qwe.jpg
>>46127
Ясно, так как сделать так, чтобы заливались файлы и внутри директории тоже? Может, как-то проинициализировать по особенному? А удалось обойти, потому что директория не пустая. И да, гит даже знает, что внутри этой папки что-то поменялось (пишет в скобках), только я никак не пойму его охуительные загадки, почему внезапно они не учитываются.
>> No.46129 Ответ
>>46128
Удали .gitignore, потом выполни "git add -A".
>> No.46130 Ответ
>>46129
Ситуация чуть-чуть улучшилась, получилось залить папку packages, но FCProject по-прежнему пустая. А в интернете абсолютно везде написано, что надо делать git add, git commit, git push, как будто я этого не знал, вообще охуеть.
>> No.46131 Ответ
>>46130
Что за файлы в этой папке?
Создай новый файл: FCProject/test.txt
Потом выполни:
```
git add FCProject/test.txt
git commit -m "Test"
git push origin master
```
>> No.46132 Ответ
>>46131
В общем, спасибо за помощь, но я уже все сделал. Скорее всего, проблемой было то, что сама папка FCProject уже являлась репозиторием. На стэк оверфлоу говорили про субмодули, и я увидел, что в самой папке FCProject есть .git, то есть, видимо, я по ошибке инициализировал эту папку вместо папки с проектом. Все удалил, переинициализировал, и теперь все нормально.
>> No.46136 Ответ
Посоветуйте статью, которая дает конкретные примеры проблем, решаемых с помощью NoSQL. Я часто слышу, что этого тренда нужно избегать в задачах, в которых реляционных баз достаточно. На основании чего я должен осознавать соответствие задачи тому или иному подходу?
>> No.46137 Ответ
>>46136
Есть коротенькая книжка Фаулера по NoSQL
>> No.46139 Ответ
спрошу тут: как это возможно и как исправить?
root@debian:/home/gay# ls -l test
-rwxrwxrwx 1 root root 0 июл 30 01:30 test
root@debian:/home/gay# chmod -v 666 test
права доступа «test» изменены с 0777 (rwxrwxrwx) на 0666 (rw-rw-rw-)
root@debian:/home/gay# ls -l test
-rwxrwxrwx 1 root root 0 июл 30 01:30 test
>> No.46140 Ответ
Приветствую.

Кто сталкивался с необычной проблемой:

В общем заходишь на веб-страницу (на php) и может выскочить ошибка. А может и не выскочить. Со стороны это выглядит как чистый рандом.

Захожу значит на сайт к себе и у меня там может появится следующее сообщение:
`Warning: include(../lib/BaseUrl.php) [function.include]: failed to open stream: Нет такого файла или каталога in /home/host1442875/mysite.com/htdocs/www/photo/themes/mysite/index.php on line 10`
`Warning: include() [function.include]: Failed opening '../lib/BaseUrl.php' for inclusion (include_path='.:/usr/local/php/php-5.3/lib/php')`
А может и не появится. Если появилась - я обновляю браузер и ошибка уходит. Но если обновить браузер ещё пару раз ошибка снова вернётся. Файл BaseUrl.php это получается как файл-шрёдингера, он то есть то его нет. Естрественно так не бывает поэтому я обратился в техподдержку хостинга чтоб спросить не наблюдаются ли у них сбои жеткого диска или файловой системы, они ответили что у них всё норм.

Не могу решить эту проблему потому что не знаю даже с кайо стороны к ней подступиться.

Есть какие-нибудь идеи, анон ?
>> No.46141 Ответ
>>46139
Может у тебя какая экзотическая файловая система.
>>46140
Пхп не знаю, но я бы попробовал как-то доступными механизмами помониторить этот файл или директорию, где он находится. Ну и разность состояния между успешным и неудачным запросами. Изолировать и подергать этот инклюд на чистом окружении.
>> No.46142 Ответ
>>46139
Покажи /etc/fstab
>> No.46144 Ответ
Эй, статисты.

Как принято замерять "различность" сета?

[-50, 100, 120, -11, 1000] - значения скачут.
[102, 100, 100, 99, 104] - значения близкие.

Посчитать среднеарифметическое, потом усреднить квадраты разностей среднеарифметического и действительного значений? Правильно?
>> No.46176 Ответ
Аноны, была где-то картинка, на которой было указано 100 задач для кодераЮ в которые входило написание игры жизнь и все в таком духе. Никак не могу отыскать её.
>> No.46191 Ответ
У кого-нибуь имеется опыт шифрования картинок? В играх и приложениях обычно принято все картинки и иконки зашифровывать, и эти данные записывать в один бинарный файл, например как у фотошопа есть файл PSIconsHighRes.dat. Я хотел бы запилить такую же систему, но вообще не имею опыта в байтоебле. Если я просто для каждой картинки буду запоминать оффсет от начала файла и количество байтов в шифре, этого будет достаточно?
>> No.46192 Ответ
>>46191
Компрессируй какой-то простенькой хуитой типа lz без заголовков, этого достаточно.
Ну и потом в контейнер. Можно велосипедить, а можно взять готовый, типа зипа без компрессии или что-то в этом роде.
>> No.46215 Ответ
Аноны, что делать, если не понравилось ООП? А вкатиться хочется. Есть годные альтернативы? Главное, чтобы по ним много уроков было, книг всяких.
>> No.46216 Ответ
>>46215
ФП всё время выставляют как якобы альтернативу ООП. Но я не понимаю этого. Это же тоже самое ООП только чуть по-другому. Оно отличается только отсутствием(или меньшим использование) классического наследования реализации. В реальности у тебя только две альтернативы: ты или используешь абстракции, или нет. Если нет, то когда придёт человек и скажет, что уже готовую программу нужно поменять, то будешь выть.
>> No.46231 Ответ
>>46097
Аригато годзаймасу! Вспомнил про задачу, с твоей помощью и 2.9 K&R решил за полчаса, а ведь мучался, смотрел даже команды ассемблера и прочие Hacker's Delight, мало что при этом понимая, лол.
Только я вычислял позицию старшего левого бита и потом в цикле переносил каждый бит в "обратную" позицию идентичного битового поля результатирующей переменной. Может можно было решить проще, но это уже намного проще и понятнее, чем то, что я городил до твоей подсказки.
>> No.46255 Ответ
Файл: zzz2_1302791665_full.jpg
Jpg, 60.89 KB, 600×407 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
zzz2_1302791665_full.jpg
Есть один сайт, точнее бура, и для него до сих пор нет клиента на ведроиде. На самом деле он не очень-то и нужен на мой взгляд, однако кто-то говорит, что с телефона неудобно. Итак, у меня есть желание написать такой клиент, предоставляемый сайтом JSON API и знание С++ уровня написания простейшего калькулятора. Для телефона или связанного с сетью ничего, конечно, никогда не писал, так что вообще не представляю, что делать и с чего начать. Собственно, в качестве практического задания для себя решил сделать что-то подобное и изучать/разбираться в процессе. Итак, что мне нужно? С чего начать? Алсо, имеются некоторые знания о HTML, CSS и PHP, но они малы. Хотя, наверно, сайт-калькулятор тоже мог бы запилить.
>> No.46256 Ответ
Файл: 5663-12.jpg
Jpg, 166.47 KB, 1024×760 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
5663-12.jpg
Еще есть желание написать удобный граббер пикч с того сайта для ПК. Даже, лучше с этого и начну, полезнее и проще, как мне видится. Итак, вопросы те же.
>> No.46257 Ответ
>>46256
Писать это на спп можно, но это унылое и безблагодатное занятие по сравнению с скриптотой.
Что нужно? Клиент для хттп и парсер для хтмл. Можно парсить регулярками, но вряд ли ты их знаешь.
>> No.46258 Ответ
>>46257
В чём профиты отсутствия строгих типов скриптоты?
>> No.46259 Ответ
Файл: the_amazing_world_of_gumball___the_cast_ver_2_by_e.jpg
Jpg, 229.54 KB, 795×639 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
the_amazing_world_of_gumball___the_cast_ver_2_by_e.jpg
>>46255
> Итак, что мне нужно?
JDK, Android Studio

> С чего начать?
Любой вводный курс в жабу, при условии, что твое "знание С++ уровня написания простейшего калькулятора" на самом деле означает "знание С++ уровня написания простейшего калькулятора с ООП и шаблонами".
После джавы идешь знакомиться с Android SDK - https://developer.android.com/training/index.html.

Есть другой вариант, который тебе может даже подойдет, но охуенным мобильщиком ты от этого не станешь:

> Итак, что мне нужно?
JDK 8, Android SDK, node, npm, cordova или Visual Studio 201x с phonegap в коробке. Visual Studio не советую.

> С чего начать?
Любой вводный курс в джаваскрипт.
Желательно любой углубленный курс в джаваскрипт.
Любой вводный курс в phonegap или cordova.

>>46256
wget или curl и любой скриптоязык, который умеет в JSON то есть, просто любой скриптоязык. На плюсах, жабе и других конопляторах такая херня тоже делается относительно легко и быстро. Я обычно ебашу грабберы или автоматоры на шарпике в обнимку с коробочным HttpWebRequest и либой HtmlAgilityPack (аналог jsoup). Если сайт использует какую-то злопидарную джаваскриптовую магию, то для небольших задач беру WatiN, а для вещей посложнее пересаживаюсь на phantomjs.

>>46258
Ты можешь использовать одно и то же имя переменной для разных вещей. Охуенно полезно, правда?. Тут дело не столько в профитах, сколько в том, что скриптовые языки не компилируются и статическая типизация им ни к чему. Какие-то отговорки по этому поводу можно почитать здесь https://gist.github.com/non/ec48b0a7343db8291b92.

Вот как-то так.
>> No.46260 Ответ
>>46257
>>46259
Ясно. То что реализуемо на С++, я бы хотел на нем и сделать.
>> No.46262 Ответ
>>46260
Делай. Гугли как делать веб реквесты и читать json на плюсах.
>> No.46267 Ответ
>>46262
Так и поступлю.
>> No.46334 Ответ
Когда-то пытался в C++ от скуки, прочитал книгу одного хУя, выполнил упражнения, потом даже на qt графические танчики сделал.
Но как же меня все это бесило, как же это было некомфортно.

И тут я недавно начал смотреть видеоуроки на ютабе по пайтону какого-то англоязычного товарища, и омайгад, как же это все интуитивно, удобно, чувствуешь как рыба в воде, раз раз, и все готово, буду джэнго учить, и в пайчарме, ну да, работать. Ну да, ведь.
>> No.46335 Ответ
>>46334
А мне руби больше нравится чем питон, ибо всё объекты, без этой плейн-олд-дейта хуеты.
>> No.46336 Ответ
>>46335
Какую работу проще получить новичку/профи, на джэнго или рэилс?
>> No.46337 Ответ
>>46336
Новичку на пхп, профи на чем угодно.
>> No.46338 Ответ
>>46337
Ладно, тогда буду продолжать django.
На нем же можно имиджборду написать?
>> No.46339 Ответ
>>46337
Это мне тогда в какой тред писать, в этот, или в python?
>> No.46340 Ответ
>>46338
Положено на перле.
>> No.46341 Ответ
>>46337
Навыки и знания повысятся, а ты так и будешь привязан к пхп и он начнёт бесит. Жалею, что пошёл в пхп, сейчас переучиваюсь на джаву. Лучше сразу на нормальное что-то.
>>46336
Мне кажется, одинаково почти.
>>46338
Можно.
>> No.46353 Ответ
В С имеется разница между for(i = 0; i < 10; i++) и for(i = 0; i < 10; ++i)? А в C++?

Можно ли в Visual Studio провести трассировку, чтобы просмотреть какие переменные какие значения принимают?
>> No.46354 Ответ
>>46353
> > А в C++?
Есть.

> > Можно ли в Visual Studio провести трассировку, чтобы просмотреть какие переменные какие значения принимают?
В visual studio можно все. Попробуй F10.
>> No.46355 Ответ
>>46353
И какая же разница?
>> No.46356 Ответ
>>46354
Какая? Во втором сначала увеличивается i, а потом проходит цикл?
>> No.46357 Ответ
>>46354
> Есть.

Если i - простой целый тип, то нет.

>>46355
>>46356
В плюсах постфиксная и префиксная формы унарных операторов - разные функции или методы и могут, потенциально, выполнять разную логику.
>> No.46359 Ответ
>>46357
> Если i - простой целый тип, то нет.
А в каких случаях есть?
>> No.46360 Ответ
>>46359
> А в каких случаях есть?

> >>46355
> >>46356
> В плюсах постфиксная и префиксная формы унарных операторов - разные функции или методы и могут, потенциально, выполнять разную логику.
>> No.46364 Ответ
Файл: whilw.PNG
Png, 60.72 KB, 417×505 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
whilw.PNG
В книжке по Java повстречался такой пример.
В общем понятно, но есть пара вопросов.
Зачем в конце цикла while стоит декрементация е--? Если её убрать то появится лишь первая строка из результата. Почему так?

И если в условии while написать не е > 0, a e < 10, то результата не будет вообще. Почему?
>> No.46365 Ответ
>>46364
Если убрать е-- while зависнет и программа не остановится. Если поставить e < 10, то произойдёт то же самое. Провыполняй эту программу построчно на бумаге. Если не можешь, то прочитай, что делают while и for. Не "на примерах", а по-нормальному.
>> No.46366 Ответ
>>46364
Дурной пример. Вместо while для семантики нужно ставить for - так понятнее было бы.
>> No.46373 Ответ
Файл: 4.png
Png, 9.12 KB, 451×250
edit Find source with google Find source with iqdb
4.png
Файл: 3.png
Png, 11.87 KB, 997×243
edit Find source with google Find source with iqdb
3.png

Имеется код на С. Вызывает 2109 при компиляции. Как побороть? С одномерным массивом делал то же, и там все работало.
>> No.46374 Ответ
>>46373
У тебя arr указатель, а не массив.
>> No.46375 Ответ
Файл: 5.png
Png, 7.71 KB, 485×196 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
5.png
>>46374
Я тоже подумал, что это странно, когда как работать с malloc читал. Хотя, это же указатель на выделенное место, наверно. Так или иначе, вот этот код рабочий, например. Да что там, это тот же код и есть, только память как одномерный массив используется.
>> No.46376 Ответ
>>46375
Да, всё верно, в Си адресная арифметика для указателей и одномерных массивов одна и та же. Адресация как для многомерных массивов для указателей не разрешена.
>> No.46377 Ответ
>>46376
Как тогда сделать?
>> No.46378 Ответ
>>46377
Тебе нужен двумерный динамический массив? Придётся самому реализовать. Или считай индекс вручную. Это Си.
>> No.46379 Ответ
>>46378
> Придётся самому реализовать.
Не представляю, как это можно сделать.
> Или считай индекс вручную
А это как?
>> No.46380 Ответ
>>46379
Считать вручную так, например:
&arr[CRow * rows + CColumn]
Пилить свои динамические массивы - через объявление соотв. структуры и функций. Готовые реализации есть. Гугли что-нибудь вроде "C dynamic arrays".
>> No.46381 Ответ
>>46379
Выделить ячеек КолвоСтолбцов умноженных на КолвоСтрок.
НомерСтроки умножить на КолвоСтолбцов плюс НомерСтолбца.
>> No.46383 Ответ
>>46380
>>46381
Действительно, спасибо.
>> No.46384 Ответ
Приветствую, анон. В данный момент я являюсь студентом технического вуза. Я взял книгу по алгоритмизации из библиотеки, автором этой книги является В.Д.Колдаев. Так вот вопрос - хороша ли эта книга для новичка? Если нет, то попрошу посоветовать другие книги.
>> No.46385 Ответ
>>46384
Сейчас тебе будут советовать всякое.
На самом деле, они все примерно одинаковые по содержанию %и бесполезности%. Если конкретного алгоритма нет, бери какую-нибудь другую книгу, где есть. Только не начинай все от корки до корки учить, прошу тебя.
>> No.46386 Ответ
>>46385
Спасибо большое!
>> No.46387 Ответ
>>46384
Все книги для новичка плохи. Не валяй вола и читай книги для нормальных людей. Тем более, ты студент, и тебе не нужно выучить всё за неделю. Читай предисловия к книгам и/или разделы "для кого эта книга". (Если такого раздела нет, то это где-то в предисловии написано). Там написано, каких знаний тебе будет достаточно, на это и опирайся. Тогда у тебя не будет слишком сложной для тебя книги. Не знаешь что-то - гугли или ищи в других книгах.
По алгоритмам была какая-то книга Кормана крутая, её больше всего хвалили всегда.
>> No.46389 Ответ
>>46387
> Все книги для новичка плохи.
Как "A byte of Python" за авторством Swaroop'а C.H., например?
>> No.46390 Ответ
>>46389
Я не знаю, я не читал её.
>> No.46391 Ответ
>>46389
Это алгоритмическая книга например?
>> No.46396 Ответ
Моя первая html страничка.
http://pastebin.com/JiwDruic
>> No.46397 Ответ
Файл: Chord.PNG
Png, 3.85 KB, 289×276 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Chord.PNG
Доброкодер, помоги дураку, скурившему учебник по матану еще в школе. Я все благополучно забыл.
Как узнать угол по длине хорды? Наверное с таким вопросом стоило бы идти в универсач, но стыдно и задача слишком специфическая: координаты точки должны В вычисляться только через угол. Все остальные переменные известны: координаты точки А и центра окружности, радиус окружности и дистанция d.
>> No.46398 Ответ
>>46397
sin(a/2) = d/2R
a = 2*arcsin(d/2R)
>> No.46401 Ответ
>>46398
Нужно ещё проверку поставить, что d строго меньше 2R. Иначе арксинус вычислится там, где он не определён(аргумент больше единицы не может быть). Бросить там эксепшен тогда. Ну и R не должно быть равно нулю, естественно.
>> No.46403 Ответ
Как бы вы создали алгоритм для поиска похожих изображений? Я тут гуглил на эту тему, и перечитав кучу всего, пришел к следующему способу:
Берем 2 картинки и сжимаем обе до маленького размера (у меня было 5х5).Затем сравниваем цвет соответствующих пикселей у уменьшенных вариантов. Считаем, сколько пикселей сильно разнятся в цветах (выше заданного порога). Если их слишком много - значит картинки разные. Если нет - создаем варианты размером побольше (уже не 5х5, а, допустим, 25х25), и также считаем количество разных пикселей. И так делается несколько раз для уточнения результата. Если количество пикселей с разнящимися цветами небольшое, приходим к выводу, что картинки похожи.
Но у такого алгоритма очень большая проблема в скорости. На 100 операций сравнения тратится 0.5-0.8 сек. Если предположить, что в папке 2500 картинок, то для их сравнения друг с другом уйдет ~18ч. И это, конечно, пиздец. Но я точно знаю, что это можно делать намного быстрее, так как уже пользовался подобными софтами для нахождения похожих картинок. Есть здесь, кто шарит? Как это можно сделать по-нормальному?
>> No.46404 Ответ
>>46403
Я делал так: ужимал до 8x8, переводил в грейскейл, находил средний цвет, если светлее то 1, темнее - 0. Получается 64битное число по сути. Запихивал в мускуль, делал индекс на колонке.

SELECT * FROM Images WHERE hash8x8 = :takoytohash
>> No.46405 Ответ
>>46398
>>46401
Cпасибо.
>> No.46407 Ответ
Файл: 1293778092531s.png
Png, 88.78 KB, 169×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1293778092531s.png
Такой вот вопрос, а как виндовая функция Sleep, которая, согласно хелпу, говорит спать всему вызывающему потоку/процессу, влияет на события WM_TIMER? Они скипаются или все же ставятся в очередь сообщений? И если ставятся, то в скольки экземплярах? То есть, если я вызвал Sleep с достаточно большим интервалом, и за это время таймер сработал больше одного раза, не получится ли так, что после пробуждения и обращения к очереди сообщений у меня процедура-обработчик событий таймера вызовется несколько раз подряд?
>> No.46408 Ответ
>>46407
Оно же однопоточное, блокируется полностью, никакие ивенты не отрабатывают.
>> No.46415 Ответ
Есть один макрос на vb, нет МС Офиса, есть Опен/Либре. Существует standalone compiler в байткод вбейсика, чтоб можно было его скомпилить под вайном или нативно? Очень надо, МСО ставить не вариант.
>> No.46417 Ответ
>>46415
В Опен/Либре тоже есть бейсик. Не знаю, правда, насколько он совместим с МС'овским.
>> No.46418 Ответ
>>46415
> Есть один ненужно на ненужно, нет ненужно, есть ненужно. Существует ненужно в ненужно, чтоб можно было его под ненужно?
А Ктулху его знает.
>> No.46419 Ответ
А у нас есть api? Просто глазами пробежался, не нашел.
>> No.46420 Ответ
>>46417
Они несовместимы. Гуглил вчера полдня, гуглил сегодня - есть вижуал бейсик, завязан на V$, но это не то. Потому что он компилит сразу в экзешник, а мне надо в байткод для офиса. Мне нужен компилятор Vusial Basic for Applications. Но есть, в принципе, вариант на шарпе сделать билдер. Только я шарп не умею, вообще под винду не кодил никогда, тем более на этим ООПнутых убожествах. Короч, ппц, ковыряю в Моно его щас.
>> No.46421 Ответ
Можно ли bash считать полноценным скриптовым языком аля Perl или Python?
>> No.46422 Ответ
>>46421
Можно или нет, писать на нём очень неудобно.
>> No.46423 Ответ
>>46422
А именно? Я как раз на распутье выбора скриптового языка, с башем знаком в роли шелла, но не ЯП.
>> No.46425 Ответ
>>46421
Вполне себе тьюринг полный скриптовый язык.
https://www.reddit.com/r/programming/comments/18rfl5/what_other_abominations_can_anyone_find_written/
Правда после десяти строк, программа начинает стремительно превращаться в не читаемую простыню.
>> No.46426 Ответ
Файл: miNh2ct.jpg
Jpg, 163.91 KB, 1000×1400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
miNh2ct.jpg
Какие книжки можно почитать про Си после K&R?
>> No.46427 Ответ
>>46426
Я бы посоветовал Красивый код автора не помню и Кнут'а 3 том
>> No.46428 Ответ
>>46423
В нём есть возможности для скриптования, но они нарощены эволюционно и костыльно, это изначально не ЯП и он таковым не проектировался.
Тот же перл вобрал в себя фичи от си, шелла, авк и прочих никсовых дел.
>> No.46430 Ответ
>>46426
Клеменс - Язык C в XXI веке
Хэзфилд, Кирби - Искусство программирования на C (лютая годнота; настоятельно советую читать в оригинале, ибо переводчики оторвались по-полной)
Голуб - Правила программирования на Си и Си++ (читать с оглядкой на современные реалии, желательно после предыдущих книг)
Kalicharan - Advanced topics in C
Prata - C primer plus
Brass - Advanced data structures

http://pubs.opengroup.org/onlinepubs/9699919799/ - POSIX (описана стандартная библиотека C, утилиты, заголовочные файлы, интерфейсы и системные вызовы Unix). Лично я пользуюсь очень часто; во многих случаях заменяет мне man. Если зарегаться на сайте, то можно скачать себе на комп.

Вообще этому треду не хватает хорошей шапки. На харкаче шапка так себе, но здесь даже такой нет. Предлагаю обсудить варианты. Если что, готов запилить.
>> No.46431 Ответ
>>46426
Прата - C++
>> No.46434 Ответ
Реквестирую советов в плане поиска работы. Среднее специальное образование, опыт вэб дева на ПХП - 8 лет, различные фреймворки и CMS.
Хочу попробовать что-то новое: NodeJS или React, и хочу пойти как разработчик начинающего уровня. Чего я могу ожидать?
>> No.46435 Ответ
>>46434
Город: Москва если чего.
>> No.46436 Ответ
>>46434
> Хочу попробовать что-то новое: NodeJS или React
Попробуй Go.
>> No.46437 Ответ
>>46434
Как-то странно, что за 8 лет у тебя не сформировалось никаких представлений о том, как лучше и эффективнее писать программы. Обычно к этому времени ты уже знаешь, какие технологии бывают и в чём плюсы и минусы.
>> No.46438 Ответ
>>46437
Большую часть времени я фрилансил и дорабатывал чужие проекты. Сильно сейчас об этом жалею, думаю давно надо было получать опыт на постоянной работе.
>> No.46446 Ответ
Привет всем. Посоветуйте, пожалуйста, язык для начинающего. Хотелось бы вкатиться через пару лет на постоянную работу. Предпочтений в том, где и над чем работать нет.
>> No.46450 Ответ
>>46446
Платиновый бидон платинов.
>> No.46452 Ответ
>>46446
Нет таких. Берёшь обычный и всё.
>> No.46453 Ответ
Файл: Selection_147.png
Png, 2.93 KB, 269×18 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Selection_147.png
>>46446
Начинающие изучают не языки, а теорию программирования и разработки ПО, параллельно оттачивая навыки и закрепляя знания на практике, применяя тот или иной язык (языки). Потому что изучить программирование и изучить язык программирования - не одно и то же.

Так что твой вопрос не имеет смысла в контексте поставленной тобой зазачи (найти работу в качестве программиста), потому что языки программирования, созданные для начинающих, в индустрии, как правило, не используются (разве что для целей обучения, конечно). Убедись сам. Гугли Logo, BASIC, Scratch, КуМир.

Само по себе знание языка программирования еще не гарантирует тебе успеха. Хотябы потому, что работа программиста, во-первых, не сводится к написанию кода, во-вторых, предполагает использование, кроме собственно языка, других инструментов и средств разработки, в-третьих, врядли существует такая сфера программирования, в которой можно обойтись знанием только одного языка.

Поэтому, как начинающий, ты должен обеспокоиться не только выбором языка программирования, но и некоторым количеством сопутствующих вещей.
1. Качественный учебный материал, желательно на родном языке.
2. Удобный и простой в использовании инструментарий разработки: IDE, текстовый редактор, транслятор, отладчик...
3. Связь с другими разработчиками, испольщующими те же инструменты.

Теперь что касается собственно языков. Какой язык выбрать для начала? Руководствуйся предыдущими тремя пунктами. То есть, если для языка есть хорошие учебники на русском языке, удобные средства разработки и вокруг него сформировалось большое отзывчивое сообщество, то, возможно тебе этот язык подойдет. С ввязи с этим, обрати внимание на Python или Pascal. И не воспринимай этот своет, как нечто судьбоносное. Поверь, если все-таки захочешь стать программистом, то языков тебе придется освоить еще не один и не два. А какой учить первым - не принципиально. Это всего лишь вопрос удобства и некоторого облегчения учебного процесса.

Дополнительные замечания.
1. Не советую выбирать на начальном этапе обучения всякую экзотику и языки-концепции (Forth, Lisp, Agda, Haskell, Prolog, Perl, Smalltalk...);
2. То же относится к узкоспециализированным языкам (1C, SAP, PHP, JS, R...);
3. Также не советовал бы начинать с языков, в которых есть всевозможные фичи из расчета чем больше, тем лучше (C++, D, C#, OCaml, Ada, Haxe, Nim, Kotlin, Scala...)
Общий критерий такой. Выбирать надо такой язык, который не будет грузить тебя собственными особенностями, иначе будешь заниматься не столько программированием, сколько изучением самого языка, чего новичку следовало бы избегать. Разумеется, тут могут быть исключения.
1. Си. Лингва франка мира программирования. Трудно сосчитать, сколко языков основано на его синтаксисе. Есть на любой ОС. Знают везде. Куча учебной литературы (разного качества и свежести). Море библиотек для любых нужд. Из минусов: ехал указатель на указателе через указатель прямиком до станции segfault; написание больших программ весьма трудоемко.
2. Java. Есть везде. Сравнительно прост. Обширная стандартная библиотека. В учебниках недостатка нет. Минусы: склонность к многословию и лишнему весу.
3. StandardML. Возможность для простого смертного прикоснуться к миру ФП и статической типизации. Предок Хаскеля и ОКамла, который предок F#. Очень прост. Выразителен. Используется для обучения программированию в некоторых западных университетах. Недостатки: немножко древний, учебники только на инглише, мало библиотек.
>> No.46456 Ответ
Файл: 14728840688110.jpg
Jpg, 43.39 KB, 700×474 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14728840688110.jpg
>>46450
Питон в смысле?
>>46452
Жаль.
>>46453
Действительно, я неправильно написал просьбу. Касательно теориии программирования, я поступлю в универ на ИВТ, посмотрел дисциплины, которые там преподают и они как раз совпадают с тем, что ты написал, в следующем году, хоть и закончил 4 года назад школу.
Много слышал о том, что Java довольно хорош и распространен. Что-ж, перед универом буду просто изучать теорию, а потом и сам язык. Спасибо за помощь!
>> No.46457 Ответ
Файл: 14745529079630.jpg
Jpg, 211.07 KB, 1280×847 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14745529079630.jpg
>>46456
> я поступлю в универ на ИВТ
О, я тоже на заочку по этому направлению лыжи намылил, после того как отсеял ПИ и ПМИ.
Куда поступать будешь?
>> No.46458 Ответ
>>46456
> перед универом буду просто изучать теорию
Практика тоже нужна. По нескольким причинам. Во-первых, для понимания теории. Во-вторых, чтобы немного набить руку и не тратить в универе время на такие вещи, как освоение команд компиляции и основ отладки.
Вообще, учебники по программированию, как правило, привязаны к конкретному языку и в процессе обучения ты постепенно осваиваешь и язык. Либо наоборот. Во многих учебниках, посвященных языкам, даются также и основы программирования.
>> No.46461 Ответ
>>46457
Баллов мало, пойду в политех на платку. Возьму очку, чтобы не маяться ничегонеделаньем и не впадать в депрессию из-за проебанных 4 лет. Одноклассники уже успешные, родственники тоже(сестра даж в гугл попала) и один я бездарь.
Кстати, долго искал вуз, в итоге, спустя несколько дней поиска в интернете, нашел совет мол стоит пойти на кафедру компьютерных систем и программных технологий в политехе.
Все знакомые с Питера советовали ИТМО, все дела, но я немножко обомлел с баллов туда.

>>46458
Спасибо! Так и сделаю. Не могли бы вы посоветовать книг/ресурсов для этого? В интернете информация слишком разнится и там какие-то бешеные ребята сидят, уже выучившие по 3-4 языка.
>> No.46462 Ответ
>>46461
> пойду в политех
Что ж, удачи. ВУЗ хороший. Я постараюсь на бюджет. Баллов достаточно, но бюджетных заочек мало. Так что выбор из одного вуза, лол.
>> No.46463 Ответ
>>46462
Спасибо. Тебе тоже всего хорошего!
>> No.46464 Ответ
>>44688
Доброкодер, посоветуй хороших алгоритмов для проверки пересечения геометрических примитивов, вроде прямоугольников и эллипсов, на плоскости. Чтобы без растрового читерства с регионами и битмапами, и без громоздких циклов с кучей контрольных точек. Хотелось бы решить все математически и наиболее рациональным образом.
Так как все дело происходит в 2Д пространстве, задача немного упрощается, потому что есть дискретная минимальная единица размера, это пиксель. У меня не возникает проблем с проверкой попадания точки даже в сложные фигуры, вроде сектора, заданного двумя эллипсами и двумя углами. Но с проверкой пересечения эллипса и прямоугольника уже засада.
>> No.46465 Ответ
>>46464
1. Проверяешь попадание точки в один граф. примитив
2. Проверяешь попадание той же точки в другой граф. примитив
>> No.46466 Ответ
>>46464
Через векторные произведения, которые поначалу очень тяжело усвоить, легко решаются почти все задачи на взаимное расположение фигур, точек и т.п. друг относительно друга, а так же и на площади. Правда, я не знаю, где лучше почитать. Конкретно попадание точки в выпуклый многоугольник считается через сравнение сумм площадей треугольников образованных сторонами многоугольника и этой точкой с одной стороны, и площади многоугольника с другой. Причём площади складываются со знаком плюс или минус в зависимости от того, куда указывает В.П., вниз или вверх. Сама площадь тоже как-то так считается. Тебе сейчас не будет это понятно, надо искать книгу или статью.
>> No.46471 Ответ
Доброкодер, диагноз ли это:
прикручивать к одноразовому коду для IA-32 поддержку MIPS, от скуки?
>> No.46472 Ответ
>>46471
А какое лечение показано при таком диагнозе?
>> No.46473 Ответ
>>46461
> посоветовать книг/ресурсов
А каков твой примерный уровень сейчас? Устройство компа знаешь, в школе заставляли программировать?
>> No.46474 Ответ
>>46473
Никакой. Устройство компа знаю. В школе было лого и паскаль, но я ничего не вспомню сейчас.
>> No.46475 Ответ
>>46474
С языком определился уже?
>> No.46476 Ответ
>>46475
Ага. Решил выбрать Java.
>> No.46477 Ответ
>>46476
Короче, дам тебе список ресурсов, а ты выбирай сам.

Полезные сайты.
http://learnxinyminutes.com -- быстрое введение в разные языки программирования
Пример. Введение в Java: http://learnxinyminutes.com/docs/ru-ru/java-ru/

http://rosettacode.org -- сборник примеров решения разных классических и повседневных задач программирования на всевозможных языках. Не знаешь, как прочитать информацию из файла? Как написать факториал? Нужен алгоритм сортировки или поиска? Тогда тебе сюда.
Пример. Hello World: http://rosettacode.org/wiki/Hello_world/Text

Основы.
Как работают компьютеры на низком уровне (разбираем процессор до последнего pn-перехода).
Петцольд - Код. Тайный язык информатики
Фрэнк - PDP-11. Архитектура и программирование (старая книжка, но содержит хорошее быстрое введение в информатику и учит программировать на ассемблере под один из самых удачно спроектированных процессоров в истории)

Математика.
Хаггарти - Дискретная математика для программистов.

Как работают операционные системы.
Таненбаум - Современные операционные системы.

Если хочешь написать операционную систему.
Таненбаум - Операционные системы. Разработка и реализация.

Если хочешь написать компилятор.
Свердлов - Языки программирования и методы трансляции.
Вирт - Построение компиляторов.

Java.
Сразу скажу, что книга Шилдта мне не нравится. Уж очень наркоманский у него стиль программирования, как по мне. Могу посоветовать книгу Якова Файна "Программирование на Java для детей". Сразу предупреждаю, там все очень неформально и примитивно. Хотя, может быть, в твоем случае имеет смысл начать с нее. За более фундаментальной литературой обратись в Java-тред, т.к. по части Java я слишком компетентен.

Си.
Крниган, Ритчи - Язык программирования C (классика от создателей языка).
Гриффитс - Изучаем проргаммирование на C (неформальный подход).
Чтобы не заморачиваться с установкой компилятора на Винде, можешь для начала скачать простую IDE: http://pellesc.de

Pascal.
Репаков - Программирование на языке Pascal.
Компилятор можешь взять тут: http://freepascal.org
>> No.46478 Ответ
>>46477
> слишком компетентен
НЕ слишком компетентен
fix
>> No.46479 Ответ
Кстати, для изучения сишки есть такая годнотка - интерпретатор. Чтобы не дрочиться с конпеляцией и падениями. И ещё всякие ништяки присутствуют.
https://en.wikipedia.org/wiki/Ch_(computer_programming)
>> No.46480 Ответ
Файл: фыв.jpg
Jpg, 103.95 KB, 850×690 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
фыв.jpg
>>46477
>>46478
>>46479
Ох, словами не передать, как я тебе благодарен. Это просто прекрасно. Счастья, здоровья :3
>> No.46481 Ответ
>>46480
Да не за что. Обращайся.
Кстати, этот >>46479 пост оставил другой анон. Хоть я и знаком с Си уже лет десять, но с этой прогой до сих пор не сталкивался. Век живи, век учись.
>> No.46530 Ответ
Файл: 1460054343.jpg
Jpg, 32.24 KB, 604×340 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1460054343.jpg
Значит так, анонче. Очень хочу запилить что-то типа движа, который будет процедурно генерировать типичный такой рашкинский мухосранск с панельками, двориками, этим всем. Из знаний в кодинге только совсем недавно начал дрочить ооп и шаблоны на базе питона, пописывая всякие очень мелкие программки. Подкиньте что-нибудь полезное на эту теме, поясните побольше за реализацию, и что мне еще дрочить?
>> No.46532 Ответ
>> No.46551 Ответ
>>46530
В качестве фреймворка взять Houdini. Его нативных SOP-операторов может хватить, но если не хватит, то реализовать алгоритмы можно на Пиццоне, на Крестах и на простеньком сиподобном SIMD-языке, который когда-то был шейдерным. Полученный генератор можно запускать в УЕЧ или Юнити через Houdini Engine. Чтобы АУТИРОВАТЬ или что ты там планируешь делать. С усилением детализации сложность процедурного генератора растёт экспоненциально. Поэтому не существует большого количества генераторов городов. А вот запилить генератор одной хрущевки относительно просто. Можно это сделать за пару дней. Например, посмотрев CmiVFX - Houdini Building Generation. Типичный результат: https://www.youtube.com/watch?v=bXM7Hx51Qb0
>> No.46565 Ответ
Сап всем! Cегодня в нашей конфе мини-ивент по Python, Django и Flask.

Вот небольшой список рассматриваемых тем:
1. Создание приложений на python-фреймворках;
2. Отличия распространённых фреймворков;
3. Практика использования;
4. Пример: создание чат-приложения с API Google Maps.

А также другие вопросы вы можете задать нашему сегодняшнему анонимному спикеру в 18:00 мск.

https://discord.gg/J5dD6KC
>> No.46568 Ответ
Файл: 51N5PTZCEDL._AC_UL320_SR256,320_.jpg
Jpg, 22.88 KB, 256×320 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
51N5PTZCEDL._AC_UL320_SR256,320_.jpg
Прошу, объясните как разобраться куда девается память. На холостом пк уже занята почти половина, нехорошо.
>> No.46569 Ответ
Файл: snapshot_2016_9_15_22_44_31.png
Png, 88.83 KB, 1366×768 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
snapshot_2016_9_15_22_44_31.png
>>46568
как всё обстоит
>> No.46570 Ответ
>>46568
> На холостом пк уже занята почти половина, нехорошо
Почему? Шиндовс использует под свои нужды, суперфетч всякий. Если будет нужно, то освободит. Тебе пользоваться или на цифры фапать?
Читай шиндовс интерналс, если интересно. Ещё на хаброте когда-то был разбор как раз для таких цифродрочеров.
>> No.46571 Ответ
>>46570
Ну дык, вчера такого не было, шиндовс занимало раза в два меньше, а теперь всё тормозит. Грешу на прерванную дефрагментацию, только её и делал.
>> No.46575 Ответ
Голосовая конфа помощи начинающим https://discord.gg/QrnTcmy
>> No.46577 Ответ
Файл: serveimage.jpeg
Jpeg, 18.37 KB, 476×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
serveimage.jpeg
Платиновый вопрос.
Какой язык программирования лучше дать новичку? И почему?
>> No.46579 Ответ
>>46577
А что новичку интересно? От новичка зависит же.
Если новичок сам не в курсе, то java.
>> No.46580 Ответ
>>46577
Паскаль.
>> No.46581 Ответ
>>46579
> Если новичок сам не в курсе
Ну да. Он едва что представляет.
> то java.
А почему не Си, например?

>>46580
А вот всегда было интересно, откуда такая любовь к Паскалю. Сказывается древняя любовь к Алголу? У меня, например, первым языком был Бейсик.
>> No.46582 Ответ
>>46581
> > А почему не Си, например?
Ну тогда пусть он выбирает Си, ты сам ответил на свой вопрос.
>> No.46583 Ответ
>>46582
Он в языках не разбирается, просто я в Си разбираюсь.
>> No.46584 Ответ
>>46583
> просто я в Си разбираюсь.
Ну да, все вы так говорите.
>> No.46586 Ответ
>>46584
Действительно, куда уж нам до вас.
>> No.46587 Ответ
>>46577
Javascript достаточно прост, кроме того у него широкий спектр применений: фронтэнд, бекэнд и даже десктоп.
>> No.46588 Ответ
>>46587
Нооооооу! Только не Javascript! Это злодейство, а не язык! Уж лучше php!
>> No.46590 Ответ
>>46588
Если на ES6 писать, то уже почти не так больно внизу спины.
>> No.46591 Ответ
>>46590
Если на ES6, если бабел, если галп, если кофе, если модули, если, если, если, если! И всё это ради того, чтобы превратить его в обычный С#/Джаву.
>> No.46592 Ответ
>>46591
Ну и чем им обычная Джава/С# не угодили?
>> No.46597 Ответ
Я тут надумал сделать свое подобие пейнта. Удалось нагуглить некоторые примитивные поделия на хтмл канвасе, но они какие-то чересчур примитивные. Допустим, я могу сделать так, чтобы при движении мышки при зажатой клавише считывалась текущая координата, и она соединялась прямой линией с предыдущей считанной координатой. Но, что если я захочу сделать отмену последнего действия? Стирать-то как? В этом случае получается, что все не будет так просто. Необходимо будет сделать логику, как в главном лупе игрового движка: апдейт, рисование, стирание фона и все по новой и т.д. Таким образом, нужно будет запоминать все маленькие нарисованные элементики, но уже очевидно, что это совсем неприемлемо.
Выходит, лучше будет запоминать просто пиксели по отдельности? Но как?
А как быть, если я захочу запилить сглаживание линий?
>> No.46598 Ответ
Мужики, нужно написать небольшой скрипт под вин10 и упаковать в экзешник (возможно, пригодится графическая морда к нему, пользоваться будут менеджеры). Суть - из .тхт-файла выхлопа одной утилиты нужно превращать два пробела табуляции, идущих друг за другом, в один (для импорта в другую программу).
В сторону какого языка копнуть, если большее, что я делал в сфере программирования - пару раз ковырял ЦССки на сайтах да разок написал кривоватый скрипт на lua?
>> No.46599 Ответ
>>46598
Самый простой вариант видится: закинуть в папку sed.exe, сделать батник типа такого
sed 's/\t\t/\t/' -i.bak %1
Человек менеджер кидает файл на батник, файл меняется, возле него создается бэкап filename.txt.bak
>> No.46600 Ответ
>>46598
Если по уму делать, а не пихать кучу всего ради нескольких строчек, то смотри power shell.
>> No.46601 Ответ
>>46599
>>46600
Спасибо, не ожидал столь оперативного ответа.
Сэд выглядит как то, что мне нужно, а вот с Павашеллом навык работы мне, думаю, о обозримом будущем пригодится как таковой.
>> No.46603 Ответ
>>46597
Как насчёт просто запоминать прошлое состояние картинки?
>> No.46604 Ответ
>>46603
Что представляет из себя "состояние"?
>> No.46625 Ответ
>>44849
Спасибо, давно хотел сделать что-то подобное, правда только на плюсах.
>> No.46626 Ответ
Файл: Безымянный.jpg
Jpg, 171.59 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Безымянный.jpg
Я написал юзерскрипт который добавляет удобный просмотр медиафайлов на доброчане, говоря проще, это просто галерея. В общем зацените - https://github.com/tagener-noisu/Imageboard-Gallery .
>> No.46627 Ответ
>>46626
Норм код. А неиспользование function declarations это у тебя так принципиально?
>> No.46630 Ответ
Требуается распарсить текстовые файлы с ебанутыми табличками, отбитыми вайтспейсами. В общем-то, задачка несложная, на несколько десятков строчек в перле. Но надо зделоть на R, которого я не знаю. Сложно, или нет?
Пока иду курить мануалы.
>> No.46631 Ответ
Файл: Konachan.com-211124-angel-animal_ears-book-fuchsia.jpg
Jpg, 825.47 KB, 1500×1114
Ваши настройки цензуры запрещают этот файл.
r-15
У меня для вас загадка. Есть две директории — в одной содержится структура папок с файлами, в другой просто файлы. Есть нубопитонист, его задача — сесть на оба стула, i.e. скопировать содержимое обоих директорий в третью. Это делается через distutils.dirutils.copytree, и в целом все вроде работает как нужно, но венда при выполнении кода начинает вываливать сообщения о том, что queue overflowed. Попытки гугления готовых решений не дают, голова уже не работает. Как эту самую проблему с очередями можно обойти?
>> No.46632 Ответ
>>46631
Ах да, на выходе не одна директория, они генерятся десятками.
>> No.46635 Ответ
>>46626
condition ? false : true;

Зачем?!?!?!?!
>> No.46636 Ответ
>>46631
Попробуй через вагрант.
>> No.46637 Ответ
>>46635
А это именно булев кондишн или там другой тип? Приведения типов - от лукавого же.
>> No.46638 Ответ
>>46637
!!(любая-фигня)
>> No.46639 Ответ
>>46638
Ради чего? Ради десятка тапов по клаве? Это семантически неверно. Это тупо.
>> No.46640 Ответ
>>46639
В жабаскрипте принято к булю двойным восклицательным приводить, любые книжки по js почитай, там так делается. Это идиоматика языка. Семантически, блджад.

И да, там:

x.src === mf.src ? true : false

Что является булевым изначально, даже приводить не надо.
>> No.46641 Ответ
>>46640
> В жабаскрипте принято к булю двойным восклицательным приводить, любые книжки по js почитай, там так делается
Меня это не удивляет. Так же как и в PHP 90% всех книг по этому языку - несусветное говно. Если какие-то люди назвали идиоматикой свой детский сад - это их проблемы. Профессиональным разработчикам ПО не нужны навязчивые идеи любителям шлепать сайтики. Вот какие реально громкие имена ты можешь назвать из тех, кто использует эту запись с двойным восклицательным?
>> No.46642 Ответ
>>46641
Douglas Crockford http://www.crockford.com/javascript/encyclopedia/
Addy Osmani https://addyosmani.com/resources/essentialjsdesignpatterns/book/
David Flanagan (JavaScript: The Definitive Guide).

Суть тернарного оператора в том чтобы:
во-первых сократить конструкцию вида if (cond) { x = valIf; } else { x = valElse; } до x = cond ? valIf : valElse;
во-вторых кастануть булевое значение в какое-то произвольное, но не булевое.
Глупость высшей степени - кастовать true в true и false в false, говнокод as is.

В пхп ты тоже кастуешь в буль $cond ? true : false вместь (bool)$cond ?
>> No.46643 Ответ
>>46642
Я имел в виду, если значение изначально не булево. Я не вижу, чем !! лучше тернарного.
>> No.46644 Ответ
>>46643
Меньше кода.
>> No.46645 Ответ
>>46643
Конвенции всякие. Если так написано много кода, то читается быстрее. Хотя я в любом случае не видел, где бы активно на уровне конвенций использовали unnecessary wrapping уровня "если правда, то правда, если нет, то лошшь".
>> No.46646 Ответ
>>46644
На два с половиной символа.
>> No.46650 Ответ
>>46646
Девять непробельных и четыре пробельные.
>> No.46651 Ответ
>>46631
>>46636
Никаких решений не понадобилось, лол. Два дня ломал над этим голову, нервничал, материл кривую винду и так далее, а сейчас случайно заметил, что сообщения вываливает не винда, а notepad из-за того, что в нем открыты папки, в которых все и происходит.
>> No.46654 Ответ
>>46653
Подели на функции и промежуточными выводами все их отдельно проверь, навалил в одну кучу всего. В идеале функции должны быть не длиннее около 20-ти строк(но это прям совсем идеально) и не более одного-двух циклов на функцию.
>> No.46655 Ответ
>>46653
Алсо, поставил бы QtCReator или студию, и там и там можно. Я на линуксе через gdb на QtCreator настраивал это дело. В студии из коробки работает, естественно.
>> No.46656 Ответ
>>46654
Я бы так и сделал, если бы для себя делал. Тем более, тут линейное выполнение, нигде не требуется еще одна функция. Ну почти. В прошлый раз, когда я принес прогу, разбитую на функции, препод сказала типа "нахера ты это сделал?", про обнуленее переменных то же самое, лил. Теперь, вот, пишу все в main, не обнуляю и объявляю все строго в начале.

>>46655
> QtCReator
Спасибо, попробую. Там долго настраивать, что там вообще нужно делать?
> Студию
Она у меня сбоит. Как бы, в универе сказали, что вот, логинитесь здесь, качаете полную лицензию и пользуетесь. Но месяц прошел, и либо полная лицензия оказалось не полной лицензией, либо я чего-то не понимаю. Хоть кряк качай.
>> No.46657 Ответ
>>46656
> Тем более, тут линейное выполнение, нигде не требуется еще одна функция
Предрассудки студентов. Только студенты пишут и думают так. Преподов бы этих, блядь... Лучше ничего не буду писать. Небось, препод - спец по численным методам, да? Почему преподователи вычислительной математики думают, что они программисты? Я бы всё равно разбивал и говорил преподу, что так надо, блядь. За такую хуйню на неё бы и деканат нажаловаться стоило бы.
>> No.46658 Ответ
>>46385
> Только не начинай все от корки до корки учить, прошу тебя.
Можно скромный вопрос?
Почему не надо от корки до корки?
В моём представлении, осилить книгу — значит прочитать полностью. Выполнить хотя бы 1/3 упражнений. Что не так с этим подходом?
>> No.46659 Ответ
Файл: 1476718746688.png
Png, 1.60 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1476718746688.png
Чувствую себя последним дном, но… Подскажи, анон, как настроить гит на сервере, чтобы пушить напрямую в него, а не сначала на гитлаб, а потом стягивать с него на серваке.

Ну или что делать, если гит стабильно выдаёт:

fatal: The remote end hung up unexpectedly

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

Капча знает толк в хидден гемах.
>> No.46660 Ответ
>>46659
Иногда помогает заклинание:
git config http.postBuffer 524288000

Иногда нужно указать правильный адрес ориджина. Как у тебя сделан доступ до гит-сервера, ssh?
>> No.46661 Ответ
>>46660
> git config http.postBuffer 524288000
Уже. Нет.

> ssh
Как у всех нубов, по https.
>> No.46662 Ответ
>>46661
Лучше по ssh сделай, с https очень заебёшься.
>> No.46663 Ответ
>>46662
Спасибо.
>> No.46664 Ответ
Анон, как лучше проводить валидацию форм?
Он клик, он кей пресс или как?
>> No.46665 Ответ
>>46664
В момент изменения поля после короткого таймаута.
>> No.46666 Ответ
Няши, кто-нибудь сталкивался с fortune.js?

Интересует следующее:

Там реально сделать аутентификацию с сеансами и всем таким, разграничить права доступа etc. или для этого обязательно нужен фронтенд-сервер?

Вообще годится ли эта вещь для создания REST API (такого, чтобы клиентское приложение с ним работало) или это просто ещё один уровень абстракции поверх БД?

Можно ли некоторые данные отдавать не в полном объёме, а только необходимые поля?

Если можно аутентификацию, то можно ли ещё и предыдущее в связке с ней? Чтобы какие-то поля каких-то объектов были доступны на чтение/запись/etc. только владельцу, а какие-то — кому угодно (ну и что-то вообще никому кроме сервера знать не нужно).

Если это можно, то хотелось бы туториалов/примеров, если есть на примете хорошие.

Алсо. Там ещё у них вроде как есть драйвер для постгреса; насколько он секьюрный и устойчивый ко всяким плохим вещам? Он обеспечивает хоть какие-то меры безопасности или я рискую, что первый же вася дропнет мне базу?
>> No.46667 Ответ
>>46635
Даже не представляю как это там оказалось. Лень старые коммиты смотреть, наверное от предыдущей версии осталось.
>>46640
Лол, книг по js не читал, писал гугля документацию.
>> No.46670 Ответ
`
#include <stdio.h>
void ex(int a){
 printf("\nPress enter to exit.");
  fflush(stdin);
 getchar();
 exit(a);
}

int main(){
//...
 ex(1); // неудачное завершение программы
//...
 ex(0); // удачное завершение программы
}
`
Все правильно сделал?
>> No.46671 Ответ
Почему файл с кодом плохо называть "main.c"?
>> No.46672 Ответ
>>46670
EXITSUCCESS / EXITFAILURE?
>> No.46674 Ответ
>>46672
Я так и не смог пофиксить свою разметку.
>> No.46675 Ответ
Стековерфлоу^WДоброкодер, можешь подсказать, как заставить работать вместе Len's Encrypt, CloudFlare, Express и EC2?

Делала так:

(require('letsencrypt-express') as any).create({
server : 'staging',
email : 'foo@bar',
agreeTos : true,
approveDomains : [ 'foo.bar', 'www.foo.bar' ],
app
}).listen(8080, 4443);

С портов 8080 и 4443 трафик перенаправляется на 80 и 443 соответственно.

Есть ли вероятность, что после замены `staging` на `https://acme-v01.api.letsencrypt.org/directory` оно заработает?

При обращении по адресам `https://foo.bar` CloudFlare выдаёт ошибку 526.
>> No.46676 Ответ
Файл: 1476871825125.png
Png, 2.09 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1476871825125.png
>>46675
Надо было всего лишь выбрать SSL Full вместо SSL Full (strict). Ебать, я лошище.
>> No.46677 Ответ
>>46672
На сайтике, на котором я читал, написано, что первое эквививалентно фнулю, а второе единице. Или принято писать эти константы?
>> No.46678 Ответ
>>46677
Анон учит тебя не писать магические числа в коде, а всему давать внятные имена.
>> No.46679 Ответ
>>46678
Ясно.
>> No.46680 Ответ
Файл: 14768709433970.jpg
Jpg, 135.66 KB, 581×371 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14768709433970.jpg
Этот тред для ньюфагов, а я ньюфаг и разбираюсь в программировании ровно нихуя. Ничего не знаю об этом, а поэтом уповаю на ваши мудрые советы. Возможно всё что я сейчас напишу прозвучит супер тупо и дико для вас, но я не очень-то разбираюсь во всех терминах и прочем, так что за ранее извиняюсь. Мне интересно программирование так как оно позволяет созидать что-то, в том числе и полезное. Хотелось бы научится писать для себя всякую мелочь: грабберы, программы которые из определённого диапазона страниц могли бы находить нужную информацию, и прочие мелко-программки которые могли бы взаимодействовать с вэб и не только. Какой язык программирования позволяет создавать подобное? Желательно чтоб к ним можно было прикрутить милый интерфейс с кнопками/подсветками/анимациями и прочими свистоперделками, но опять же, не так обязательно. Скорее важно чтоб было практично, компактно/не увесисто, и работало быстро, и также быстро и просто писалось. Ну и хотелось бы что-то актуальное, на случай если я угорю по программированию, и нормально освоив определённый язык, захочу зарабатывать этим. Куда двигаться? Направьте меня доброкодеры, какой язык лучше осваивать для моих целей? И ещё одно, можно ли краткую характеристику языкам Java, C#, Python? Что из этого для чего используется, какие преимущества у каждого из этих языков? только если можно на языке несведущих, чтоб я понял, или мне вообще в скриптовые языки с моими запросами, если так то какие из них актуальны? Сори парни я теряюсь, помогите.
>> No.46681 Ответ
>>46680
ruby/python. Можешь попробовать Codecademy чтобы втянуться.
>> No.46683 Ответ
>>46680
> > диапазона страниц могли бы находить нужную информацию
Python ? Делается за три минуты, если знаком с beautiful soup.

> > Желательно чтоб к ним можно было прикрутить милый интерфейс с кнопками/подсветками/анимациями и прочими свистоперделками
Delphi ?

> > Скорее важно чтоб было практично, компактно/не увесисто, и работало быстро, и также быстро и просто писалось.
Слишком много хочешь. Не проще готовое найти для своих целей?
Ну а так, Java, может?

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

> > Куда двигаться?
Да неважно куда, сейчас все языки похожи.
Php может?

> > И ещё одно, можно ли краткую характеристику языкам Java, C#, Python?
Вот тебе характеристика: они похожи. Бери любой.

> > Что из этого для чего используется, какие преимущества у каждого из этих языков?
Все они используются. Преимущества у каждого есть.

> > только если можно на языке несведущих, чтоб я понял, или мне вообще в скриптовые языки с моими запросами, если так то какие из них актуальны?
JavaScript может?
>> No.46684 Ответ
Файл: 1476890233896.png
Png, 1.65 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1476890233896.png
>>46680
> грабберы, программы которые из определённого диапазона страниц могли бы находить нужную информацию
Если хоть немного знаком с юниксами (но не обязательно), то советую скрипты на bash/zsh. Там есть разные клёвые штуки вроде grep, sed, awk, sort, uniq, wc, jq, тысячи их. Позволяют красиво и понятно обрабатывать тексты. Если что-то более традиционное, то Ruby, Python. JavaScript/TypeScript, если немного знаком с этими хуетами. Хотя JS не советую, там из-за этой ебаной асинхронности — полный пиздец. TypeScript в этом плане чуть лучше (если компилировать с поддержкой ES6).

Кстати, если под виндой — попробуй AutoIt. Он экстремально простой в освоении, позволяет автоматизировать в системе абсолютно всё, умеет создавать окошки (правда, без визуального редактора, только в коде, но это тоже экстремально просто). Кода-то давно, когда ещё училась в школе, развлекалась с этим языком, как только могла.

> интерфейс
VisualStudio + C#, NetBeans + Java. Не знаю, возможно, формочки на дзяве можно и в IntelliJ IDEA клепать. Лично я для разработки на дзяве пользуюсь именно идеей, но формочки клепала только в те далёкие времена, когда не знала об IDEA. И да, лично мне редактор формочек в NetBeans нравился куда больше, чем в VisualStudo. Ну, это было во времена VS2008, как сейчас — не знаю от слова совсем.

> что-то актуальное
Java, JavaScript/TypeScript (хотя лучше даже не пробуй соваться в мир JS, там ад и израиль), Ruby, Python, C++, C#.

> характеристику языкам Java, C#, Python

Дзява — суровый ЕНТЫРПРАЙЗ (серваки), адовые нагрузки, вот это всё. Ну или Андроид. Мой утиный язык. В принципе, можно делать всё, что угодно, но он в обязательном порядке требует ООП головного мозга.

Пайтон — по большей части тоже на серваках используется. Писать на нём просто, поэтому пишут много. Хорошо подходит, когда надо быстренько разработать и обкатать прототип какой-нибудь технологии, а потом переписать на более быстром языке. Ещё скрипты на нём отлично пишутся. В детстве писала на нём программки для Symbian на уроках в школе.

Сисярп — ентыпрайз (серваки на ASP.NET) и вендовые приложения. Относительно прост в освоении, но в тоже время довольно мощный. Ну и вот эта вся экосистема .NET — на первых порах это круто. ООП головного мозга рекомендован, но его необходимость ощущается несколько меньше, чем в случае с дзявой. Ну, у меня так было.

Дзяваскрипт/тайпскрипт — пихают сейчас куда ни попадя. Заманивает мнимой простотой освоения. Но когда ты его начнёшь осваивать чуть глубже, то осознаешь, какой это ад, и дело даже не в языке, язык хороший (хотя способов отстрелить себе ногу там тысячи). Дело в пиздецки ёбнутом сообществе и такой же экосистеме, которую это сообщество и создало. У них там технологии устаревают за неделю, каждый день выходят фреймворки ПРИНЦИПИАЛЬНО ПРЕВОСХОДЯЩИЕ ВСЁ, ЧТО БЫЛО РАНЬШЕ и т. д. Если что вдруг, TypeScript > JavaScript. TS — тот же JS, но с плюшками дзявы и сисярпа. Ну и вообще защищает от половины способов отстрелить себе ногу, существующих в JS. Ещё JS/TS хорош тем, что совмещает ООП и функциональное программирование (ха! — сказали лисперы/хаскелисты), это иногда очень удобно.

Руби — экстремально прост. Обладает охуенной стандартной библиотекой. И бесчисленным количеством готовых модулей на любой случай. Больше ничего не скажу, так как сильно его не трогала, только общалась с рубистами.

Плюсы — системное ПО, программки от простейших консольных утилиток до меганавороченных комбайнов. На фреймворке Qt можно делать программы для всех платформ (включая венду, линукс, макось, андроид, айось, whatever).

Есть ещё модные Go (преимущественно серваки на нём пишут, хотя извращенцев хватает), Rust (ничего не скажу), Elexir (высоконагруженные серваки; требует принципиально иного мышления, чем всё выше), Crystal (как руби, только компилируемый и быстрый).

Можешь попробовать Pony — язык, который защищает тебя от 99% способов выстрелить себе в ногу (если программа компилируется, то она НИКОГДА не упадёт). Впрочем, этот язык для старта плохо подходит, потому что документации мало, а та, что есть предполагает наличие скилла.
>> No.46685 Ответ
>>46680
Пиши на чем угодно.
>> No.46686 Ответ
>>46684
Что про плюсы скажешь?
>> No.46687 Ответ
>>46686
Плюсеги - это сложно.
>> No.46688 Ответ
>>46687
Но полезно?
>> No.46689 Ответ
>>46686
Ничего, я же дно, я не могу в плюсы. Хотя были довольно успешные попытки склепать одну формочку на кутях но это не плюсы, да и только.

>>46688
Да, сложно но полезно. И всякие лохи жалеют о том, что ниасилили плюсы в де^W в шко^W, ну, вообще ниасилили. А теперь осиливать лень.
>> No.46691 Ответ
ИТТ коллекции мемов и смехуечек про ЯП вместо сравнения. Лучше иди в интернет и там читай, мать их, нормальные книги и статьи.
>> No.46693 Ответ
>>46681
>>46683
> Не проще готовое найти для своих целей?
Проще, но думаю найдя определённый софт я не буду удовлетворён отсутсвием/присутсвием в нем чего-то, а вон научившись немножко кодить, я смогу реализовать все свои безумные фантазии. + Я хочу создавать что-то, а не просто использовать.
>>46684
> bash/zsh
Вроде не очень приветливая фигная, стремаю что не смогу освоить.
>>46685
Всем спасибо за ответы, ребятушки. ИТТ родился новый python программист.
>> No.46694 Ответ
>>46691
Да, вкусовщина и синдром утёнка эвривеа, сейчас очень сложно сделать объективный выбор.
>> No.46696 Ответ
>>46695
Нет, в си указатели на байты.
>> No.46697 Ответ
>>46695
1) Да. 2) Нет. Дереференс и сложение, эквивалентно a += 3;
Доступ у битам возможен только используюя bitwise операторы или bit fields в структурах.
>> No.46699 Ответ
Файл: 1476959327500.png
Png, 1.69 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1476959327500.png
Снова CloudFlare и снова Let's Encrypt. И Express. И letsencrypt-express. Рекурсивные редиректы, сначала 301 с HTTP на HTTPS, потом 307 с HTTPS на HTTP. Хуя какого? ЧЯДНТ? Поменялось только то, что в настройках CloudFlare отключила SSL. Сначала всё было нормально (в браузер прилетал сертификат Let's Encrypt, всё работало), но потом с нихуя всё сломалось.
>> No.46700 Ответ
>>46693
> > Проще, но думаю найдя определённый софт я не буду удовлетворён отсутсвием/присутсвием в нем чего-то
Если тебе удовлетвориться надо, то тебе можно Машку за ляжку.

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

> > Я хочу создавать что-то, а не просто использовать.
Лучше рисуй тогда или сочиняй музыку, КПД будет больше.

> > Всем спасибо за ответы, ребятушки. ИТТ родился новый python программист.
Добро пожаловать.
Если ты перед языком программирования выучил английский язык, то учи python по вот этой крутой книге, в которой все есть, на другие даже не смотри https://docs.python.org/3/.
>> No.46701 Ответ
>>46693
И да, ты как программист, будешь заниматься удовлетваорением не своих, а чужих безумных фантазий. На python они будут весьма нетрадиционными. Я тебя предупредил.
>> No.46702 Ответ
Файл: AlbumArt_{33546388-0E5A-4579-A2F0-1988920A268A}_La.jpg
Jpg, 14.85 KB, 200×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
AlbumArt_{33546388-0E5A-4579-A2F0-1988920A268A}_La.jpg
В С++ можно создать двухмерный вектор или придется создавать одномерный и руками вычислять индексы элементов, как если бы я использовал malloc?
>> No.46703 Ответ
>>46702
Можно, но проще и безопасней считать индексы. Можешь все это дело обернуть в класс, а доступ к элементам заинлайнить.
>> No.46705 Ответ
>>46703
Я так еще не умею. Ладно, буду считать.
>> No.46706 Ответ
>>46697
Ясно.
>> No.46708 Ответ
Есть чужая программа под шиндовс, судя по всему на питоне. Она периодически крашится. Можно ли как-то организовать, чтобы перед этим она сохраняла последние несколько выведенных строчек куда-нибудь. Или лучше, чтобы сохраняла все, что было в окне на момент краша. Я питон не знаю вообще. Пока что единственное решение, которое у меня есть — записывать кусок экрана на видео. Но, так как предполагается длительная работа не уверен, что видео не переполнит ресурс памяти. Ну и вообще, очевидно кривое решение.
>> No.46709 Ответ
>>46708
Если программа консольная, то запускай ее изнутри .bat файла в котором весь ее выхлоп редиректится в нужный файл. Что-то вроде
proganapitone.exe > log.txt 2> errorlog.txt
или
proganapitone.exe > everything.txt 2>&1
Гугли "windows batch file redirect output", я не особо знаю как там это.
>> No.46710 Ответ
>>46709
Благодарю.
>> No.46711 Ответ
>> No.46714 Ответ
>>46711
Спасибо, но нет. Я лучше сам.
>> No.46715 Ответ
Файл: 2.png
Png, 4.26 KB, 229×150 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
2.png
Как поставить дебаггер на Qt под windows? CDB поставил. В Built&Run/Debuggers добавил пути и к ..\x64\cdb.exe и к ..\x86\cdb.exe, он их определил, однако ошибка все та же.
>> No.46716 Ответ
>>46715
И еще, у меня в Qt у сообщений об ошибках слетела кодировка, хотя язык — английский. Как исправить?
>> No.46717 Ответ
Файл: rusty_pumpkin_by_kitsuneaku-d4iqv18.png
Png, 1011.65 KB, 1403×966 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
rusty_pumpkin_by_kitsuneaku-d4iqv18.png
C.
Следует ли выносить две строчки в отдельную функцию, если они потом в программе повторяются еще один раз? Вообще, как там по правилам хорошего тона, сколько строк кода и при каких условиях заслуживают стать отдельной функцией?
>> No.46718 Ответ
>>46717
Как тебе удобно, так и делай.
Почему бы и нет, если возникла такая необходимость.
Вообще надо поменьше думать о коде, и побольше - о результате и скорости, ты не художник.
>> No.46721 Ответ
>>46718
Но если его предстоит читать другому человеку? Как будет удобнее? Стоит ли заставлять человека листать файл и искать функцию, чтобы он нашел
"void printValues(int a, int b){
printf("value 1: %d, value 2: %d", a, b);
}"?
>> No.46722 Ответ
>>46721
А смысл функцию printf оборачивать в функцию printValue? Такое конечно делать не стоит.
Листать не нужно, в любом редакторе можно сделать ctrl + left click.
Лучше напиши уже что-то реальное, тогда и поймешь, что удобно, а что нет.
>> No.46723 Ответ
Файл: Rh0D85-wQoM.jpg
Jpg, 63.93 KB, 453×604 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Rh0D85-wQoM.jpg
Не могу определиться с языком. Хочу выучить их всех.
Основы знаю и применяю в C++.
>> No.46724 Ответ
>>46722
Чтобы сократить запись. Ну ладно, тут действительно получается такой же объем, как если бы я дважды полностью printf написал.

Кстати, еще на счет printf. Есть ли разница в производительности программы, если я напишу так `printf("\na = %d\nb = %d\n /... N подобных конструкций/", a, b, /.../)` или `printf("\na = %d", a);` N раз?
>> No.46725 Ответ
>>46724
> > Чтобы сократить запись.
Тебе что, места мало?

> > Есть ли разница в производительности программы
Тебе программу делать, или производительность считать?
>> No.46726 Ответ
>>46725
Производительность считать.
>> No.46727 Ответ
>>46726
Ананасик, это экономия на спичках.
Главное это основная реализация, а такая хуйня подчищается и рефакторится, если в этом есть необходимость. Забей.
мимо
>> No.46728 Ответ
>>46726
Ну так секундомер в руки и считай.
>> No.46729 Ответ
>>46727
Чисто теоретический интерес.

>>46728
Не, я немного подумал и понял, что первый способ быстрее.
>> No.46730 Ответ
>>46729
Ну если ты такой теоретик, то пользуйся профайлером для проверок.
>> No.46731 Ответ
>>46729
К тому же компиляторы в некоторых случаях, с определенными флагами инлайнят функции, а еще могут применять 100500 различных оптимизаций, в итоге если почитаешь результирующий asm, то не поймешь что вообще в коде происходит.
>> No.46741 Ответ
Си. Есть строка tmp[N] непостоянного размера, но менльше N. Она вводится с клавиатуры, а потом с ее значением динамически генерируется строка, которая добавляется в динамический же массив строк. Определенные строки потом выводятся. Так вот, насколько удачным решением будет заполнять tmp[N] нулевыми элементами перед вводом новой строки?
>> No.46742 Ответ
>>46741
Точнее не строка, а массив типа char.
>> No.46744 Ответ
>>46741
Если для буфер tmp заполняется функцией стандартой библиотеки, осуществляющей ввод строк, то нуль-терминатор будет записан автоматически.
>> No.46748 Ответ
>>46744
Я к тому, что вводиться могут строки разного размера. Известно, что она не больше N, но длина каждой отдельной строки не известна. Так при вводе часть нулевых символов заменятся на символы строки, а следующий нулеаой символ будет означать конец строки для следующих алгоритмов.
>> No.46751 Ответ
Имеет ли смысл сейчас осваивать pure Win32 API?
>> No.46757 Ответ
Файл: AlbumArt_{279828C8-162B-4D49-8BDD-2E815A23CD26}_La.jpg
Jpg, 30.02 KB, 200×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
AlbumArt_{279828C8-162B-4D49-8BDD-2E815A23CD26}_La.jpg
Есть один массив на С, организованный с помощью указателя на указатели. Как создать массив указатель ей, ссыдлающийся на определенные элементы первого массива?
>> No.46763 Ответ
>> No.46766 Ответ
>>46757
> массив на С, организованный с помощью указателя на указатели
Как? У тебя указатели в ряд в памяти выстроены или ты лисповские списки делаешь? В любом случае ответом на твой вопрос будет "согласно используемой тобой адресации".
>> No.46767 Ответ
>>46766
Один указатель указывает на массив указателей, которые указывают на массивы элементов int.
>> No.46769 Ответ
>> No.47528 Ответ
Всем привет, хочу задать вопрос. Сам по образованию гуманитарий. Скоро уже 30 годков. Недавно, пока сидел дома без работы, решил почитать про css и html. В итоге все это чтиво привело к Python'у, php и СУБД. Хотя я пока в это все не сильно углубился, однако самые основы внезапно оказались понятны и интересны, хотя, кроме примеров из книг пока ещё ничего не делал. Теперь меня гложит вопрос - есть ли у меня ещё шанс преквалифицироваться в IT сферу? В городе где я живу, есть технический вуз, где можно получить диплом с пометкой "переподготовка по".


Пароль:

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