[WT] [Архив]  [Поиск] Главная Управление
[Совместно с Ычаном]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 14160)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP размером не более 10000 кБ.
  • Ныне 2332 unique user posts. Посмотреть каталог
  • Максимальное количество бампов треда: 500
  • ">
Файл: 146695702917.jpg-(86.47KB, 720×720, junior_developer_nagato.jpg)
14160
No. 14160 watch    
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

Примеры кода лучше выкладывать в виде ссылок на http://pastebin.com или http://ideone.com

Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда.
Не знаете, где клиент, а где сервер? Вам сюда.
Не понимаете, что такое ООП? Вам сюда.
Написали код, и не понимаете, почему не работает? Вам сюда.
Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда.
Не знаете, как подступиться к проблеме? Вам обязательно сюда.

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

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

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

По мере поступления вопросов можно составлять FAQ и базу знаний.
Развернуть все изображения
No. 14162    
Файл: 146696426195.png-(13.57KB, 917×456, .png)
14162
Мне лень думать и гуглить. Юки, напиши мне следующий алгоритм:
Есть двухмерная декартова система координат, в ней каждая клетка может быть заполнена, а может быть пустой. Координаты по любой оси от минус бесконечности до бесконечности.
Задача найти все заполненные клетки, начиная поиск из начала координат (0;0). Заполненные клетки могут иметь между собой n пустых, если пустых клеток насчиталось больше, можно считать эту клетку крайней.
На пикрилейтед зеленые клетки с координатами - заполненные, красные - область поиска для n=0, желтые - для n=1;
Язык js, можно Питон.
No. 14163    
>>14162
Как вход задается?
No. 14164    
>>14162
Т.е. какую структуру имеют входные данные, в частности массив? Или это тоже можно придумать?
No. 14165    
Файл: 146696928030.png-(11.33KB, 581×1163, c3.png)
14165
>>14162
Положи в очередь первую клетку.
Все, что когда-либо добавлял в очередь — запоминай и больше не добавляй (раз масштабы бесконечные, в Питоне подойдут set или dict, в JS вроде тоже есть Set, или можно для {} придумать уникальные ключи, например, (5, 6) → "5_6").

Теперь, пока очередь не пуста, повторяй следующее:
Извлеки клетку из очереди.
Отметь как найденную.
Перебери её окрестности в радиусе.
Все непосещённые клетки из радиуса добавь в очередь. (Как вариант — одну любую непосещённую, должно получиться то же самое).

Модификация поиска в ширину.
No. 14166    
>>14164>>14163
Входных данных как таковых в условии нет, алгоритм просто вызывает метод getCell(x,y), который возвращает true, если клетка не пустая. Единственное входное число - n, радиус поиска. Задача сводится к вызвать этот метод для каждой клетки в желтой (для n=1) или красой (для n=0) зоне на картинке >>14162.
Метод getCell() затратный, так что по условию для каждой клетки его можно вызывать только раз.
>>14165
Перебор окрестностей - наиболее интересная часть. Запоминать посещенные клетки и добавлять не посещенные в очередь действительно проще всего. Я представлял себе, что будет похоже на алгоритм заливки в пеинте, нечто рекурсивное.
No. 14167    
Файл: 146697845913.gif-(1.38MB, 1277×720, 1434136205.gif)
14167
>>14166
>>14162
Собственно вот, держи, на яваскрипте:
http://pastebin.com/Hu223SV4

Результаты берешь из переменной foundCells.
Если будешь запускать в браузере - раскомменть console.log() и оно выведет тебе объект c непустыми точками в консоль

Запускай вызовом функции getNonEmptyCells(0) если N == 0, getNonEmptyCells(1) если N == 1 и т.д. Новые непустые точки добавляй в метод getCell() по образцу.
Поскольку этот метод у тебя черный ящик - я там сделал просто портянку костылей
По идее для каждой точки getCell должен дёргаться один единственный раз.

Надеюсь, всё понятно, за качество кода не обессудь.
No. 14169    
>>14167
Говно код ужас
No. 14170    
>>14169
>за качество кода не обессудь
Написано же.
Давай не флудить.
No. 14186    
Файл: 146738840786.jpg-(94.51KB, 720×720, junior_developer_nagato_standby.jpg)
14186
Аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14187    
У меня вопрос - сам я жавист, в перспективе собираюсь менять место работы. Несколько лет назад начало активно форситься слово "фулстак" и на этой волне в 80% жава вакансий в требованиях начал появляться фронтенд в том или ином виде. Подскажите что следует поизучать? Первая мысль была взять HF книжки по html/css и JS, будет ли этого достаточно?
No. 14188    
>>14187
Обычно под фронтендом в джаве, в контексте фуллстека, подразумевается умение ковыряться в определенном наборе популярных фронтенд фреймворков, в частности:
Это большие фреймворки для построения веб-приложений, поэтому в них старается соблюдаться сходная с бэкендом архитектура, контроллеры-сервисы-вьюхи и т.д.

Еще подразумевается, что ты ориентируешься в популярных простых фреймворках для стилизации и рюшечек, вроде:
Также в контексте яваскрипта подразумевается:
  • ты не растеряешься в работе с "серверным яваскриптом", т.е. nodeJS или его альтернативами, типа io.js
  • ты совладаешь хотя бы с одним яваскриптовым фреймворком общего назначения, например jQuery
Т.е. книги и справочники "просто" по CSS и Javascript я бы рекомендовал тебе использовать только как справочную литературу в контексте ознакомления с какими-то из фреймворков выше. У всех тех фреймворков есть туториалы, которые ты сможешь выполнить приобретя минимальные знания в яваскрипте и CSS, попутно получив уже полезные профессиональные навыки.

Надеюсь, помог тебе сориентироваться.

Выбор какого-то конкретного фреймворка не так важен, т.к. они в целом похожи.
No. 14189    
>>14186
Тогда запили метод getCell(x, y) из предыдущего поста. Он должен через websocket связываться с сервером, в запросе указывать x и y; в ответе получаем JSON, парсить его неважно как, просто добавляем полученный объект в массив, с ним разберутся позже. Возвращаем true, если объект есть, false, если null или ошибка. Желательно использовать промисы.
No. 14190    
Файл: 146741056360.gif-(210.55KB, 500×278, yuki_ramen.gif)
14190
>>14189
Держи: https://jsfiddle.net/dvgmnx1e/

Можешь смело жать RUN в фиддле и смотреть консоль браузера. Там в самом низу написан пример вызова, который дёргает всю эту хрень.

Проверял только в Firefox, тестов и дополнительных проверок нет, так что если что - не обессудь.

Итак, getCell(x, y) возвращает jQuery'шный Deferred Object, на который можно вешать листенер по вкусу что и сделано в примере там внизу, так что вызов не блокирующий.

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

Найденные точки можно забирать из массива pointsArray или из объекта points, который выступает в роли сэта обработанных точек. Вид, в котором хранятся данные - в комментариях рядом с объявлением этих хранилищ.
No. 14191    
>>14190
Забыл указать, без JQuery, чистый ES6.
No. 14192    
Файл: 146746460624.gif-(2.12MB, 659×504, yuki_programming.gif)
14192
>>14191
Держи пуристскую версию: https://jsfiddle.net/y4v9ua1b/

Как и в прошлый раз, дополнительных проверок нет, проверялось только в Firefox, так что не обессудь. Смело жми RUN и смотри консоль, там всё так же.

>Забыл указать, без JQuery, чистый ES6.
Вот из-за такого месседжа "вдогонку" мне теперь кажется, что ты немного абьюзишь этот тред, в том смысле, что на самом деле помощь тебе никакая не нужна и это просто такое изощренное развлечение с твоей стороны. Если это так - лучше перестань, от этого толку нет ни мне, ни тебе, и особенно толку нет 410му.
No. 14194    
Файл: 146753698114.jpg-(109.74KB, 1280×720, AKBINGO! Ep_228_mp4_20160418_213354_900.jpg)
14194
Спрошу тут.
tail -f over XMLHttpRequest возможен?
No. 14195    
>>14194
Собственная реализация? Если через вебсокет, или через "висячий" реквест, например, то почему нет?

Вот даже кто-то сделал уже tail over http:
https://github.com/vpelletier/htail
No. 14196    
>>14194
>>14195
Вот гист, с реализацией на питоне и использованием конкретно XMLHttpRequest:
https://gist.github.com/scoffey/1617014
No. 14197    
>>14195
По "висячим" реквестом ты имел ввиду это http://www.w3schools.com/html/html5_serversentevents.asp или интерактив xhr?
Но так-то xhr мне уже не нравится, лучше попробовать EventSource или websockets.
>>14196
питон не божественнен :3
No. 14198    
>>14197
>По "висячим" реквестом ты имел ввиду это http://www.w3schools.com/html/html5_serversentevents.asp или интерактив xhr?

В первую очередь да, server-sent events, но подразумевался любой подходящий способ одностороннего или псведо-одностороннего получения сообщений.
No. 14206    
Файл: 146791089052.jpg-(133.93KB, 1280×720, AKBINGO! Ep_292_MP4_20160704_211348_404.jpg)
14206
А правда, что суть любого веб фреймворка - роутить запросы в скрипты?
No. 14207    
>>14206
Нет, не правда
No. 14208    
>>14207
А в чём правда?
No. 14210    
>>14206
>>14208
Правда в том, что не надо, пожалуйста, разводить флуд в этом треде. Если хочется получить более точный ответ, то лучше задать более точный и конкретный вопрос.
No. 14211    
Файл: 146799019310.jpg-(74.15KB, 720×720, junior_developer_nagato_standby_2.jpg)
14211
Как обычно, аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14214    
Есть тут малиноводы?
Пытаюсь установить flask под nginx с uwsgi.
Делаю
sudo pip install uwsgi или sudo pip3 install uwsgi
Пакет качается, на этапе установки малина крашится, экран просто выключается без сигнала, ssh не реагирует, в общем, признаков жизни не подает. Один раз перед выключением экрана застал простыню сообщений Kernel #шестнадцатиричные_числа.
У кого-нибудь так же? Raspbian jessie, переустанавливал.
No. 14215    
>>14214
В общем ладно, через apt-get ставится.
Можно ли на nginx поставить два сервера: один с fastCGI/php, другой с uwsgi/python, на одном крутится phpMyAdmin и кусаба, на втором flask. Чтобы один был доступен по 127.0.0.1/php, другой по 127.0.0.1/python.
No. 14216    
>>14215
Не вижу проблем для такой конфигурации. Правда, думается, придётся это сделать с помощью 3 server-блоков. Один сконфигурированный на fastCGI/php, второй на uwsgi/python как здесь http://raspberrywebserver.com/cgiscripting/setting-up-nginx-and-uwsgi-for-cgi-scripting.html а третий - как роутер между ними, чтобы локейшн /php указывал на первый "сервер", а /python на второй. Может быть, можно и элегантнее это сделать.
No. 14219    
Чего полезного сделать?

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

Чем еще полезным для фана(или не очень) заняться не знаю.
No. 14221    
>>14219
Следуя логической цепочке проектов, следующим напрашивается headless-борда, без сервера, где информация существует только пока она есть на нодах участников и синхронизируется между ними.
No. 14222    
Может кто знает годные и главное легкие примеры без заморочек работы с апи контача на питоне (реквест статусов, обновление, лайк постов и тд.)? Хотелось помучиться немного и поразбираться. Сам бы нашел, но все что могу сейчас и вообще в ближайшее время - написать этот пост на всемилюбимом. Буду благодарен.
No. 14223    
>>14222
Либы:
https://pypi.python.org/pypi/vk
https://github.com/python273/vk_api

Простые примеры:
https://habrahabr.ru/sandbox/84639/
No. 14224    
>>14223
Спасибо огромное, няша.
No. 14225    
Эй, ребята, тут есть раздел про компьютерное железо?
No. 14226    
Эй, ребята, тут есть раздел про комп. железо?
No. 14227    
Ой, капчанул дважды. Извиняюсь.
No. 14228    
>>14227
iichan.hk/s
No. 14229    
Файл: 146834961874.jpg-(72.54KB, 720×720, junior_developer_nagato_standby_3.jpg)
14229
Аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14230    
>>14223
Так. Вк апи я освоил. Написал обновлялку статуса погодой в реальном времени лол, поиск и лайкинг картинок, ленты и еще пару фич. Чем бы заняться в оставшиеся два свободных дня? Может посоветуешь интересных апи? Понимаю что глупо звучит, но у меня фетиш на апи разных проектов - нахожу такие, делаю что-нибудь клевое и ищу дальше. Из известных - апи инстаграма затерто до дыр, как и твича.
No. 14231    
>>14230
Есть апи курсероподобного образовательного сервиса:
https://stepic.org/api/docs/
Попробуй там всякое. Пост-запросы есть и доступны, но особо не документированы - вот тебе будет дополнительный челлендж потыкать запросами из веб-морды и сэмулировать их.
No. 14232    
>>14230
Посмотри в сторону API сервисов хранения и синхронизации данных, вроде Dropbox, OneDrive, Google Drive, etc.
No. 14260    
Вопрос такой, язык Python для чего нужен? (Кроме визуальных новелл), Он сложный? Интересна точка зрения анонов.
No. 14265    
>>14260
Питон относительно простой и при этом мощный язык, некоторые мои знакомые пропагандируют и используют его для обучения школьников.
Применения - это в основном веб-сервера, вспомогательные скрипты и утилиты для разного рода админов и девопсов (вытесняет перл в этом качестве), тесты для в том числе не-питоновских продуктов, а еще немножко в машинном обучении и бигдате. Немножко - потому что на нем просто написать прототип, но с действительно большими объемами лучше работать более производительными средствами.
Ренпай хорошему питону не научит, к слову, так что если хочешь его получше изучить, то стоит поискать другие применения.
No. 14283    
>>14265
Это какая-то "непонятная простота". Для меня питон где-то в одной луже с пхп. Этот тоже непонятный. Правда питон ещё более наркоманский - выделение блоков кода сделано табуляцией. Язык для омичей.
No. 14284    
>>14283
Не табуляцией, а пробелами.
No. 14285    
Файл: 146895357087.jpg-(111.62KB, 720×720, junior_developer_nagato_standby_4.jpg)
14285
Как обычно, аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14286    
>>14260
Нужен для того же, для чего и Perl, Ruby, Lua, sh… Быстрого написания скриптов. И под веб.
Сам язык очень сильно зафоршен. Всякие курсы делают, книги, если встает вопрос, "Что учить?" "Бидон!". До того, что половина инициализационных и системных скриптов Убунты на нём.
Сам язычок так себе. Синтаксис дубовый, TIMTOWTDI это не пр?
No. 14287    
>>14285
Тебе не лень?
No. 14288    
>>14286
...не про него. Лишний пробел в файле будет стоить тебе Syntax Error. Есть разделение на питон 2 и питон 3 и они никогда не сольются.
Так что из плюсов — библиотек много, доки хорошие и расфоршенность, т.e. все проблемы уже решены на стековерфлоу.
No. 14292    
>>14260
Да для всего. Его всякая школота, студентота изучает, причём, много среди не-ITшников. Изучается легко путём копипастинга нескольких разных листингов и последующего разбора работы их. Это на базовом уровне. Дальше используется как конструктор - просто берётся какой-то модуль и используется согласно инструкции.
Так получил большое распространение.
Плох видом кода - во первых, эти отступы. Нет, отступы обязательны, но интерпретатору на них должно быть наплевать - их нужно делать потому, что так надо, а не потому, что это нужно для определения блоков кода. Интерпретатор, как по мне, должен воспринимать скобки или begin-end. Всё. А это - ересь. Ещё отсутствие символа окончания строки (;) - но этим многие языки грешат. Динамическая типизация, чтоб её. Тоже мерзость та ещё, после которой сложно привыкать к нормальной статической типизации. Хреновая организация ООП. Если хочешь дубового ООП с принудительным написанием классов, методов, созданием объектов - это в Джаву. Хотя там ООПовских фич не так много, как в крестах.
Алсо, после Си или Джавы выглядит игрушечным. Даже Руби мне таким не казался.
Плюс ещё огромное количество мамкиных программистов на этом питухоне, считающих себя такими крутыми и понимающих, кто они есть на самом деле, когда сталкиваются с самым обыкновенным Си. Но если начинать с Си, ничего такого не чувствуешь - это я про себя. Да, может, я сам к ним отношусь, но, по крайней мере, я имею в некоторой степени большее представление, где там что и как и не реагирую так, как они (единственное, что убивает - это энтерпрайзная лапша, необходимая для использования многих джава-пакетов). Ну и питон своей игрушечностью вызвал некоторый когнитивный диссонанс, потому что до сих пор такое ощущение, что вроде бы, всё просто, но вот-вот напорюсь на такое, что крыша поедет.
No. 14297    
>>14292
Я понимаю кто я есть каждый раз когда даже в JS пытаюсь. Не то чтобы не получалось, но при работе таких ярких чувств и ощущения сношения мозга быть не должно.
No. 14303    
>>14292
>begin-end
МЕРЗОСТЬ! У меня от этого в lua ужасное отвращение возникло. Совершенно идиотская система, в которой только и делаешь что пишешь бессмысленный end, который более того очень плохо виден при чтении кода.
Да и скобки, честно говоря не нужны. С отступами писать намного проще, потому что их делаешь в любом случае для структурирования кода, а так они заодно и синтаксис определяют.

От точек с запятой тоже только глаза рябят, никакой полезной нагрузки они по своей сути не несут, кроме возможности писать однострочники, и языки с Automatic Semicolon Insertion это прекрасно показывают.

И да, синтаксис, основанный на форматировании отступами очень хорошо читается. Возьми тот же yaml и jade/haml, да сравни с читабильностью xml, json и html.
No. 14304    
>>14303
>Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.

Это всё же тред для помощи и вопросов начинающим.
Если вы хотите поругаться поделиться впечталениями на тему что кому как, создайте уже свой "Программистских споров" тред.
No. 14306    
>>14303
Я для себя чётко разделяю форматирование кода (всего лишь украшательство для читаемости) от структурирования. И скобки с тчкзпт мне дают возможность самому решать, как будет выглядеть мой код. Идею выделять блоки кода непечатаемыми символами считаю бредом.
No. 14307    
>>14306
---
>>14304
No. 14311    
>>14304
Собственно, тут есть тред про оформление кода: >>8789
No. 14316    
Ычан, реквестирую аналог шарповского XmlReader.ReadOuterXml() для джавы. В стандартном XmlStreamReader почему-то нет даже ReadInnerXml. Или подскажите, как можно обойти это досадное недоразумение.
No. 14318    
>>14316
>В стандартном XmlStreamReader почему-то нет даже ReadInnerXml.
Этот ридер использует SAX-парсинг, т.е. он не хранит в себе структуру документа, поэтому вернуть контент ноды, включая саму ноду он не может, он ничего не знает о структуре, он знает только когда какая-то нода / аттрибут начинается и когда заканчивается.

Поэтому чтобы получить
>аналог шарповского XmlReader.ReadOuterXml() для джавы
тебе нужен DOM-парсер

Сначала получи ноду, любым способом, например через XPath, как здесь
http://stackoverflow.com/a/2811101

Затем экспортируй эту ноду, как здесь
http://stackoverflow.com/a/13962207

Естественно, лучше всего экспорт оформить в отдельный метод.
No. 14323    
Стив, где можно выучить достаточно быстро php?
No. 14325    
>>14323
Да там учить нечего. Если любой другой язык знаешь, то достаточно любого справочника со списком встроенных функций. Например:
http://www.php.su/functions/
http://php.info-kna.ru/
No. 14326    
>>14325
> Если любой другой язык знаешь, то достаточно любого справочника со списком встроенных функций.
Так в том то и проблема, что остальные языки я не знаю. Начинал учить только Питон. Ну и еще html и css, но это не считается ведь.
No. 14328    
>>14323
>>14326
Я бы начал с https://www.codecademy.com/learn/php
No. 14329    
>>14326
А, ну тогда да. Нужно всякие особенности изучать. Впрочем, любого самоучителя должно быть достаточно. Я бы порекомендовал сперва перл изучить который был его предком. На нём и вакаба написана. Но это моё личное мнение.
No. 14330    
>>14328
Любопытные примеры для обучения. Мне понравились. С точки зрения того кто уже знаком с языком. Но есть подозрения, что новички его воспримут как нечто избыточно сложное.
No. 14341    
Файл: 146928196197.png-(272.93KB, 642×490, Снимок экрана_2016-05-21_01-20-31.png)
14341
Кто-нибудь делал сайты на пружине?
Насколько вообще тяжёлый фреймворк (ну если не считать традиционной лапши, являющейся отличительным свойством языка)?
Насколько тяжело "въехать" знающему основы джавы (т.е., изучившему JBG и немного поковырявшему стандартные коллекции)?
Есть какие-то гайды для начинающих, чтобы быстро влиться в это дело, а потом уже на базе этого "скелета" доизучать фреймворк?
No. 14342    
>>14341
Честно говоря перед написанием ответа пришлось гуглить что такое jdg, не смотря на то что уже 3 года пишу на жаве за денежку. Субъективно, по спрингу с обучением все довольно грустно - на их сайте есть туториалы, но они совершенно не дают представление о реально работающем проекте. Рекомендую сначала изучать Java EE, затем только обмазываться литературой по спрингу.
Если все-таки нужен именно спринг, то начинай с Spring Boot пожалуй.
No. 14343    
>>14341
Я бы не рекомендовал делать сайт на Spring'e, но если ты всё же хочешь, то лучший вариант чтобы всё быстро скрутить - использовать JHipster:

https://jhipster.github.io/
https://jhipster.github.io/video-tutorial/

Зная Джаву как таковую у тебя всё получится и не придётся долго ломать голову что пошло не так. Единственное, не пытайся сильно отходить от того что пишут в туториалах поначалу.
No. 14352    
Файл: 146954131711.jpg-(95.20KB, 720×720, junior_developer_nagato_standby_5.jpg)
14352
Аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14353    
С чего вообще начинать?Подскажите статейки, вот сегодня захотел заняться
No. 14354    
>>14353
Для начала тебе надо выбрать то, к чему у тебя душа лежит.

