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

Пополняемая база знаний: http://pastebin.com/AGhLZppH

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

Другие тематические нити (периодически обновляется): https://pastebin.com/psy43ibG

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

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

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

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

Архив нитей:
http://410chan.org/dev/arch/res/14160.html
http://410chan.org/dev/arch/res/15681.html
http://410chan.org/dev/arch/res/17424.html

Прошлая нить пока тонет тут: >>/dev/17424
Развернуть все изображения
No. 19667    
>>19666
В процессе систематизация прошлой нити для пополнения базы знаний.
No. 19679    
Некоторая обобщенная информация из прошлой нити:

>Хочу литературу по архитектуре компьютерных игр
>>/dev/17571

>Хочу написать клон Picross (Nonogram) с использованием xamarin
>>/dev/17597

>Хочу альтернативу фреймворку MongoGame
>>/dev/17623

>Видеоматериалы для обучения Python
>>/dev/17661

>Хочу отзеркалить изображение с веб-камеры
>>/dev/17892
>>/dev/17895

>Тяжело ли искать местро трудоустройства программисту?
>>/dev/18085
>>/dev/18086

>Хочу узнать как были написаны классические игры (крестики-нолики, змейка, етц)
>>/dev/18114
>>/dev/18143
>>/dev/18144
>>/dev/18145

>Хочу научить ИИ проходить ПакМан
>>/dev/18160

>Расскажите про прерывания
>>/dev/18390
>>/dev/18393

>Помогите начать работать с БД
>>/dev/18418
>>/dev/18421
>>/dev/18422
>>/dev/18432

>Расскажите что такое load balancer
>>/dev/18466

>Подскажите упражнения для front-end разработчика
>>/dev/18880
No. 19687    
Хочу сделать парсер для одного довольно старого сайта, которых хранит в себе электронные дневники людей, нет, не школьные, а обычные, как блоги, http://www.diary.ru/ что бы можно было удобно искать нужные тебе записи по ключевым словам, потому что там крайне ущербная навигация, есть только циферки внизу, по которым можно подгружать новые страницы, а строки поиска там нет в принципе, \
интерфейс напоминает старые имиджбордовые движки без куклоскрипта,
как вообшще можно сделать такой парсер и каков будет принцип его работы?
Сначала в какой-то отдельный текстовый файл скачивается весь дневник, а потом в нем происходит поиск и переадресация на нужную страницу?
На чем лучше такое писать и какая должна быть архитектура приложения?
No. 19688    
>>19687

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

Первое решение, самое простое и ленивое для достижения твоей цели - завести google custom search для этого ресурса, если это еще можно. Альтернативно, просто воспользоваться встроенными инструментами поиска гугла, и совершать поиск, добавив инструкцию site:myawesomediarysite.ru и возможно дополнительно inurl:myauthorurl

Ссылки по этой теме:
https://bynd.com/news-ideas/google-advanced-search-comprehensive-list-google-search-operators/
https://support.google.com/websearch/answer/2466433?hl=en

Теперь второе решение - реализация приложения, которое ты задумал.

>Как вообшще можно сделать такой парсер и каков будет принцип его работы?

Тут ты начинаешь строить гугл в миниатюре.
В лоб эти приложения строятся таким образом:
  • Берется движок / фреймворк для полнотекстового поиска, на целевом языке
  • Потом пишется код для импорта этой информации, где средствами этого движка / фреймворка составляются индексы по ключевым словам и складываются в хранилище, например в бд
  • Потом пишется код, который позволяет тебе запускать поисковый запрос по этой информации и показывать результаты в нужном виде, например выдержка из текста и ссылка на запись
  • Потом, по желанию, ты приделываешь любой удобный тебе интерфейс, который позволит тебе запускать этот поиск и работать с результатами. Это может быть простая веб-страничка с полем для ввода запроса и местом для вывода результатов.
>На чем лучше такое писать и какая должна быть архитектура приложения?
Писать лучше на том, с чем лучше всего знаком. Если мало знаком со всем, попробуй написать на NodeJS, т.к. хотя бы будешь и фронтэнд и бэкенд свой реализовывать на одном языке

Воркфлоу у тебя получится примерно такой:
Интерфейс --> Контроллер поиска --> Поисковый Фреймворк --> Хранилище

