Ычан: [d | b / bro / hr / l / m / mi / mu / o / ph / r / s / sci / tran / tu / tv / vg / x | au / tr | a / aa / c / fi / jp / rm / tan / to / vn / vo]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить [Последние 50 сообщений]
Имя
Animapcha image [@] [?]
Тема   ( ответ в 23830)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5000 кБ.
  • Ныне 3749 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
junior_developer_aoba.png - (578.70KB, 720×720)
23830
No. 23830    
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

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

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

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

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

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

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

Если здесь поселится достаточное количество программистов на одном языке / одной сферы, можно будет их выделить в отдельную нить, а в этой оставить на неё ссылку.
По мере поступления вопросов можно составлять 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
http://410chan.org/dev/arch/res/19666.html
http://410chan.org/dev/arch/res/21641.html

Прошлая нить пока тонет тут: >>/dev/21641
414 сообщений пропущено. Показаны 50 последних сообщений Развернуть все изображения
No. 25626    
>>25624
Вам надо описать все случаи, когда токен '/' не может быть знаком деления. Для оставшихся случаев определить, где заканчивается строковый литерал.

>>25625
Да, здесь один символ обозначает разные вещи в зависимости от контекста применения.
No. 25632    
Какой яп быстрый и маленький?
No. 25634    
>>25632
Напрашивается ответ настолько же очевидный, насколько и бесполезный для того, кто на полном серьёзе мог бы задать такой вопрос…
No. 25635    
>>25634
Ну мало ли есть что-то меньше или быстрее ассемблера.
No. 25636    
>>25635
Машинный код и легче и быстрее ассемблера. Начинай со схем и электротехники(в принципе по хорошему именно так стоит учиться если есть желание приобрести фундаментальные знания).
No. 25637    
>>25636
А они обязательны?
No. 25638    
>>25637
Нет конечно, но такая база однозначно лишней нигде не будет по определению.
No. 25639    
>>25638
А он сложный?
No. 25640    
Хочу напомнить.
https://xkcd.com/378/
No. 25641    
>>25632
Тебе он для чего?
No. 25642    
>>25641
Просто выучить, все равно время некуда девать.
No. 25643    
>>25642
Это твой первый язык? Если не знаешь JavaScript, можешь его выучить. Чтобы начать, вообще ничего устанавливать не надо, жмёшь на F12 в браузере, и можно кодить. Большое сообщество разработчиков, его вообще все знаю, на все вопросы, которые у тебя могут возникуть уже есть ответы. Для того что бы писать какие-то мелкие утилиты вроде достать что-то из базы, обработать, запихнуть в csv, его хватает, очень удобно.
No. 25644    
>>25643
Чуть знаю С
No. 25646    
>>25643
JS не является ни легким в изучении ни "маленьким".
No. 25647    
>>25644
Без более менее конкретной цели тяжело что-то посоветовать.
No. 25649    
>>25646
Да ладно, чего там сложного? Прототипы и замыкания?
Все остальные варианты - просто ещё один язык, а JavaScript - единственный язык веба (пока WASM не очень распространён). Для изучения ради траты времени самое то.
No. 25650    
>>25644
Сишенька муторный и медленный язык с точки зрения скорости разработки, особенно чего-то стабильного и более быстрого, но по-своему няшный в своей простоте и низкоуровневости, а в данном случае ещё и в том, что (в связке с asm и kernelspace-ом) даёт некоторое представление об устройстве вещей. Можно ближе ознакомиться с C и со связанными контекстами применения. После этого обязательно стоит после ознакомиться с высокоуровневыми языками с их библиотеками и их фичами (компонентные модели, reflections, etc.), ибо это другая половина устройства вещей.
No. 25651    
>>25647
Цели? Не знаю, может в будущем зарабатывать, может просто писать приложение для просмотра картинок или чего-то подобного.
No. 25652    
>>25649
В архитектуре языка имеются очевидные изъяны, скажем так, кроме того прототипная модель наследования далеко не самая простая для понимания. Тем не менее, если человек просит показать ему рандомный язык "чтобы выучить" то почему бы и нет, согласен. С тем же успехом можно советовать питон, паскаль, smallbasic, sql.
No. 25653    
>>25651
>приложение для просмотра картинок
Кресты сразу учи тогда.
No. 25654    
>>25653
>Не знаю, может в будущем зарабатывать, может просто писать приложение для просмотра картинок или чего-то подобного.
Мне кажется, тогда действительно стоит обратить внимание на:
  • JavaScript, как выше советовали. Easy to learn, difficult to master, сейчас с его помощью делают почти всё, включая мобильные и десктопные приложения.
  • Python. Тоже easy to learn, difficult to master. На нем не так удобно делать всё, как на JS, но это сейчас стандартный язык для работы с нейросетями и аишечками, пригодится в будущем.