Есть семь основных направлений.

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

2. Веб-приложения, front-end, если грубо, то внешний вид и специфические функции сайта, типа форм, меню, сообщений для пользователя и т.д. Хороший пример - сайт платёжной системы, который проводит тебя по этапам оформления платежа, предлагает выбрать что и кому ты хочешь заплатить, сообщает что ты заполнил что-то неправильно и т.п, всё в красивом и модном виде.

3. Десктоп приложения. Это огромный кластер самодостаточных приложений самой разной направленности, включает в себя также игры, обучающий софт, софт для работы с документами и т.п. Опять же, хороший пример такого - твой плеер, типа foobar, WinAMP, AIMP, офисные пакеты типа MS Office или OpenOffice, просматривалки изображений типа XnView, графические редакторы типа Photoshop. Вобщем, сложность такого софта может быть любой.

4. Мобильные приложения. Сейчас это огромный кластер приложений под смартфоны, все твои телефонные приложения (начиная от телефонной книги и заканчивая всякими ватсаппами), написанные под целевую платформу (типа iOS, Android, WP). Кстати, такие приложения проще всего опубликовать самому и получать за них скромный доход.

5. Embedded. Суровая, но очень востребованная сфера софта для прямой или почти прямой работы с железными компонентами. Хорошим примером будут всякие системы управления приводами, электронные блоки управления двигателями в автомобилях, контроллер HDD в твоем ПК, или даже блок управления современной стиральной машиной - все это для работы используют embedded софт.

6. Игры Веб, десктоп, мобильные, или даже embedded, написанные напрямую под целевую электронику (типа ранних тамагочи или игр серии Электроника которые Game & Watch). Это отдельная дисциплина, потому что под какую бы ты платформу не писал, набор подходов и костылей сильно отличается от обычного софта.

7. Скрипты Это административная оснастка инфраструктуры для работы других приложений. Т.е. это софт, обустраивающий или обеспечивающий инфраструктуру для работы другого софта. Хорошим примером будут скрипты, создающие и выделяющие тебе место в облаке, где ты уже потом городишь сам что хочешь.
No. 14358    
>>14354
Мне эти категории кажутся слишком общими, так как спектр задач в их пределах объединяет порой исключительно позиция, на которую ты пошел. Все же Фотошоп от Фубара слишком многим отличается, как и бэкенд соцсети от бэкенда банковского сервиса.
В любом случае, >>14353 не задумывайся пока о конкретной сфере, да даже и о конкретном языке - разве что это будет твоим мотиватором, что вот когда-нибудь ты хочешь разрабатывать игровые движки, или там драйвера. Если ты действительно начнешь карьеру, то и сам не заметишь, как будешь заниматься совсем разными проектами - какими конкретно зависит от невероятной кучи факторов, вплоть до того, что ты внезапно на выходных потыкаешь какой-нибудь движок/фреймворк, а в понедельник на работе предложишь с его использованием что-нибудь запилить.

А для начала нужно осилить базовые концепты, которые общие для более-менее всех языков: что такое алгоритм, что такое функция, вызов, присвоение, всяческие for'ы, if'ы, рекурсии; ввод-вывод, работа с подключаемыми модулями, работа с операционной системой; оценка занимаемых алгоритмом памяти и времени; парадигмы программирования, базовые шаблоны проектирования. Все это в принципе может постигаться на примере любого современного языка.
Некоторым уже работающим программистам или студентам соответствующих специальностей может показаться, что большинство вышеописанного это интуитивно понятная элементарщина, а что-то, наоборот, сложно и не нужно. Но по мне, такой подход позволит человеку лучше понимать, что и зачем он пишет в целом, а не просто скатываться в заучивание функций фреймворка, и в целом проще переключаться между разными технологиями.
No. 14360    
>>14353
>С чего вообще начинать?
С википедии.
>Подскажите статейки
Самой лучшей тренировкой для программиста будет их самостоятельный поиск.
No. 14363    
>>14358
Ведь глупость же написал.
>слишком многим отличается, как и бэкенд соцсети от бэкенда банковского сервиса
Я уверен, что для любого языка можно указать стек технологий, который покроет бекенд 90% проектов.
>не задумывайся пока о конкретной сфере, да даже и о конкретном языке
Что лучше - мочь написать законченный проект на конкретном языке, или уметь писать Hello World! на десяти языках? Да, есть некоторый базовый набор инструментов, который для разработчика в разных языках отличается только синтаксисом, но он составляет меньшую часть даже ядра самого языка.
>базовые шаблоны проектирования
Реализация и применение шаблонов может сильно различаться от языка к языку, имеет смысл изучать шаблоны когда имеется какой-нибудь опыт, хотя бы из самостоятельных проектов для самообучения
>скатываться в заучивание функций фреймворка
не ты ли случаем с пеной у рта доказывал в /b несколько недель назад что фреймворки не нужны, только велосипеды, только хардкор?
No. 14367    
>>14363
>>Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.

Сейчас тут три человека высказали три возможных подхода, и каждый ответ дает полезную информацию спрашивающему. Спорить о том какой из подходов лучше - только сбивать человека с толку и разводить тут флейм. Не надо, если хотите похоливорить - создайте холивор тред.
No. 14369    
Поясните основные понятия серверов.
Есть апач, нгинкс, но зачем они, когда простой скрипт на питоне так же может по запросу отдавать html-страничку? И каким образом работает php? Зачем ему нужен fastCGI? Нужен ли nginx, если я хочу написать веб-приложение, которое будет общаться с nodejs через вебсокеты?
Все скриптовые серверные языки, когда общаются с базами данных, тупо коннектятся к ним, написав команду в терминал ОС?
Если у меня одно приложение использует фремворк такой-то версии, а другое - тот же фреймворк другой, то как организовать виртуальную среду? Это делается средствами языка? сервера? ОС?
No. 14370    
>>14369
>Есть апач, нгинкс, но зачем они, когда простой скрипт на питоне так же может по запросу отдавать html-страничку?
Если тебе надо просто отдавать страничку себе, то незачем. Всё хорошо для своего применения. Большие сервера типа апача и ngnix нужны, когда тебе надо, например управлять и администрировать кучу хостов на одном сервере, или тебе нужно распределять нагрузку запросов между несколькими поднятыми копиями одного приложения, или обустроить быстренько кеширующий прокси, чтобы одинаковые запросы не давали паразитную нагрузку на сервис. Собственно, часто можно встретить конструкцию вида ngnix с настроенными административными штуками и нужными модулями, который потом пропускает запрос на тот самый простенький скрипт на питоне.

>каким образом работает php? Зачем ему нужен fastCGI?
Собственно, fastCGI ему нужен чтобы код на перле исполнять.
Запрос приходит на твой сервер, а сервер, через установленный в него php-модуль посредством fastCGI исполняет код и передаёт результат тебе.
В данном случае php-модуль для сервера выполняет функцию твоего "скриптика на питоне", который уже передает данные апачу, ngnix'у или что там.

>Нужен ли nginx, если я хочу написать веб-приложение, которое будет общаться с nodejs через вебсокеты?
Не совсем понимаю вопрос, уточни. Веб-сокет же открывается всё равно на какое-то направление, не будешь же ты для своих целей пользовать echo.websocket.org?

>Все скриптовые серверные языки, когда общаются с базами данных, тупо коннектятся к ним, написав команду в терминал ОС?
Думаю это зависит сугубо от настройки БД и того что позволяет библиотека для работы с ней. Может кто-то конкретнее знает?

>Если у меня одно приложение использует фремворк такой-то версии, а другое - тот же фреймворк другой, то как организовать виртуальную среду? Это делается средствами языка? сервера? ОС?
Ну, для начала тебе надо выбрать протокол общения.
Например, твои приложения могут общаться:
  • Через REST API по сети, перекидываясь данными в любом формате. Обычно JSON или XML
  • Через кластерную систему, построенную на акторах.
  • Через протокол удаленного вызова процедур или методов. Не делайте так
  • Через базу данных, когда например, одно приложение постоянно мониторит таблицу, в ожидании записи, которая даст команду на какое-то действие, а второе приложение мониторит ту же таблицу и оставляет там такую запись если данных о том что первое приложение что-то там обрабатывает нет.
  • Через файлы прямо в файловой системе. Не делайте так
  • Через третье приложение, которое объединяет в себя первые два и уже у себя внутри рулит, что делать с каждым. Не знаю, стоит ли делать так

No. 14371    
>>14370
Ты слишком сложно всё объясняешь.
>>14369
Прочитав твой пост мне показалось, что ты собираешься использовать несколько языков и использовать под них несколько серверов. Дам совет - постарайся использовать какой то один. Судя по всему что ты написал это будет JS. На порядок меньше кодомусора придётся слоями ставить\настраивать. Не то чтобы использование даже десятка разных языков параллельно было чем то из ряда вон выходящим. Только оправдать это может только по настоящему высокий специалист способный взвесить на весах все "за" и "против" вплоть до мелочей. На практике правда обычно всё куда прозаичнее - 10 индусов кодили на 10 языках гигабайты кода а ему задним числом приказали воедино собрать. А иначе это нубовыпиндрёж.
>но зачем они
Предположим у тебя нет серверных скриптов. Совсем. Только html-странички без JS. Или даже просто картинки и текстовые файлы. И это твой сайт. Сервер нужен для того чтобы организовать к ним сетевой доступ. Когда то давно операционные системы не имели встроенных серверных функций. Позже серверные ветки в рамках оптимизации производства заняли их место и иметь развитую серверную часть вошло в моду. Сейчас поднять свой сервер может практически любой пользователь обычной ОС, даже не понимая что он его поднимает. Но это не значит что они не нужны. Устанавливать сторонний софт или ковырять операционку - каждый решает сам для себя. Выбор кажется иллюзорным, тем более что скачиваемый софт часто представляет из себя полную версию урезанной из операционки. Но последствия от него если в обоих случаях не настраивать всё через известное место будут крайне ощутимы.
>каким образом работает php?
Как любая программа не требующая установки. Только для сервера. Скачиваешь папку, кидаешь куда захочешь а затем прописываешь где полагается файлы с каким расширением чем открывать при попытке открытия\запуска. Имея нулевой опыт в настройке серверов задача будет трудной и непонятной чуть меньше чем полностью. Но затем начнёт казаться столь же очевидной как назначение кнопок мыши. Надеюсь вопрос был не о подкапотном взаимодействии с операционкой?
>Зачем ему нужен fastCGI?
Чтобы работать быстрее, очевидно же. Остальное, как и 95% неиспользуемых функций используемого при поднятии сервера софта знать по началу не нужно. Примерно как ресайзящим фотки в фотошопе о той камасутре что с ним можно делать.
>Нужен ли nginx, если я хочу написать веб-приложение, которое будет общаться с nodejs
В смысле? Нужен ли сервер на линукс если будет стоять nodejs выполняющий функцию сервера? Трудный вопрос. С одной стороны нет. С другой, ситуация когда стоит по стопятсот серверов друг на друге - это нормально. Какой подход лучше сказать не решусь. Первый более правильный, второй более проторенный. При нубоподходе в первом случае выше вероятность накосячить, во втором оставить уязвимость.
>Все скриптовые серверные языки, когда общаются с базами данных
>тупо
не все
>коннектятся к ним
все
>написав команду в терминал ОС?
не все
>Если у меня одно приложение использует фремворк такой-то версии, а другое - тот же фреймворк другой...
Не хочу отвечать на все вопросы из этой части. Слишком много зависимостей. Скажу только, что уровень геморности будет прямо пропорционален пряморукости подъёма сервера начиная с самых первых шагов. Учитывая что опыта у тебя нет, готовься к худшему. Главное запомни на будущее, что найденный тобою путь не есть норма и всё можно было сделать куда проще начни ты делать всё в начале иначе.
No. 14397    
Подскажите тему на диплом, пожалуйста. Знаю джаву на среднем уровне. Готов обучаться новому. Можно что-нибудь сложное сделать, это полезно.
No. 14398    
>>14397
>04:10:04
>04:10
>410
вот это таймстамп

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

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

Далее ты выбираешь Васю или Петю, назначаешь ему собеседование, проводишь его, прикрепляешь к профилю карточку собеседования с какими нужно файликами (например фидбеком от технаря) и проставленными баллами по скиллам указанным в вакансии. Отдельно помечаешь, взяли или нет Васю или Петю на работу. Чтобы не раздувать виртуальный штат, система может раз в полгода делать алерт, мол подтвердите, работает у вас этот чувак всё еще или нет, и если на алерт не ответили "освобождать" его

Т.е. цель системы - упростить процесс получения работы и поиск рабочей силы, а "фищка" - в ведении и автоматических саджестах рабочей силы. Название темы диплома: "Экспертная система подбора персонала на базе технологии Java EE и твои фреймворки"
No. 14399    
>>14397
Странный ты, у нас нужно было искать себе научного руководителя и вместе с ним решать, о чем будет писаться диплом. Если же вам дозволяют заниматься чем угодно и без трудоустройства, то назови хотя бы специальность кафедры, чтобы можно было подсказать конкретней. Вариант >>14398 мне кажется бестолковым, потому что идея заезженная, уже имеется с полдюжины крупных сервисов для рекрутинга, кривая дипломная поделка не будет никому интересна, дипломная работа должна быть "инновационной и не имеющей аналогов", почти во всех вузах никому не интересно что там под капотом и работает ли оно.
No. 14400    
>>14399
Научный руководитель сказал выбирать тему самому. Сказал только, что делать либо веб-приложение, либо десктопное (но не хочу на джаве десктопное). Специальность "Прикладная математика". Можно что-нибудь с уклоном в математику.

>>14398
Подумаю над этим, спасибо.
No. 14402    
Друзья, надо написать веб-приложение с REST API на джаве, как сказано в условии. Но я даже не знаю с чего начать. Модет поможете, напрвив меня, материалов и всяких примеров подарите, пожалуйста?
No. 14403    
Именно для джавы, для которой уже практически ни один браузер плагин не поддерживает? Может всё таки на JavaScript? Если нет, тогда даже не знаю. Может быть Android-клиент для какой-нибудь соц-сети с её готовыми API? А, подожди, тогда это будет не веб-приложение... тогда не знаю.
No. 14405    
>>14402
Самый быстрый способ написать приложение с REST API на Java - воспользоваться Play Framework:
https://playframework.com/
https://playframework.com/download

Фреймворк существует в двух вариантах, для Scala и для Java.

Вот пример проекта с REST API на Java:
https://github.com/boldradius/rest-java-play-sample

Вот всякие туториалы на сайте плея:
https://playframework.com/documentation/2.5.x/Tutorials

По идее, если пройдешь туториал и посмотришь на пример REST'a с гитхаба, у тебя всё должно получиться быстро и безболезненно.
No. 14407    
Ассемблер сегодня вообще не актуален?
No. 14408    
>>14407
Как тебе сказать... это как на собеседовании в google заявить что ты предпочитаешь Netscape Navigator. Тебя не поймут.
No. 14410    
>>14407
Еще как актуален. Во-первых, в Embedded же используется по полной программе. Даже когда пишут изначально на C, некоторые блоки ручками пишут на ассемблере. Во-вторых, ассемблер используется для GPU-программинга, и написания графических шейдеров в том числе. Т.е. для геймдева и распределенных вычислений он тоже нужен и важен.

Вобщем, assembler актуален.

>>14408
Прекращай писать вещи которые только что выдумал. Этим ты только сбиваешь не знающих людей с толку и вредишь треду.
No. 14411    
>>14410
По моему это ты его сбиваешь с толку. Платный сегмент в той его части где без асамблера не обойтись слишком узок чтобы брать людей с улицы. Догнать их за пару лет не реально. А на код низкого качества спроса больше нет совершенно. Компиляторы справляются иногда даже лучше.
No. 14413    
>>14410
> Во-вторых, ассемблер используется для GPU-программинга, и написания графических шейдеров в том числе.

Это с каких пор? Шейдеры и вычислительные ядра GPGPU пишутся на C-подобных языках. В той же CUDA есть, конечно, ассемблероподобный низкоуровневый промежуточный язык, но на нём пишут только особо критичные к производительности участки кода, если вообще к нему прибегают. На ассемблере в индустрии не пишут даже для тех видеокарт, на набор инструкций которых есть какая-то открытая документация.
>>14411
> Компиляторы справляются иногда даже лучше.
У программиста обычно больше информации, на которую он может полагаться, чем у компилятора.
Впрочем, да, сейчас ассемблер больше нужен для реверс-инжиниринга, чем для микрооптимизаций или каких-то низкоуровневых вещей.
No. 14415    
>>14413
Мне-то все равно, но бедная Юки на себе волосы рвать начнет. Создайте себе уже холиваров-тред и спорьте там.
No. 14416    
Файл: 147008136898.jpg-(34.26KB, 640×360, Yuki-Nagato-yuki-nagato-31606575-640-360.jpg)
14416
>>14415
Спасибо, что вступаешься за бедную Юки.

Да, очень прошу, если вы хотите холиворы, создайте отдельный холивор-тред.
No. 14417    
Файл: 147008174193.jpg-(87.34KB, 720×720, junior_developer_nagato_standby_6.jpg)
14417
Как обычно, аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14418    
>>14416
Противоположные мнения всегда будут высказываться. Если только не создать бан-систему "кто первый высказался - тот и прав высказался". Перехода на личности при этом можно и нужно избегать. Но как это делать в подобных ситуациях не совсем понятно. Наверное я сейчас провоцирую. А может виноват будет тот кто ответит. Возможно это тема достойная отдельного треда. Возможно даже в /d/. Ей здесь разумеется не место, но озвучить проблему было надо. Приношу извинения.
No. 14419    
>>14418
Можно просто высказать альтернативное мнение вопрошающему, как будто другого поста не существует. Пусть сам решает.
No. 14434    
Файл: 147041079188.jpg-(117.42KB, 720×720, junior_developer_nagato_standby_7.jpg)
14434
Аноним проверяет тред несколько раз в сутки, чтобы каждый мог получить ответ или хотя бы наводку на него в тот же день.

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14438    
>>14434
Зачем ты постишь снова и снова один и тот же пост? Тред и так закреплён, зачем флудить?
No. 14461    
>>14160
>Не знаете, как подступиться к проблеме? Вам обязательно сюда.
Подчиняюсь.
Проблема: как реализовать полноценный raytrace на GPU?
No. 14463    
>>14461
Что ты понимаешь под "полноценный"?

Вижу большую статью на гитхабе про то как это делать с OpenGL через LWJGL с кучей теории:
https://git.io/v6WKz
https://git.io/v6WKV
Там же в статье ссылки на литературу.

Вижу запись в блоге:
http://raytracey.blogspot.com/2015/10/gpu-path-tracing-tutorial-1-drawing.html
http://raytracey.blogspot.com/2015/12/gpu-path-tracing-tutorial-2-interactive.html
http://raytracey.blogspot.com/2016/01/gpu-path-tracing-tutorial-3-take-your.html
Там же ссылки на литературу и другие статьи.
Репозиторий автора поста с кодом:
https://github.com/straaljager

Вижу также такой старый туториал:
http://www.geeks3d.com/20090814/cuda-real-time-ray-tracing-tutorial/
Примеры кода оттуда:
http://www.daimi.au.dk/~trier/CUDA_RayTracingTutorial/CUDA_RayTracingTutorial2_1.zip
http://www.daimi.au.dk/~trier/CUDA_RayTracingTutorial/CUDA_RayTracingTutorial.zip

Вижу еще старенький туториал:
http://cg.alexandra.dk/?p=278

Вижу еще статью по оптимизации k-D Tree:
https://graphics.stanford.edu/papers/i3dkdtree/gpu-kd-i3d.pdf

Вижу также, что NVIDIA говорит "пользуйтесь для рейтрейсинг целей нашим OptiX и забейте на всё остальное":
https://developer.nvidia.com/optix

Тут несколько туториалов покрывают процесс целиком, есть простые туториалы из серии "на попробовать", и есть ссылка на фреймворк Правда только NVIDIA. Надеюсь, это поможет разобраться.
No. 14467    
>>14463
>Что ты понимаешь под "полноценный"?
Не на полигонах.
Треугольники - весьма забавный подход, типично человеческий, с историей и прочим, но нет.
Потому что отрисовывать поверхность - это скучно и старо, а на объемах (прозрачность и прочее) все это ваше просто умирает. Упрощая: это не 3д, это топологическое 2д - что очень мило, конечно.
>куча ссылок на полигонах
Благодарю, но этот подход просто бесполезен.
No. 14468    
>>14467
Тогда объясни, какую альтернативу ты ищешь? Потому что вся текущая 3д графика работает с проекциями 3д пространства на 2д плоскость.
No. 14470    
>>14468
>вся текущая 3д графика работает с проекциями 3д пространства на 2д плоскость.
Спасибо, капитан.
Хотя решение довольно изящное, на самом деле - этакий обходной путь для слабых. Нравятся мне такие няшности.
>какую альтернативу
Полное 3д, очевидно же - задача поставлена именно так. Следовательно - должна/будет/уже решена.
Впрочем, ты полезен - в очередной раз вижу что ничего нет.
Это хорошо.
PS. "не знаете как подступится" - это правда, но лишь в меньшей части. Так что мои извинения.
No. 14472    
>>14470
Ты так и не объяснил до какого этапа тебе нужно 3D. Потому что на каком-нибудь он по любому будет 2D. Потому что даже 3D мониторы на самом деле 2D.
No. 14473    
>>14472
Сетчатка на самом деле 2д - правда, стерео :3
>до какого этапа тебе нужно 3D
Люблю риторические вопросы.
Риторически отвечаю: до фреймбуфера, разумеется.
No. 14475    
>>14472
>>14473
Не надо здесь задавать риторических вопросов и риторически отвечать. Это тред помощи начинающим.