Но я бы всё таки попробовал сначала инструменты гуглопоиска.
No. 19690    
>>19687
Очевидно, нужно парсить хтмл перловыми регулярками.
No. 19701    
>>19688
Спасибо за такой подробный ответ. Буду пробовать и то и другое.
Из всех ЯП я лучше всего знаю Java (SE), именно на ней я бы реализовал бэкенд,не знаю правда какой фреймворк использовать для работы с текстом, не посоветуешь какой-нибудь?,
а интерфейс уже можно на чем угодно написать..
Так что наверно бэк - Java, БД - MySQL, фронтенд - что-нибудь,

>>19690
ох, надеюсь нет, вообще не представляю, как можно нормально знать регулярки, если конечно ты не работаешь с ними каждый божий день
No. 19702    
На реплику >>19690 рекомендую вообще не обращать внимания, так как это либо троллинг, либо просто шуточный невѣрный отвѣтъ, основанный на появлении мема «Залго» в отклике https://stackoverflow.com/a/1732454 на сайте StackOverflow.
No. 19703    
>>19702
Нет ничего плохого в парсинге регулярками если иметь голову на плечах.

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

Хватит тащить в конкретные прикладные задачи идеологическую чепуху.
No. 19704    
>>19703
А почему нельзя взять какой-нибудь specflow и selenium.webdriver, да написать простейшие ui-тесты которые просто и понятно будут делать все что ты захочешь?
No. 19705    
>>19704
Потому что использовать веб-драйвер для парсинга - оверкилл, если все данные доступны на статичной страничке.
Но как отрисовывает diary.ru я не смотрел, да.
No. 19711    
>>19701
>не знаю правда какой фреймворк использовать для работы с текстом, не посоветуешь какой-нибудь?
Конечно посоветую. Мне в своё время очень понравился Jaunt: http://jaunt-api.com/

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

Правда, помни, что
>Jaunt is the ideal tool when Javascript support is not required
Так что жаваскрипт он тебе не эвалюирует. Но вроде, в твоем случае это и не нужно, верно?
No. 19740    
152527207256.png-(27.61KB, 597×478, cc5x.png)
19740
Извините, что влезаю со своей мелочью, но такой вопрос: вот есть компилятор cc5x для PIC микроконтроллеров, на его оффсайте заявлена поддержка MPLABX, надо только плагин поставить. Только вот планига нет, в репозитории плагинов пусто. Ни для 2.35, ни для 3.х. Не, добавить сторонний компилятор можно и вручную, только будет такая фигня, как на рисунке - среда просто не видит объявления имен из файлов компилятора и все. То есть, IDE нормально компилирует программы для разных микроконтроллеров, все ок, только вот выделение конкретно достает, так как настоящих ошибок не видно. Может быть кто-то знает, что с этим сделать можно, а то информации про cc5x как то уж слишком мало. Или хотя бы показать, куда пойти спросить.
No. 19742    
>>19740
Почему не XC8/XC16? Объявления <p18xxxxx.h> точно есть в инклудах?
No. 19749    
>>19742
XC8 заметно портит код (бесплатный вариант), точнее, сильнее, чем cc5x. На всякий, на асм'е писать могу, просто для неответственных задач это долго, читабельность старого кода так себе и тд. Header конечно же объявлен, иначе уже компилятор начал бы ругаться на необъявленные символы.
Сейчас подумал, header нужно прописывать с путем, что немного странно, так как при добавлении компилятора я указываю пути, IDE типа в этих путях не ищет? Попробую посмотреть настройки путей поиска, хотя сомнительно, что поможет.
No. 19754    
>>19740
Ты просто не дочитал. Плагины есть, только представлены они в виде исходников, которые надо собрать самому:

В файле
>http://www.bknd.com/files/mplabx-i.txt
Лежит ссылка на
https://github.com/mc6pac/toolchainCC5X
>CC5X from v3.5D
>MPLABX from v3.40

По связыванию через добавление стороннего компилятора у них лежит другой гайд: http://www.bknd.com/files/mplabx-p.txt
No. 19759    
>>19754
Да, конечно, я видел этот гит, но я решил, что он заброшен, так как не нашел там нормального гайда, что делать с файлами (ну, я все-таки электронщик и "лоу-левел" программист, в компиляции программ на этих ваших явах я не очень).