No. 25656    
>>25654
Приложение для просмотра картинок на питоне писать конечно можно но наверное все таки не стоит(если конечно под просмотром не имеется в виду скачивание). Хотя если все делается из чистой любви к искусству то почему бы и нет.
No. 25657    
Получается питон учить?
No. 25658    
>>25654
> На нем не так удобно делать всё, как на JS
Какой наброс!
No. 25659    
>>25657
>Получается питон учить?
Как минимум попробовать, и посмотреть как пойдет, в смысле понравится/не понравится.
No. 25689    
metanit для ознакомления с языком нормальный или нет? Просто мне не нужно глубоких знаний, просто с концепциями ознакомится, без тонн лирики и воды, которые часто есть в книгах.
No. 25690    
>>25689
С каким языком?
No. 25691    
>>25689
https://pythontutor.ru/
No. 25692    
>>25690
C.
No. 25707    
Можете, пожалуйста, скинуть книги по кластерному анализу, где объясняется хорошо и подробно, что это такое и как это писать.
No. 25708    
>>25707
С датамайнингом всё как всегда, искать и разбираться приходится по крошкам.

>объясняется хорошо и подробно, что это такое
Есть вот книга Introduction to Datamining:
https://www-users.cse.umn.edu/~kumar001/dmbook/index.php
В частности её вводная глава по кластерингу:
https://www-users.cse.umn.edu/~kumar001/dmbook/ch7_clustering.pdf

И еще есть вот такой вот туториал (сохранился только в архиве):
https://web.archive.org/web/20121225113510/http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/

>как это писать
Пока не нашел ничего лучше чем "подсмотреть у тех, кто уже написал", например вот:
https://github.com/thanSkourtan/Cluster-Analysis-Algorithms (Python)
https://github.com/alinarsln/clusters_analysis (C++)
https://github.com/annoviko/pyclustering (Python, C++)
No. 25711    
Как правильно разрабатывать циклы? Вот я понял что такое инвариант цикла, но он неочевиден и подбирать его долго. Быстрее общеизвестным способом проб и ошибок получится составить правильный алгоритм.
No. 25715    
Нужно максимально быстро изучать питон до уровня пользования openCV. По каким книгам можно это сделать?
No. 25716    
>>25715
Ох, новичок?
No. 25717    
>>25716
Да.
No. 25718    
>>25717
Так ты не книгу просишь а методику изучения целую. "Максимально быстро" с абсолютного нуля займет месяца 4 в лучшем случае, при условии ежуденевного обучения 4-6 часов, т.к. чтобы начать работать с данной технологией знания нужны начальные. Подойдет почти любая книга для начинающих.
No. 25719    
>>25715
>Нужно максимально быстро изучать питон до уровня пользования openCV
В первую очередь, если ты хочешь стать пользователем openCV, тебе нужен туториал по openCV. Например, официальный: https://docs.opencv.org/master/d9/df8/tutorial_root.html

Конечно, прежде чем разбираться со средой, необходимой для openCV, тебе надо разобраться с тем, как разворачивать типичную Python среду, с virtualenv, pip, вот этим всем, и банально уметь сделать хоть что-то на питоне. Для этого специально создали сайт по базовому вхождению в Python: https://pythonbasics.org/

Рекомендую начать с него там даже чуть-чуть по Machine Learning есть, а затем перейти непосредственно к туториалу по openCV. Я думаю это и будет максимально быстрый путь.
No. 25720    
>>25711
Мне кажется, это тот самый случай когда мы сравниваем чисто прикладное создание алгоритма с чисто аналитическим проектированием алгоритма.

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

Длинный ответ: делать методом проб и ошибок - это чисто прикладной способ. Быстрый поиск показывает что обычно и преподают в такой прикладной манере, мол, вот вам инструменты, сделайте с ними что-нибудь.

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

Как быть? Можно, конечно, написать огромную базу тестов, и оперировать статистикой, и так тоже обязательно сделают, но никто не сможет гарантировать что тестовая база покрывает все возможные ситуации, и инженеры не пропустили какие-то граничные значения параметров. Как же тогда вот прям гарантировать правильность алгоритма? Только доказав эту правильность аналитически, на уровне теории. Для этого и были разработаны подобные аналитические инструменты: они громоздкие, да, но дают уверенность, однозначность и определенность там, где это важно.

Еще этими инструментами могут воспользоваться подкованные в теории люди, не обладающие прикладными навыками, что в 2021, конечно, трудно представить.
No. 25749    
unknown_2021_10_07-18_10.png - (61.93KB, 2560×1080)
25749
Итак, в свой отпуск сделал свою вакансию, закинул и жду.
Пишет hr, мол, драсьте, вот Вас нашла, заинтересовалась. Мы пишем что-то там на C++, вот примеры проектов и т.д., ищем стажёров для обучения.

Отослали задание, достаточно простое. Сделал его, собственно, код потестировал.

Спустя две недели пишут чёткий отказ и расплывчатое про с++: "много ошибок, либо выбран неверный подход, так что код не компилится". Пишет hr, собственно, так что нет так нет. Сохраню говнокод для истории.