Если вы хотите подискутировать на тему получения 3д картинки, создайте отдельный дискуссий-тред или 3д-тред.
No. 14476    
>>14475
>Это тред помощи начинающим.
Как-то не очень помогает этот ITT начинающему мне.
As expected.
No. 14477    
>>14467
>не на полигонах
https://en.m.wikipedia.org/wiki/Volume_ray_casting
No. 14478    
>>14477
Хм.
http://wwwcg.in.tum.de/research/research/publications/2003/acceleration-techniques-for-gpu-based-volume-rendering.html
Не так чтобы совсем уж плохо - хоть и наивно очень.
Благодарю за старания.
No. 14507    
Файл: 147143566862.jpg-(120.62KB, 720×720, junior_developer_nagato_standby_8.jpg)
14507
Уже больше ста постов в треде. Йей.

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

Раздел медленный, так что пусть даты постов не пугают вас, аноним ждет ваших вопросов и кодерских находок.
No. 14509    
>>14507
>>14438
No. 14510    
>>14509
Это важно, чтобы люди видели, что в треде есть кто-то живой кто постарается ответить на их вопросы, а не просто тред висит и хрен с ним.
No. 14512    
>>14507
Ну тыб хоть старые свои тогда удалял. А то проверяешь тред быстрее чем помогают.
No. 14514    
Файл: 147162806471.jpg-(61.51KB, 500×561, CuhuWpMuMxc.jpg)
14514
Привет!
Хочу во фриланс, чтобы наконец заиметь свой заработок (хоть он и не будет велик). Посему пришел к вам за советом и помощью: какое направление, ЯП, технологии и прочие нужные штуки выбрать для изучения?
Знаю ООП и джаву немного, но на джаве фриланса нет.
Спасибо заранее!
No. 14515    
>>14514
Для того чтобы без опыта работы соваться во фриланс нужно быть или очень самоуверенным, или очень глупым. А вообще пехепе и всякие фронтенды/верстка
No. 14516    
>>14515
Ты хоть понимаешь что наделал? Этот человек без опыта работы теперь будет на php ООП-стайл кодить для серьёзного бизнеса. А нам потом этим пользоваться!
No. 14517    
>>14514
На Java ты фриланс вполне сможешь найти, для back-end задач. в основном - писать и переписывать всякие API, обслуживающие веб-сервисы. В целом, начинать рекомендую как раз с направления, которое у тебя является самым сильным на данный момент. Дополнительные знания ты уже сможешь приобрести когда начнешь крутиться т.е. по сути будешь обучаться за счет заказчика

Поскольку ты джавист, то в качестве первых шагов я бы рекомендовал:
1. Зарегистрируйся на Upwork.
2. Пройди там сертификацию на Java. Заодно проверишь, хватает ли тебе там банальных знаний или нет. Если зафейлишь - не страшно, сможешь пройти еще раз.
3. Качаешь и консолидируешь вещи типа "вопросы на собеседование по Java / фреймворку", т.к. прежде чем отдать заказ клиент скорее всего захочет небольшое техническое собеседование через скайп. В прицнипе, камера-микрофон не обязательно, на text only реагируют нормально.
4. После этого составляешь рабочее расписание типа, в понедельник, среду и пятницу я трачу 2 часа на просмотр всей хуйни с такими-то языками и выбираю примерно интересное, во вторник и четверг я фильтрую хуйню и делаю биды и начинаешь работать, в надежде на хорошие заказы и переход на постоянные контракты вне системы Upwork. Еще придётся беспокоиться, чтобы на тебя были всегда хорошие фидбеки.
5. ???????
6. PROFIT.
No. 14519    
>>14517
Спасибо за развернутый ответ. Буду продолжать движение в сторону джавы и покорять апворк.
я в себя верю!
No. 14531    
Анон, ситуация такова. Меня внезапно (или не очень) заинтересовало программирование. Собираюсь заняться им как хобби и просто баловаться в своё удовольствие. Конкретно интересует процесс создания простых приложений/игорь на андроид и небольшие десктопные приложения. В данный момент моя самая амбициозная цель создать программу, которая будет исполнять код на компьютере/планшете удаленно в удобное мне время, делать например принтскрин и отсылать пикчу мне на почту/телеграмм. Почитал про ЯП и вроди бы для таких задач должна подходить джава, но перед тем как обмазываться решил все таки посоветоваться тут.
No. 14533    
>>14531
Ну, Java громоздковата для таких целей.

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

Если хочется простых игр - попробовать HTML5 игровые фреймворки c тач управлением, вроде Phaser.

Десктопные утилиты такого уровня сделать скриншот в такое-то время и отправить требуют только знания bash / python и пользования оснасткой системы, если ты линуксойд.
No. 14534    
>>14533
Сижу на винде всю свою жизнь, спасибо за пояснение, но хочется чуть внести ясность. Какой все таки язык выбрать для последующего изучения, держа в уме возможность разработки приложений для ведроида, пусть и не сейчас, и не профессионально. Алсо, наслушался кукареканий по поводу вседозволенности JS. Так ли это? Если да, то может стоит на него внимание обратить
No. 14535    
>>14533
Почему здесь все так не любят жаву? Вполне нормальный вариант для первого языка, дающий возможность широкого выбора последующего направления. Почти вся ее громоздкость сосредоточена в ентерпрайзе, который отчасти из программирования превратился в повсеместный поиск в священных писаниях - доках фреймворков - ответа на вопрос как заставить твою программу работать @ТакКакНадо.
No. 14540    
>Какой все таки язык выбрать для последующего изучения, держа в уме возможность разработки приложений для ведроида, пусть и не сейчас, и не профессионально.

Смотри, для андройда у тебя есть следующие опции:
1) JavaScript фреймворки, вроде PhoneGap (самое простое вхождение, но и самые простые приложения, иначе тормоза)

2) Официальное Android API на Java (средний порог вхождения, годится для повседневных приложух)
https://developer.android.com/guide/index.html
Альтернативно можно писать на Scala:
http://macroid.github.io/ScalaOnAndroid.html

3) Официальное Native Android Api на С/C++ (самый высокий порог вхождения, но и самые быстрые приложения)
https://developer.android.com/ndk/guides/stable_apis.html

Учитывая выше тобой написанное я бы предложил тебе начать с JavaScript. С?
No. 14541    
>>14534
>Какой все таки язык выбрать для последующего изучения, держа в уме возможность разработки приложений для ведроида, пусть и не сейчас, и не профессионально.

Смотри, для андройда у тебя есть следующие опции:
1) JavaScript фреймворки, вроде PhoneGap (самое простое вхождение, но и самые простые приложения, иначе тормоза)

2) Официальное Android API на Java (средний порог вхождения, годится для повседневных приложух)
https://developer.android.com/guide/index.html
Альтернативно можно писать на Scala:
http://macroid.github.io/ScalaOnAndroid.html

3) Официальное Native Android Api на С/C++ (самый высокий порог вхождения, но и самые быстрые приложения)
https://developer.android.com/ndk/guides/stable_apis.html

Учитывая выше тобой написанное я бы предложил тебе начать с JavaScript. Сейчас условия сложились так, что с помощью JavaScript ты себе одновременно сможешь и простецкое приложение на андройд наваять (с помощью phonegap), и какое-нибудь серверное апи тут же к нему написать (с помощью io.js), и потом еще что-то в вебе для себя на нём покрутить. К другим языкам можешь начать подбираться по мере необходимости.

>Сижу на винде всю свою жизнь
Для разработки лучше переезжай на линукс, хотя бы в виртуальной машине.
No. 14542    
>>14541
Спасибо Анон, наверно с js и начну, только вот остался вопрос сможет ли js пригодится для десктопа? И самое главное в чем его преимущество конкретно под мои цели перед той же ja-вой
No. 14546    
>>14542
>Сможет ли js пригодится для десктопа?
Для offline web-приложений и игровых движков на базе HTML5. Больше особо никак.

>Преимущество конкретно под мои цели перед той же ja-вой
1. Не нужно таскать за собой громоздкую java-машину. Это очень большой плюс.
2. Легче вкатиться.
3. JS-коммьюнити развивается быстрее, потому что это пока стильно-модно-молодежно. А значит JS можно использовать для всё большего количества целей.
No. 14563    
Файл: 147222250656.png-(30.24KB, 632×461, retyu.png)
14563
Хочу научиться в с++. Код на пикрелейтед до первого for() ест 1 мб памяти, после первого for() - 20 мб. После второго for() - 17 мб. Почему? Как мне правильно все удалить?
No. 14564    
>>14563
На самом деле ты не освобождаешь память.
Посоны со стековерфлова предлагают для освобождения памяти свапать вектор с пустым.

Подробнее как и почему так здесь:
http://stackoverflow.com/a/10465032
No. 14565    
Файл: 147222470097.png-(9.45KB, 367×134, rreuiop.png)
14565
>>14564
Если я делаю все правильно то это не помогает. И вообще это же вектор указателей, он сам по себе почти ничего не весит, в памяти скорее всего остаются строки.
No. 14566    
>>14565
Про мэмори лики с векторами указателей пишут такое:
http://stackoverflow.com/a/12795221
No. 14567    
>>14565

Прикол в том, что программа не обязана отдавать память системе на каждый чих. malloc, new, delete - это операции с памятью внутри программы, и совсем необязательно они каждый раз обращаются к системе.

Твоя проверка должна быть такой: ты пихаешь эти два цикла в третий цикл и выполняешь его много раз. Если потребление памяти не растёт - ты делаешь всё правильно.

Ты можешь передать другой аллокатор в качестве параметра щаблона, если ты хочешь минимальное использование памяти: http://www.cplusplus.com/reference/vector/vector/
No. 14570    
>>14564

Вектор объектов - это не вектор указателей на объекты. Если ОП сделает так, как написано в этом ответе, память гарантированно утечёт.

>>14565
>И вообще это же вектор указателей, он сам по себе почти ничего не весит, в памяти скорее всего остаются строки.

Как ты узнаёшь, что что-то осталось в памяти?

nb4 commit charge
No. 14571    
>>14567
>Прикол в том, что программа не обязана отдавать память системе на каждый чих.
Скорее всего так оно и есть, обернул все в while( true ), память скачет в диапазоне 2 - 20 мегов, значит не течет.

Просто я когда на сишке пытался быдлокодить, делал динамические массивы на сотни мегов, а потом удалял их и программа скукоживалась обратно в свои изначальные килобайты, вот я и подумал...
No. 14572    
>>14571

Всё зависит от аллокатора (который зависит от компилятора). Скорее всего компилятор у тебя был другой.
No. 14574    
>>14563 я в ваших крестах ничего не понимаю, но тут http://www.cplusplus.com/reference/vector/vector/at/ написано, что
>std::vector::at
>Returns a reference to the element at position n in the vector.
, а элемент вектора у тебя − это ссылка
No. 14576    
А у вас бывало такое, что программирование в общем-то нравится, только нет идей, что делать, а предлагаемые другими Балмерами проекты или задачи слишком сложны для моих навыков?
No. 14578    
>>14576
Думаю, это так у всех.
No. 14579    
>>14576
Может стоит заняться повышением уровня навыков?
No. 14580    
>>14574
Я тупой, reference это указатель? Почему тогда в примере std::cout << ' ' << myvector.at(i); выводит значение а не адрес?
No. 14581    
>>14574

Ну, дык, ссылка. Ссылка на строку. Именно это и надо передавать delete-у.

>>14576

Не было. Ещё ничто не было слишком сложно для моих навыков.

Хочу написать программу на голом WinAPI? Читаю MSDN, пишу за неделю. Хочу скрипт на Перле? Читаю руководства. Хочу разобраться в коде на Питоне? Читаю руководства только к тому, что мне нужно и исправляю. Хочу простенькую мигалку на AVR? ЧИТАЮ ДАТАШИТЫ И ДЕЛАЮ.

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

Отсутствие документов к закрытым продуктам - отдельная тема.

>>14580

Reference - это такое названеи для чего-то с известным местом хранения. Указатель - это место хранения, но указывать он может куда угодно, а reference должен указывать только на существующее и используемое, и используется прямо, без разыменования. Передача reference означает, что ты согласен с тем, что у значения должно быть место хранения, в которое можно писать, и его правильность не будет проверяться.

Тип reference у возвращаемого значения означает, что это значение - что-то существующее с местом хранения, и в него можно что-то положить. Reference на объект используется точно так же, как и сам объект.

Когда ты передаёшь reference, ты на самом деле передаёшь указатель. Принципиальной разницы внутри аргументов функции нет - то есть, ты на самом деле можешь передавать разыменованные указатели на чёрт-знает-что, а в функции обратно делать из них указатели, и из const reference можно сделать просто reference и писать в него.

В примере на той странице вектор состоит из int-ов, а не из указателей, и reference на int используется, как int (прямо), а не как его адрес.
No. 14582    
>>14581
Ну вроде почитал про ссылки, вроде понятно.

Можно еще такой вопрос. Допустим я в некой функции создал вектор строк, создал прямо без указателя, без new. Когда функция отработает он же уничтожится да, если я его никуда не верну? А если верну только ссылку? И вроде по ссылке объект удалить нельзя?

Допустим я создал вектор на сто мегов, вернул на него ссылку, в другой метод. Ссылка там пожила, а потом метод завершился. Вектор сдохнет и вернет память?
No. 14583    
>>14582
Похоже тут ответы на все мои вопросы http://www.sql.ru/forum/979353/obyasnite-raz-i-navsegda-pro-vozvrashhenie-iz-funkcii-ukazatelya-i-ssylki
No. 14584    
>>14581 так ссылку или указатель? и если эти два типа ничем не отличаются, зачем было плодить сущности?
No. 14585    
>>14582
>Допустим я в некой функции создал вектор строк, создал прямо без указателя, без new. Когда функция отработает он же уничтожится да, если я его никуда не верну?

Вооооот, и есть ещё прикол.

Если ты передаёшь его функции, которая принимает std::vector, ты отдаёшь копию.

А если ты передаёшь функции ссылку(reference. Я перепутал ссылки и указатели в начале предыдущего поста. У ОПа вопроса на скриншоте ссылка), то вектор не уничтожится, пока все ссылки не уничтожатся.

>И вроде по ссылке объект удалить нельзя?

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

>Допустим я создал вектор на сто мегов, вернул на него ссылку, в другой метод. Ссылка там пожила, а потом метод завершился. Вектор сдохнет и вернет память?

Да.

>>14584

Delete-у надо отдавать указатель. У ОПа вопрса всё правильно сделано - он хранит указатели на строки и их и передаёт.

>и если эти два типа ничем не отличаются, зачем было плодить сущности?

Они отличаются, отличия я перечислил.

  • Указатель надо разыменовывать для использования значения, ссылку - нет.
  • Существование указателя не обязывает объект к существованию, ссылки - обязывает (если ты не выстрелил себе в ногу). Объект хранится до удаления последней ссылки.
  • Ссылка-переменная может быть инициализирована, но потом не может быть изменена (ссылается только на один объект), указатель - может.
И ещё чем-то.
No. 14586    
А, ну и ещё арифметики у ссылок нет.
No. 14587    
>>14585
1) не вижу в этом ничего полезного, ни даже забавного;
2) удалять можно лишь объекты, созданные через
new
, нет?
3)
int i = 255;

int * const k = &i; // Нельзя переопределить k.

const int * const l = &i; // Нельзя переопределить l и изменить i.

единственное, что я понял: ссылка − это такой костыль для реализации процедур
No. 14588    
>>14582
А, хотя ссылку нельзя отдавать вверх (через return), как я понял. Можно ссылку кинуть вниз, вызываемым методам, вверх можно отдавать только указатель.
No. 14589    
>>14587
>2)

Да, это так. Ты это к чему?

Остальное не понял. Я не автор стандарта, ты не с тем споришь. Спросили. чем отличается - я ответил.
No. 14590    
>>14588

Можно, если возвращаемый тип такой.
No. 14591    
>>14589 я так пытался на твои точки отвечать
вот читаю тут это https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html и пытаюсь понять, к чему такие сложности на пустом месте? когда применять ссылки, когда указатели, чем различается их применение − у этого разделения есть же какая-то идея, да?
>Ты это к чему?
что ты имеешь ввиду, говоря про стрельбу в ногу, что я могу сделать:
Object obj;

Object * pob = &obj;
delete pob;
int s = obj.getS();

и получить undefined behavior вместо пиздюлей от компилятора?
No. 14592    
>>14591
>и получить undefined behavior вместо пиздюлей от компилятора?

Именно так. Компилятор вообще не обязан проверять то, что ты delete-аешь, посему даже двойной free может убить программу.

https://herbsutter.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/ - продление жизни временного объекта.

>>Объект хранится до удаления последней ссылки.

Подтверждение вот ЭТОГО я не нашёл. Наверное, я ошибся.

>у этого разделения есть же какая-то идея, да?

Вообще, reference нужны в том числе для реализации операторов, возвращающих lvalue. То есть: объект может подставлять разные свои части в операциях с разными типами - в операциях с int он может отдавать ссылку на какой-то свой int, в операциях с char - ссылку на char и т.д.
No. 14594    
>>14592
>Компилятор вообще не обязан проверять то, что ты delete-аешь,

Ну, то есть, ни компилятор, ни программа во время исполнения это не обеспечивают.
No. 14595    
>>14592 вернее, ему никто таких требований не предъявлял. ещё он не обязан проверять аргумент у delete, посему тот просто молча делает undefined behavior с рандомным блоком памяти
>продление жизни временного объекта.
как бы внезапно: http://en.cppreference.com/w/cpp/language/lifetime
>Подтверждение вот ЭТОГО я не нашёл.
при динамическом выделении памяти объект хранится даже если на него не указывает ни одна ссылка − это и называется memory leak. при автоматическом выделении объект существует в пределах блока, где он был создан, т.е. ты не можешь автоматически создать в функции объект и вернуть ссылку на него
http://en.cppreference.com/w/cpp/language/storage_duration
>>14582
>А если верну только ссылку?
если объект создавался автоматически, он сдохнет при выходе из функции и получишь ты dangling reference с undefined behavior при попытке его использовать
No. 14596    
Нужна помощь, как в Oracle PL/SQL запретить disable триггера через alter? На ум приходит только повесить еще один триггер сразу на схему, который будет это запрещать, но вот тут-то у меня и появляются трудности. Собсна, как написать BEFORE ALTER триггер? Из официальной документации Оракла только какие-то непонятные атрибуты смог выудить, но нигде не могу найти пример синтаксиса.

Вброшу немного конкретики: есть таблица audit, на ней висит триггер audit_lock, который запрещает update и delete с выводом соответствующей ошибки, нужно чтобы сам триггер audit_lock было нельзя отключить, хотя бы без прав создателя.
No. 14597    
>>14596
Возможно глупый ответ. Но разве не предполагается что возможность управления тригерами должна иметься только в программном модуле администратора? В таком случае, проблема неправомерного доступа к функциям будет равнозначна неправомерному доступа в целом. Т.е. взлому. Иными словами, это уже не проблема базы данных, а проблемы программистов, пишущих код их использующий. Дополнительный уровень замков бесполезен, так как будет иметь аналогичную проблему. А следовательно не нужен. Возможно я ошибаюсь.

Например, может быть написан модуль, код которого чётко прописывает только возможность навешивания соответствующих тригеров. Без возможности модификации запроса. Полноценный же набор инструментов должен быть лишь в версии ПО администратора. Т.е. совсем уж грубо говоря, это сорт экранирования команд. Как экранирования символов.
No. 14599    
>>14596
Официальная дока оракла http://goo.gl/xWJ7vY
говорит что надо делать так: http://pastebin.com/5nEMk6vK
No. 14600    
Файл: 147240041856.png-(16.40KB, 696×514, Screenshot_72.png)
14600
>>14599
Это не распространяется на DDL-level операции, к сожалению. Сдается мне я думаю не в том направлении или мне дали таск с целью показать невозможность этого. Но все равно спасибо.
No. 14616    
>>14576 такого не было, в конце-концов скилл можно начать поднимать, взявшись за решение задачи, кажущейся непосильной, ибо «если задача кажется простой, то она на самом деле сложна; иначе если задача кажется сложной, то она определённо выполнима; иначе ты задачу уже решал» (с) Не_помню_кто,_может_Санчес?

у меня другая проблема: я не умею решать задачи в частном случае, обязательно надо придумать общее решение во что бы то ни стало
No. 14621    
Файл: 147253744368.png-(33.88KB, 761×324, ter.png)
14621
Помогите решить еще одну проблему. Magick::Image отдает пикселы изображения как одномерную строку структур - пикселов. Жить можно, но не удобно, иногда я путаюсь.

Хочу этот одномерный массив указателей представить как двумерный. Как это сделать?

На пикрелейтед, если тупо в цикле все адреса, поадресно присваивать - работает. А если через memcpy() - ошибка сегментирования. А как правильно через memcpy()?
No. 14622    
>>14621

Magick::PixelPacket - это кучка метаинформации и указатель на динамически выделенную память, а ты берёшь его размер и умножаешь на число пикселов, и получаешь из этого огромное число. Разумеется, это фолт.

pix_arr у тебя, кстати, тот же PixelPacket - на кой хер? Это та же структура, от которой ты хочешь уйти.

Что сейчас делается в 2: ты запихиваешь в массив указателей на объект PixelPacket пиксели. Знаешь, если оно работает, я не сильно удивлюсь, но что-то ты херь какую-то делаешь. Пиксели-то у тебя в каком формате?
uint32_t[3]
?
No. 14623    
>>14621
>Magick::Image отдает пикселы изображения как одномерную строку структур - пикселов.

И да: это очень врядли, потому что назвается оно PixelPacket, а это значит, что у этого объекта переопределён оператор
[]
, и, обращаясь к пикселям, ты обращаешься только к одной структуре.
No. 14624    
>>14621