А вот про тайпдефы из гайда про дженерик плагин недочитал, да. Собственно, сейчас cc5x через дженерик плагин и стоит. Попробовал скопипастить их в тект программы, добавлял через #include внешний файл, и все равно среда не видит объявлений.
No. 19760    
Есть ли причины использовать Hg вместо git, в 2018?
No. 19762    
Привет.
Вопрос: является ли в 2018 году Джанго хорошим выбором для получения первой работы программистом? (ниже подробности)

Я начал изучать Джанго именно с целью зарабатывать в дальшейшем программированием, и меня постоянно мучает вопрос: правильно ли я выбрал? Не трачу ли я силы на умение, не пользующееся спросом? Да, хэдхантер выдаёт результат по запросу Django, но выдача не даёт понимания того, как сложно найти работу. Выбрал Питон-фреймворк, потому что был до этого знаком с Питоном на любительском уровне.

Если в моём вопросе видно, например, наивность, или непонимание «как всё устроено», то будет здорово, если укажете что не так, объясните или поправите.
No. 19763    
>>19762
Расскажу тут историю, если ты не против.

Три или четыре года назад, решил серьезно заняться кодингом и начал аналогично метаться: языки, фреймворки, вакансии.
Путь мой, конечно, начинался с php. Но там и с языком пиздец, если писать что то больше простой странички и с фреймворками такой же, да и из работы либо веб студии, либо допиливание/исправление старого говна.

Начал смотреть на nodejs, посмотрел туторы, тогда был модным express. Сколько же я плевался от синтаксиса. Js такое же говно если писать что то сложнее мелких скриптов на сайте. Создаешь лапшу из колбеков, тогда для меня вообще было дикостью, объявлять функцию в аргументе функции и она тянется вниз и сиди разбирай эти скобки.
Более всего нравилось в самом низу страницы такая хрень "}))));". Сейчас с синтаксисом там полегче, но все равно видно, что это блять костыли.

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

Потом я ебанулся в край, решил заняться Perl в 2014 или 2015 то. Не знаю откуда такая идея появилась ебнуло и все. Но зато ебнуло правильно, что изучать надо не как на пхп макакать что то, а книги открыть, концепции языка узнать, фичи. Прочитал я 2 книги по нему начальный с верблюдом и углубленное с ламой там есть смешнявки на эту тему в книгах. Было полезно, сейчас до сих пор юзаю когда надо с текстом поколдовать или регулярки потестить, но не более, хотя Пайтон лучше наверное зайдет для этого.

Ну и гуглю язык, чтобы на Си было похоже, чтобы ооп костыльно-ебаного не было, чтобы можно было процедурщину ебошить и красиво чтобы, а не как в си есть у меня друг, который всё на си ебошит и сайты и микрухи, что не предложи сделать ответ очивидный - Си!. Нашел я таким образом Go. Понравилось всё, компилируемый, мусор собирает, строгая типизация, встроенная либа жирная всё есть, go get любой хуйни с гитхаба, ООП местный которого там нет понял с пол пинка, а не как эти годичные осиляторства классического джава ООП. Идеально и веб можно ебошить, и утилиты себе на линупс.

Открываю, значит hh, в фильтрах мой мухосранский миллионик, вбиваю в поиск Golang. В выдаче - нихуя. Окей, пишу Go в строке, две вакансии. Ура - первая танцовщица GoGo, вторая с машинками связана. Ну вот это заебись, вот это мне фортит.
Ну я и решил, чтобы все шли нахуй. Купил книгу по го та что с оленем, вторую скачал, которая с мостом красным. Прочитал за три месяца, изучил концепции, наваял пару прог, утилиты да браузерку на web сокетах.

Заключение:
А нихуя ещё не понятно чем кончилось, вроде и работа есть теперь пишу периодически на гошке, деньги есть, вакансий куча появилось, уровень ЗП гораздо выше чем пхп макака. В общем развиваюсь дальше, тестирование осилил недавно.
Да и вакансии все на свежие проекты, без допиливания древнего говна.