Я знаю, что знания (ага) у меня на уровне джуника-стажёра, как бы не секрет. Но почему код-то не компилится?

Задачка была такая: на вход подаётся строка: это[тест[ова[я]]]ст[ро]к[а]. Сделать функцию, которая возвращает следующие данные:
{
тест[ова[я]],
ова[я],
я,
ро,
а
}
То есть, надо вытащить то, что в квадратных скобках, при этом они могут иметь вложенность и т.д.
Так или иначе, пара вопросов:
1. Код компилится только у меня одного, или что?
2. Что они хотели, и как выглядит "верный" подход? Там регулярные выражения они хотели от меня увидеть, или что-то другое?

>>25585-кун
No. 25752    
>>23830
Ы!
No. 25754    
>>25749
Разумеется, никто не примет на работу человека, кидающего screenshot вместо кода.
No. 25755    
hw_cpp.txt - (960B)
25755
>>25754
>Скинь, пожалуйста, код в текстовом формате
Да, держи.
No. 25756    
>>25749

>1. Код компилится только у меня одного, или что?
Ideone компилит без всяких проблем.

Обычно когда нормальный с виду код вдруг совсем не компилится с кучей ошибок, при условии что среда настроена правильно, дело в каких-нибудь переносах строк CR/LF, один из которых компилятор вдруг символом начинает считать.

Иногда еще мешают кодировки.

>2. Что они хотели, и как выглядит "верный" подход?
Уж не знаю, что они точно хотели, но возможно - вывод результата в stdout, про который ты забыл.

Чтобы вывести, надо добавить импорт:
#include <iterator>


И потом скопировать твой вектор out в stdout внутри main():
int main()

{
    std::vector<string> out;
    string input, temp;
    std::cin >> input;
    out = extract(input);
    std::copy(out.begin(), out.end(), std::ostream_iterator<string>(std::cout, "\n"));
    return 0;
}


Тогда в выводе будет:

    Success    #stdin #stdout 0.01s 5544KB

    тест[ова[я]]
    ова[я]
    я
    ро
    а

А сейчас в стандартном выводе пусто.
На всякий случай, вот тебе ideone с этим исправлением:
https://ideone.com/twxPnj

Чтобы узнать точно что они хотели, надо задать им наводящих вопросов. Можно еще принести точный текст заданию сюда, но это менее эффективно.
No. 25757    
>>25749
Рекурсии нет, понять, что делает этот код довольно сложно. Ситуация с отсутствием парной скобки не обработана, выкинется исключение.

З.Ы.: Аферисты никогда не просчитывают последствия своих действий, надеясь, что пронесёт. Программисты тоже часто пишут код, который работает только на одном, ожидаемом, кейсе.
No. 25758    
>>25757
Если ничего, кроме ожидаемых случаев прийти не может, то отсутствие проверок на адекватность ввода более чем допустимо и даже нужно.
No. 25759    
>>25756
Спасибо. Написал им письмо с просьбой узнать, какой подход им нужен был, жду ответа.
Что касается вывода, то я строго следовал заданию: написать функцию, которая возвращает строчки.
Так или иначе, спасибо за развёрнутый ответ.

>>25757
Про эксепшон спасибо. И насчёт рекурсии тоже, кстати, думал, но почему-то знаний не хватило для того, чтобы придумать алгоритм. Подумаю на досуге как раз. Спасибо.
No. 25760    
>>25759
А тестировать вами написанное им как? За вас ручками вывод писать? Ведь поскольку сигнатура функции в задании строго не оговорена, вряд ли у них есть система, добавляющая такой вывод при тестировании автоматически. А если такая система есть, то к чему в высланном им коде main с вводом?
Точно бы не нанял. No common sense.

А так, следовало бы ещё спросить среду, в которой они это дело тестируют, и чем они это дело компилировали; если ограничения на ввод вам известны.
No. 25761    
>>25759
>Спасибо. Написал им письмо с просьбой узнать, какой подход им нужен был, жду ответа.
Я надеюсь ты им отправил и ссылку на ideone, чтобы показать что всё как бы работает.
No. 25764    
>>25758
Это справедливо тогда и только тогда, когда вы — единственный автор ввода, — и точно знаете, что делаете, т.е. ввод у вас чётко формализован. Но даже в этом случае всё утыкивается assert-ами для отладки.
No. 25768    
Хочу и довожу до вашего сведения, что на момент написания этого сообщения в РФ действует программа обучения IT-профессиям с господдержкой — 50 % стоимости обучения оплачивает государство. Обучиться могут совершеннолетние граждане, имеющие диплом, в котором написано «специальность». По окончанию обучение выдаётся диплом о профессиональной переподготовке. Подробнее на https://xn--b1agajda1bcigeoa6ahw4g.xn--p1ai/ Обучение в Сбербанке на Жабо-кодера стоит где-то 50 тыр.
Удалить сообщение []
Пароль  
[Mod]