Если бы pixels был строкой структур, ты бы не ставил & перед pixels во втором случае.
No. 14625    
>>14622
>массив указателей на объекты заполняется но сами объекты копироваться через memcpy не хотят
я не он, но поясните мне за эту магию
No. 14626    
>>14622
Блджад, что-не разберу. pixels* значит не указатель на одномерный массив структур PixelPacket? Но тут же сказано что это структура http://www.imagemagick.org/Magick /PixelPacket.html. Я вроде нормально обращаюсь к каждому пикселю через [], к полям red, green и blue. И там именно те цвета которые должны быть.
No. 14627    
>>14626
>Пиксели-то у тебя в каком формате?
Ну вобщем, как я думал pixels* это указатель на одномерный массив структур типа PixelPacket. Собственно оно так и работает, я нормально перемещаюсь к каждому пикселу-структуре через [], и обращаюсь к полям .red .green. .blue и пишу в них свои значения. И после syncPixels() и write() мои изменения таки отображаются на итоговом изображении.

Короче я думал, что каждый пиксел у меня, это одна структура PixelPacket с полями red, green и blue (и оно работало).
No. 14628    
>>14626

Я что-то тоже не разберу. Посмотрел ещё раз, прочитал то, на что ты сослался.

Первый случай: ты делаешь массив указателей (4 байта на каждый указатель) и перезаписываешь его массивом PixelPacket-ов, которые могут быть 64bit (версия библиотеки Q16). Это сегфолт. После этого ты получаешь PixelPacket, запихнутый в указатель. Что ты будешь делать потом с этим указателем? Нет, разыменовать ты его не сможешь, потому что внутри у тебя PixelPacket, а не адрес.

Это, как минимум, непортабл, а, как максимум, сегфолт.

Второй случай: ты заполняешь массив указателей указателями на пиксели. В принципе, правильно делаешь.

>Короче я думал, что каждый пиксел у меня, это одна структура PixelPacket с полями red, green и blue (и оно работало).

Извини меня за поспешный ответ, мне нужно было сначала документацию загуглить. Да, ты правильно думал про PixelPacket.
No. 14629    
Ну, и если машина у тебя 64-битная, сегфолт ты, скорее всего, не получишь, но всё равно непортабль, и потом тебе нужно эти указатели как-то пердолить (которые и не указатели вовсе).
No. 14630    
>>14628
>Первый случай: ты делаешь массив указателей (4 байта на каждый указатель) и перезаписываешь его массивом PixelPacket-ов, которые могут быть 64bit
*pixels значит это ОДИН указатель на массив ЗНАЧЕНИЙ? Или это таки массив УКАЗАТЕЛЕЙ? Просто я почитал немного статей про массивы УКАЗАТЕЛЕЙ, и совсем запутался. А как я должен узнать что pixels это указатель на массив а не массив указателей?

Хотя я уже доделал что мне было нужно, пользуясь массивом пикселов как одномерной строкой.
No. 14632    
>>14630
>Или это таки массив УКАЗАТЕЛЕЙ?

Это таки массив УКАЗАТЕЛЕЙ.

>А как я должен узнать что pixels это указатель на массив а не массив указателей?

Указатель на массив - это
PixelPacket (*pixels)[N][M]

, а у тебя написано
PixelPacket *pixels[N][M]


Для первого варианта (с memcpy) pixels должен быть:

PixelPacket pix_arr[N][M]


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

Можно было бы сделать проще:

PixelPacket (*pix_arr)[N][M]=pixels


Но, ОПЯТЬ же, N и M должны быть известны и постоянны.