Кароч забивай хуй и качайся в том что нравится, без работы не останешься, а знания питона, вроде как классно. Можно и машин лернинг и дэйта саенс пилить.
Где то на Хабре было, чувак писал про свои 20-25, что он метался, чем заняться, что выбрать, как угадать. Ощущение, что куда то не успел и поезд уже ушел.
На самом деле все ещё только создаётся.
No. 19764    
>>19759
>Да, конечно, я видел этот гит, но я решил, что он заброшен, так как не нашел там нормального гайда, что делать с файлами (ну, я все-таки электронщик и "лоу-левел" программист, в компиляции программ на этих ваших явах я не очень).

Плагин надо открыть в NetBeans и собрать в .nbm:
https://platform.netbeans.org/tutorials/nbm-projectsamples.html#building
Тебя интересует
>Creating a Shareable Module Binary

Затем взять этот .nbm и скормить MPLABX по инструкции здесь:
http://microchipdeveloper.com/mplabx:tools-plugins-downloaded
No. 19765    
>>19762
Питон и конкретно Джанго смогут надежно трудоустроить тебя в крупные компании или хорошие стартапы в ДС и ДС2 (предполагая, что ты из России), а также, после некоторого опыта, и на европейскую/американскую удаленку. Здесь проблем с поиском работы не будет еще довольно долгое время, потому что, во-первых, язык и фреймворк для своих задач достаточно хорошие (много вспомогательных инструментов, большая база знаний, отсутствие фатальных подводных камней), и, во-вторых, на них пишет довольно много людей, чтобы можно было начинать новый проект на Питоне и быть уверенным, что получится собрать для него штат - что, например, неверно для Руби (в России; в США, насколько я знаю, с этим получше). В регионах ситуация для питонистов, конечно, печальнее, но какую-то работу тоже можно найти - сужу по немаленькому количеству откликов иногородних питонистов на свои вакансии.
No. 19773    
хочу стать программистом по мамашиному обучению нашел курсы http://skillfactory.ru вопрос стоит ли доверять этим курсам, и что еще нужно изучать что бы стать специалистом по машинному обучению? извиняюсь просто не знал куда обратиться.
No. 19774    
>>19773
Обучись сначала начинать предложения с большой буквы.
No. 19775    
>>19774
Какая тебя вообще разница как я пишу?
это я просто тупо не подумал.
No. 19776    
>>19774
Чиочую.
No. 19780    
>>19773
К сожалению, не сталкивался с их курсами, но возможно про них знают в нити машинного обучения:
>>/dev/19531
No. 19781    
>>19773
>>19780
Также вижу, что вот прямо завтра, 14го мая, на курсере стартует курс по машинному обучению, который будет вести профессор Стенфордского университета: https://www.coursera.org/learn/machine-learning

Мне кажется, это может тебя заинтересовать.
No. 19785    
Хочу поступать на кафедру искусственного интеллекта. Есть вопрос: насколько реально после выпуска заработать на этом? Не в этой стране, так за границей.
No. 19786    
>>19785
Смотря в какой АИ-связанной сфере ты хочешь заработать. Сейчас вот все увлеченно ищут специалистов по машинному обучению. Если у тебя есть навык, то можешь начинать и без поступления на кафедры, работая удаленно.
No. 19994    
что не так сделал
public class Its_alive {
public static void main(String[] args) {
System.out.println ("Its Alive!");
}
}