C++-вей - это сделать класс bidimArray, который будет хранить в себе размеры и указатель на область данных, и определить в нём оператор
[
нужным образом.
No. 14633    
>>14632
>и тогда всё будет работать, но это невохможно, так как размеры массивов должны быть известны во время компиляции, а у тебя они вычисляются.

Хотя, у тебя же оно сейчас компилируется - у тебя двумерный массив с неизвестной заранее шириной. Надо ещё подумать.
No. 14634    
>>14630

Короче, я только что попробовал, достаточно знать N и M на момент входа в процедуру. А если N и M вычисляются из неконстантных выражений, то не катит.

Я не знаю, что такое у тебя
mi
, но если у тебя компилируется первый вариант, то просто используй это:

PixelPacket (*pix_arr)[n_height][n_width]=pixels;


и используй свои пиксели, как обычно.
No. 14635    
>>14634
>Я не знаю, что такое у тебя

mi_src

No. 14638    
>>14634
> PixelPacket (*pix_arr)[n_height][n_width]=pixels;

Здесь нужен каст:

PixelPacket (*pix_arr)[n_height][n_width]= reinterpret_cast<PixelPacket(*)[n_height][n_width]>(pixels);


Ещё лучше определить pix_arr не как указатель на двумерный массив, а как указатель на одномерный:

PixelPacket (*pix_arr)[n_width]= reinterpret_cast<PixelPacket(*)[n_width]>(pixels);


Тогда для доступа к элементам достаточно будет
pix_arr[x][y]
вместо
(*pix_arr)[x][y]
. Вообще говоря и первый, и второй reinterpret_cast непортабельны, потому что указатели на разные типы могут иметь отличающиеся друг от друга требования по выравниванию, но на большинстве платформ такой код будет работать так, как задумано.
No. 14640    
>>14638
> потому что указатели на разные типы могут иметь отличающиеся друг от друга требования по выравниванию,

В т.ч. указатели на массивы? Где почитать об этом?
No. 14641    
Файл: 147262504836.png-(57.41KB, 926×504, rtyui.png)
14641
>>14638
>PixelPacket (pix_arr)[n_width]= reinterpret_castPixelPacket()[n_width]>(pixels);
Спасибо, работает.

>>14635
Это был экземпляр Magick::Image

>PixelPacket (pix_arr)[ n_height ][ n_width ] = pixels;
Не компилируется

main.cpp:23:50: error: cannot convert ‘MagickLib::PixelPacket
{aka MagickLib::_PixelPacket}’ to ‘MagickLib::PixelPacket ()[n_height][n_width] {aka MagickLib::_PixelPacket (*)[n_height][n_width]}’ in initialization

main.cpp:28:16: error: incompatible types in assignment of ‘Magick::Color’ to ‘MagickLib::PixelPacket [n_width] {aka MagickLib::_PixelPacket [n_width]}’
No. 14643    
>>14641
>Не компилируется

Другой анон тебе правильно сказал, без каста не заработает.

Знаю многие хитрости С++, но пишу на нём редко.
No. 14644    
Кстати, этот reinterpret cast непортабль ещё и потому, что программа не обязана линеаризовывать двумерный массив единственным способом, верно?
No. 14648    
>>14641>>14643>>14644
Ну и мерзость эти ваши плюсы.
Все остальное, впрочем, еще хуже.
No. 14649    
>>14648 Душа, она в шрамах на ногах, undefined behavior и отсреленном иглой яйце у селезня в сундуке. вот там Душа. а там, где всё настолько предсказуемо, что программу можно писать ручкой на бумаге и быть уверенным, что она будет работать именно так, как задумано, там Души нет
No. 14650    
>>14648

Это не плюсы мерзость, мерзость - именно этот стиль написания, который из C пришёл.
No. 14652    
>>14648
>>14649
>>14650
Многоуважаемые сэры, в который раз повторю: если вы хотите посраться по поводу языков программирования - создайте уже себе наконец языкового срача тред.

Это тред помощи начинающим, срачи никакой помощи начинающим не окажут, только собьют с толку и отпугнут.
No. 14653    
Файл: 147276534657.jpg-(109.25KB, 507×709, 890cdc37ddc4628e05c2f03efcc622b4.jpg)
14653
>>14650

Ты говоришь так будто мазня из объектов разной степени ожирения SOLID? не, не слышал с хитросплетениями шаблонной магии чем-то сильно лучше.
No. 14654    
>>14653
----
>>14652
No. 14656    
>>14653

Ты говоришь так, как будто только это я и мог иметь ввиду.
No. 14657    
>>14656
----
>>14652
No. 14658    
>>14654>>14657
Угомонись уже.
No. 14661    
глупый вопрос конечно, но...

есть типа класс с двумя свойствами Имя и номер

есть коллекция : А(1), Б(2), В(3), Г(4), Д(5)
делаем: Б(2) -> Б(5)
теперь надо: А(1), В(2), Г(3), Д(4), Б(5)

А как?
No. 14662    
>>14661

У тебя на лбу язык не написан.

Да и лоб твой я не вижу.
No. 14663    
>>14661
Я ничего не понял, но посоветую сделать ручками сдвиг.
No. 14664    
>>14662
питон
No. 14665    
Срочно нужен strong A.I. через 3 недели.
Посоветуйте на чем писать.
No. 14666    
>>14661
>>14664
Ну, если никаких дополнительных условий нет, то после того как ты поменял свойство "индекс" у нужного экземпляра / тупла, просто отсортируй коллекцию заново по этому свойству.

Вот здесь про это написано: https://wiki.python.org/moin/HowTo/Sorting

Примеры там очень похожи на твои, поэтому трудностей быть не должно.
No. 14667    
>>14640
> В т.ч. указатели на массивы? Где почитать об этом?
Не нашёл в стандарте утверждений, из которых можно сделать вывод, что тип и многомерный массив из элементов этого типа должны обязательно иметь одинаковые требования по выравниванию.
>>14644
Вообще-то обязана, двумерный массив - массив из массивов, в любом массиве между элементами не должно быть зазоров, двумерные массивы хранятся по строкам всегда.
No. 14668    
>>14667
>двумерный массив - массив из массивов
Да уж.
Оставайся уж на пхп, анончик, не твое это просто.
No. 14670    
>>14665
>Strong artificial intelligence, True AI or Strong AI, may refer to...

>a hypothetical machine that exhibits behavior at least as skillful and flexible as humans do, and the research program of building such an artificial general intelligence

>a hypothetical machine
К сожалению, это пока только концепция, поэтому никаких общепринятых подходов к ней еще не сформировалось. Можно только попробовать прикинуть. Если представить, что такая штука будет действовать на базе нейросети, и объединить это с тем фактом, что пока самые интересные общеизвестные нейросети были сделаны на питоне, тебе надо писать на питоне.
No. 14671    
>>14668
А что такое двумерный массив? Тензор или матрица, может быть?
>>14665
Очевидный LISP очевиден.
No. 14672    
>>14668

Открой стандарт, лол.
No. 14673    
>>14671
>А что такое двумерный массив?
Есть как минимум 2 варианта.
>>14672
Какие тебе стандарты, 1с ждет тебя.
No. 14674    
>>14670
>на питоне.
>>14671
>LISP
Троллинг уровня оранжевого сайта не нужен, анончики.
No. 14675    
>>14671
>>14672
>>14673
>>14674
Если вы хотите пообсуждать стандарты, или докопаться до самой сути того, чем же является двумерный массив, или же предложить самые точные карьерные опции друг для друга - создайте для этого отдельный тред и делайте это там.
No. 14695    
Файл: 147316418661.jpg-(407.17KB, 995×261, 2016-09-06_151101.jpg)
14695
Подскажите, пожалуйста, какие способы позволяют контенту не налазить на футер ? Знаю, что можно задавать не фиксированную высоту и ещё можно использовать свойство overflow: auto.
No. 14696    
>>14695
Скинь эту страничку на jsfiddle, чтобы можно было покрутить.

А так вариантов решения проблемы очень много, и они зависят от вёрстки документа, самый костыльный вариант - поставить padding-bottom текстовому контейнеру на высоту футера, например.
No. 14697    
>>14696
Вот такая конструкция получилась - https://jsfiddle.net/Lea3fgqp/. Полагаю, варианты включат использование "костылей". А без них можно как-то решить мою проблему ?
No. 14698    
>>14695
>>14697
Держи без костылей:
https://jsfiddle.net/Lea3fgqp/9/
Убрал float'ы и заменил "железную" высоту блока с контентом на "минимальную и больше".
No. 14700    
>>14698
Благодарю. Можете посоветовать книги/статьи и т.п. для более углубленного ознакомления с версткой ?
No. 14701    
>>14700
Тут лучше учиться на примерах со справочником под рукой. Можно например посмотреть в сторону:
http://htmlbook.ru/
http://www.w3schools.com/
И там и там есть туториалы на разные темы.

Еще можно попробовать записаться на курсы, например на курсэре: https://www.coursera.org/learn/html

Если в голове есть какой-то конкретный проект, то можно выбрать фронтенд фреймворки для него, и пройти туториалы уже по ним. Так оно будет полезно со всех сторон. Я бы начинал изучать вёрстку именно в контексте использования с какой-то фронтенд фигнёй вместе.
No. 14702    
>>14701
Спасибо. Попробую методом практики, а теорию буду брать с http://htmlbook.ru Курсы.. как-то натыкался на сайт https://htmlacademy.ru/ С фреймворками ещё не знаком.
No. 14705    
Файл: 147321091832.jpg-(129.41KB, 340×444, .jpg)
14705
Гребаный Nginx. Гребаный uwsgi. Долбаный 502 Bad Gateway. Долбаные туториалы "для чайников", которые нихрена не работают. 4 часа утра нафиг. Понаставил блин. Хоть снова систему сноси. Фреймворки изучать надумал, а за 3 месяца сервер не смог настроить.
No. 14706    
>>14705
да вы батенька наркман, там чуть ли не везде конструкции вида
python manage.py runserver 0.0.0.0:8000

nginx и стендалоны веб-серверы нужны только для продакшена
No. 14707    
>>14705

Мне в таких случаях помогает чтение руководства из первоисточника, даже если это долго.
No. 14709    
>>14705
Чем изливать рейдж, лучше опиши суть проблемы.
Алсо, такие настройки лучше в виртуалке делать.
Делаешь снапшот перед тем как полез всё прикручивать, и если что-то пошло не так, просто роллбекаешься на снапшот.
No. 14711    
>>14709
Проблема была в upstart, который заменили на systemd, который не запускал uWSGI Emperror, который не создавал вассалов, которые не отвечали nginx, который выдавал 502. Я окончательно запутался в десятках конфигов, которые понасоздавал. Еще оказывается, у папки /var/www должен быть владелец www-data, и только он. Если он другой (юзер), то все перестает работать.
No. 14712    
Файл: 147340707492.png-(5.94KB, 351×67, Снимок.png)
14712
Есть в консольке команда printf, которая позволяет получить код символа в юникоде, или не код а его байты в шестнатеричном формате, фиг знает. Вот так оно выглядит:

$ printf "%x\n" \'面
9762

Мне нужно получить эти же цифры внутри скрипта на перл. Как это можно сделать? Код на пикрилейтед не работает.
No. 14715    
Файл: 147340880148.png-(4.18KB, 343×63, Снимок.png)
14715
Так тоже не получается, выводит 10 а не 9762
No. 14716    
>>14712
>>14715
А почему ты пытаешься делать printf, а не sprintf?

Алсо, получить код символа - ord()
http://perldoc.perl.org/5.8.8/functions/ord.html
Можно еще жахнуть unpack()
http://perldoc.perl.org/5.8.8/functions/unpack.html

http://perldoc.perl.org/5.8.8/perlunicode.html
No. 14717    
>>14716
>ord()
Работает, спасибо!
No. 14719    
Стив, подскажи хорошие хостинги, которые поддерживают Питон 2.х версий, с возможностью установки FastCGI/WSGI скриптов.
No. 14720    
>>14719
Сейчас можно за небольшие деньги получить VPS и настроить там по своему усмотрению всё. Это и рекомендую сделать, посмотри что больше тебе подходит:

http://digitalocean.com/ (от $5 в месяц)
https://www.openshift.com/ (имеет бесплатную опцию)
https://aws.amazon.com/free/ (имеет бесплатную опцию)
No. 14722    
Есть ли где-нибудь простой гайд по проектированию ГУИ? Интересует внутренняя архитектура.
No. 14726    
>>14722
Внутренняя архитектура? Не совсем понимаю. Ты хочешь сам спроектировать GUI с нуля, без использования сторонних библиотек? Уточни вопрос.
No. 14727    
>>14726
>сам спроектировать GUI с нуля, без использования сторонних библиотек
Именно так. Сторонние библиотеки пишут такие же люди, они, очевидно, руководствуются какими-то правилами/рекомендациями при проектировании.
No. 14728    
>>14720
И таким образом, я могу подвязать домен и пользоваться по полной программе сайтом?
No. 14729    
>>14728
Да, без всяких проблем.
No. 14730    
>>14726
Если непонятно, то есть программные представления некоторых устройства ввода (УВВ) и устройства вывода (УВО) и основная программа (ОП). ОП автономна и имеет некоторые данные, которые надо отправлять в УВО, и некоторые параметры, которыми надо манипулировать посредством УВВ. Надо как-то связать вместе УВВ, УВО и ОП, но я как-то слабо представляю, как это сделать по уму.
No. 14731    
>>14727
>>14730
Я правильно понимаю, что ты хочешь это сделать не в рамках какой-то большой операционной системы, а чтобы оно крутилось так в виде прошивки на какой-то железяке?

Потому что если ты действуешь в рамках обычной операционной системы, то тебе придётся пользоваться её оконным менеджером, будь то иксы или виндовое апи для приложений. О чем правильно пишут тут: http://stackoverflow.com/a/4588425

Тут же пишут, что для написания GUI-библиотеки с нуля стоит поизучать как сделан GUI в MenuetOS. 32-битная версия имеет открытые сорцы: http://www.menuetos.net/M32.htm

Также обрати внимание на ответ автодесковца на схожий вопрос:
http://goo.gl/E7hdxy

С другой стороны, может ты не хочешь настолько глубоко в это лезть. Тогда я нашел тебе статью и пример:
http://goo.gl/hpelRi
http://goo.gl/A1Uzi1
No. 14732    
>>14731
Ну, операционная система — довольно размытое понятие, в крайнем случае она может иметь лишь программный интерфейс. Понятие GUI тоже размыто, есть, например, пользовательские интерфейсы MP3-плеера, банковскового автомата, автомата по продаже кофе или молока, мобильного телефона; их нельзя назвать текстовыми. Интересовали типовые архитектурные решения, типа MVC/MVP, в ответах же про это ни слова, будто они всем очевидны.
У меня пока получилось, что к УВВ присоединён пассивный т.е. он работать начинает только по сигналу от УВВ Декодер, генерирующий События, а к УВО — пассивный модуль UI, внутри довольно сложный, занимающийся обработкой Событий, и ОП, предоставляющая несколько переменных для чтения/записи и генерирующая несколько Событий для модуля UI. Не нравится, что в модуле UI в кучу смешаны логика и представление, может стоит их разделить?
No. 14733    
>>14732
Смотря до какой степени. До создания собственных X'ов наверное не стоит. А просто отделить непосредственно отрисовку элементов интерфейса от логики приложения стоит точно. Если это не убьет перформанс конечно
No. 14734    
Файл: 147368968276.png-(16.88KB, 512×512, 07 - Соня.png)
14734
>>14733
>Если это не убьет перформанс конечно
В чем и дело. По сути всё представление можно описать фиксированным набором процедур, соответствующим определённым состояниям конечного автомата UI, но этим же состояниям соответствуют и определённые последовательности манипуляций с данными. Попытка разделения приводит только к дублированию управляющего кода ничего не давая взамен.
С другой стороны, Декодер похоже на своём месте. А если ещё отказаться от сигналов и завернуть все взаимодействия в Службу Сообщений, то это уже Абстрактный Декодер с изменяемой логикой работы и для многих УВВ.

P.S.:
>>14731
>32-битная версия имеет открытые сорцы
Лучше б она имела открытую документацию, а не тысячестраничную портянку ассемблерного кода без единого комментария. Блин, за десять лет ничего не изменилось, я уж думал, оно сдохло с таким подходом.
No. 14735    
>>14734
Значит, если ты не планируешь потом на этой штуке больше ничего строить - не делай. По крайней мере не в рамках текущего проекта. Иначе - делай.
No. 14736    
>>14735
По моему, достаточно универсальное решение получилось: проще развивать эти сущности вглубь, чем порождать новые на плоскости. Для всех проектов каркас остаётся тот же, а представление по мере усложнения можно и в виртуальную машину вынести.
No. 14737    
Щас я буду потихоньку вспоминать всё то, что я знаю о C++ и принципах использования его, чтобы переписать идеально рабтающий код (небольшой) на вырвиглазном C так, чтобы его можно было поддерживать. При этом на C++ никогда, в общем-то, ничего не писал, но принципы понимаю, и потребность в выжимании из себя ассемблерного неструктурированного стиля осознаю.

Пожелайте мне удачи.
No. 14738    
Файл: 147370520631.jpg-(67.98KB, 576×576, nagato_good_luck.jpg)
14738
>>14737
Удачи.
No. 14739    
Ну а я пойду делать службу сообщений на ассемблере, она сама себя не сделает.
>>14737
Прежде советую почитать о функциональной декомпозиции есть такой антипаттерн. Если нет четкого понимания, зачем нужно ООП, оно тебе не нужно. Особенно, когда
>ассемблерного неструктурированного стиля
No. 14741    
Как запилить, чтобы на веб-сервере питон исполняло как CGI или fastCGI скрипты? При чем, как это сначала сделать на локалхосте, а потом сделать на хостинге. И подскажите, для этого полезный хостинг, пожалуйста.
No. 14742    
>>14741
Вроде бы уже отвечали на подобный вопрос.
>Как запилить, чтобы на веб-сервере питон исполняло как CGI или fastCGI скрипты?
Читаешь туториал: http://goo.gl/k6eTEP
>В Python уже есть встроенный CGI сервер, поэтому его настройка элементарна.
Потом просто пробрасываешь в конфигурации основного веб-сервера какой-то маппинг на этот питон на указанном порту. можешь банально пропускать всё с 80 порта на 8000 и обратно

>как это сначала сделать на локалхосте, а потом сделать на хостинге
Мой ответ на этот вопрос: одинаково. Потому что в качестве хостинга я предложу тебе VPS, где ты себе всё настроишь так как тебе нужно. Т.е это будет удаленный компьютер с линуксом, куда ты подключишься по SSH и сам настроишь и поставишь веб-сервер и питон и всё что там тебе нужно. Они уже есть бесплатные, не бойся.

>подскажите, для этого полезный хостинг, пожалуйста.
Обрати внимание на >>14720
No. 14743    
>>14739

От плюсов мне нужны конструкторы/деструкторы, морфизм (забыл, как зовётся - заменяемость класса классами, наследованными от него), STL.

В Сях без извращений такое не делается.
No. 14744    
Файл: 147377075754.png-(55.88KB, 1075×274, Снимок.png)
14744
Не могу понять, мне надо в перл-скрипте использовать выхлоп convert (там одно число 7664). И вроде все нормально, но при конвертации через int() или умножением на один, оно превращается в 0.

Более того, два раза переменную которая хранит выхлоп отпечатать нельзя, второй вызов print показывает пустую строку. Почему?

Та же фигня если сохранить выхлоп в массив.
No. 14745    
>>14744

А что это у тебя там в конце строчки 232?

Выглядит так, как будто у тебя undefined behaviour. Попробуй какой-нибудь use strict или как там оно в Перле зовётся.
No. 14746    
>>14745
https://gist.github.com/anonymous/9723917b9a9042749771869a9ba525f3

use strict не ругается.
No. 14747    
>>14746
Блджад, это команда сама выводит число, оно вообще не попадает в переменную. Странно.
No. 14748    
>>14746
>Не могу понять, мне надо в перл-скрипте использовать выхлоп convert (там одно число 7664).

Строго говоря, ты используешь вывод команды
compare
. Я завис на минутку, пытаясь понять это.

> умножением на один

А это, прости меня, точно 1, а не l (эль малая)?
No. 14749    
>>14747

Во. Слушай. Ты присваиваешь переменной exit code, а не вывод команды.
No. 14750    
>>14747>>14749

Стоп. backtick-оператор присваевает переменной вывод команды.
No. 14751    
>>14750
Спасибо за помощь, но я не утерпел и спросил на стэковефлоу, оказалось выхлоп шел в STDERR.

http://stackoverflow.com/questions/39472631/perl-execute-bash-command-with-pipe
No. 14752    
Получилось расширение диспетчера задач, поскольку служба гарантирует не только доставку сообщений, но и что сообщение будет прочитано, для чего оснащена методом активации адресата. Памяти, правда, требует в два раза больше.
>>14743
Это не ООП, это технологии. Итогом-то что будет, вымученный класс с одиноким методом, в который завёрнута процедурная лапша, или в описании твоей системы появились отношения наследования, формирующие иерархию типов, и абстрактные методы работы с ними?
Я что-то не совсем понимаю, почему нельзя просто привести лапшу в нормальный вид?
No. 14753    
>>14743
>>14752
Если вы хотите поубеждать друг друга в том, какой подход лучше, то хоть у нас и нет пока диспутов-треда, но кто-то создал нечто похожее: >>14683
No. 14755    
>>14753 замени «Начинающих программистов нить» на «Нить помощи тем, кто не умеет пользоваться Гуглом», у тебя сейчас название не соответствует содержанию и вводит людей в заблуждение
блджад, я даже не знаю, что такое «C++»
No. 14756    
В перле помимо
use strict
, используйте еще
use warnings

No. 14757    
>>14752

Искусно я тебя лингвистически запрограммировал, а?

В >>14737 не содержится упоминания ООП.

>Я что-то не совсем понимаю, почему нельзя просто привести лапшу в нормальный вид?

Потому что в Сях от этого не появляются шаблоны/STL и конструкторы/деструкторы.
No. 14758    
Юки, можешь посоветовать сборник со сложными и не очень заданиями по ООП? (Изучаю С++, если это имеет значение)
В сети и учебнике очень много типовых задачек разного уровня сложности по процедурному программированию, но вот ООП - шные мне особо не попадались (Если получится, что искал совсем плохо - заранее извиняюсь)
Теорминимум есть, что такое инкапсуляция/наследование/полиморфизм представляю, но вот закрепить знания нормальной практикой не получается, т.к придумать интересную
задачу сам не в состоянии, к сожалению, а решать задачки из процедурного блока, используя классы, пользы особой не принесёт, как мне кажется. :(

No. 14759    
>>14758
Дополнительная инфа по ООП прямо с примерами:
http://www.oodesign.com/

По поводу челленджей и упражнений советуют такие ресурсы:
http://stackoverflow.com/a/4502112
No. 14760    
Файл: 147387560733.jpg-(193.45KB, 780×1133, crossprog.jpg)
14760
Самый важный совет начинающим программистам.
No. 14763    
Поясните за многослойные нейронные сети.

Допустим есть сеть для распознавания изображений ( арабские цифры 0 - 9 ). Итого 10 нейронов на первом слое. Размеры картинок 10х10, итого сто входов. Каждый нейрон выдает количество совпадений с пикселом входного изображения и своей памяти, значения от 0 до 100. В итоге получается - который нейрон выдал больший результат, тот и прав, но это не всегда так.

Выходы нейронов, соединены с одним нейроном второго слоя, у него 10 входов и 1 выход. Иногда бывают такие ситуации, когда при распознавании пятерки наибольший результат набирает 6. Выходной нейрон хранит в памяти такие случаи, и ориентируясь на всех значениях первых нейронов выводит правильный результат.

Это уже можно считать многослойной нейронной сетью?
No. 14764    
>>14763
>The word network in the term 'artificial neural network' refers to the interconnections between the neurons in the different layers of each system.

>An example system has three layers.

>The first layer has input neurons which send data via synapses to the second layer of neurons, and then via more synapses to the third layer of output neurons.

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

>Это уже можно считать многослойной нейронной сетью?

Насколько я могу судить - да. Алсо, насколько я понимаю, подразумевается что строить её в один слой смысла вообще никакого нет.
No. 14765    
>>14763
Т.е. не надо смущаться тому, сколько у тебя по слоям нейронов, их там ровно столько, сколько надо чтобы функцию свою выполнить.
No. 14766    
>>14765
Просто хочу узнать, многослойные сети работают так как я себе представляю, или совсем по другому. Если устройство персептрона вроде понятно, то как работает многослойная сеть - туманно.
No. 14769    
>>14766
Ну, то что ты описываешь у себя похоже на то как описывают взаимодействие между слоями в нейросетях.
No. 14782    
Что такое фреймворк? Можно на пальцах?
No. 14784    
>>14782
Ну, если совсем супер на пальцах, то это такой "движок" для твоего приложения. да, в игровых терминах, как движок для игры

Длинный и скучный ответ ниже

Т.е. цель фреймворка - добавить функционал, который упростит программисту создание приложения какого-то определенного типа (например, сейчас очень популярны фреймворки, позволяющие тебе быстро создать веб-приложение, типа джанги для питона). Фреймворк отличается от обычной библиотеки тем, что он подразумевает создание на базе себя целого приложения или хотя бы какого-то модуля приложения, в то время как обычная библиотека - просто набор удобных "утилит".

Логика появления фреймворков примерно такая:
Изначально у тебя есть твой язык программирования и компилятор. Но хотелось бы выполнять некоторые тривиальные вещи быстрее и проще, поэтому авторы дают тебе стандартную библиотеку, в которой есть простые реализации для повседневных надобностей программиста. Программист доволен. Но повседневность программиста часто включает в себя написание однотипных приложений (обычно специфика места работы), и программисту хотелось бы создавать такие приложения быстрее и проще а некоторые вещи чтобы вообще делались автоматически, поэтому в один прекрасный момент он и пара его друзей создают фреймворк, который уже позволяет ваять им такие приложения не тратя время на рутинные вещи ну, в идеале так, в реальности может оказаться что фреймворк своими внутренними механизмами где-то вставит палку тебе в колесо После этого они могут поделиться этим фреймворком с остальными программистами. И по мере пользования - добавлять туда новые возможности и фичи. Фреймворк не подразумевает, что ты будешь пользоваться только им одним, ты точно так же можешь подключать библиотеки для конкретных целей.
No. 14786    
>>14784
Не вполне понятно принципиальное отличие от библиотеки. Ну, библиотека, скажем, набор функций, классов или чего там еще. Что же будет принципиально отличать фреймворк от библиотеки? Переопределение стандартных средств языка? Что-то еще? Что?

мимо
No. 14787    
>>14786
Фреймворк от просто библиотеки отличает наличие всяких автоматизированных механизмов. Например, веб-фреймворк тебе сразу предоставит роутинг файл, куда ты сможешь вписать маппинги и соответствующие им классы контроллеров, после чего фреймворк сам будет ловить на эти маппинги запросы, выкусывать параметры из ссылок и доставлять их в удобном виде в указанные классы. Такие процессы, проходящие сразу через несколько уровней конечного приложения обычно в "просто" библиотеке не предусмотрены.
No. 14788    
>>14786

Библиотека - это некоторый функционал, сделанный за тебя.

Фреймворк - это некоторый функционал, сделанный за тебя, за рамки которого ты не выходишь. Фреймворк - это сужение среды, в которой выполняется программа.
No. 14805    
>>14788

Немного дополню: выходить за его рамки можно, вот только это будет многого стоить, поскольку большая часть компонентов фреймворка спроектирована с расчетом на то что всё сделано тем самым определенным во фреймворке способом.
No. 14806    
>>14705
Try gunicorn.
No. 14807    
Файл: 147475500868.jpg-(146.65KB, 728×760, Модель и каркас.jpg)
14807
>>14736
Таки две виртуальные машины: Машина Представлений, управляемая Машиной Моделей, обе управляемые Оператором, всё посредством Службы Сообщений.
>>14782
Framework — архитектурный каркас. Слово «каркас» говорит о чём-нибудь? Вот кринолин — это каркас. Он позволяет просто и быстро сделать пышную юбку, поскольку задаёт необходимую форму и предоставляет необходимые элементы соединений для объединения компонентов «Девушка» и «Платье» в систему «Модная леди». См. рис. 1

← Рис. 1 — Модель и каркас.
No. 14808    
Еще вопрос по nginx.
Как сделать несколько сайтов на одном айпи без доменов? Например, 192.168.0.1/test1, 192.168.0.1/test2 и чтобы если не то и не то, то выдавать сайт test0. Не могу разобраться в проксях. Если сайту test1 указан рут (/var/www/test1), то при запросе 192.168.0.1/test1 будет редиректится на /var/www/test1/test1. Как задавать site-name в таких случаях?
Повторю, есть папки:
/var/www/test0
/var/www/test1
/var/www/test2
И конфиги:
/etc/nginx/sites-available/test0
/etc/nginx/sites-available/test1
/etc/nginx/sites-available/test2
И адреса:
192.168.0.1/ --> /var/www/test0
192.168.0.1/test1 --> /var/www/test1
192.168.0.1/test2 --> /var/www/test2
No. 14809    
>>14808
Ты меня, конечно, извини, но нахрена? Если ты и так явно указываешь подпапку, зачем ещё проксировать?
No. 14811    
>>14809
Так разные настройки для каждого сервера же. На одном PHP, на другом питон, на третьем еще что-то. Если у меня фласк в корне, то он все запросы на себя ловит, и PHP не выполняется.
И потом, я не явно указываю папку. Если бы у меня был один сервер, и я бы просто указал "root: /var/www/;", то по адресу 192.168.0.1/ было бы 403 Forbidden вместо папки /var/www/test0.
Хотя я действительно мало понимаю, что я делаю.
No. 14812    
>>14808
Мне кажется в этом туториале делают именно то, что ты хочешь: http://tinyurl.com/cb9ohlp

Скажи, если не так.
No. 14824    
Наверно нужно спрашивать в /s/, но он лежит, поэтому осмелюсь задать глупый вопрос здесь. Можно ли сделать в Cygwin (или вообще в Unix) символьную ссылку на команду (из /usr/bin), чтобы её можно было вызывать заместо команды?
No. 14826    
>>14824 Можно
No. 14827    
>>14826
Тогда почему у меня не работает?
Проверил ссылку ls -l - ссылается куда надо, но если заменить имя выполняющего файла на ссылку, то пишет "команда не найдена", хотя с самим файлом работало.
No. 14828    
>>14827 запусти как путь/к/ссылке.

Причин этого может много, но так точно должно сработать.
No. 14831    
>>14828
$ /usr/bin/cc hello.c

-bash: /usr/bin/cc hello.c: No such file or directory

$ ls -l /usr/bin/cc

lrwxrwxrwx 1
...
/usr/bin/cc -> usr/bin/x86_64-w64-mingw32-gcc.exe

No. 14832    
>>14824
>Можно ли сделать в Cygwin (или вообще в Unix) символьную ссылку на команду (из /usr/bin), чтобы её можно было вызывать заместо команды?
>вообще в Unix
Вообще в Unix проше прописать алиас же. Например:
alias cc='/path/to/cc'

Чтобы работал постоянно - заносишь в .bashrc, закрываешь консоль, открываешь консоль, вуаля.
No. 14836    
>>14831
> /usr/bin/cc -> usr/bin/x86_64-w64-mingw32-gcc.exe
Здесь в пути, на который указывает ссылка, начальный слеш пропущен, из-за чего путь интерпретируется как относительный, то есть /usr/bin/usr/bin/x86_64-w64-mingw32-gcc.exe. Потому и не работает.
No. 14837    
Допустим, есть скрипт www.example.com/dir/script.php. Можно ли сделать так, чтобы по всем произвольным путям, являющимся папками и вложенным в www.example.com/dir/* (например: www.example.com/dir/foo/, www.example.com/dir/bar, www.example.com/dir/bar/baz) выполнялся тот же самый скрипт? При этом он конечно знал, с какого адреса его вызвали.
Без проксирования, симлинков, и прочего.
No. 14838    
>>14837
Да, если указать его как директори индекс.
Например как тут:
http://stackoverflow.com/a/6410205
No. 14839    
>>14838
Либо я не понял, либо не то. Один index.php должен вызываться нескольким по произвольным url.
Например, вместо ссылки с параметрами www.example.com/dir?p=a/b/c был бы адрес www.example.com/dir/a/b/c, оба варианта ссылаются на www.example.com/dir/index.php
No. 14841    
>>14839
Смотри, здесь пацаны:
1. Задают индекс файл для рутовой директории.
2. Форсят этот индекс во все сабдиректории через AllowOverride

В итоге все сабдиректории пользуют один файл как рут. Звучит как то что ты хочешь.
No. 14845    
>>14836
Да, точно. Спасибо, исправил.
>>14832
>Вообще в Unix проше прописать алиас же. Например:
Да, так тоже можно сделать, спасибо.
No. 14850    
С сентября окончательно вступил на путь становления программистом, имея за плечами уже баку по другой специальности. Хочется погрузиться в этот мир еще глубже, используя даже время досуга.
Какие бы книги из художественной литературы (люблю научную фантастику) вы бы посоветовали и какие фильмы (ну, типа пиратов силиконовой долины, например, или из из того же sci fi), какие игры(может рогалики?).
Еще хочется узнать побольше разных фишек и тем, которые бытуют среди программистов.
No. 14851    
>>1485

С такой постановкой задачи, я бы рекомендовал начать с автора Маркиза де Сада.
No. 14853    
>>14850
Дональд Кнут.
No. 14860    
>>14850
Из фильмов в первую очередь напрашиваются HACKERS.
Да, там полно фактических ошибок (ну еще бы), но он очень хорошо передает атмосферу.
No. 14864    
>>14850
Фильмы — старые советские про производство.
>>14860
Хочешь, чтобы ему так же больно стало?
No. 14865    
Как мне сравнивать текст в Notepad++ вот в такое стиле:
http://stackoverflow.com/posts/39796802/revisions

а не построчно, как в плагине Compare?

Или не в Nptepad++, а в чём-то ещё.
No. 14868    
Стив, посоветуй бесплатный VPS, хостинг-регистратор и DNS-сервер. Нужно скорее в личных целях, чтобы кодить прям в облаке.
No. 14870    
>>14868
Вот тут варианты VPS:
>>14720
No. 14871    
>>14870
Окей, а как насчет регистратора доменов и DNS?
No. 14874    
>>14871
Ну, если тебе нужен собственный вывешенный наружу DNS-сервер, ты можешь его поднять прямо на той же машине, и пусть себе крутится.

Насчет бесплатных доменных регистраторов, опять же, если ты собираешься пользоваться только своим DNS, то не ясно зачем оно тебе нужно. Да и вообще можно локально себе в хостс домен к адресу VPS приписать, но гугл советует зарегать бесплатный домен в .tk зоне:
http://www.dot.tk/
No. 14878    
>>14865

Бумп вопросу. Попробовал WinMerge - в целом то, что нужно, но он не находит минимальное преобразование между текстами - например, есть строчки, в которых различаются только первый и последний символы, а WinMerge выделяет всю строку, как изменившуюся (character level, word level и line level лучше не делают).
No. 14879    
>>14878
https://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools#Compare_features
Можешь перебрать все поддерживающие данную фичу программы из этой таблицы. GNU Emacs умеет так сравнивать, например.
No. 14883    
Файл: 14760617964.gif-(2.54KB, 400×200, 14495223932770.gif)
14883
Здравствуйте.
Нужно быстро накатать маленькую програмку для работы с бд. Выбор мой пал на SQLite. Делать её хочу на C#, но я его не знаю. Есть какой-нибудь ресурс или гайд, который бы позволил мне быстро вкатиться в него?
No. 14886    
>>14883
Есть SQLite-NET в NuGet-е.
No. 14887    
>>14883
SQLite это простенькая бд для прототипирования, имеющая урезаный sql и проблемы производительности начиная с десятков тысяч записей. Хорошо ли ты изучил вопрос перед выбором? Просто в сочетании с C# sql server был бы самым очевидным выбором. Сам на шарпах не пишу но первым же результатом в гугле выдало http://www.codeproject.com/Articles/823854/How-to-connect-SQL-Database-to-your-Csharp-program где вроде бы все вполне доступно расписано. А вообще на вопрос по туториалам C# самым очевидным будет отправить на msdn на мой взгляд.
No. 14888    
>>14883
> очевидным будет отправить на msdn на мой взгляд.
MSDN наше всё.
Вот введение в программирование мышкой:
https://msdn.microsoft.com/en-us/library/dd492132.aspx
https://msdn.microsoft.com/en-us/library/ms229601(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/dd492171.aspx — вот здесь круто. По шагам создаются разные простенькие приложения. Для знакомства в самый раз.

Вот по SQLite http://blog.tigrangasparian.com/2012/02/09/getting-started-with-sqlite-in-c-part-one/

Создашь формочку, набросаешь на неё всякое, создашь базу, а дальше уже будут конкретные вопросы.

>>14887
> C# sql server был бы самым очевидным выбором
Не всегда. Небольшая десктопная приложуха с embedded db — C#+SQLite отлично справится. Это если записей много не будет. Хотя, даже если будет много, но потерпеть можно будет. Не помню порог на котором всё летит в пизду, но это уже уровень "какая, в пизду, embedded, наркоманы, нам тут сервак нужен".
No. 14889    
>>14888
На сколько мне известно, в sqlite так и не завезли right outer/full outer join например, или хранимые процедуры. Так что нагрузка это не все, на что следует ориентироваться.
No. 14890    
>>14888
Спасибо за ссылочки, буду курить
No. 14892    
>>14889
>SQLite only supports the LEFT OUTER JOIN
> https://www.tutorialspoint.com/sqlite/sqlite_using_joins.htm
Лол, и правда ведь.
У меня все sqlite базы были маленькими и ничего за рамки простых джойнов, да селектов не требовали.

Кстати, среди компактных и встраиваемых баз есть ещё SQL Server Compact. Если это кому-то поможет
No. 14906    
В очередной раз подумываю вкатиться в кодинг. В веб не хочется, там каждые пять минут надо новый фреймворк учить, сишников с улицы не берут, кресты стали слишком сложными, их мне уже не осилить.

Что скажете за SQL? Вакансии на него вижу переодически. Есть ли в этой сфере какие сложности?
No. 14907    
>>14906
В SQL разработчики тем более с улицы не берут. Обычно или требуется приличный опыт или хотябы профильное образование для младших позиций. Можешь попробовать обратить свой взор в сторону ентерпрайзного бекенда - 80% проектов на одних и тех же фреймворках последние 5-7 лет и конца этой тенденции пока не видно. Плюс найти джуниор позицию в крупных городах не слишком сложно.
No. 14909    
>>14720
Слишком сложно будет. Всё надо будет разворачивать, причём, на линуксе.
No. 14919    
>>14906
ну тебе может и зайти. Ставь сразу постгрю или Mssql

часто вижу на работе SQL запросы на пару страниц с десятком встроенных функций и всяких там вьюх и временных таблиц.

при написании больше всего мозг ломается, так как это все один запрос, а в обычном кодинге все последовательность действий
No. 14921    
>>14907
>Обычно или требуется приличный опыт или хотябы профильное образование для младших позиций.
Профильная вышка есть, хотя не думаю что она может чем-то помочь.

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

>>14919
>Ставь сразу постгрю или Mssql
Почему не оракл?
No. 14923    
Привет! Пишу свою пошаговую стратегию на jvm языках. Что посоветуете в качестве UI? Выбор пал на javaFX. Хотелось бы что-то несложное, мне просто сетку нарисовать и тайлы расставить.
No. 14926    
>>14921
>Профильная вышка есть, хотя не думаю что она может чем-то помочь.
В условиях отсутствия опыта работы профильное образование это практически единственное что может хоть как то заинтересовать работодателя
>лепят свои корпоративные
Есть такое в некоторых крупных конторах, можешь попробовать сунуться к интеграторам, там технологии от проекта к проекту меняются.
>Почему не оракл?
MS SQL и Oracle имеют примерно одинаковую популярность в России, в последнее время есть тенденция укрепления позиций MS SQL, видимо советовали исходя из этого.
>>14923
Жава это не тот инструмент на котором можно безболезненно и с удовольствием писать интерфейсы. Де-факто выбор у тебя между Swing и JavaFX, первый постарше и попроще, второй поновее и имеет больше свистелок.
No. 14930    
>>14923
JavaFX вполне нормальный выбор для простой игры.
Если захочется ближе пощупать графику, всегда есть LWJGL.
No. 14931    
>>14921

Советовал не оракл, потому что оракл это попоболь.

а у MSSQL вроде синтаксис вполне няшный, заводить это дело приятнее.

ну и на hh.ru вбей mssql и oracle, цифры будут 1000 на 17 позиций от оракла.
No. 14938    
>>14931
Как у тебя так получилось? Я как ни вбиваю, мне выдает соизмеримое число вакансий для mssql и oracle. И что с ораклом не так?
No. 14939    
>>14931
>>14938
И с тех пор как вы это выяснили, вспомните что это тред помощи новичкам, а не "в интернете кто-то не прав".

>Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.
No. 14940    
Файл: 147699682330.jpg-(7.06KB, 200×178, no-ved_68646613_orig_.jpg)
14940
>>14939
Но мне действительно интересно почему oracle хуже, я никогда не писал sql specific программ.
No. 14941    
>>14940
Ничем он не хуже. "sql-specific" это IDE\Workbench что ли? Как твоя программа зависит от бэкенда базы данных?
No. 14942    
Файл: 147704580967.png-(11.04KB, 266×413, Screenshot from 2016-10-21 13-29-09.png)
14942
>>14941
Он про то что sql синтаксис у oracle, mssql, psql, различаются.

oracle я не хаю, по отзывам людей которые работали с ним. Может как дб он в принципе ок, и говорят нагрузку держит лучше чем mssql. Но товары от oracle я обхожу стороной.
No. 14943    
Файл: 147704713016.jpg-(109.66KB, 1045×608, xmNSXaVrK08.jpg)
14943
Я просто хотеть показать вам маркетинг.
No. 14944    
Файл: 14770605035.jpg-(220.24KB, 1358×1302, price-comparison.jpg)
14944
>>14942
> Но товары от oracle я обхожу стороной.

Еще б ты не обходил, лал. Цены за Oracle 47к за процессор, MS - 1k за процессор.
Отличия по синтаксису номинальные, и имеют значение в основном для матерых спецов и серьезных баз. Во всяком случае мой знакомый склщик сказал, что ms это слегка кастрированый оракл с извращениями по синтаксису типа биллиных \ заместо / в файловой системе.
No. 14966    
Привет.
Последний год работал администратором/контент-менеджером в двух интернет-магазинах. Один на cs-cart, другой на bitrix. Владею знаниями html, css, могу сверстать макет средней сложности. Читаю и немного понимаю код на php, но сам ничего не писал. Личной жизни нет.

Хотел бы уйти с этой работы в back-end разработку.
Помогите, что лучше всего изучать из актуальных технологий и ЯП, а также в какие сроки обучения можно уложиться, чтобы начать работать back-end разработчиком?
Если уйду с работы могу не работать около 4-х месяцев. Хватит ли мне их?
No. 14967    
>>14966
Моя субъективная оценка - при целенаправленном обучении, тратя часов по 15-20 в неделю, и если тебя курирует знающий язык человек, то за 2-3 месяца можно освоить джуниорскую позицию практически в любом языке.
No. 14968    
>>14966
Насчет языков:
Java - в основном всевозможный махровый ентерпрайз. Вакансий много платят хорошо.
PHP - наверняка уже сам все знаешь.
C# - жава микрософт едишн, вакансий меньше чем у жавы, насчет зарплат незнаю.
Python/Ruby/Node.js - хипстерские технологии, не уверен что будет легко найти джуниорские позиции.
За перл/свифт/го/прочее ничего не могу сказать.
No. 15004    
Файл: 147828751957.jpg-(141.48KB, 908×1024, IMG_8767.jpg)
15004
Как менять цвет тега <mark>?
No. 15006    
>>15004
https://jsfiddle.net/99nrtkjs/
No. 15034    
Здравствуй, Стив.

У меня есть несколько книг. Мне хотелось бы их оцифровать и выложить на всеобщий доступ. Сканировать вручную на стареньком МФУ – бесполезно (Медленно, у корешка текст размывается, а страницы иногда перекашиваются). Но самая главная проблема в том, что процесс почти полностью ручной. Проблемы возникают уже при сканировании небольших методичек в 50-80 страниц.
На ум пришло сделать что-то на подобии полностью автоматического сканера для книг.

Мол, есть две треугольные призмы. На них закрепляется книга. В начале корешка две сервомашинки. Они отвечают за поворачивание двух штанг. На одной из них установлена камера с освещением, на второй сопло, в которое втягивается воздух, а затем прижимается страница. Не исключена и реализация прижимного стекла.
Идей довольно много, но возникает вопрос: как всем этим управлять? Как я понимаю, в одной из призм можно установить ЭВМ, а вместе с ней плату с микроконтроллером, отвечающим за работу моторов, освещения, камеры. ЭВМ же выводит на экран эту информацию и, собственно, дает сигнал на дальнейший переворот страниц, изменение положения камеры, захват картинки и производит во время всего этого грубую обработку полученного изображения (Отделение белого листа бумаги от черной грани призмы на фото). Фото же сохраняется на внешнем жестком диске, и дальнейшая оцифровка происходит на рабочем ПК.
Как реализовать? На чем? Что читать? Это реально сделать чайнику за пару месяцев? Или надо посвятить полжизни, чтобы научиться творить подобное? Бессмысленные вопросы, но все-таки хочется получить какое-нибудь направление, а то в голове творится настоящий бардак.
No. 15036    
>>15034
Я бы сказал, более чем реально. Потому что такое уже делали и делают.

Держи материалы по теме:
http://tinyurl.com/qz6x7v3
http://tinyurl.com/puyr89n
http://tinyurl.com/bgazs2o

Механизмы переворота страниц:
https://www.youtube.com/watch?v=EnGUFxDbdZ4
https://www.youtube.com/watch?v=WwXqKcQ21u0
https://www.youtube.com/watch?v=03ccxwNssmo

Но конечно, самым простым способом скана остаётся разобрать переплёт и положить страницы в приемник промышленного сканера (например в копи-центре)

Моя личная боль при оцифровке книг - OCR, постоянно всё надо редактировать, софт вечно путает шрифты, оформление, етц
No. 15046    
>на подобии
Правильно: "наподобие". Это предлог.
>OCR
Возможно, вы имели в виду: "OCD".

мимонаци
No. 15047    
>>15046

Optical Character Recognition
No. 15049    
>>15047
Упс.
Ну да ладно, я таким не занимался.
>софт вечно путает шрифты, оформление, етц
Не понял. Софт помимо самих символов еще и шрифт распознаёт?
>постоянно всё надо редактировать
Поясни необходимость.
Что мешает хранить в plain text или чем-то вроде djvu (как я понимаю, djvu это картинкообразные книги). Ты хочешь отсканировать в первозданном виде? Может, стоит тогда хранить сканы вообще в скалярной графике?
No. 15052    
Файл: 147907032619.jpg-(14.92KB, 1280×720, 14656766209780.jpg)
15052
Привет. Я немного джава девелопер. Но джава уже поднадоела. Сейчас хочу написать свой сайтик и решил пользоваться скалой (jvm как-никак. Немного знакомо все должно быть). Так вот, посоветуй стак технологий, которыми было бы неплохо пользоваться? Мне нужны авторизация и аутентификация,доступ к БД (скорее всего postgresql), и фронтэнд должен быть несложным. Распиши плиз по всем этим трем пунктикам что можно юзать и общий фреймворк, куда все прикрутить это.

Я вот с плей фреймворком разбираюсь, он пойдет как основа всего?
No. 15053    
>>15052
>Я вот с плей фреймворком разбираюсь, он пойдет как основа всего?

Да, этот фреймворк очень даже ничего, особенно когда тебе надо всего понемногу в проекте. Плюс akka уже включена, что приятно.

Из альтернатив можно предложить spray, чтобы упарывать асинхронное I/O по хардкору: http://spray.cc/

Еще есть
scalatra: http://scalatra.org/
finatra: https://twitter.github.io/finatra/
и старый добрый liftweb: http://www.liftweb.net/
No. 15056    
Файл: 147915982973.jpg-(69.09KB, 600×420, 567867.jpg)
15056
Привет, народ. Может, знает кто какие-нибудь русскоязычные сервисы для проверки html/сss кода? Я новичок в этом деле и у меня постоянно какая-то лажа случается, а английского я не знаю.
Рандомпик.
No. 15058    
>>15056
Если тебе нужен справочник:
http://htmlbook.ru/

Или ты хотел именно HTML и CSS валидатор с сообщениями об ошибках на русском?
No. 15059    
>>15058
Да-да, именно русскоязычный валидатор с сообщениями об ошибках я и имею ввиду. Такой есть вообще?
No. 15061    
Стивы, поставил я кусабу на 000webhost. Однако, почему-то очень долго грузится стало все, при любом клике, при любом переходе по ссылке. Как можно увеличить отклик, чтобы сайт работал быстрее? По треду выше видел, что VPS сейчас популярны. Думаешь, лучше на них перейти, если я хочу развернуть кусабу?
No. 15062    
>>15059
С русеком в сообщениях об ошибках есть только CSS:
http://www.css-validator.org/validator.html.ru
No. 15063    
>>15061
Потенциальных причин тормозов есть целая масса, от плохих настроек php и косяков самого кода в движке борды, до ублюдочной производительности хостинга или каких-то мелочей типа подключения внешних удаленных файлов, загрузка которых тупит. Просто так сказать в чем именно дело нельзя, это нужно серьезно смотреть и копаться.

Можешь взять триал какого-нибуть VPS и посмотреть станет ли на нем лучше, но сразу замечу, что VPS это сходу другой уровень геморроя, по сравнению с обычным шаред хостингом. К этому надо быть готовым.
No. 15064    
>>15062
Спасибо и на этом, дружище.
No. 15065    
>>15063
Окей, понял. Такой глупый вопрос по кусабе. Можно ли модерировать когда ты находишься на доске. А то я не вижу каких-либо кнопок рядом с постами, со значками "удалить", " забанить" и т.д. Неужели только с админ-панели можно модерировать. И еще, как использовать мод-постинг? Тобиш прицеплять кэпкод?
No. 15070    
>>15065
>Now, when browsing boards (that you moderate), you will see D & B links next to each post (If you have javascript enabled).

Do you have your javascript enabled?
No. 15072    
>>15070
How to enable it on 000webhost?
No. 15073    
>>15072
Нет, имеется в виду, что у тебя в браузере должен быть включен javascript некоторые выключают, да. Если он включен, а фигни нет, то смотри консоль браузера на предмет ошибок того самого javascript а также на предмет 404 ошибок на загрузку скриптов в страницу.
No. 15074    
>>15073
> а также на предмет 404 ошибок на загрузку скриптов в страницу.
А это как глянуть?
No. 15075    
>>15074
Войди в Developer Mode своего браузера, там вкладка Net / Запросы. Поставь галочку с названием типа "не стирать" или "сохранять" и перезагрузи страницу. Потом смотри были ли 404.
No. 15077    
>>15075
> Войди в Developer Mode своего браузера, там вкладка Net / Запросы.
А как туда войти в последней версии мозиллы?
No. 15078    
>>15075
И да, может быть надо джаваскрипты в корневую папку хостинга кидать, а не в папке lib?
No. 15079    
>>15077
>как туда войти
Ctrl+Shift+I или Инструменты -> Веб-разработка -> Инструменты разработки
>И да, может быть надо джаваскрипты в корневую папку хостинга кидать, а не в папке lib?
Скрипты должны валяться там, откуда их будут пытаться грузить (что ты и увидишь по запросам). Базово, я бы сказал стоило оставить их там где они лежали в архиве.
No. 15080    
>>15079
Посмотрел, ошибок нет. Даже другой браузер поставил. И все-равно не отображает.
No. 15081    
>>15080
Тогда попробуй развернуть кусабу на локальной машине и посмотреть, повторится ли проблема.
No. 15083    
>>15081
В общем ошибка найдена. Там была проблема с тем, что при установки в конфиге движка, почему-то слеш я поставил поставил в конце путя для печенек. В результате, оно не хотело отображать мне это, хотя движок установился при этом.
Алсо, что значит в модпостинге чекбокс N - name. (Я понимаю, что "имя" какое-то). Когда его активировал, оно ничего не давало.
No. 15084    
>>15083
>Алсо, что значит в модпостинге чекбокс N - name.
Тут нужен кто-то кто активно пользуется кусабой или её чайлдами.
No. 15086    
>>15083
> что значит в модпостинге чекбокс N - name. (Я понимаю, что "имя" какое-то). Когда его активировал, оно ничего не давало.
В посте должно появиться имя администратора или модератора, если этот чекбокс установлен, по идее.
No. 15100    
Файл: 147982569315.png-(437.01KB, 568×758, Безымянный.png)
15100
Всем привет. Я хочу стать программистом и сейчас учу Си. Дело в том, что для меня K&R сложный, а вернее, упражнения из K&R сложные. Мой принцип гласит: "Пока не сделаешь упражнения не переходи на след. главу". Язык авторов мне нравится, а вот упражнения без подглядывания на форум сам я решить не могу. Посему я решил читать Прату (пик)... но там так много воды!! Я даже не знаю, важна ли та информация, которой он может посвятить пол. главы. Так вот, есть ли такая книжка, в который мало воды, но при этом и упражнения не такие сложные? Если да, то, Стив, подскажи пожалуйста.
No. 15102    
>>15100
но почему си?
Полистал упражнения из K&R - вполне типовые, сомневаюсь что в других книгах что-то будет принципиально отличаться в плане задачек. При решении проблемы лезть в интернет - вполне нормальная практика, в этом нет ничего зазорного. Плохо когда ты не думая копипастишь со stackoverflow.
No. 15103    
>>15100
>>15102
Возможно я не прав - сейчас нашел что headfirst c переведена на русский, вполне возможно что это будет более подходящий вариант. Ну или читай в оригинале если знание языка позволяет.
No. 15104    
>>15102
Си - потому что классика :D Вот и всё. Да и изучив его, как мне кажется, будет проще переходить на другой ЯП. Я пытался учить js, но он мне почему-то не понравился совершенно. Вообще я очень долго топчусь на месте. Так сказать хелловордщик (java, php, c++, js), но меня енто совсем не устраивает. Я дохожу до определённого момента в изучении ЯП и забрасываю по разным причинам: от типичного не нравится, до какой-то экстренной ситуации, когда не могу заниматься никак.
Си же я сильно хочу выучить. Ибо, как сказал Конфуций: "Любой хороший программист должен знать Си". Вот.
Ну а если серьёзно, то мне в принципе java по душе пришлась. Си тоже, а вот Си++ не очень. Что посоветуешь учить, если не Си?
>>15103
Headfirst очень интересно пишут и подают инфу (говорю по неудачному опыту с Java).
No. 15107    
>>15104
>Что посоветуешь учить, если не Си?
Зависит от твоих предпочтений и амбиций. Я в основном рассматриваю программирование как средство заработка - си без крестов мало востребован а рынке труда в России, введя "программист c" на хедхантере первые 10 страниц состояли на ~80% из 1с, остальное - с++.
No. 15110    
>>15107
Ну 1С не буду учить точно. Пускай даже и востребован.
No. 15111    
>>15110
Варианты были хорошо расписаны в >>14354 от себя добавлю только что рынок труда в основном забит вакансиями связанными с вебом или мобилками. Выбери интересное для себя направление, тогда можно и о выборе языка поговорить.
No. 15112    
>>15111
Ну больше всего понравился десктоп. Потом back-end.
Кстати, а Си в Embedded юзается, так? (или там вообще ассемблер)
No. 15113    
>>15112
>Embedded
юзают обычно Си, Кресты, Аду/Спарк, но не в этой стране, даже не мечтай. проблема первая: кроме собственно программирования надо знать физику процесса, т.е. железо. проблема вторая: в этой стране эмбедед тебе светит только в сфере радиолюбительства; если хочешь зарабатывать на этом бабки, то ты либо сам себе бизнесмен со всеми вытекающими, либо забираешься под стол, сворачиваешься калачиком, плачешь и идёшь учить 1с
No. 15114    
>>15113
А что насчёт десктопа. Там какие ЯП? Просто в back-end'e примерно знаю: Py, JS, php, RoR, etc.
No. 15115    
>>15100
>Язык авторов мне нравится, а вот упражнения без подглядывания на форум сам я решить не могу.

Подглядывать на "форум" нехорошо, ведь на форуме может быть готовое решение.

Строго говоря, это делается так: ты находишь знающего человека, и задаёшь ему вопросы до того момента, как ты САМ сделаешь задание.

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

>Вообще я очень долго топчусь на месте. Так сказать хелловордщик

Обычно это связано с тем, что тебе писать нечего - с отсутствием личного интереса.

Альтернатив Сям много. Самая благородная - SICP, например.
No. 15116    
забавная у вас капча
Что читать и изучать,после того как я изучил основы(массивы,немного ооп,циклы,ссылочные типы данных,if else)?
C#
No. 15117    
>>15115
Писать хочу, но постоянно наступаю на камушки, ибо ни об указателях, ни об рекурсиях ничего не знаю. Мне друг попытался объяснить рекурсию, но я ничего не понял, кроме того, что это что-то типа цЫкла в функции, который позволяет выполнять всякие мат. штуки типа прогрессии.
Короче, завтра я начинаю с другом испытание - 21 день подряд как минимум 2 часа программировать или читать книги по программированию (технологиям, алгоритмам, etc.) Такой к тебе вопрос да и ко всем, продолжать изучать Си по K&R и после него перейти на прикладной ЯП, или сразу изучать прикладной ЯП? Если так, то какой? Есть книга по Java от O'Reilly, но мобильные приложения писать точно не хочу. SICP, как я понимаю, не прикладной.
No. 15118    
>>15117
>продолжать изучать Си по K&R

Да. Книга хорошая, не абы какая сложная.

>ибо ни об указателях, ни об рекурсиях ничего не знаю

Про указатель тебе нужно знать только то, что с его помощью можно использовать заранее определённые переменные и объекты.

Про рекурсию тебе нужно знать только то, что это определение функции через саму себя.
No. 15119    
>>15117
Вобщемто java - нормальный выбор, используется не только для мобилок - основной ее профиль это веб, как правило какие-нибудь высоконагруженные корпоративные системы. Ну и встречается что и десктопные программы на ней пишут.
>>15118
>определение функции через саму себя
надеюсь ты хотел написать "вызов функции" но ошибся
No. 15120    
>>15119
>надеюсь ты хотел написать "вызов функции" но ошибся

Нет, я не ошибся.
No. 15121    
С помощью какого тулсета правильнее всего канпелять приложения SDL под Windows? Я сканпилял каким-то мингв, но вышла кака (у окна не было виндового оформления, например). Это так и задумано или я просто неправильное мингв использовал?
No. 15122    
>>15114 это в массе Кресты, ты постоянно будешь натыкаться на примеры с ними на том же CodeProject, например
>>15117 рекурсия — вызов подпрограммы самой себя, например очистка связного списка:
допустим, что:

type Element_Object;
type Element_Access is access Element_Object;
type Element_Object is
   record
      Value : Element_Value;  --  тип, который хранит элемент списка
      Next  : Element_Access := null;
   end record;

процедуру опустошения списка можно сделать рекурсивной:

procedure Free_List (List_Head: in out Element_Access) is
begin
   if List_Head.Next /= null then
      Free_List (List_Head.Next);  --  рекурсивный вызов
   end if;
   Free (List_Head);
end Free_List;

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

procedure Free_List (List_Head: in out Element_Access) is
   Condemned : Element_Access;
begin
   while List_Head /= null loop
      Condemned := List_Head;
      List_Head := List_Head.Next;
      Free (Condemned);
   end loop;
end Free_List;

вообще любую рекурсию можно преобразовать в цикл, но это не всегда получается так просто, как в примере выше

указатель в С — это число, которое битовый массив, которое является адресом некоторой ячейки памяти. простых примеров арифметики с ними у меня нет. вообще, указатель и арифметика с ним — источник трудно определяемых багов
No. 15123    
Файл: 148006187597.png-(299.77KB, 436×436, Medved-shluha-157270.png)
15123
>>15122
>вообще любую рекурсию можно преобразовать в цикл
No. 15127    
>>15123
>This looks like homework, so I won't give you the answer...
>(C) Stackoverflow.com
No. 15128    
>>15127

This looks like a proven forever-recursive function newfriend.
No. 15129    
со мной спорит человек, не увидевший разницу в алгоритмах опустошения списка... боже...
No. 15134    
>>15128
>>15129
>Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены.

Создавайте "Дискуссий™ нить" и устраивайте срач там.
No. 15136    
Товарищи, я >>15100-кун и я не совсем понимаю один момент. Он связан с EOF, а именно:
while ((c = getchar()) != EOF)

Может ли вообще завершиться этот цикл?
No. 15137    
Файл: 148027930554.jpg-(21.65KB, 320×320, 11327369_468840799961757_1484766757_n[1].jpg)
15137
>>15136
Да.
Попробуй ctrl+c или ctrl+x.
No. 15138    
>>15137
Поможешь мне? Просто в книге был написан сей код: http://pastebin.com/TnsBnLDL и я не могу понять, что он делает. А при компиляции он до бесконечности принимает строки, а когда жму ctrl + c закрывает консоль.
No. 15139    
Файл: 148028032768.gif-(233.88KB, 480×270, 1474210440852.gif)
15139
>>15138
Фейл. Там 32 строчка должна быть в мейне перед return'ом. Тогда вроде бы всё ок. Однако всё-равно плохо понимаю код + при нажатии ctrl+c консоль прям моментально закрывается. Как пофиксить?
No. 15140    
Файл: 148028184595.png-(152.75KB, 500×254, tumblr_mwxj8xhsEb1qa94xto1_500.png)
15140
>>15139
ctrl+c таки закрытие, я ошибся.
> Для указания терминалу в UNIX и Linux «EOF» следует воспользоваться комбинацией клавиш Ctrl+D. В Windows — Ctrl+Z.

> Однако всё-равно плохо понимаю код
main:
Задаёт массивs line и longest с 1000 элементами типа чар.
Затем, пока функция getline возвращает длину строки идёт цикл.

getline:
Принимает массив букв (s) и лимит.
Запускает цикл фор, который выполняется пока счётчик i не дошёл до лимита (i < (lim-1)) И пока вводимый символ(c) не равен концу файла (EOF) И пока этот же вводимый символ(c) не равен концу строки(/n).
Если это условие выполняется, то в массив s на позицию i записывается символ c.
Затем идёт проверка "если конец строки", то добавляет в конец символ перехода на новую строку(/n) и добавляет счётчику единицу, чтобы потом добавить на следующею позицию нуль-терминатор.

Остальное должно быть просто.
Надеюсь, я тебе не запутал. Обычно так бывает от моих объяснений.
No. 15141    
>>15140
Спасибо. Нет, не запутал.
No. 15142    
Файл: 148028452114.jpg-(20.25KB, 300×300, дудос.jpg)
15142
>>15141
Рад, что смог чем-то помочь.
А ведь я просто забыл закрыть вкладку.
No. 15144    
>>15138

Ctrl+D - это EOF (программа получает его через getchar)
Ctrl+C - это SIGINT (программа получает его по другому пути, который тебе сейчас не нужен)
No. 15160    
Хочу научиться писать p2p приложения. Есть ли туториалы по этой теме?
No. 15161    
>>15160
Мне кажется лучшим туториалом будет код простой пир ту пир приложухи. Вот например p2p чат на питоне:
https://git.io/v13Ns
No. 15192    
> Упражнение 1.20. Напишите программу detab, заменяющую символы табуляции во вводимом тексте нужным числом пробелов (до следующего “стопа” табуляции). Предполагается, что “стопы” табуляции расставлены на фиксированном расстоянии друг от друга, скажем, через n позиций. Как лучше задавать n - в виде значения переменной или в виде именованной константы?
Что такое стоп табуляции, подскажите пожалуйста?
No. 15193    
>>15192
"Ширина (замененного) таба в пробелах"?
No. 15195    
>>15192
Фишка табуляции в том, что она выравнивает слова. Например, таб в 4 пробела:
____1234
1___1234
12__1234
123_1234
В этих четырех строках стоит только один символ табуляции, и программа должна не тупо замеить этот символ на 4 пробела, а посчитать, сколько пробелов добавить до стопа - линии, по которой выравниваются 1234.
Вот еще пример:
1___12__123_1234
Здесь n=4, а стопы нахдятся после 4, 8 и 12 символов.
No. 15201    
>>15195
Аригато! Долго не мог врубится.
No. 15202    
>>15201
Ох ёёё... Надо русский снова учить...
(-‸ლ)
No. 15205    
Есть ли какие-то аналоги сайта it волонтёр, где можно оказать помощь проекту ради опыта?
No. 15210    
>>15205
Вижу поисковик по этой теме, www.volunteermatch.org вот тебе сразу с примером поиска по software developer:
http://tinyurl.com/gsz9lte
Выдает 163 результата по разным технологиям.

По идее, как раз то что ты хочешь, сделать доброе дело, получить опыт.
No. 15212    
>>15210
Спасибо
No. 15232    
Файл: 14815681903.jpg-(225.99KB, 1920×1200, 2D-f2bqUOQ.jpg)
15232
Доброго времени суток, господа.
Уже очень давно хочу для минимальных заработков начать что-то писать, но надоело суваться туда-сюда для того чтобы что-то начать. Наверное первое во что стоило бы входить новичку - веб-разработка, а точнее даже скорее верстка и освоение фреймворков таких, как wordprees, joomla, opencart.
Отсюда собственно вопрос, с чего начать ?
Знание английского языка на уровне чтения не сложно-технической литературы, но желательно получить литературу локализованную и с примерами, можете что-то посоветовать ?
Заранее всех благодарю и желаю счастья !
No. 15233    
>>15232
Таки забудь про локализованную литературу как страшный сон. Как бы тебе не казалось, что у тебя плохой уровень английского и тебе проще будет читать на русском, не обращай на эти мысли внимания и отгоняй их от себя. Русскоязычная документация в 9 из 10 случаев либо отсутсвует, либо днище ебаное.

Количество и качество материалов настолько отличается, что это даже не смешно. Лучше ты с проблемами будешь читать англоязычную литературу и документацию, переодически залезая в Google Translate (и заодно подтянешь язык между делом), чем обречешь себя навеки использовать пидорашко-документацию. Да-да, те кто пользуется локализованной документацией обычно потом не могут вылезти из этой ямы.

Но это было так - лирическое отступление. Теперь собственно по твоему вопросу. Таки WordPress это явно как раз то, с чего тебе стоит начать. У него по своему очень простая и логичная архитектура, позволяющая применять его для огромного количества разных вещей, не считая его прямого применения, хотя там порой и бывают атавизмы его происхождения. В любом случае, именно с архитектурой тебе явно проще всего будет разобраться именно в нем. В целом лучшим источником информации по нему будет очевидный кодекс: https://codex.wordpress.org - а если ты там чего-то не найдешь, то всегда можно нырнуть в сами исходники движка. Я бы на твоем месте начинал просто с самых простых вещей: поставить движок, установить тему, что-то поменять в ней одно, потом другое, разобраться в иерархии файлов, структуре тем, api тем и системы в целом, таких понятиях как посты, мета-данные, таксономии, фильтры, экшены, системный ajax и т.д. и т.п. В процессе попробуй начать писать какой-нибудь свой собственный плагин, добавлять в систему свои собственные страницы настроек, формы с параметрами на них, сохранение этих параметров и т.д. и т.п.

Что касается литературы... знаешь, по моему опыту конкретное залипание за толстыми книгами тебе в начале не особо то и нужно, более того, оно может вполне оказаться контрпродуктивным - утонешь в непонятном для себе барахле и охуеешь, лол. В начале вполне себе можно черпать знания на сайтах вроде http://www.w3schools.com - там ты можешь легко получить основы таких вещей как HTML, CSS, JavaScript (без которых один хрен тяжело тебе будет в вебе, даже если ты в целом настроен на бэк-энд). Там же можно начать и PHP смотреть. Само-собой никогда не стоит забывать про документацию на официальных сайтах - приучи себя первым делом смотреть её. И да, если гугл будет тебе подсовывать локализованную документацию, то все-таки переключайся на англоязычную. Когда будешь тыкать JS, то стоит также обратить внимание на jQuery - сколько бы не говорили про его ненужность, но штука эта просто охренеть какая мощная и радикально упрощает жизнь, тем более в ключе WordPress'а, который все равно тянет её за собой.

А так, если все-таки тебе проще идти вперед по книге, то можешь обратить внимание на эту: http://rgho.st/private/8NDjJtjBJ/78adbe87eef4d4e78c375b421bf002f2 как базовую самую.
No. 15256    
Добрый день, анон. Прошу помощи в непростом для меня деле - программной реализации алгоритма шифрования blowfish. Возникают трудности с пониманием теории данного алгоритма, а конкретнее - как открытый текст взаимодействует с S-блоками, как ,собственно, сгенерировать эти S-блоки и что они должны содержать. Прошу максимально подробно разъяснить данный процесс или подкинуть литературы на эту тему, а то мануалы, которые я находил, были мне непонятны или в них данный процесс не объяснялся. Заранее благодарю за помощь.
No. 15259    
Здравствуй, Чио-чан! Массив символов в си является строкой, заканчивающейся на '\0' ведь так? . Тогда нужно ли ставить нуль в конец массива, состоящего целиком из одного и того же символа, к примеру '-' ?
No. 15260    
Сырно, не оставь дебила в беде. Есть один Визуал Бейсик. Задача состоит в том, чтобы каждый раз при нажатии кнопки "далее" выводился другой текст. Опыта в программировании у меня нет вообще. Я придумал вот такой код:

http://pastebin.com/ZxGkqXnN

Но он не работает как надо. Он выводит сразу третий кусок текста, минуя второй. Я был бы очень признателен, если бы кто-то исправил код и в подробностях написал в комментариях, почему у него код работает, а у меня - нет.
No. 15263    
>>15256
> как открытый текст взаимодействует с S-блоками
1-й, 2-й, 3-й и 4-й байты каждого 32-битного блока открытого текста в первом раунде используются как номера строк в S1, S2, S3 и S4
соответственно.
> как ,собственно, сгенерировать эти S-блоки и что они должны содержать
S-блоки генерируются на основе шестнадцатеричных цифр числа π и ключа. Сначала P-блок и S-блоки заполняются цифрами из π, затем к P-блоку применяется XOR с ключом, далее идёт девятикратное применение шифра к 64-битному массиву из нулей с заменой 2 элементов P-блока на каждом шаге на результат шифрования, потом ещё 512 раз вызывается процедура шифрования с заменой каждый раз пары очередных элементов S-блоков на результат шифрования.
В статье https://www.schneier.com/academic/archives/1994/09/description_of_a_new.html всё же понятно расписано, псевдокод смотри в https://en.wikipedia.org/wiki/Blowfish_(cipher)#Blowfish_in_pseudocode.
No. 15264    
>>15259
> Массив символов в си является строкой, заканчивающейся на '\0'
Нет, в массиве может быть что угодно.
> Тогда нужно ли ставить нуль в конец массива, состоящего целиком из одного и того же символа, к примеру '-'
Если тебе надо использовать этот массив как строку, то нужно, в противном случае — нет.
No. 15266    
>>15260
Option Explicit


Private Sub Form_Load()
Text1.Text = "111"
End Sub

Private Sub Command1_Click()
If Text1.Text = "111" Then
Text1.Text = "222"
Label1.Caption = "22"
Else
   If Text1.Text = "222" Then
   Text1.Text = "333"
   Label1.Caption = "33"
   Else
       If Text1.Text = "333" Then
       Text1.Text = "111"
       Label1.Caption = "11"
       End If
   End If
End If
End Sub

Можно использовать и перемённую-счётчик, как ты пытаешься сделать, но она должна быть одна и глобальная, и присваивание ей нового значения должно быть внутри условного блока, а не до него.
No. 15267    
>>15266

>> If Text1.Text = "222" Then

>> Можно использовать и перемённую-счётчик

Я хочу текстовое РПГ замутить, с кучей навыков и текста. Но застопорился на очень простой задаче. Нужно учиться использовать переменные, в общем, иначе ничего не может получиться в принципе.

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

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

Я создал модуль, и вписал туда переменную.

Option Explicit

Dim Bond1 As Integer
Bond1 = 1

И изменил Form 1:

Option Explicit

Private Sub Form_Load()
If Bond1 = "1" Then
Text1.Text = "111"
Bond1 = Bond1 + 1
End If
End Sub

Private Sub Command1_Click()
If Bond1 = "2" Then
Text1.Text = "222"
Label1.Caption = "22"
Bond1 = Bond1 + 2
End If

If Bond1 = "3" Then
Text1.Text = "333"
Label1.Caption = "33"
Bond1 = "Bond1 + 3"
End If
End Sub

В итоге у меня Invalid outside procedure, а почитать на русском об этой ошибке не выходит, гугл выдает сайты на инглише. Помоги разобраться, анон.
No. 15272    
>>15264
Cпасибо
No. 15278    
>>15267
>Bond1 = "Bond1 + 3"
Правая сторона у тебя в кавычках намеренно или случайно? Как это влияет на то, что произойдет в этой строчке?

Олсо, я вообще не знаю VB.
No. 15279    
Файл: 148197775132.jpg-(107.64KB, 1146×629, 1326158753379.jpg)
15279
>>15278

Скорее случайно.

Я решил идти по другому пути, для каждого нового действия делать видимой новую отдельную кнопку, а предыдущую скрывать. Но у меня опять фейл. Я точно дебил. Знающий анон, не пройди мимо, подскажи, в чем проблема на пикрелейтед. Эти команды я нагуглил, у других они работают, ведь гугл выдает кучу сайтов с командой Command2.Visible = True
No. 15282    
>>15279
> Я решил идти по другому пути, для каждого нового действия делать видимой новую отдельную кнопку, а предыдущую скрывать.
неправильный путь.
> подскажи, в чем проблема на пикрелейтед
А кнопку Command2 ты создал?
> Я точно дебил.
Да.
И вообще на Ren'Py пиши.
No. 15283    
>>15282

> неправильный путь.

Ну хоть какой-то. Вообще неплохое решение - соответствуешь требованиям - появляется кнопка, жмакаешь ее. А не "Жмите до посинения кнопку продолжить, не читая текст."

> А кнопку Command2 ты создал?

Да. Это не из-за этого ошибка.

> И вообще на Ren'Py пиши.

Оно вроде для визуальных новелл, навыки ебли, сочинения стихов и земледелия туда не впихнуть, как и крафт предметов.
No. 15286    
>>15283
Впихнуть. Там хоть примеры есть, по которым можно научиться. Колхозить велосипед с такими знаниями на недоязыке это надо додуматься.
No. 15290    
>>15286

Разобрался я в проблеме. Решилось удалением всех кнопок на форме и рисованием новых кнопок. Оно глючилось потому, что я скопировал кнопку через копи-паст, и хотя я удалил ее, надо было удалить еще и оригинал.
No. 15291    
>>15286

А в том приложении разбираться неохота. Я и так аж два дня жизни потратил на Визуал Бейсик.
No. 15346    
Господа, хочу изучить pure C для общего развития (довольно давно учу java). Что порекомендуете?
No. 15350    
>>15346
K&R C.
No. 15351    
>>15346
Я бы порекомендовал начать с tutorialspoint.
У них есть и туториалы, и примеры, и online IDE.

Туториалы:
https://www.tutorialspoint.com/cprogramming/index.htm
https://www.tutorialspoint.com/c_standard_library/index.htm

Онлайн-компилятор:
https://www.tutorialspoint.com/compile_c_online.php
No. 15353    
Стоит ли изучать 2 языка одновременно? Не окажется ли это малоэффективно?
No. 15357    
>>15353
Ты говоришь о языках или о фреймворках/библиотеках?
Долго изучать вообще что-либо без цели вообще не следует.
No. 15361    
>>15353
Конкретизируйте, что вы хотите изучать вместе.
No. 15366    
>>15361
Рептилию и земноводное.
No. 15369    
>>15366
Python и Java?
Ну, эти языки конкурируют между собой в сфере бэкенда, поэтому мне кажется, что их совместное изучение будет выглядеть как "давайте два раза делать одно и то же, но по-разному". У питона считается более низким порог вхождения, я бы переключился на него. Алсо, зачем жаву мучать, когда есть скала.
No. 15370    
>>15366
>>15369
C другой стороны, если использовать их в разных сферах, например Java - для андройд-приложения, а Python+Django - для бэкенда апи этого приложения, то может получиться весьма продуктивно, ты будешь изучать языки в контексте разных сфер применения и в голове не будет мешаться каша.
No. 15371    
Файл: 148319260984.jpg-(99.54KB, 720×720, junior_developer_nagato_standby_9.jpg)
15371
Всех с наступающим Новым Годом!

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

Всем хорошего кода в Новом Году.
No. 15440    
Файл: 148430845996.jpg-(54.86KB, 388×475, 14644406816790.jpg)
15440
Всем добрый день. У меня есть просьба. Нужно написать корректный, работающий код на ассемблере NASM вычисляющий n-ое число фибоначчи и выводящий его в консоль. У меня были попытки сделать это, но отсутствие знаний и времени все определило. Почему? Наш немного конченый препод объявил, именно во время сессии что вы как бы должны были сами во всем разобраться и все понять, и что бы получить допуск к экзамену написание этого обязательное условие. Ассемблеру нас, собственно, никто не учил. 1 курс факультета прикладной математики. Выручайте работяги, вся надежда на вас. Желательно,что бы код компилировался в каком-нибудь ideon-e, дабы я мог без сильной ебли понять что к чему. Я буду очень очень сильно вам благодарен, если ответите на просьбу.
No. 15442    
>>15440
Я вижу что есть уже готовое решение:
http://stackoverflow.com/a/19220813

Подойдет?
No. 15443    
>>15442
Ну, там в коде вызывается процедура print, которую идеон не воспринимает. Вряд ли пройдет, но хоть что-то, спасибо. Конечно это понятно, что очень кончено проверять работоспособность кода в идеоне, но пока-что вот как то кривенько только так.
No. 15444    
>>15443
Еще вижу вот такой гист:
https://gist.github.com/cmr/3894436
No. 15445    
>>15444
там считает и выводит 7 первых чисел последовательности. Не прокатит.
No. 15446    
>>15445
Вот тебе еще:
https://montcs.bloomu.edu/~bobmon/Code/Asm.and.C/Asm.Nasm/fibonacci.shtml
No. 15447    
>>15446
Я наверное слишком уже надоел, но как это дело скомпилить в идеоне например?
No. 15448    
>>15447
Ну вот, например:
http://ideone.com/iqYSzF
No. 15449    
>>15448
Он наверное просто считает, или как?
Мне б желательно со вводом и выводом. Вот. Сейчас кину свой недокод, который не работает, но типа теоретически, правилен.
http://pastebin.com/V9F7NNs1
No. 15450    
>>15440
Под какую ОС? 32-битную или 64-битную?
No. 15451    
>>15450
под 64
No. 15452    
>>15449
Ух ты, DOS. На первый взгляд код кажется правильным, только надо загрузить адрес
buffer
в регистр
si
, объявить
buffer
в секции
.bss
и вообще объявить правильно секции и не забыть
org 100h
, см. http://www.nasm.us/doc/nasmdoc8.html#section-8.2.1. Для таких маленьких программ нет смысла использовать .EXE, потому что весь код и данные прекрасно умещаются и в .COM. Ключевое слово
offset
в NASM не нужно (потому что этот ассемблер и так использует адрес переменной, если явно квадратные скобки не написать). В твоём коде эти скобки нужны вокруг
n
.
No. 15453    
>>15452
Ух, сложно :(
Я написал его чисто теоретически, вообще не разбираясь в особенностях компиляции. Даже регистры 16-битные вроде. Я вроде пытался править его, как ты написал, но ideon все равно ругается.
No. 15454    
>>15452
Упс, я облажался с разметкой.
>>15451
> Даже регистры 16-битные вроде.
Под 64-битной виндой такой код только в DosBox и других эмуляторах работать будет. Если надо именно нативный 64-битный код, то конвертировать строки в числа и обратно своим кодом необязательно, можно вызвать StrToInt и wsprintf.
No. 15455    
>>15451
Есть читерский способ: пишешь эту программу на C, ставишь MinGW и objconv, конвертируешь её из C в NASM с помощью https://github.com/diogovk/c2nasm.
No. 15456    
Файл: 148439521719.png-(243.15KB, 1920×1200, Konachan_com - 9581 izumi_konata lucky_star stars.png)
15456
>>15443
> Ну, там в коде вызывается процедура print, которую идеон не воспринимает.
Не «идеон не воспринимает», а предполагается что ты её реализуешь самостоятельно, под ту платформу, на которой будешь запускать скомпилированное.

Назови OS на которой сидишь, хотя бы. Идеон сразу в печку. Да, я понимаю, голый nasm из коробки трудно заставить выдать хоть что–нибудь. Попробуй https://sourceforge.net/projects/nasmx/ например — там есть заголовочные файлы, макросы и демки в комплекте.
No. 15457    
>>15456
под рукой 10 винда, так же есть mint кривенький и кубунта у соседа.
No. 15470    
Как научиться писать однострочники на Perl?
No. 15473    
>>15470
Вот ссылка на первую часть материала по этой теме:
http://www.catonmat.net/blog/perl-one-liners-explained-part-one/
No. 15474    
>>15470
http://learn.perl.org/books/
No. 15481    
Язык JS.
Есть строка, и в ней нужно заменить несколько подстрок на другие, но сделать это параллельно, а не последовательно применять замену к результату предыдущей.
Например, есть строка ABAB, правила замены такие:
A -> B
B -> A
Соответственно, ожидаемый результат будет ABAB -> BABA.
Делаем в лоб:
'ABAB'.replace(/A/g, 'B').replace(/B/g, 'A');
После первого реплейса будет BBBB, затем AAAA, вместо нужного BABA.
Это частный случай, где мы просто меняем вхождения местами, и регуляркой прокатило бы сделать что-то вроде 'ABAB'.replace(/(A)(B)/g, $2$1). Но в общем мы заменяем что угодно на что угодно. Еще пример:
A -> BC
B -> C
C -> DA
Нужно:
ABBC -> BCCCDA
Не нужно:
ABBC.replace(A, BC).replace(B, C).replace(C, DA)
ABBC -> BCBBC -> CCCCC -> DADADADADA
Правила замены даны в массиве:
[{from: 'A', to: 'BC'}, {from: 'B', to: 'C'}, ...]
No. 15482    
помогите, я все со своим же ассемблером. Вроде поправил но чет не работает.
http://ideone.com/2EFMZP
No. 15483    
>>15481
Ну, тебе надо просто прокрутить строку как массив, в цикле, матча то что попадает под замену и записывая результат в новую строку. Достучаться до нужного символа в строке можно с помощью метода .charAt(i)
No. 15484    
>>15482
>int 21h
>int 80h
DOS?
No. 15485    
>>15482
Не компилируется оно у тебя в этой строке:
mov n, eax

Насколько говорит мануал по NASM, нужно:
mov [n], eax


Далее, не уверен что тебе надо использовать int 21h в ideone.
Я вижу, что в примерах у них используется int 80h при вводе-выводе.
No. 15486    
Файл: 148469387864.jpg-(196.04KB, 750×750, 1483110458421.jpg)
15486
>>15485
http://ideone.com/vNJVCN
успешно выполняет, но ничего не считает:(
No. 15487    
Файл: 148473036851.png-(489.38KB, 1920×1200, Konachan_com - 34693 cat_smile izumi_konata lucky_.png)
15487
>> 15486
Э–э–э, нет, так это не работает.
В MS-DOS свой набор апишек:
http://www.codenet.ru/progr/dos/int_0026.php

Ideon же компиляет–запускает под линуксом (судя по всему), там другое соглашение вызова, и совсем уж другие функции:
http://syscalls.kernelgrok.com/

Просто замена «int 0x21» на «int 0x80» не даст тебе ничего.

Я конечно уже ничего не помню %и вообще, это было давно и неправда,% но вот пример вывода на Идеоне:
https://ideone.com/fj29m8

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

Если ты не понимаешь как функционирует досовский исходник, лучше сразу выбрось и пиши с нуля. Для начала, хотя бы псевдокодом.

Представь, что ты прочёл статью про числа Фибоначчи на вики и теперь объясняешь первокласснику Васяну как вычислить n–ный элемент последовательности. При том, Васян не знает что такое «последовательность» и прочее, но умеет складывать–вычитать–перемножать–делить (продвинутый такой первоклассник) и сохранять результат на бумажку.
No. 15496    
Файл: 148486991422.png-(276.20KB, 704×396, kagamin.png)
15496
>>15440
>>15482
>>15486
Ох, я очень надеюсь что это тебе еще актуально.
Я написал тебе эту штуку: http://ideone.com/pZH3jv

Она принимает индекс нужного члена последовательности в стэк, и выводит в консоль (из регистра eax).

В примере мы пушаем число 13 (14й член, он должен быть 377)

И получаем:

Success    time: 0 memory: 156 signal:0
0000000377

Собственно это видно прямо на странице, в секции stdout
Т.е. всё ок, считает корректно.

Чтобы поменять параметр, нажми fork, нажми edit, пушни номер другого члена.

Обязательно учти, что тут используется всё линуксовое.
Алсо посмотри, как сделан вывод интового числа на экран.
Ты делал похожее, но по-досовски.
No. 15508    
Файл: 14849966538.jpg-(396.49KB, 1920×1080, b23bf587009f7342d43cb9cc0f057a30.jpg)
15508
Утро доброе! Объясните новичку пожалуйста, в чем разница между

<body onload="doStuff()">


и тега
<script>
сразу после
<body>
вот так:

<body>

  <script>doStuff()</script>
  ...
</body>


Заранее спасибо.
No. 15509    
Файл: 148499927540.jpg-(634.34KB, 932×978, 1328132954645.jpg)
15509
>>15496
Ой, спасибо тебе большое, ты меня выручил.
Да и вообще всем спасибо за помощь, без вас бы я вообще ни в чем не разобрался.
No. 15510    
>>15508
В первом варианте скрипт выполнится только после загрузки всей страницы, а во втором - сразу.
No. 15511    
>>15509
>>15510
Точнее, в первом случае код выполнится когда произойдет событие load, а это будет, когда загрузится страница и все её ресурсы, включая картинки, что может быть не очень удобно.

Во втором случае код выполнится когда до него доберется интерпретатор. Т.е. имеет значение где в документе размещен тег script. В твоем случае скрипт обработается и выполнится сразу после открытия тэга body, а значит что ожидаемого тобой он скорее всего не сделает Обычно, если нужны только элементы разметки, то скрипт оставляют внизу страницы, чтобы на момент его вызова элементы с которыми он работает были уже в DOM. Если они статичные, конечно.

Еще момент выполнения скрипта можно отложить до окончания загрузки через аттрибут defer, но он работает как говно, проще самому построить скрипт с учетом своей страницы
No. 15512    
>>15511
Спасибо.

>скрипт обработается и выполнится сразу после открытия тэга body, а значит что ожидаемого тобой он скорее всего не сделает
Я хочу проверить url перед отображением контента и, возможно, сделать редирект, поэтому как раз нужный эффект получается во втором случае. С onload у меня иногда мельтишит страница при загрузке (успевает отрендерить перед редиректом).
No. 15513    
>>15496
Можешь чуть чуть пояснить за код? Там конечно комменты, но все же для меня еще много непонятного.
Например мы кладем наш индекс числа в стек сразу, но после него мы еще кладем в стек значения регистров. Не могу понять когда мы его от туда извлекаем:(
Еще бы за число 12 в 29 строчке. Да за число 11 в 74
No. 15514    
Файл: 148502529878.jpg-(55.71KB, 600×338, kagamin.jpg)
15514
>>15513
Надеюсь, получится объяснить внятно.

>Например мы кладем наш индекс числа в стек сразу, но после него мы еще кладем в стек значения регистров.
Всё гораздо веселее, читаем: http://www.nasm.us/doc/nasmdoc9.html#section-9.1.2

>>The caller pushes the function's parameters on the stack, one after another...
Это наше
push 13


>>The caller then executes a near CALL instruction to pass control to the callee...
Это наше
call fibo


Т.е. мы действуем по книжке, положив наш индекс элемента последовательности фиббоначчи (13) так, как будто это параметр для fibo

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

Мануал просит сохранять прошлое значение ebp.
Затем мануал говорит, что раз мы это сохранили и никому не мешаем, то теперь мы можем положить указатель на стек (esp) в ebp, чтобы использовать ebp как базовый указатель для поиска параметров с которыми мы вызвали функцию по стеку (мы ж в стек всё положили, теперь надо доставать).

Т.е. ebp это не просто регистр, а указатель на стек фрейм.
Что такое стек фрейм: http://stackoverflow.com/a/10057535
Собственно, поскольку такой финт с использованием ebp делают почти все, мануал и просит нас сначала его сохранить

>не могу понять когда мы его оттуда извлекаем

28:    mov ebp,esp     ; сделали ebp указателем на стек фрейм
29:    add ebp,12      ; сместились
30:    mov ebx,[ebp]   ; извлекли

Прямо здесь.
Чуть выше по коду видно, что мы еще пихаем в стек прошлое значение параметра, внутри функции у нас параметр складывается в ebx, поэтому схороняем мы ebx

>число 12 в 29 строчке
Это смещение вглубь по стек фрейму, чтобы получить наконец-то параметр с которым мы вызвали функцию
Почему 12, видно в этом читщите: https://www.cs.uaf.edu/2005/fall/cs301/support/x86/nasm.html
Или в мануале в начале поста.
Базово аргументы которые мы пихнули перед вызовом начинаются с 12го байта от начала фрейма

>число 11 в 74

73:    mov ecx, outbuffer
74:    mov edx, 11
75:    call write

Читаем комменты к write:

88:    ;move what to write to ecx
89:    ;move length to edx

11 - это длина нашего вывода в байтах, а мы выводим outbuffer, он 10 нулей и терминатор. Соответственно, 11 байт. Пихаем мы их именно в эти регистры тоже по книжке, так требует линуксовый системный вызов. Еще раз напомню, что если ты это запустишь в DOS-среде, то тебя ждёт жгучий провал
No. 15518    
Файл: 148509887929.jpg-(21.02KB, 300×335, 1305046921144.jpg)
15518
Здравствуйте, тут к вам отослали:
быстровопрос: я пишу программу в MPLABX 2.3, на С, (знаю, что портит код, но для прототипирования сойдет). Однако один кусок, критичный ко времени, надо переписать на асм. Проблема в том, что я не могу передать сишную переменную асму:
if (INDF & b6) asm("incf temp1,f");
else asm("decf _temp1,f");
Переменная ранее была объявлена в теле этой процедуры, причем как volatile.
Компилятор тупо не видит оба варианта, доку на С для мплаба читал, там написан первый вариант, тут
https://www.codeproject.com/Questions/227720/inline-assembly-in-mplab
тоже первый вариант. ЧЯДНТ?
Ах да, С для pic16, если это поможет. Сейчас там temp1 += 1; но это 2 команды, хотелось бы 1.
No. 15521    
>>15518
Я не очень в этом разбираюсь, но я вижу такое:

asm("incf temp1,f");

Тут ты забыл обратиться к temp1 через подчеркивание из ассемблера, надо

asm("incf _temp1, f")

Но это ты скорее всего просто опечатался, когда копипастил сюда, плохо что не прислал живой код

Второе. Ты пишешь:
>Переменная ранее была объявлена в теле этой процедуры, причем как volatile.
>в теле этой процедуры
Хоть вот этот мануал http://ww1.microchip.com/downloads/en/DeviceDoc/50002053F.pdf напрямую такого и не требует, но и в их примере, и в мануалах для других чипов указано, что у переменной к которой хочется обратиться из ассемблера должен быть глобальный скоуп. Проверь, твой инлайн-ассемблер может достучаться до глобальной сишной переменной, или нет?
No. 15525    
Файл: 148515611535.jpg-(549.62KB, 1185×1572, tmp_8315-Cirno_full_1392705-836206090.jpg)
15525
У меня появилась гениальная идея, как писать на разных языках в рамках одной программы!
Можно определить некий стандартный формат обмена в рамках одной программы, а программные модули на своих языках будут обмениваться информацией в заданном формате!
А теперь вопрос - почему никто не додумался до такой гениальной идеи раньше?
No. 15527    
>>15525
google: lisp marcos, eDSL и даже SmallTalk
No. 15528    
Ребята, я идиот, помогите мне пожалуйста прилинковать .a библиотеку к проекту. Собирается все с помощью g++, простой командой в консольке без использования cmake и подобных.

Мне нужно вот этим воспользоваться https://github.com/SRombauts/SQLiteCpp. Я не могу осилить стандартный си интерфейс sqlite, там какой-то ужас нечеловеческий.

Я правда не понял что да как, запустил скрипт build.sh, а потом в ./build нашел SQLiteCpp.a, вот и думаю что это то что мне нужно, но как его прилинковать?

Пробовал -static -la путь/до/SQLiteCpp.a, но тогда отваливаются все остальные подключенные библиотеки, которые установлены через пакетный менеджер.
No. 15529    
>>15525
Потому что никому не нyжно писать на разных языках в рамках одной программы. Сырно!
No. 15534    
>>15528
>Собирается все с помощью g++, простой командой в консольке без использования cmake и подобных.
Внутри build.sh же вызывается cmake.
Алсо, на гитхабе все примеры тоже с использованием cmake.

Алсо, вот же есть стендэлоун экзампл где показано как всё скручивается:
https://github.com/SRombauts/SQLiteCpp_Example
No. 15535    
>>15521
>Тут ты забыл обратиться к temp1 через подчеркивание из ассемблера, надо
Там было 2 варианта для теста, оба не видел. Но не суть - в общем, да, достаточно было перенести объявление переменной из процедуры в глобальные объявления, и все скомпилилось. И вроде ж читал на 2 раза этот мануал...
Тем не менее, спасибо.
No. 15536    
>>15525
А чем тебя, например, ZMQ не устраивает?
Да и даже в рамках одной программы не редко используют Сишный платформозависимый calling convention для связи модулей написанных хоть на Си, хоть на асме, хоть на Джаве, хоть на Го, хоть на lua, хоть еще на куче языков.
No. 15542    
>>15534
>Внутри build.sh же вызывается cmake.
Я думал что build.sh, это чтобы собрать эту библиотеку. А потом уже остается прилинковать её, подключить заголовочные файлы и радоваться. Но видимо не все так просто.

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

Порылся еще немного в директории build. Нашел объектные файлы, слинковал из них .so библиотеку и подкинул полный пудь до нее gcc. Так работает.
No. 15550    
>>15528
> -static -la путь/до/SQLiteCpp.a
Не нужно, достаточно просто последним аргументом указать путь/до/SQLiteCpp.a. Ключ "-l" - для поиска в списке стандартных путей. В этот список можно добавить путь с помощью "-L". "-static" нужен для полностью статичной компоновки, чтобы бинарник не содержал зависимостей от любых .so вообще.
No. 15551    
Ребята, есть один пример кода: https://github.com/swarmsim/swarm
Как в нём менять отображающийся текст, чтобы вмесвто ларвы были фунгусы, например%%, если я не знаю ничего кроме как немного хтмл+цсс и мизера из пхп и виндусовских, батных команд?
No. 15554    
>>15550
О, спасибо. Так тоже работает.
No. 15558    
>>15551
Через такой вот CSS на 1 апреля меняли на котят: https://github.com/swarmsim/swarm/blob/master/app/static/kittens.css.
No. 15559    
Есть код.

#!/usr/bin/perl

use v5.14;
use strict;

my $ayy;
$ayy = "LMAO";
say $ayy;
for (split (//, substr($ayy, 1))) {
        say $_;
}


Я хочу split и substr (или только substr) поменять на регулярное выражение.
Как я могу это сделать?
No. 15561    
>>15559
while($ayy =~ m/(?!^\w)(\w)/g) {

    print $1, "\n";

}

No. 15562    
>>15561
А в for такое можно организовать?
No. 15572    
Взялся на досуге изучать SQL. Подскажите, где в сети можно найти готовые базы данных для тренировки?
No. 15573    
>>15572
google -> "sql example db"
В интернете сотни туториалов по sql, выбирай любой, к нему почти наверняка будет приложена БД. От себя могу посоветовать
https://stepik.org/course/Погружение-в-СУБД-157
No. 15575    
>>15562
say for $ayy =~ m/(?!^)./gs

No. 15579    
Помогите с metaballs. Не могу подобрать правильную функцию, которая от суммы расстояний выдает яркость? чтобы при этом не тормозило. Нужно чтобы яркость 100 была, если точка находится внутри радиуса шара, и 0, если расстояние от всех шаров больше радиус_шара + 100.
В скетче тыкаем на канве мышкой, добавляется метабол.
https://p5ide.herokuapp.com/editor#?sketch=588a92e4809b020400a9e53b
No. 15587    
>>15575
Спасибо
No. 15590    
>>15579

Как-то ты не по-русски написал, но код достаточно понятен. Предлагаю dist возводить в квадрат или в куб, чтобы градиенты были более выраженными (если хочешь).

Лучший вариант такой: высчитывать яркость вокруг каждого шара в нескольких точках, а потом интерполировать бикубически (использовать только соседние точки для вычисления градиента). Таким образом число вычислений на каждый кадр будет O(пиксели+шары), а не O(пиксели*шары).

Кроме того, точки можно выбирать случайно, и в интерполяции использовать предыдущие сохранённые кадры.
No. 15595    
В Перле есть условные замены? Например, при шаблоне /^([a-z])([a-z]).*/ я хочу, чтобы первая группа заменялась по правилу [z-a], а вторая по правилу [A-Z]. Такое возможно?
No. 15596    
>>15595 Поясни, что ты хочешь.
No. 15597    
>>15596
ВыделатьсяНаписать одним регексом конвертер арабских чисел в римские.
No. 15602    
>>15597
Можешь сделать /e, например.
No. 15604    
>>15602
И в самом деле.
Вот что получилось:

#!/usr/bin/perl

use v5.14;

$a = <>;
$a = reverse $a;
$a =~ s{(\d)(\d)?(\d)?([0-3])?}
       {("M" x $4) .
        (($3 == 9) ? "CM" :
                     (($3 > 4) ? ("D" . ("C" x ($3 - 5))) :
                                 (($3 == 4) ? ("CD") : ("C" x $3)))) .

        (($2 == 9) ? "XC" :
                     (($2 > 4) ? ("L" . ("X" x ($2 - 5))) :
                                 (($2 == 4) ? ("XL") : ("X" x $2)))) .

        (($1 == 9) ? "IX" :
                     (($1 > 4) ? ("V" . ("I" x ($1 - 5))) :
                                 (($1 == 4) ? ("IV") : ("I" x $1)))) }ex;

say ($a);

Было бы неплохо понять, как поменять порядок обработки шаблона (на справа налево), чтобы можно было без реверса работать.
No. 15605    
Посмотрел на ютубе видео по цепям Маркова https://youtu.be/eGFJ8vugIWA , накодил такой же скрипт на Питоне, скормил ему пасту, но на выходе получается годный текст только для генерирования капчи, что ожидаемо от такого простого алгоритма.
Как бы написать простенький ИИ для генерации более-менее осмысленных предложений? Стихов например или копипаст. Что для этого используется? Нейронные сети, какие? Генетический алгоритм? Для чего еще годны цепи Маркова?
No. 15613    
>>15604

Йо, а перл твой основной инструмент. Программируешь за деньги?
No. 15614    
>>15558
Спасибо.
No. 15617    
Файл: 148597565585.gif-(218.35KB, 340×324, 1452801801308.gif)
15617
>>15613
С чего бы тебе так считать? Я Перл только недавно учить стал.
No. 15618    
>>15617
предположил.

Но если вдруг захочешь денег, в интернете есть вакашки в ДС, берут кого угодно, так как перл программистов нету
No. 15619    
>>15618
Ммм, пойти за копейки месить ископаемый код, чтобы через год тебя вместе с легаси системой выкинули на помоечку, после чего видеть, как на собеседованиях люди подавляют смешки, когда ты рассказываешь про свой опыт. Не предложение - мечта!
No. 15622    
>>15604
>чтобы можно было без реверса работать
Ты _можешь_ написать кастомный движок регулярки.
Но проще реверсить или sprintf "%0${4}d", $a;
No. 15625    
Посоветуйте пожалуйста годной литературы про разработку больших и сложных проектов.
No. 15626    
>>15625
Настолько размытый запрос, что посоветовать можно разве что Макконела для общего развития.
No. 15627    
>>15626
Спасибо! Примерно такое мне и было нужно.
No. 15638    
Не знаю, кеуда ещё писать, а искать глазки щиплет.

После выхода из приложения изображение стало едко ярким, в настройках нвидии в разделе настроек рабочего стола пункт управления от нвидиа не включается, системные настройки ничего не меняют. фейлвин 8.1
Нет, без переустановки и перезагрузки есть варианты решения?
No. 15639    
>>15638
> Не знаю, кеуда ещё писать
В /s/. В диспетчере устройств попробуй "отключить и включить" видеокарту, перезапустив таким образом её драйвер.
No. 15640    
>>15638

https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU
В архиве есть restart(64).exe, он-то и нужен тебе.

Скорее всего что-то с VCGT, перезапуск её сбросит. Если нет, глянь настройки видеочипа (есть много настроек изображения).

>>15639

Не поможет.
No. 15641    
Файл: 148633703174.jpg-(72.64KB, 480×480, 1334157573031.jpg)
15641
Стив, помоги разобраться в градиентном спуске.
> Как влияет изменение размера шага?
На что кроме скорости и точности? На них же влияет?
> Что лучше - большой размер шага или маленький?
Если слишком большой то будет не точно, если слишком маленький то долго, так? Так как выбрать?
> Важно ли начальное значение тета?
Как его выбирать? Я ставлю рандомно, но чую что должна быть какая-то магия.
> Что лучше, иметь больше или меньше данных в обучающем наборе?
Если тренируется что-то очень простое то чем больше, тем лучше? А если функция сложная, то есть риск перетренировать.
> Что будет если добавить шум методом наименьшего градиента?
Точечки рассеялись, но почему-то очень.. искусственно, у начала графика функции лежат плотно, а к концу постепенно плавно расходятся, наверное где-то ошибся.
> На что влияет сложность функции стоимости метода наименьшего градиента?
К-кроме скорости?
> На что влияет нормализация в методе наименьшего градиента?
Нормализация сгладила рассеивание точек и вроде помогает с переобучением, а что еще?
No. 15649    
>>15641
К сожалению, я не могу ответить на все твои вопросы, но могу помочь с двумя.
Давай посмотрим на реализацию алгоритма на питоне:
https://en.wikipedia.org/wiki/Gradient_descent#Python

>The gradient descent algorithm is applied to find a local minimum of the function f(x)=x4−3x3+2, with derivative f'(x)=4x3−9x2

Как видно из примера:
>> Как влияет изменение размера шага?
>На что кроме скорости и точности? На них же влияет?
Тут видно, что изменение размера шага повлияет только на количество итераций и на значение x_new. Т.е. да, скорость и точность итогового значения. precision тут задается отдельно, но она здесь только условие выхода из цикла Если бы мы собирали промежуточные результаты, повлияло бы еще и на количество результатов.

>Если слишком большой то будет не точно, если слишком маленький то долго, так? Так как выбрать?
Врядли у тебя такая сложная функция, или такое количество итераций, что это становится проблемой для твоего процессора, но да. Еще если большой шаг, будет мало данных, если маленький, будет много данных.

В этих примерах используют шаг 0.001, вот такой шаг тебе подойдет?
No. 15650    
>>15649
Спасибо, я как-то так и думал и тоже пришел к тому что стоит разобрать чью-то реализацию. Но я бы хотел лучше понимать что я пишу, так что остается еще много вопросов по теории. Надеюсь, со мной ничего не случится если я начну читать книги по теме, я слышал что люди начинают смотреть меньше рисованных девочек в интернете...
No. 15653    
Стив, посоветуй мне работоспособный форк кусабы Х.
No. 15654    
Файл: 14865989391.png-(460.26KB, 712×654, Screenshot_2017-02-09-01-52-01-284_com_android_bro.png)
15654
>>15653
Инстант.
No. 15659    
>>15654
И чем же он так хорош? Зачем мне доски 2.0?
No. 15660    
>>15659
Он работает, есть перделки, каталог на Ангуляре и живое комьюнити, если можно так сказать, лол.
No. 15662    
>>15660
Зачем ему каталог на ангуляре, когда голым жиквери можно уложиться в 30 строк?
И когда я его ставил, там была пара синтаксических ошибок в скриптах, пришлось ручками править.
No. 15664    
>>15662
Потому что он не хотел Жукверь, а Ангуляр — новый локальный мем.
Написал бы хоть ему. Там от Кусабы какие-то нерабочие с новым Пехопе костыли были.
No. 15665    
>>15662
>>15664
Ребят, а можете запустить на локалке анонсабу, которую я случайно нашел. https://github.com/grumpy-anonsaba/Anonsaba-Legacy

А то, у меня почему-то он не устанавливается. Пишет, что ищет конфиг, и этот поиск он осуществляет до бесконечности.
No. 15669    
Файл: 148673279859.png-(804.52KB, 1280×720, 1419959214456.png)
15669
Бамплимит.
Скоро я отклею эту нить и перенесу её в архив, так что думайте над запилом новой.
No. 15682    
>>14160
>>15669
Сделали новую нить:
>>/dev/15681

Закрепите её, вместо этой, пожалуйста.
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]

Удалить сообщение []
Пароль  
[Mod]