Compilation error
Main.java:1: error: class Its_alive is public, should be declared in a file named Its_alive.java
public class Its_alive {
^
1 error

Please do not declare public classes.

пишет не объявляете открытые классы что это значит не врубаюсь вот идиот по ход
No. 19995    
>>19994
>Main.java:1: error: class Its_alive is public, should be declared in a file named Its_alive.java
Ну, компилятор тебе всё написал. Жаве не нравится, когда имя файла и имя класса не совпадают. Переименуй файл в Its_alive.java, или переименуй класс в Main, и всё у тебя станет лучше.
No. 19996    
>>19995 уже пробовал пишет
Compilation error
Main.java:1: error: '{' expected
public class Its_alive.java {
^
1 error
No. 19997    
>>19995 ну ответь
No. 19998    
>>19995 ебать я долбоеб был
No. 20001    
>>19998
Разобрался с созданием класса?
No. 20004    
152697055514.jpg-(81.97KB, 540×720, 15230838174210-b.jpg)
20004
>Не знаете, как подступиться к проблеме? Вам обязательно сюда.
Здравствуйте. Дело такое, что я в целом не понимаю как подступиться к 3д. Цель - наваять какой-нить примитивный, очень простой 3д шутер. Потом его допиливать. Прикрутить сеть LAN/Ethernet, и т.д.
Гуглил много инфы по directx, но ничего не понятно. Вернее там 99% всего нагугленного состояло из "делаем сложную штуку, объяснять как работает и что значат команды буду в уроке 2, который я никогда не напишу".

Я очень устал. Мне уже кажется, что между hello world и любым нормальным приложением с каким-нить API просто непреодолимая пропасть. Поэтому прошу подкинуть хоть какую-нить инфу, может книги/статьи, которые помогли именно вам в этой сфере.

Интересует именно использование directx/opengl, скажем, с с++.
No. 20005    
>>20004
Всё зависит в первую очередь зависит от опыта.
В твоём случае, когда ты хочешь просто собрать простой шутер, или можно сказать, рабочий прототип шутера, а также хочешь прикрутить к нему какие-то достаточно абстрактные фичи (вроде мультиплеера по LAN), то создаётся впечатление, что тебе надо как можно быстрее прыгнуть в работу непосредственно над самой игрой, а не созданием движка для неё. Созданием движка можно будет заняться уже потом, когда будет понятно, как игра должна работать.

И в этом контексте, очень хочется вспомнить про Unity, который достаточно быстро позволяет создать что-то типа такого: https://my.mixtape.moe/oplint.mp4

Есть только одна загвоздка, в то время как Unity поддерживает С++ для написания плагинов, основной используемый язык там С# альтернативно, JavaScript. Если само по себе это не является препятствием, то продолжай читать дальше.

Для Unity существует достаточно много туториалов, их можно найти много где, включая официальный сайт.

Вот например, туториал конкретно о том как создать шутер с мультиплеером: https://unity3d.com/learn/tutorials/topics/multiplayer-networking/merry-fragmas-30-multiplayer-fps-foundation
Это первая часть из трёх, тут закладывается базис игры.

А вот детальный список туториалов по сетевому коду, где в том числе есть список по вышеупомянутому шутеру: https://unity3d.com/learn/tutorials/s/multiplayer-networking

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

Если же хочется поработить именно с С++, то из готовых движков стоит смотреть в сторону Unreal Engine 4. Он достаточно популярен, хотя и имеет своеобразный "блок-схемный" подход к созданию и управлению сценой. Если работать с Unity тебе не захочется, или он тебе попросту не понравится, напиши мне и я постараюсь принести тебе материлов по UE4.
No. 20006    
>>20005
Мне кажется, что анон выше имел в виду, что ему хочется прям с нуля создать шутер используя именно directx/opengl. А ты предлагаешь ему по сути готовый вариант всего того что он хотел бы создать сам.
No. 20007    
>>20004
Теперь, если тебе хочется непосредственно пощупать и потрогать 3д-графику за всякое, и понять как она работает то стоит посмотреть в сторону книги:
>Андре Ламот
>Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации
https://vk.com/wall-54530371_660

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

Теперь, если тебе хочется потрогать такие вещи, как АИ противников, обработка управления, работа со звуком, многопоточность, физика (к сожалению про сетевой код там нет, в качестве мультиплеера они рассматривают разве что сплит-скрин)
>Андре Ламот
>Программирование трехмерных игр для Windows. Советы профессионала. Второе издание.
http://www.cosmic-rays.ru/books61/20036101Ламот.pdf

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

По сетевому коду, пока могу найти только общие вводные статьи:
https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/
No. 20008    
>>20006
Написав свой ответ, я тоже так подумал, поэтому приложил ему материалы, которые помогут создать эти вещи с нуля в >>20007, пусть не самые современные, но достаточные для того чтобы их потом можно было осовременить. Найти бы теперь такое же детальное описание сетевого кода, это ж очень влияющая на архитектуру игры вещь.
Удалить сообщение []
Пароль  
[Mod]