Это копия, сохраненная 12 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Сука, ненавижу ебаный двач. Случайно создал тред еще не написав шапку. Ну и хуй с ней.
Вся инфа для вкатывальщиков:
https://metanit.com/sharp/
https://docs.microsoft.com/en-us/dotnet/csharp/
Алсо, прошареные двачеры советовали CLR via c#, но так как я ебаный вкатывальщик то ничо про нее не знаю.
Кароче, хочу в монго для студентс и тичерс хранить только класс ид, а все остальные параметры мне нужны редко и если чо, то с помощью методов их добуду. Вопрос, как это сериализовать?
Для студентсов я сделал костыль1, но для тичерсов с листов мне что, надо аж отдельный метод делать? Нельзя ли как-то полаконичнее с помощью атрибутов?
Ух спросил везде, где только можно, но ответа нет. Спрошу и здесь, для полной картины.
Как работать с GitHub Desktop (далее - GHD) и Visual Studio? В частности столкнулся с одной проблемой. Вот, создал я в VS создал новый проект и вместе с ним новое решение (Solution, уж не знаю как правильно это перевести). Хорошо, создаю в GHD новый локальный репозиторий, в одной папке с файлом .sln. Добавил в .gitignore исключения для бинарников внутри папки с проектом и закоммитил существующие файлы. Хорошо. Допустим, в рамках этого солюшена я хочу добавить в VS новый проект. Создаю в GHD новую ветку, добавляю в VS новый проект, добавляю исключения для бинарников второго проекта, коммичу изменения. Отлично, новый проект в новой ветке создан. Хочу перейти в ветку master, перехожу и что я вижу? В VS не удалился проект, который был создан в новой ветке, да и сама папка с проектом из репозитория так же не удалилась. Я уже полдня с этой проблемой пытаюсь разобраться, уже руки опускаются, что я делаю не так? Почему директории ни в VS ни в GHD не удаляются?
Аноны а это нормально что IDE Visual studio community весит 22ГБ, мб есть что то полегче?
Убери в Visual Studio Installer ненужные компоненты. Если не помогло - тогда пробуй Visual Studio Code или Rider.
Я по пикрил вкатываюсь. Автор говорит что нужны все галочки ( на 22ГБ)
С модулями он чуток побольше весит. Я вообще с вижуал студии обычно на вскод перекатился. Скорость решает.
Shader properties
жопой читал потом проблемы на 22 гб, страница 39 указано 6 пунктов, страница 40 3 компонента
беру слова назад, скрин с книги 1.32gb. но у меня почемуто не 22 а 20 требует. а вообще это хуита, 20гб это ос или игорь, но на иде это чета многовато(ебанутые времена), sharpide 15mb архив весит и раньше на поучится хватало с головой
Хм... Мож потому что это никому не нужный копролит?
class A {
public A(){
Console.WriteLine("Произошел конструктор А");
}
}
class B : A {
public B(){
Console.WriteLine("Произошел конструктор Б");
}
}
1)A a = new A();
2)A z = new B();
3)B z = new A();
4)B b = new B();
1) Что происходит в A a и что в new A()? Так то все вместе это создание объекта a, как я понял A a просто инициализирует объект класса A, но память под обьект еще не резервируется? Происходит это после ключевого слово new, и кнструктор тоже появляется так же. Мы получили объект а, переменная а просто имеет ссылку на него. Правильно?
2) Это вызовет ошибку, правильно? Или наоборот пример 3)?
3) Что вообще происходит блядь. Я инициализирую объект производного класса, но создаю объект конструктором базового? Какой конструктор вызовется? Тут я в ступоре.
4) Ну и последнее какой конструктор вызовется, только Б или оба?
Простите если вопрос шибко глупый, просто хочется ПОНЯТЬ СУТЬ.
class A {
public A(){
Console.WriteLine("Произошел конструктор А");
}
}
class B : A {
public B(){
Console.WriteLine("Произошел конструктор Б");
}
}
1)A a = new A();
2)A z = new B();
3)B z = new A();
4)B b = new B();
1) Что происходит в A a и что в new A()? Так то все вместе это создание объекта a, как я понял A a просто инициализирует объект класса A, но память под обьект еще не резервируется? Происходит это после ключевого слово new, и кнструктор тоже появляется так же. Мы получили объект а, переменная а просто имеет ссылку на него. Правильно?
2) Это вызовет ошибку, правильно? Или наоборот пример 3)?
3) Что вообще происходит блядь. Я инициализирую объект производного класса, но создаю объект конструктором базового? Какой конструктор вызовется? Тут я в ступоре.
4) Ну и последнее какой конструктор вызовется, только Б или оба?
Простите если вопрос шибко глупый, просто хочется ПОНЯТЬ СУТЬ.
В школе на информатике учили пользоваться пакетом программ Office и печати на клавиатуре.
Классе в 10ом пытался в python, но быстро дропнул. Моим магнум опусом был калькулятор.
На первом курсе баловался в GameMaker'е, узнав, что по нему учат основам программирования школьников в нормальных странах. Делал в максимально примитивные вещи уровня топдаун шутеров.
Решил вкатиться в Юнити и начать с базы. Выбрал за основу С#, просто потому что вроде бы как очень хайповый язык, у которого куча туториалов, гайдов, книг по которым можно обучиться.
Немного посмотрел доску и возникло несколько вопросов:
1) Есть ли смысл читать SICP, если я чтением плохо обучаюсь, практика в моем случае предпочтительнее?
2) Есть ли смысл читать книжку из ОП-поста или это мемный троллинг?
3) Дошел до экзамена в этом курсе и понял, что нихуя не понял. https://dotnetcademy.net/CSharp/Beginner
Что еще можете посоветовать ньюфагу, который хочет интерактивности и наглядности в обучении?
>Что еще можете посоветовать ньюфагу, который хочет интерактивности и наглядности в обучении?
Нa edx.org
CLR via C# это книга, которая описывает байтоебство в мире сисярпа, знаю, что работодатели любят по ней спрашивать. Но если ты вкатывальщик, то начни с бесплатной части явараша, а потом прочитай метанит.
Спасибо за подробность.
Сегодня как раз нашел какой-то простой курс для ньюфагов и закрыл все пробелы, которые возникли по ходу прохождения курса в netcademy. Буду двигаться дальше.
>CLR via C# это книга, которая описывает байтоебство в мире сисярпа
Не пизди, там зачастую так же абстракция на абстракции, но со стороны clr, плюс написано, как это примерно связано с железом и ос, но без особых подробностей. Считаю, что ее надо читать параллельно с каким-нибудь метанитом или натшелом, типа читаешь про конкарренси и мультитрединг и сразу читаешь, как это примерно реализовано, с пулом потоков и прочими интересными приблудами.
Я не >>287174-хуй, но в целом с ним согласен
Когда читал CLR via C#, не зашло абсолютно. Вот именно что какая-то абстрактная поебень, которая в ежедневной работе абсолютно не нужна.
Ну да, нужна для собеседований, чтобы отвечать на запросы типа "Сколько памяти выделяется каждому потоку из пула по умолчанию?"
Мне очень понравился Скит, у него охуенно написано.
Вот, например, есть дженерики.
Вот, что они делают.
Вот, как мы жили без дженериков в бородатой версии шарпа.
Вот, зачем мы их ввели.
Шрамы хорошо подойду для ознакомления, но не один уважающий себя анончик не станет разрабатывать серьезные проекты на таком высере от мелкософта. Мелкософт - не нужен.
Воу Воу, чувак полегче. Подтяни теорию по переменным и типам данных. Потом изучи что такое наследование и полиморфизм. И такие вопросы возникать не будут.
Это просто старое доброе ООПа
Ну если ты восхваляешь мелкософтик, тогда кушай говно дальше и покрывайся шрамами полностью.
Я наверное порву тебе шаблон, но я пишу на сисярпе, сидя на линуксе, мастурбируя на СПО. Использую только свободные инструменты и ничо, все нормально пишется.
Всё правильно делаешь, но всегда помни откуда Шрамы берут свои корни.
А вот в жаба треде сразу помогли.
> Подтяни теорию по переменным и типам данных. Потом изучи что такое наследование и полиморфизм.
*вздох
Вопрос не о знании фундаментальной теории. А о конкретных реализациях в языках. Как компилятор воспринимает текст.
в шарпе оверрайды немного по другому работают, так что ((A) bInstance).something() и something вызовет именно реализацию A, а не B, а в джаве будет версия B.
Зависит от того виртуальная ли функция или нет. Просто в жаве все функции виртуальные, а в сисярпе они могут быть как виртуальными, так и нет. Виртуальные оверрайдятся и работают как в жаве, невиртуальные перекрываются и работают как написал ты.
Хотя ооп наследования и полиморфизм есть и там и там. Так что я не понимаю к чему был твой пост, разве что высокомерно выебнуться. Не дай боже такой преподаватель кому то попадется ИРЛ. Как минимум отобьет желание заниматься программированием и как максимум сделает мизантропом.
Лучше так не надо.
А вот например жаба скрипт. Там тоже есть ооп и полиморфизм.
Да. Сорян.
На языке программирования C# создать программный проект, включающий
следующие элементы:
1. Провести анализ предметной области в соответствии с выбранным вариантом.
Выделить значимые объекты, их атрибуты и особенности поведения.
Предложить обобщение родственных объектов в классы.
2. На основе проведенного в п.1 анализа построить иерархию классов
проектируемой системы. Использовать на менее 5-ти классов. Обязательно
использовать по крайней мере один абстрактный класс. Реализовать не менее
двух стандартных интерфейсов. Создать и реализовать по крайней мере один
собственный интерфейс (interface).
При реализации классов должны быть продемонстрированы особенности
создания и использования
- закрытых полей
- свойств и автоматических свойств
- конструкторов
- перегруженных методов и операторов
- виртуальных методов
Для контроля результатов проектирования создать диаграмму классов
3. В отдельном консольном проекте провести тестирование построенных классов
с созданием их отдельных объектов и коллекций объектов. Проверить
реализацию полиморфизма.
4. Создать приложение с графическим пользовательским интерфейсом,
позволяющее обрабатывать коллекции объектов построенной иерархии.
Приложение должно включать основное (главное) окно, с главным меню,
панелью инструментов и строкой состояния. В основной рабочей области
главного окна пользователь получает возможность просматривать и
редактировать наиболее значимые информационные объекты проектируемой
системы.
В рамках главного окна должна быть возможность работы с буфером обмена
(перемещение/копирования данных как внутри приложения, так и во внешние
windows-программы).
Дополнительная детальная информация об объекте выводится в отдельных
окнах (формах), реализовать не менее двух дополнительных окон.
У приложения должна быть заставка, демонстрируемая при его запуске.
Приложение должно обеспечивать
- сохранение введенных пользователем данных в файлы на диске (использовать
текстовые файлы собственного формата, файлы xml или бинарные файлы)
- загрузку данных из файлов, предварительно созданных в приложении или во
внешних редакторах
Если кто-то возьмется,пишите на телегу-@Garafiev.
Насчет оплаты там договоримся
На языке программирования C# создать программный проект, включающий
следующие элементы:
1. Провести анализ предметной области в соответствии с выбранным вариантом.
Выделить значимые объекты, их атрибуты и особенности поведения.
Предложить обобщение родственных объектов в классы.
2. На основе проведенного в п.1 анализа построить иерархию классов
проектируемой системы. Использовать на менее 5-ти классов. Обязательно
использовать по крайней мере один абстрактный класс. Реализовать не менее
двух стандартных интерфейсов. Создать и реализовать по крайней мере один
собственный интерфейс (interface).
При реализации классов должны быть продемонстрированы особенности
создания и использования
- закрытых полей
- свойств и автоматических свойств
- конструкторов
- перегруженных методов и операторов
- виртуальных методов
Для контроля результатов проектирования создать диаграмму классов
3. В отдельном консольном проекте провести тестирование построенных классов
с созданием их отдельных объектов и коллекций объектов. Проверить
реализацию полиморфизма.
4. Создать приложение с графическим пользовательским интерфейсом,
позволяющее обрабатывать коллекции объектов построенной иерархии.
Приложение должно включать основное (главное) окно, с главным меню,
панелью инструментов и строкой состояния. В основной рабочей области
главного окна пользователь получает возможность просматривать и
редактировать наиболее значимые информационные объекты проектируемой
системы.
В рамках главного окна должна быть возможность работы с буфером обмена
(перемещение/копирования данных как внутри приложения, так и во внешние
windows-программы).
Дополнительная детальная информация об объекте выводится в отдельных
окнах (формах), реализовать не менее двух дополнительных окон.
У приложения должна быть заставка, демонстрируемая при его запуске.
Приложение должно обеспечивать
- сохранение введенных пользователем данных в файлы на диске (использовать
текстовые файлы собственного формата, файлы xml или бинарные файлы)
- загрузку данных из файлов, предварительно созданных в приложении или во
внешних редакторах
Если кто-то возьмется,пишите на телегу-@Garafiev.
Насчет оплаты там договоримся
Пиздец у тебя шарага конечно.
Меньше чем за 50К этим говном никто заниматься не будет.
Можно на энглише (и даже лучше).
Сейчас планирую полезть в WinForm-ы, есть пара идей которые можно было бы реализовать с их помощью уже не по практической части обучения, а чисто для себя.
Но если отвлечься от краткосрочных целей - куда стоит лезть в изучении языка дальше, если потом потихоньку планируешь перекатываться в геймдев? Мобилки на Unity сейчас вещь очень ходовая и устроиться в какую-нибудь шарашку по их производству вполне реально, да и в принципе это та область ради которой я залез в программач с головой.
метанит
1) В винформы бессмысленно лезть, они устарели шопиздец
2) Общался с теми, кто влезает в геймдев? Говорят параша полнейшая. Но не отрицаю что может понравиться.
3) Ну так в мобилки на юнити и вкатывайся сейчас, в чем проблема то? Если считаешь что ещё недостаточно базы, то её и разбирай, на том же метаните + какой нибудь задачник найти. Абрамян какой нибудь
Про междоменное взаимодействие я все понял, как пользоваться отражением и для чего оно нужно тоже более-менее.
А нужно ли оно мне вообще будет? Читаю Рихтера и немного охуеваю от уровня сложности некоторых вещей.
Ну если хочешь в вебе быть, то знать это все стоит. А в чем трабл то?Нее понимаешь что то или просто лень?
>Ну если хочешь в вебе быть, то знать это все стоит. А в чем трабл то?Нее понимаешь что то или просто лень?
Туговато у меня все это идет, не совсем понятно, зачем нужна та или иная вещь, очень мало примеров у Рихтера.
Настолько наивный что даже мило.
>1) В винформы бессмысленно лезть, они устарели шопиздец
Вот оно как. А что из более прогрессивного сейчас используется?
Ничо. QT на плюсах.
C# - это почти всегда энтерпрайз сервисы и сайтики на всяких asp.net и core.
WPF. Если захочешь в веб - то ASP.NET.
Помимо книг есть ещё гугл. Столько хороших сайтов с инфой. Сложно загуглить что ли? Я вообще Рихтера почитывал только когда уже более-менее разбирался в чем-то.
Читал новость, что сисярп теперь поддерживается в web assembly. А значит, ты пишешь под веб асскмбли, который запускаешь через електрон. Охуеннно же. Все равно на сисярпе нет нормальных гуи фреймворков.
На коре сейчас увеличивается количество работки
>>288244
wpf
>>288285
https://github.com/ElectronNET/Electron.NET
Пиздец, разрабы этой хуйни рофлят? Я это вообще в шутку сказал, когда пытался придумать самую огромную гору абстракций в одном приложении.
Я ведь правильно понимаю, что это втртуальная машина .Net, запущеная на вебассембли, который запускает движкок хромиума?
Походу твой препод решил на тебе заработать и продать твой код кому-то, лол.
Я такое даже в Томске, когда ещё учился не проходил, ну проходил, только кусками и не в таких объемах.
Ну не на все есть нормальные примеры.
Я вот до сих пор не понимаю, зачем мне знать что-то конкретное о хостинге знать.
Хочешь unity учи матан, а там ещё и английский нужен будет, когда теорию будешь учить. Ибо вся хорошая теория на английском, да и суть лучше передает.
Для unity нужно просто дохуя знать, сам на этом обжёгся, когда начинал.
По началу начал косячить на этапе проектирования, поучил паттерны, пару книг по проектированию масштабируемого проекта.
Охуел потом от матана с тригонометрией и геометрией, сейчас вот застрял на шейдерах.
Так что если есть дикое желание и стремление, то удачи.
Могут посоветовать начать с канала brackeys. Там основа юнити.
Потом можно перейти потихоньку сюда : https://youtu.be/-L-WgKMFuhE
Можешь ещё на хабр заглядывать в тематический отдел по unity
class Pussy
{
private int depth;
private string prettiness;
public void test()
{
var b = new Pussy();
b.depth = 56; //а глубина пизды то приватная
}
}
Фича. На самом деле приватность можно запросто обойти рефлексией: https://ideone.com/YfIC7D
Ваша киска в зоне риска.
Так проблема то в том что ты изначально хуево объяснил свой вопрос. Что спросил то и получил. Ты же программист, а вопрос нормально задаёшь только со второй попытки. У тебя когда не компилируется, ты тоже на компьютер гонишь?
Вот за такой большой наброс что нужно спасибо большое.
Английский знаю, с матаном конечно будет тяжело, но прорваться всегда можно.
Собственно хочу это сделать при создании экземпляра класса, ему будет передаваться определенный параметр. В самом классе будут две функции разных алгоритмов и в зависимости от переданного параметра в конструкторе делегату будет присваиваться одна функция алгоритма из этих двух. А потом уже в функции Старт будет уже использоваться этот делегат.
Корректно ли так сделать или такой выбор лучше как-то по другому реализовать?
По хорошему тебе надо вот это
https://ru.wikipedia.org/wiki/Стратегия_(шаблон_проектирования)
сделать интерфейс класса выполняющего адгортим и семейство классов (у тебя пока два) реализующих его разные версии. А в конструктор передавать объекты с алгоритмами.
Если потом появится третий и тд варианты будет гораздо легче и ошибкоустойчивей.
Спасибо, посмотрю.
У меня как бы 80% алгоритма одна и та же, и только один "модуль" алгоритма может выбирать пользователь. Как раз конкретную в нём одну функцию из двух возможных. Не уверен, что смогу это прикрутить к своему случаю, но попробую!
Немного сумбурно получилось щя распишу как лучше будет.
Идём на канал brackeys, учим матчасть, запоминаем самые интересные инструменты которые использовал, к примеру scriptable objects, открываем unity и пробуем экспериментируем.
Параллельно учим сам c# к примеру вот тут:
https://youtu.be/y1OXLBDZT7k тут все серьезно. Тут научился основам ооп
https://youtu.be/xsaRhgD7XL4 - тут ебанутый но опытный дядя. По нему учил паттерны и ассоциации с реальной жизнью, помогло запомнить
https://youtu.be/86KLS8das2k - и смех и хех. Тут закреплял ООП.
https://metanit.com/sharp/tutorial/ божественный сайт и практика и объяснение.
Вместе с brackeys идём на официальный сайт unity и смотрим уроки от создателей юнити
https://unity3d.com/ru/learn - лучше некуда.
Как только узнаем основу, тут надо думать куда двигаться, ибо почти все взаимосвязано. я вот начал с триангуляции, сижу теперь на шейдерах
Если в 3d то нам сюда:
https://catlikecoding.com/unity/tutorials/
тут тебе и про uv развёртку, про триангуляцию, шейдеры и т.д.
И совмещаем с этими : https://youtu.be/-L-WgKMFuhE
Параллельно заходим на habr, toster и прочие форумы и смотрим различные реализации тех или иных вещей. я так однажды научился делать крюк-кошку, переписав код и доработав получился прыжок игрока от стены. Так что сам не знаешь когда пригодится тот или иной опыт.
Насчёт математики, тут само придет. К примеру учил как триангулировать гексы, что бы создавать гексовую карту, повторил как раз теорему Пифагора, учил как соединять разную высоту гексов, узнал что такое интерполяция. Потихоньку само приходит, не знаешь что это гуглишь и все. Так что не надо кидаться на все с горящей головой.
В общем удачи, этот список не идеален, но подходит мне, ибо мне надоедает делать одно и тоже, поэтому переключаюсь между проектами. Может кто дополнить чем-нибудь. Надеюсь поможет тебе это
Немного сумбурно получилось щя распишу как лучше будет.
Идём на канал brackeys, учим матчасть, запоминаем самые интересные инструменты которые использовал, к примеру scriptable objects, открываем unity и пробуем экспериментируем.
Параллельно учим сам c# к примеру вот тут:
https://youtu.be/y1OXLBDZT7k тут все серьезно. Тут научился основам ооп
https://youtu.be/xsaRhgD7XL4 - тут ебанутый но опытный дядя. По нему учил паттерны и ассоциации с реальной жизнью, помогло запомнить
https://youtu.be/86KLS8das2k - и смех и хех. Тут закреплял ООП.
https://metanit.com/sharp/tutorial/ божественный сайт и практика и объяснение.
Вместе с brackeys идём на официальный сайт unity и смотрим уроки от создателей юнити
https://unity3d.com/ru/learn - лучше некуда.
Как только узнаем основу, тут надо думать куда двигаться, ибо почти все взаимосвязано. я вот начал с триангуляции, сижу теперь на шейдерах
Если в 3d то нам сюда:
https://catlikecoding.com/unity/tutorials/
тут тебе и про uv развёртку, про триангуляцию, шейдеры и т.д.
И совмещаем с этими : https://youtu.be/-L-WgKMFuhE
Параллельно заходим на habr, toster и прочие форумы и смотрим различные реализации тех или иных вещей. я так однажды научился делать крюк-кошку, переписав код и доработав получился прыжок игрока от стены. Так что сам не знаешь когда пригодится тот или иной опыт.
Насчёт математики, тут само придет. К примеру учил как триангулировать гексы, что бы создавать гексовую карту, повторил как раз теорему Пифагора, учил как соединять разную высоту гексов, узнал что такое интерполяция. Потихоньку само приходит, не знаешь что это гуглишь и все. Так что не надо кидаться на все с горящей головой.
В общем удачи, этот список не идеален, но подходит мне, ибо мне надоедает делать одно и тоже, поэтому переключаюсь между проектами. Может кто дополнить чем-нибудь. Надеюсь поможет тебе это
Вы, сударь - просто, блядь, охуенны. Ещё раз огромное спасибо.
Лол, забыл ещё добавить про проектирования проекта.
https://refactoring.guru/ru/refactoring - тут тебе и когда твой код говно, что делать если твой код говно и что делать чтобы сразу не обосраться
Больше абстракций богу абстракций! Представляю, как это говно тормозит)
Переопределяют ли поведение хостинга CLR с помощью System.AppDomainManager?
Ставь брейкпоинт на месте где идет коннект и потом во время запуска построчно пробегай по коду через F10, смотря в отладчике что там в запросе происходит. Вообще приучай себя к дебаггингу, полезная вещь, которая экономит много времени.
посмотрел визуализацию dataset там нет новых значений, в отладчике ничего необычного нет, те получается что он не видит добавленные значения, скорее всего я где-то оч сильно косячу, но не могу найти где
foreach (MemberInfo mi in t.GetTypeInfo().DeclaredMembers)
и
foreach (MemberInfo mi in t.GetMembers())
class A
{
. public IList<B> List {get;}
}
class B : A
{}
class C : B
{}
class D : A
{
. void Foo()
. {
.. List.Add(new B());
.. List.Add(new C());
. }
}
Без контекста не понятно, но скорее всего такая сложность нахуй не нужна. Кто блядь такие деревья наследования строит в 2к18.
Хуйня без задач. Все и в вскоде можно писать. Учитывая, его снипсеты, кеймапы и прочие прелести пердолинга.
>Все и в вскоде можно писать.
Откуда такая любовь к этому говну? Пробовал, полный пиздец нормальных шаблонов нет, нормального интеллисенса нет, дебажить нормально через него невозможно, интеграция с гитом через жопу. я через него только жсон просматриваю, хуй знает, как это с полноценной иде сравнивать можно
быстрее чем VS
Жизнеспособна ли следующая свзяка для небольших сайтов
C# + HTML + CSS + MySql
И можно ли на шарпе писать скажем формы авторизации и прочее.
Просто сайты нахуй никому не нужны уже очень давно. Либо ты пишешь api и graphql сзади, либо фронтенд спереди.
Поддерживаю
Лагает как vs, но больше багов. Ещё и платная
Он на линуксе есть. И опенсорсный.
С чего начать вкатываться в C# имея минимальные знания С++ и немного инглиша(Книги не осилю)?
Примерное назначение: написание ботов/парсеров
Посоветуйте макулатуру почитать
Метанит -> Рихтер -> На своё усмотрение
Можешь вот эту статью чекнуть - https://m.habr.com/company/veeam/blog/417691
> С чего начать вкатываться в C# имея минимальные знания С++ и немного инглиша(Книги не осилю)?
Ну вот с инглиша и вкатывайся, очевидно же.
if(other.m & m) != m)
...return false;
return true;
вместо
return other.m & m == m;
?
Или я чего не понимаю в байтоебстве и эти выражения не эквивалентно?
>Примерное назначение: написание ботов/парсеров
Щас бы ботов на интерпрайз параше писать, еще бы на 1С писал бы.
Рихтер Гений.
Из какой это главы?
У него много странностей. Одна только идея о том, что нужно писать Int32 и String вместо int и string, чего стоит.
А вообще встречал адептов идеи, что такой код (как у Рихтера) понятнее. Якобы это читабельнее. Может, он тоже из таких
Потому что пацаны пишут ботов на F#
я не тот чел, который хочет бота на шарпах делать, но я работаю в интерпрайзе и не могу понять чем он плох то? пишем код, который можно спокойно поддерживать годами
Аноны может кто помочь?
Разобрался я с anglesharp и парсингом страниц, получаю нужные изображения, но вот вопрос.
Новые изображения на странице появляются лишь при скроллинге вниз, как получить остальные изображения?.
Так. А можно поподробнее?
Так немного разобрался, спасибо большое с phantomjs должно как надо работать. Спасибо большое
Он же мёртвый. Ещё и на node.js. Даже нодовцы другую либу используют. Не советую
Ладно, а что заместо него использовать? Да и он вроде идеально подходит.
Скроллит мне страницу да и все
Если всё работает, то забей. Как я писал выше, можешь посмотреть на selenium ради интереса.
https://www.nuget.org/packages/Selenium.WebDriver.ChromeDriver/
https://www.nuget.org/packages/Selenium.Firefox.WebDriver/
Плак-плак.
Бля, какой же ты тупой, это пиздец
Фриланс - это и есть занятие веб-парашей
По моему книга Рихтера вообще не про элегантность и читабельность, а о устройстве CLR под капотом. Разве нет?
Бесспорно, но всё равно странно показывать примеры не очень хорошего кода
Сисюрп это веб олух
Их нигде не любят. C# - это та же самая Java, только от Майкрософт и не кросплатформенная.
C# скорее котлин с явовским синтаксисом. и похуй, что это котлин взял фичи с сисярпа, а не наоборот. и сисярп тоже кроссплатформен.
>только от Майкрософт
Пытаюсь вкатиться в C# за ради написания скриптов в Unity, и пока вкатываюсь не покидает ощущение, что имею дело с какой-то китайской подделкой под Java. Эдакая Нокиа, но с телевизором и большим динамиком.
ты на шарпах то сам писал что нибудь? подозреваю, что нет, раз говоришь что не кроссплатформенный
И нужен ли питон в разработке игр?
Сука, ты гуглить не умеешь? Моно появился лет 10 назад, 2 года назад нет кор. И еще хуй знает когда появился ксамарин, который хоть на эппл вотч работает. Это такая местная забава, тролить сисярпистов тем, что он нигде, кроме винды, не робит?
Кончно писал, но у меня бомбануло от того, что даже для консольной программы нельзя создать exeшник.
1. Реализовать IList и хуй с ним
2. Оставить как есть
3. Реализовать IList, при этом ненужные методы реализовать явно, чтобы не мозолили глаза, но зато будут при приведении к интерфейсу.
Так же интересует говняность третьего варианта в принципе, имеет ли такая штука право на жизнь?
Я такой же, только в этом году слез с 2008 студии. Она быстрая, меня всем устраивала. Если бы не баг в дотнете 3.5, я бы продолжил её использовать. Вообще, это свинство со стороны МС, привязывать версию дотнета к версии студии.
Потихонечку пересаживаюсь с двухлетней winforms/wpf/wcf бутылки на asp net core, попутно изучая верстку(пока что без ЖС).
Прочитал в гугле статью о том какие бывают вэб-сервера.
Меня интересует конкретно виндовский IIS(и/или его аналог для линуксов, при строгом условии, что я пишу бэкэнд только на C#).
Что можете посоветовать почитать, чтобы в нем освоиться?
Заказал по почте ORiley'скую книгу по ASP, люблю читать в бумажном виде, которую собираюсь освоить во время отпкуска в декабре.
Пытаюсь обьяснить сам себе - не получается.
Интерфейс - это когда есть функция "Сделать заебись" а все остальное скрыто под капотом.
У тебя есть интерфейс IDroch. У него один метод public void Drochit().
И есть 2 класса
public class Man: Person, IDroch
public class Women: Person, IDroch
public class UnderAgeChils: Person
И мужчина и женщина дрочат(реализуют интерфейс IDroch) и мужчина и женщина - личности(наследуют класс Person).
А неполовозрелый ребенок - уже личность (наследует класс Person), но еще не дрочит (не реализует наш интерфейс)
Но мужчина и женщина дрочат совершенно поразному. В общем, в методах Drochit() у них разный код написан.
Такие дела. А зачем интерфейс-то, спросишь ты? А вот зачем.
Теперь представим, что нам нужно разработать какой-то механизм, который будет считать, сколько раз клиент нашей компании дрочит.
Нам все равно, мужчина это или женщина, но нам важно, чтобы они уже умели дрочить.
Поэтому мы создаем где-нибудь метод, куда на вход ожидаем только тех, кто умеет дрочить)
public static InitiateDroch(IDroch drocher)
{
drocher.Drochit()
}
теперь в этот метод можно пихать переменные только тех классов, которые реализуют наш интерфейс.
Man man = new Man();
Women women = new woman();
UnderAgeChild child = new UnderAgeChild();
То есть можно вызвать
>InitiateDroch(man);
>InitiateDroch(woman);
А на строчку
>InitiateDroch(child);
Наша среда поругается, не даст нам такую конструкцию написать,
потому что класс недозрелого ребенка не реализует наш интерфейс(ребенок еще не дрочит)
все это нужно, как ты, надеюсь, понял, для упрощения разработки.
А. Чтобы писать меньше кода, используя базовые сущности
Б. Чтобы все разработчики понимали, как устроена арзитектура приложения и не городили своих огородов.
У тебя есть интерфейс IDroch. У него один метод public void Drochit().
И есть 2 класса
public class Man: Person, IDroch
public class Women: Person, IDroch
public class UnderAgeChils: Person
И мужчина и женщина дрочат(реализуют интерфейс IDroch) и мужчина и женщина - личности(наследуют класс Person).
А неполовозрелый ребенок - уже личность (наследует класс Person), но еще не дрочит (не реализует наш интерфейс)
Но мужчина и женщина дрочат совершенно поразному. В общем, в методах Drochit() у них разный код написан.
Такие дела. А зачем интерфейс-то, спросишь ты? А вот зачем.
Теперь представим, что нам нужно разработать какой-то механизм, который будет считать, сколько раз клиент нашей компании дрочит.
Нам все равно, мужчина это или женщина, но нам важно, чтобы они уже умели дрочить.
Поэтому мы создаем где-нибудь метод, куда на вход ожидаем только тех, кто умеет дрочить)
public static InitiateDroch(IDroch drocher)
{
drocher.Drochit()
}
теперь в этот метод можно пихать переменные только тех классов, которые реализуют наш интерфейс.
Man man = new Man();
Women women = new woman();
UnderAgeChild child = new UnderAgeChild();
То есть можно вызвать
>InitiateDroch(man);
>InitiateDroch(woman);
А на строчку
>InitiateDroch(child);
Наша среда поругается, не даст нам такую конструкцию написать,
потому что класс недозрелого ребенка не реализует наш интерфейс(ребенок еще не дрочит)
все это нужно, как ты, надеюсь, понял, для упрощения разработки.
А. Чтобы писать меньше кода, используя базовые сущности
Б. Чтобы все разработчики понимали, как устроена арзитектура приложения и не городили своих огородов.
Не, нет желания.
Интерфейс - это соглашение о способе передачи входных данных, которому должны отвечать обработчики, чтобы из можно было менять/добавлять без перепроектирования системы.
Заебись описал, добавлю, что интерфейсы по возможности используют для абстракции от реализации, т.е. по хорошему у тебя в коде должно все зависить от интерфейсов, а не от конкретных реализаций, тогда код становится более понятным и гибким. Ты программируешь, опираясь на интерфейсы, а потом через внедрение зависимости связываешь интерфейс с конкретным классом, реализующим интерфейс. Если внезапно что-то поменялось, то ты тупо добавляешь новый класс с другой реализацией, меняешь одну строчку-зависимости на другую и вуаля, у тебя все работает. Очень наглядный пример - работа с ORM.
Изначально ты может не выбрал базу или она может поменяться, но ты программируешь относительно интерфейса, например, который должен выполнять операции с хранилищем.
public interface IDbService
{
public void Create(int i);
public int Read(int id);
public void Update(int i);
public void Delete(int id);
}
Ты программируешь относительно этого интерфейса, а потом можешь в зависимости от требования, потребностей реализовать его по разному. Можешь через ORM, например
public interface IDbServiceEF : IDbService
{
метода обращаются к базе и вытягивают из нее значения
}
Или тебе не нужно нормальное хранилище, хочешь быстренько сделать, можешь реализовать через лист, к примеру.
public interface IDbServiceList : IDbService
{
public IDbServiceList
{
_db = new List<int>();
}
private List<int> db;
Методы работают с листом
}
Для твоей программы эти оба класса будут взаимозаменяемы, если ты будешь опираться на интерфейс, чтобы пересесть с листа тебе не придется во всей программе править что-то, тебе тупо в одном месте надо будет сменить зависимость с <IDbService, IDbServiceList> на <IDbService, IDbServiceEF> грубо говоря.
Заебись описал, добавлю, что интерфейсы по возможности используют для абстракции от реализации, т.е. по хорошему у тебя в коде должно все зависить от интерфейсов, а не от конкретных реализаций, тогда код становится более понятным и гибким. Ты программируешь, опираясь на интерфейсы, а потом через внедрение зависимости связываешь интерфейс с конкретным классом, реализующим интерфейс. Если внезапно что-то поменялось, то ты тупо добавляешь новый класс с другой реализацией, меняешь одну строчку-зависимости на другую и вуаля, у тебя все работает. Очень наглядный пример - работа с ORM.
Изначально ты может не выбрал базу или она может поменяться, но ты программируешь относительно интерфейса, например, который должен выполнять операции с хранилищем.
public interface IDbService
{
public void Create(int i);
public int Read(int id);
public void Update(int i);
public void Delete(int id);
}
Ты программируешь относительно этого интерфейса, а потом можешь в зависимости от требования, потребностей реализовать его по разному. Можешь через ORM, например
public interface IDbServiceEF : IDbService
{
метода обращаются к базе и вытягивают из нее значения
}
Или тебе не нужно нормальное хранилище, хочешь быстренько сделать, можешь реализовать через лист, к примеру.
public interface IDbServiceList : IDbService
{
public IDbServiceList
{
_db = new List<int>();
}
private List<int> db;
Методы работают с листом
}
Для твоей программы эти оба класса будут взаимозаменяемы, если ты будешь опираться на интерфейс, чтобы пересесть с листа тебе не придется во всей программе править что-то, тебе тупо в одном месте надо будет сменить зависимость с <IDbService, IDbServiceList> на <IDbService, IDbServiceEF> грубо говоря.
>public interface IDbServiceEF : IDbService
>public interface IDbServiceList : IDbService
class конечно же и без I
Чтобы проблему ромбоидного наследования разрешить, напишем. Потому что удобно отделять контракты от реализации, чего абстрактный класс не гарантирует.
Ну, не совсем так. Функция - правило, по которому каждому элементу множеста D ставится в соотвествие число. То есть:
f:D → R
где D - любое множество, R - действительное число. Вот так вот, не благодарите.
Если уже начинаешь с формальных определений, то давай уж про то, что функция это просто некоторое подмножество декартового произведения множеств (области опредения и области значений).
Придираясь к словам, в этом вашем сисярпе никаких функций и нет.
У тебя ещё более неправильное определение, чем у меня. С хера ли в соответствие ставится только число? Функция может быть определена как отображение любого множества на любое множество. Если у тебя есть множество стульев и множество жоп, то, установив однозначное соответствие между жопой и стулом, ты получишь функцию
Ты главное на собеседование такого не спиздани, идиот, а то мигом в чёрный список HR внесут)
А анон полднимает на них глаза и говорит:
>>294010
>А вы идите нахуй.
В сисярпе функции - это описание процесса вычислений для компилятора сисярпа, на основе которых он создает инструкции для сярповой виртуальной машины, позволяющие выполнить некоторую типовую последовательность операций.
Самый плохой ответ (имхо). Во-первых, в шарпе есть только методы, а функции вообще отсутствуют (хоть статические методы и похожи на функции). Во-вторых, концепция функции всё же существует вне контекста языка.
Функция в программировании это грубо говоря код объединенный под одним именем и выведенный за границу тела программы, чтобы было удобно к нему обращаться по нескольку раз, вместо того чтобы копипастить, все.
Начали тут про множества хуйню нести, будто это имеет хоть какое-то отношение к программированию на сисярпе.
Двачую
Если ты копнёшь чуть глубже в программирование на функциональных языках, то поймёшь, что связь есть
Да и без этого понятно, что всё нынешнее программирование вышло из математики
Поясните зачем в примерх методы называют Фуу и Бар?
Это какие то особые дикларированные слова?
Я думал фуу, это сокрщение от ФУНКШИОН. Нет?
мягкие обещают прикрутить в следущей неткоре.
>в шарпе есть только методы, а функции вообще отсутствуют
Функция в императивном, или ООП программировании - это почти тоже самое, что и процедура. А метод - это процедура, принадлежащая классу/объекту в ООП. Так что методы в ООП можно смело звать функциями.
>Во-вторых, концепция функции всё же существует вне контекста языка.
Тред про сисярп.
Про функции вне контекста языка и так все понятно, тут уже давали определения математическим, например.
А как же Func<> из линкью?
> в программирование на функциональных языках
В функциональных язычках нет функций в математическом смысле. Вся функциональщина строится на лямбда-исчислении, где функции (лямбда абстракции) есть ни что иное как инструкции машине лямбда исчисления: какие (именно какие, а не как) лямбда термы применять к каким.
Кто сталкивался. В гугле нашел какой-то левый проект на гитхабе, чето не верится, что мелкософты не запилили нормальную реализацию из под коробки.
Кто сталкивался, что посоветуете. Заранее спасибо.
Думаю, можно сказать, что любую мат. функцию можно описать методом в C#
Функция, сама по себе, это механизм, преобразующий входы в выход. Это применимо и к шарпу, и к математике.
Wcf - это же дерьмо мамонта. Что ты на нем делать собрался?
https://en.m.wikipedia.org/wiki/Foobara
Нахуя вы идете в программирование если не умеете гуглить? Освойте сначала этот навык.
>>294174
Нахуя в 2к18 SOAP, когда весь мир пытается в микросервисы на REST?
Или вопрос о переводе легаси кода на .net core?
Но функции в шарпе лишь включают в себя мат. функции, это не единственное и далеко не основное их назначение.
По аналогии приравнивание мат. функций к функциям в программировании это все равно что приравнять машину к двигателю, но это неправильно чисто логически, ведь машина это не только двигатель.
Я дал такое определение чисто из логики работы функций в рамках программирования и по-моему оно вполне подходящее если речь идёт о программировании, а не о математике.
Нахуй иди.
Согласен
Спасибо.
Ну ты и дебич.
Мне кажется, или это неуважение к Математике?
И зачем ты себя этим кодом сейчас отстрапонил?
Вкатываюсь в ASP.NET MVC. С паттерном знаком в общих чертах, однако интересны особенности взаимодействия слоев абстракции. Где эту инфу взять?
Аноны может кто знает хорошую библиотеку для распознавания объемных,обычных и изменённых форм скругление углов, ребристость круга, разрыв в вершине фигуры и т.п. фигур на изображении.
Попробовал AForge более менее то что нужно, но не идеально, лучше всего окружности и хорошо ищет лишь цельные фигуры.
Ещё пробовал OpenCV, но он распознает лишь совсем простые формы.
MSDN
https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0/
Че думаете? ебать свич экспрешонс и дефолтные имплементации в интерфейсах просто 10/10
Это котлин сисярп на jvm.
Вот например, мне надо сто раз обратиться к hui.pizda[j].djugurda
Есть ли разница, что все сто раз будет написано "hui.pizda[j].djigurda"
или лучше, если я объявлю в начале
new Djigurda dj = hui.pizda[j].djigurda
и сто раз уже обращусь к dj?
>в течении часа или более
Юзай UDP или обновляй коннектда, поток придется пилить на части. Протокол TCP не предназначен для длительных коннектов, да и неразумно это с точки зрения безопасности. Для длительных взаимодействий между сервером и клиентом умные дяди давно придумали сессии.
Ты сам проверить не можешь?
Там, собственно, все прописано, я бы это фичу на постоянной основе не использовал, но иногда пиздец будет выручать, когда уже куча реализаций интерфейса и тут НАДО БЛЯДЬ добавить один блядский метод к интерфейсу, после чего ты сидишь и правишь десять реализующих классов добавляя методы с нотимплементедэксепшон
Ну то что у него по прежнему не может быть полей и свойств, например, ну и что класс может реализовывать несколько интерфейсов, но не может наследоваться от нескольких абстрактных классов.
Это же они не изменили, или я что-то проспал?
> Это же они не изменили, или я что-то проспал?
Нет, это я просто немного нуб и потому задаю нубские вопросы.
Ты чо, не видишь примера? Одну функцию реализовал, остальные получил задаром, но можешь оверлордить, если хочешь.
Сессии - это не про сокеты, другой слой абстракции. У тебя должна быть какая-то система хранения состояния на обоих концах, которая этот слой реализует. В вебе это делается через куки, например: сервер сует токен в кукис, а на своей стороне делает запись с этим токеном + инфу о состояниях(какой браузер, IP, какие треды в избранном, забанен ли мочой). При возобновлении соединения, сервер принимает этот токен, возобновляя состояниеесли лайфспан не просрочен, в ином случае данных о сессии уже нет
Можешь курнуть статейку на тему: https://developer.mozilla.org/ru/docs/Web/HTTP/Session
Мне это точно не подойдет, так как вторая сторона мною не контролируется (собственно это покупная железка).
Стейт на сервере хранить не следует, это плохая практика. Стейт должен храниться у клиента. Для проверки валидности стейта достаточно электронной подписи секретным ключиком сервера, типа как в jwt.
Хз актуален ли вопрос, но панелька называется "Solution Explorer", в меню "Tools" или "View" сверху можно подрубить снова если вырубил случайно.
Спасибо, уже нашел, но ебался почти час
В среднем - да, но максимально быстрый код проще написать на шарпе, благодаря unsafe.
Разве указатели дадут такой прирост? Ведь даже unsafe выполняется в виртуальной машине.
JNI
>>296137
managed код имеет кучу невидимых ассертов и проверок, за счет которых перформанс, особенно при поточной обработке коллекций и теряется (ценой защиты от выстрелов в ногу, что в целом отлично, потому что в бизнес-среде докупить железо - это не такое глобальное баблишко в отличии от проебаного баблища бизнесом при байтосбоях, утечках памяти и разыменовании нулевого указателя, после которых всё раком встает), а не на JIT-компиляторе, как многие привыкли думать - он-то в целом что у жабы что у дуднета уже задрочен за несколько десятилетий не намного хуже LLVM у байтоблядей.
Реально ли выйти на достаточный для устройства на работу уровень за пол года ± месяц при среднем знании плюсов, знании паттернов и теории БД?
Время есть по вечерам после учебы + работы в среднем часов 7-8 в сутки, в воскресенье свободен целый день так что учить есть когда. Спрашиваю именно насколько это актуально.
Стажировку ищи, прямо в вузике начинай искать и работать, что бы к диплому хотя бы юниором быть.
Не вариант, я сейчас работаю параллельно учебе, работу бросить не могу ибо жить будет не на что, родители оплату учебы могут потянуть, но еще и содержание меня и моей тни в довесок не смогут. Стажировка это обычно работа нахаляву, это я себе, даже несмотря на перспективы, на данный момент позволить не могу, мне нужно вкатиться именно на работу уже с зп хотя бы 30к, при том что сейчас у меня от 30к до 40к, но эта говноработа заебала уже очень сильно, просто мечтаю дропнуть её, прям пиздец.
>Стажировка это обычно работа нахаляву
Обычно стажировка оплачивается.
Ищи оплачиваемую стажировку. Такие тоже есть.
Ищи паралельно работе, потом смени и постарайся выбиться со стажера в джуны.
Если нормально шарп сейчас дрочишь, то асп за полгода легко освоить, там сначала нихуя не понятно, главное на этом моменте не дропнуть. Рекомендую freeman adam - PRO ASP NET CORE MVC, там очень приятно и понятно поэтапно написано, а не как у некоторых.
Создай третий проект-либу на net standart и перекинь туда нужные классы.
А можешь поподробнее рассказать, если я учился бы в какой-нибудь шараге, ака колледж, то я смог бы поступить на стажировку?
Сколько она длится, когда тебя джуном делают? Ну это я про среднюю температуру по больнице спрашиваю
И что из себя представляет собственно стажировка?
Явараша волне хватает для основ. Квооч сматри: сначала проходишь явараш, а потом читаешь метанит и пилишь калькуляторы на c#
Как теперь скомпилировать в .exe файл, чтобы можно было просто запустить по клику?
Никак, vs code поддерживает .net core, а в нем консольные приложения кроссплатформа и компилируются в .dll. Если хочешь экзешник, тебе нужен просто .net
>>296731
Зависит от компании, в некоторые места можно на стажировку с начальными знаниями попасть, но обычно она неоплачивается, либо копейки-стипендия. В некоторые места стажером сложнее стать, чем в другие джуном, например, в dataart, kontur. В датаарт, например, достаточно хорошо пердолят на собесе, в контуре на стажировку вообще тестовое предварительно есть. Обычно стажировка не больше пары месяцев длится.
>Если хочешь экзешник, тебе нужен просто .net
Если хочешь экзешник, тебе нужен C/C++. Пофиксил.
Даны 3 числа, и выражение a+bx+cy
Нужно преобразовать все это в трехчлен по правилам:
— коэффициент при члене, содержащем переменную, опускается, если его модуль равен единице;
— член, коэффициент при котором равен нулю, опускается (кроме случая, когда все коэффициенты равны нулю, тогда трехчлен состоит из одной цифры 0);
— знак "+" опускается, если он предшествует отрицательному коэффициенту;
— знак "+" опускается, если он стоит в начале выражения (так называемый унарный плюс);
— знак умножения между коэффициентом и переменной опускается.
При этом запрещено менять местами члены.
Куда забить строку так, чтобы её можно было менять? Есть ли способы решить иначе?
Погуглю, пасиба
"Трояны от производителя" присутсвуют не толкько в ОС но в аппаратных средствах, которые все сплошь проприетарные. Так что как ни крути, от слежки нигде не спрячешься, даже на линуксе.
В чем проблема с впф? рекомендую сразу курить mvvm, это поначалу больно, но потом избавит от многих проблем.
А в каком формате стажировка проходит, я прихожу в компанию и работаю в офисе, как это ты предлагаешь анону с дипломом совмещать?
Материала курсов на метаните по ASP.NET MVC 5 будет достаточно, чтобы пойти работать или есть какая-нибудь книга, где все более подробно разъясняется?
это даже комментировать зашкварно
А прочтения книги хватит для вката? Думаю сперва шлифануть по Asp.Net MVC 5, а потом и Core, все равно времени еще много.
Вот насчет стажировки интересно, имеет ли она смысл или сразу на Джуна лучше пойти?
> сразу на Джуна лучше пойти?
Да. Да, именно это. А если умеешь хорошо пиздеть и голова работает - шли резюме и на мидлов, пиши в сопроводительных письмах всякую хуйню уровня "быстро учусь, смогу разобраться с вашей хуйней" и тд. И в том и том случае ты вкатишься, но если не будешь загоняться в рамки - можешь вкатиться на большие деньги.
Я на вкат на джуна на кор прочитал страниц 200, там типа база mvc с полным примером с нуля (весь код на гитхабе есть) - маршрутизация, подключение к бд, разор, бутстрап с жиквери (в итоге весь фронт вообще не пригодился пока), тестирование. Ну ясен хуй почитал ещё мсдн местами, метанит, везде по немногу. Состряпал типикал mvc приложуху, начал искать работу, в итоге нашел (несколько собесов было зафейлено, так как ко мне очень предвзято относились ревьюеры, когда узнавали, что у меня нет бэкграунда в вебе, начинали валить на какой-то хуйне.), дали тестовое - простецкий круд с ef, mssql. Я ещё несколько тестов для контроллеров написал с использованием mock, тимлид фонтанировал от того, какого они охуенного сотрудника нашли всего за 70к, особенно с тестов, а я и рад. Я так понял, что на с#, а в частности, асп вообще сложно найти адекватов, так как не очень распространен в отличие от всяких джав-жс, потому что мне потом ещё по резюме дохуя звонили, хотя у меня там ясно написано, что я говно почти без опыта и по рассказам из мывамперезвоним-тредов, наоборот, плебс без айтивышки и нормального опыта вроде меня должен бегать умолять, чтобы взяли за еду работать
Его не рекомендуется вызывать явно, но я не понимаю, в чем тогда суть? Получается что удобность работы с памятью достигается сильными просадками в производительности. Ну вот например:
У нас есть веб сервис обработки видео, видео это достаточно объемные файлы, следственно пока видео загрузится на сервак для обработки/пока пользователь скачает уже обработанное видео у программы есть время почистить мусор, почему бы явно не вызвать GC? Вместо того чтобы всю ответственность перекладывать на рандом? Вдруг место в куче кончится посреди рендера видоса, а в ней будут валяться какие-нибудь финализируемые объекты я знаю что из тоже нежелательно использовать потому-что они тоже как-то через жопу удаляются, но все равно предположим что они есть, или просто большие объекты? Это же серьезная потеря в производительности, короче, what the fucking point?
Может вопрос тупой, сорри, поясните долбоебу.
Думаю использовать для этого HashSet, подводные камни?
> В датаарт, например, достаточно хорошо пердолят на собесе, в контуре на стажировку вообще тестовое предварительно есть
единственное, чем у нас пердолят - это английским
а вот если имеешь уверенный разговорный b1, то все будет заебись
мимо из ДА
Что скажете про эту либу? Лучше автомаппера?
Кто пользовался, поделитесь опытом.за автомаппер/другой маппер тоже можно
нету
в рф только спб и воронеж
я обычный гребец из украины и ничего не знаю про планы открытия новых офисов, тем более в рф
но думаю вряд ли, куда вероятнее что в польше еще один откроют
>1
Какой повод вкатываться в любой другой язык?
>2
Да, но без гуи. Есть avalonia, но она кривая шо пиздец.
google.ru
Бэкграунд: Python, Django, Js+React (html-css)
Си и плюсы напишу hello world
В момент запуска приложение жрёт 18МБ, когда открываешь и закрываешь окно 40МБ.
Проверял на базовом проекте и ждал минут 20.
Как открывается окно:
AppStartup => (new Window1()).Show()
Как закрываеться окно
Window1.btnClick => Close()
Если ты нормальный программист, то любой язык за неделю ты освоишь точно. Тонкости нет, конечно, но основы - да.
Диспетчер задач говорит что всегда используется максимум 15МБ, но в visual studio во окне "Память процесса" доходит до 100МБ
Работал 9 месяцев на винформс, параллельно учил асп, но иногда неделями ничего не читал по теме из-за завала на работе.
25-30, но это была инженерная специальность на госпредприятии и я занимался измерениями, а формы были опционально, можно было на любом популярном языке софт писать, чтобы себе автоматизировать работу
Дополню, что туда я вкатился месяца два поизучав сисярп в неспешном режиме, так как знание языка не требовалось и не предполагалось, что надо будет программировать (там много кто до сих пор на листочке от руки записывает показания с приборов), до этого сталкивался только с питоном на лабах в универе на уровне подключить матплотлиб чтоб график чертился
Есть одна WPF форма, на которой две кнопки.
Подскажите, как мне на одну повесить, как горячую клавишу, "правую_стрелку", а на другую, соответственно, "левую_стрелку" клавиатуры?
Гугл что-то на помощь не приходит.
> в WPF проще резинить и масштабировать в разы
> они кроссплатформенные и интернациональные
> это просто более высокий уровень разработки UI/X
> хотеть дальше бегать на костылях, которые увидел раньше
Плохой выбор учить шрамы, лучше завязывай с этим, пока не поздно.
А то потом покроешься анальными шрамами
Ты хотел написать сишарп и жс(тайпскрипт)
Очевидная виртуальная академия майкрософт очевидна?
Помогите пожалуйста, еом (есть один метод).
Этот метод - async, в нем while(true).
Метод запускаеться через тред (thread.Start()), но после thread.Abort() он продолжает закономерно работать.
Как его правильно убить извне (на нажатие кнопки)?
Спасибо, оно.
Составить и отладить программу для приближённого вычисления заданной функции y(x),путём суммирования членов заданного ее ряда s(x). Суммирование членов ряда проводить включительно до члена ряда, значение которого по абсолютной величине не будет превышать 10^-6.
>Суммирование членов ряда проводить включительно до члена ряда, значение которого по абсолютной величине не будет превышать 10^-6.
Слагаемое в прогрессии всё равно будет больше чем 0,00001. Что тут требуют?
Что с этим можно сделать?
Я пробовал разделять, но моя логика строится на том что все переменные сидят в одном классе. А тут получается, что создаваемый объект хочет переменную из создателя, гуглю как бы это обставить и натыкаюсь что это некий circular dependency, родитель зависит от порожденного и вообще червь-пидор и его надо избегать. Но как это решать-то?
я в сишарпе две недели, не бейте тряпками
Схуяли оно будет больше, если там блядь факториал в знаменателе?
Можно какой-нибоудь синглтон захерачить, туда переменную пнендюрить и юзать его в обоих классах
Почоны, а есть какой то способ получить дифф изменений файла, отслеживаемого через FileSystemWatcher? Ось вообще дает такую инфу?
Добро пожаловать в мир управляемой памяти, внезапно нужно писать код, держа в памяти то, что у тебя будет собираться мусор. Если ты в себе уверен - то можешь руками вызвать гц и посмотреть что получится, может будет выигрышь я не шучу. Вообще если у вас сервер и вы страдаете от гц, то возможно вам стоит попробовать переключить с Server GC на Workstation GC или наоборот.
есть че кроме студии в vmware ? Мне чисто пощупать по быстрому, вскод какой то отвратительный хипстерский кусок хуйни соре
короче скачал еще дотнет с сайта отдельно по гайду, потом он еще сосал минут 5 какую то зуйню при запуске, все равно не работает, заебись, пойду вмварь ставить
Бамп
Обрабатываешь FormClosing, ставишь Cancel в параметрах пришедшего эвента, и дальше делаешь что тебе нужно.
Ебучий разговор с уточкой. После того как запостил я понял почему. Отбой.
Двачую про servergc, эта хуйня раньше была вообще по умолчанию тру и на средних машинках ебошит нихуево оперативу, написал микросервис с парой маршрутов и базой на 200к записей, а эта дрисня жрала 250+мб оперативы и gc иногда начинал ебашить по пять раз в минуту. Пару дней искал как пофиксить, в итоге блядь строчку в файле проекта хуярнул на server gc false и стал 40мб жрать, сборщик тоже норм работает
а как же интилесенсе и дебаг????
В цикле метода (который висит отдельным тредом) while(true) вызывается (в зависимости от данных) другой метод (который не в треде) от 0 до 2 раз.
Дело в том само собой вызываемый метод сразу не срабатывает, а только после окончания круга в цикле, и срабатывает только 1 раз, даже если вызова было 2.
Как сделать так чтобы метод срабатывал больше 1 раза?
Посмотри курс https://www.pluralsight.com/courses/encapsulation-solid
В интернетах есть бесплатно и с переводом, наверное
Охуенный курс спасибо, перевод не требуется, уже вгрызаюсь, столько нового рассказывает
Вот мне дают функции, что мне с ими делать, почему пол кода в json
(Документация: https://github.com/AdminAnticaptcha/anticaptcha-csharp)
Памагите, спасибо за внимание
Вкатиться с нуля (без опыта) во фриланс на этом языке есть варианты? Через что именно? Пока на ум пришли только парсеры, есть что еще? Я бы в офис джуном/стажером устроился бы и не лез во фриланс, но в моей мухосрани работы нет, а в дс перебираться - у меня нет денег (из за того, что нет работы)
Документацию не нашёл, но там в Program.cs примеры использования всех методов api
потому что этот долбоеб ее не скинул, документация у них на сайте и атлассиане
Сейчас пытаюсь разбираться в принципах его работы, потихоньку дошел до привязки. Базовая концепция этого дела мне в принципе ясна, Metainit в этом плане убер-годный ресурс для нубов вроде меня.
Но вот сейчас хочу пойти чуть дальше, и натыкаюсь на проблемы. Суть в чем: есть текстовый блок, который должен транслировать значение определенной цифровой переменной у объекта. Но этот объект на момент старта программы ещё не существует, и появляется только после нажатия кнопки.
Разумеется, ссылка на пустоту выдает собственно пустоту или дефолтное значение. После появления объекта, разумеется, тоже ничего не происходит.
Какие варианты это реализовать? Пока думаю что должны пригодиться события, но, честно говоря, никаких мыслей об том как бы их здесь впихнуть тоже нет.
Вот и я тоже об этом подумал в первую очередь, и даже реализовал в итоге. Но выходе все равно получалась пустота. Я предполагаю это из-за неправильного бинда - у меня это Binding Source=Название объекта. Как будет правильнее указать?
Подозреваю, что в конструкторе Hydrogen надо вызвать конструктор родительского класса
Цифры передай туда, чудик.
На всякий случай бампну.
Прост сервер гц ебошит по куче на ядро, отсюда и сасатб по памяти.
ASP.NET Core 2.1 офк
Объясни мне вот эту хуйню на пике 1. Что вообще здесь происходит? ЯНП
Алсо, метод должен возвращать объект с интерфейсом IEnumerable<string>, но у возвращаемого string'а такого нет (пик 2). Насколько я понимаю, возвращается как бы "элементами" объект типа StreamReader, но у него нет вообще никакого интерфейса.
И почему код под первым комментарием работает, а под вторым нет?
Отбой тревоги, dotnetacademy
WriteLine имеет перегрузку с обжект, т.е. может принимать любой тип, а не только стринги.
>>302379
У тебя метод возвращает IEnumerable, который не поддерживает индексаторы. Либо делай из него лист/массив (тогда идет по пизде вся ленивость и проще вызвать File.ReadAllLines), либо заюзай First().
>У тебя метод возвращает IEnumerable
Это понятно, но:
- using (var reader = System.IO.File.OpenText(file)) возвращает объект типа StreamReader, у которого нет интерфейса IEnumerable;
- метод ReadLine объекта StreamReader возвращает string, у которого есть IEnumerable и IEnumerable<char>.
Откуда берётся объект с IEnumerable<string>? Догадываюсь, что из блока using (...) { ... }, но каков "алгоритм" или последовательность?
А ты знаешь, для чего слово yeild нужно, или прото так его влепил? Оно как раз таки и возвращает при каждой итерации строку в вызывающий метод. И для него эти строки выглядят, как обычный Ienumerable<string>.
>А ты знаешь, для чего слово yeild нужно, или прото так его влепил?
Это туториэль с сайта микрософта.
>Оно как раз таки и возвращает при каждой итерации строку в вызывающий метод.
Но метод вызывается один раз, возвращает объект, наследующий интерфейс IEnumerable, по которому дальше происходит итерация.
Метод ReadFrom должен возвращать тип IEnumerable<string> и он действительно его возвращает. Почему: у тебя в цикле вызывается yield return line. Можешь пока рассматривать это как некую магию (а потом пойти почитать документацию как оно работает), но yield делает так что у тебя не сразу происходит return line, а лайны как-бы накапливаются с каждой итерацией цикла и когда цикл завершается они выдаются одним объектом, неким перечислением всех лайнов. И тип этого объекта IEnumerable<тип переменной line>, т.е. перечисление строк.
Код под первым комментарием работает потому что foreach умеет работать с объектами типа IEnumerable (а lines это IEnumerable, если ты помнишь).
Код под вторым комментом не работает, потому что IEnumerable не умеет работать с квадратными скобочками.
Я знаю, как оно производится для Asp.Net
NinjectModule registrations = new NinjectRegistrations();
var kernel = new StandardKernel(registrations);
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
А как это все прописать в формах? В главный класс засунуть?
Может EnsureGameService()? Provide здесь не подойдет, потому что в этом случае ты должен предоставить сам сервис.
https://professorweb.ru/my/ASP_NET/mvc/level3/3_6.php
У класса LegacyRoute есть только один конструктор, он принимает массив строк, также есть метод
public override RouteData GetRouteData(HttpContextBase httpContext)
Откуда он получает это самое httpContext?
public int Foo { get; set; }
Какой вообще от них смысл? Почему все(кого я читал) советуют их пихать так? Почему пихают?
Ведь это вроде как тоже самое, как если бы я это foo просто публичным оставил, а потом обмазал двумя методами поверх.
Я бы понял если бы в эти гет\сет была какая-то дополнительная логика с проверками или сет был бы приватным например, но я постоянно вижу конкретно вот это вот.
Нахуй оно вообще нужно?
Что вообще эта конструкция достигает?
Синтаксический сахар.
это одно и то же если сделать вот так:
private int _foo;
public int Foo
{
get { return _foo; }
set { _foo= value; }
}
так зачем всё это писать, если можно написать просто { get; set} ?
если тебе нужна логика сложнее, чем в примере выше, то и пиши тогда как тебе нужно
Да никто точно не знает на самом деле. Есть кое-какие применения автосвойств, но больше похоже что это вопрос стиля, что ли. Читни https://stackoverflow.com/questions/1180860/public-fields-versus-automatic-properties
Бамп, это можно как-нибудь в самом visual studio посмотреть? А то мне очень интересно.
Ну и хуй с ним, видимо и не нужно это знать.
Как минимум интерфейсы могут иметь свойства, но не поля, плюс ТАК ПРАВИЛЬНО, паблик поля ставят преимущественно пидарасы, если хочешь паблик, то ебош свойство, а так как по большей части тебе не нужно доп. логики, то ебош автосвойство. Ещё раньше, насколько я помню, свойства нельзя было сразу инициализировать, а поля можно типа сразу написать
public int field = 13;
public List<int> field2 = new List<int>();
и потом когда чужой код читаешь, разбираешься, где этот ебанат что прописал, свойства блядь у него в конструкторе ставятся, поля на месте, пиздец. Сейчас свойства, кстати, тоже можно сразу ебошить, типа дефолтное значение public int Prop{get;set;} = 12; или типа того, не помню, потому что таким ебанатством заниматься это пиздец.
Выше уже спрашивали, dotnetacademy.
у ивентов и методов нужны любые проихвольные параметры, или похуй? Можно в качестве аргументов все передавать в методы подписать/отписать
лучше фронтенд. Без фулстека во фрилансе на шарпе очень хуево, особенно без опыта.
Он, наверное, подумал, что ты со шпоры контура
Индексатор (квадратные скобки) есть у массива, а у IEnumerable нету, поэтому ошибка компиляции. Если ты сделаешь вызов ReadFrom и после него добавишь ToArray(), то все заработает.
Но это очень поверхностно, советую почитать про ленивость IEnumerable и yield
а, забейте. Я просто сделал словарь приватным и переопределил нужные мне методы в мой класс.
в вскоде самая популярная + немного пердолинга под себя
Code Complete
Ты че, дебил? Если не следовать MVVM, то там тупо окошко верстаешь, а потом так же накидываешь ивентов, ебанутый, более того, там вообще так же можно мышкой натягать компонентов и прикрутить ивенты, короче, ты тупой какой-то, сиди дальше на своих ебучих формочках и не еби людям мозги своей тупостью
Если твои проги состоят из кнопочки и двух лейблов, то ты разницы не заметишь, конечно.
Найс перевод стрелок, я вообще на аспе. Если ты не можешь разобраться в xaml и говнопримочках, то кто виноват?
На png, методом DrawString - рисуется строка.
Вопрос: Как задать фон для текста?
Пробовал так:
>g.DrawString(new String(/''/'', top_text.Length), ...
но там какие-то черточки на фоне... Пикрелейтед.
AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
Не работает.
Если я грубо говоря сделаю морду с формами, а почти всю логику в либе, то при декомпиляции .ехе не будет выдавать либу, так?
Получается таким образом приложение становиться автоматически неуязвимым?
>>304942
.Net параша в плане защиты кода. Но можешь сделать так:
Пилишь свою морду с формами, которая подгружает шифрованную либу с твоего сервера, декриптует и грузит в память через рефлектив инвок. В итоге получается, что либа светится только в памяти и не попадает на диск юзверя. Можешь еще и форму и либу сверху накрыть любым обфускатором, confuserex'ом, например.
Но при этом можно посмотреть код загрузки и ключ для дешивровки и заиметь незашифрованную либу.
1. Либа не падает на диск.
2. Делаешь проверку на доступ к либе только из приложения.
3. Пилишь еще овер9999 хитровыебанных трюков
4. Накатываешь обфускатор
5. Накатываешь протектор
PROFIT/
Всё, не надо уже.
Вырезал 1 символ в paint посчитал количество пикселей для него, и просто сделал .FillRectangle() - в зависимости от длины строки.
это разные вещи, идентити сервер это для централизованной аутентификации, например, госуслуги, куча сервисов отдельностоящих, а аккаунт у тебя один.
асп нет идентити это штучка для работы с локальными пользователями в приложении (на самом деле по-сложнее),
она, например, позволит тебе хранить пользователя в своей локальной бд, или же брать данные пользователя (аутентифицировать его) из идентити сервера.
Так что если у тебя не интерпрайз, то используй асп нет идентити, со временем сможешь перейти на идентити сервер (хе-хе).
> 2. Делаешь проверку на доступ к либе только из приложения.
И что это дает и как это сделать?
Декомпильнул его и дописал записать на диск либу, не?
HELLO WORLD
@
ДЛЯ ВЫВОДА НУЖНО ЗАГРУЗИТЬ ЛИБУ С ИНТЕРНЕТА
@
БЕЗ ИНТЕРНЕТА ПРИЛОЖЕНИЕ НЕ МОЖЕТ ВЫВЕСТИ ЧТО ЕЙ НУЖЕН ИНТЕРНЕТ
@
ЖИДКО ПУКНУВ, ПРИЛОЖЕНИЕ ПРЕКРАТИЛО РАБОТУ
Да, ты прав, не на все борды можно запостить фрактал в 2,5 МБ.
Я там исходник, кстати, выложил, можно по последним постам отсортировать.
Фон - цветной убрал, оставил его белым. Пикрелейтед.
Как здесь размер задать по байтам - не пойму.
Но я вижу две переменных для регуляции размера - по пикселям:
>var w = 1500;
>var h = 1500;
Какой оптимальный размер лучше выбрать? По байтам или пикселям...
Алсо, пишу аплоад скрипт к HFS-серверу, скоро будет на нборде. Каптча - прилагается.
> Open Sourcing Windows Desktop Frameworks
ЕБАТ
Это что, хокку?
Проиграл с твоей йоба-архитектуры!
Да. Но лучше писать private, чтобы долбаебы типа тебя ну и всякие джависты/питонисты навреняка знали, что это private.
>чтобы долбаебы
Вот зачем ты меня обидел? Я пришел сюда с хорошим настроением, поел. А ты тут меня обижаешь. Плохой ты человек.
Я не хотел тебя обидеть. Просто привык всех так называть - это не было оскорблением.
Госпади, как же бесят дегенераты, которые обижаются на обзывания в интернете!
Ну уж привыкай, что нужно быть культурным, а не хамоватым быдлом.
Так какое разрешение png-пикчи задать по дефолту?
Кстати, можно было бы разрешение и цвет фона с фракталом - из аргументов брать, и аргументами их задавать.
Что-то вроде
>fractalgen width height fractal_color background_color
>fractalgen 1920 1080 #000000 #FFFFFF
База данных может быть хоть в очке твоей мамаши. Ты, главное, строку подключения напиши.
>это не было оскорблением
Но ведь ты оскорбил, тут скорбь теперь везде, и мы все в этой скорби из-за тебя.
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public int? TeamId { get; set; }
public virtual Team Team { get; set; }
Когда я в DataGridView пытаюсь отобразить свойство Team, то у меня там ничего не показывается, в чем проблема?
Делал по гайду
https://metanit.com/sharp/entityframework/3.3.php
UPD
У меня не было переопределения метода ToString, но при втором запуске приложения оно уже ничего не отображает.
Отображай Team.Name
Не смотрел, что там в гайде указано, но знаю, что у тебя Team - внешний ключ и для отображения инфы нужно явно подгрузить таблицу, т.е. использовать в linq метод Include(x => x.Team) или как-то так, на метаните есть это
ага блядь и с флешки порт прослушивает. не пизди, дуралей, на флешке можно разве что какой-нибудь sqlite держать
>Так какое разрешение png-пикчи задать по дефолту?
1920х1080
>fractalgen width height fractal_color background_color
Пиздато задумал! Можно еще гуи заебашить.
Создавай вьюху для каждого животного унаследованную от анималвью и какой нибудь резолвер, который будет знать какому животному какая вьюха.
Спасибо, разобрался. Это вроде callback функция называется? Или делегат?
>1920х1080
Прописал.
Вот тут исходник оригинального fractalgen v1.1: https://rextester.com/CSVIA92299 (1920x1080) по дефолту.
А вот тут, этот мой модифицированный fractalgen v1.2: https://rextester.com/KAOE3049
Компиляция:
1. Сохранить код в Program.cs
2. cmd -> "ПУТЬ_К\csc.exe" Program.cs
3. На выходе - Program.exe, генерирует фракталы.
https://github.com/nanoboard/nanoboard/files/2650545/fractalgen_modified+original.zip
Здесь всё это скомпилированное, только разрешение прежнее - 1500x1500
>Пиздато задумал!
Только у меня не получается ничего, пробовал, ошибки бьёт, и я не знаю как в C# аргументы передавать.
>гуи заебашить
В душE не ебу что ты имеешь в ввиду, и как это кодить.
В общем, вот вам код, поиграйтесь, вы же спецы по C#.
Только не забудьте же выложить годную софтину тут, раржпегом, на rextester, гитхаб, или на саму нборду!
>Только у меня не получается ничего, пробовал, ошибки бьёт, и я не знаю как в C# аргументы передавать.
Рекомендую commanddotnet https://github.com/bilal-fazlani/commanddotnet
Там, короче, выносишь все в класс и паблик методы этого класса- команды, а параметры методов - аргументы.
>commanddotnet
Что это? Костыль для аргументов?
Его инклюдить надо внутри Program.cs, чтоб использовать?
Если да, то идея - сразу отпадает.
Напомню, что основная фича фракталгена - это маленький размер исходника,
отсутстие других сторонних библиотек и подключаемых модулей,
а также маленький, портативный exe (win32, win64).
Всё это должно влезть zip-архив менее 64 КБ, потому что размер постов на наноборде органичен этим лимитом.
commanddotnet-master.zip уже занимает 211 КБ (если ничего не вырезать оттуда).
Ну и какой смысл инклюдить туда, всякую многовесную хуету - лишь ради того, чтоб юзнуть аргументы?..
А ещё если GUI прикрутить...
И да, вы же лучше, как спецы, сами сделайте, прикрутите, и зацените.
Я же ничего не понимаю в C#. Лишь пару функций нагуглил, вписал их и всё.
Я тупой, можешь написать чтобы я ctrl+v и все работало? Task.WaitAll только есть. С меня тонны нефти.
Запили в пеинте, каким ты гуй видишь, сделаю на винформах, но я не могу в дизайнерское мышление и делаю дикий вырвиглаз, когда сам
А sqlite не база данных?
Я не знаю нафиг нужен гуй, это была идея его >>307063
Софтина эта, и так нормально генерирует - даблкликом по exe...
Мне бы первостепенно - впроглить туда функции, чтобы аргументами разрешение передать туда, и цвета фона/фрактала.
Но я не знаю C#
Тащемта, если заниматься прогой, то можно сделать гуй как у Garlic'a, пикрелейтед,
он кстати доступен к закачке тут: https://2ch.hk/crypt/res/32539.html#40726 (М)
Там, в GUI, можно было бы и имя файла сгенерировать/задать, и цвета текста/фона/фракталов, и разрешение,
и главное - количество картинок, чтобы сразу пачкой сгенерировать штук 200.
Но всё это можно и аргументами передать, без GUI.
Важно здесь то, чтобы всё это было портабельным, компактным,
и без инклюдинга всяких сторонних библиотек, которые нужно прикладывать к сорцу,
и чтоб запускалось везде.
Поэтому, когда проглить будешь - чтоб сохранить обратную совместимость,
по максимуму заюзай стандартные функции, те, которые есть везде,
в любых линухах и виндах, даже в win95.
_______________________
Алсо, я нашёл тут http://tilde.club/~david/m/ генератор фракталов с Mandelbrot Set, в canvas'e.
Если его сохранить, то страница работает локально в браузере, без всяких exe и прочее.
Перепилил его слегонца, добавил ссылку на закачку png-файла,
и base64 в href, добавил рандомным образом генерируемое имя файла в download.
Получилось это: https://github.com/nanoboard/nanoboard/files/2655543/fractalgen_canvas.zip
На пик2 - сгенерированный фрактал в png.
И такие ещё генераторы рандомных пикч понаделал: https://github.com/nanoboard/nanoboard/files/2655061/generate_canvas_png_and_download.zip
Пик3, пик4. Последняя много байт весит в Full HD, и браузер crush'шится при попытке её скачать, поэтому HD.
Всё это на HTML-JavaScript, и открывается в браузере с поддержкой HTML5 canvas, но не раньше.
_______________________
Думаю, можно было бы и фракталген на canvas переписать, и с локалхоста его открывать.
Но много пикч так не нагенерируешь... Всё крошится, crush crush crush...
Я не знаю нафиг нужен гуй, это была идея его >>307063
Софтина эта, и так нормально генерирует - даблкликом по exe...
Мне бы первостепенно - впроглить туда функции, чтобы аргументами разрешение передать туда, и цвета фона/фрактала.
Но я не знаю C#
Тащемта, если заниматься прогой, то можно сделать гуй как у Garlic'a, пикрелейтед,
он кстати доступен к закачке тут: https://2ch.hk/crypt/res/32539.html#40726 (М)
Там, в GUI, можно было бы и имя файла сгенерировать/задать, и цвета текста/фона/фракталов, и разрешение,
и главное - количество картинок, чтобы сразу пачкой сгенерировать штук 200.
Но всё это можно и аргументами передать, без GUI.
Важно здесь то, чтобы всё это было портабельным, компактным,
и без инклюдинга всяких сторонних библиотек, которые нужно прикладывать к сорцу,
и чтоб запускалось везде.
Поэтому, когда проглить будешь - чтоб сохранить обратную совместимость,
по максимуму заюзай стандартные функции, те, которые есть везде,
в любых линухах и виндах, даже в win95.
_______________________
Алсо, я нашёл тут http://tilde.club/~david/m/ генератор фракталов с Mandelbrot Set, в canvas'e.
Если его сохранить, то страница работает локально в браузере, без всяких exe и прочее.
Перепилил его слегонца, добавил ссылку на закачку png-файла,
и base64 в href, добавил рандомным образом генерируемое имя файла в download.
Получилось это: https://github.com/nanoboard/nanoboard/files/2655543/fractalgen_canvas.zip
На пик2 - сгенерированный фрактал в png.
И такие ещё генераторы рандомных пикч понаделал: https://github.com/nanoboard/nanoboard/files/2655061/generate_canvas_png_and_download.zip
Пик3, пик4. Последняя много байт весит в Full HD, и браузер crush'шится при попытке её скачать, поэтому HD.
Всё это на HTML-JavaScript, и открывается в браузере с поддержкой HTML5 canvas, но не раньше.
_______________________
Думаю, можно было бы и фракталген на canvas переписать, и с локалхоста его открывать.
Но много пикч так не нагенерируешь... Всё крошится, crush crush crush...
ясен хер надо
Да, надо.
Но можно сначала поверхностно поучить и гуглить, потом руку набьешь и само потихоньку после выполнения задач придет.
Кароче сисярп это та же ява, только с некоторыми фичами. Можешь нихуя нового и не учить, а просто гуглить по ходу.
Пиздуй сразу юнити учить.
> надо ли многопоточность, асинхронность, сериализация, LINQ и т.п.?
Асинхронность - необязательно сосвсем, как и многопоточность.
Asp.net, сам по себе каждое обращение к контроллеру обрабатывает в отдельном потоке.
Асинхронность - вообще, скользская тема, куча проектов без Async await этих существует.
Линк - ну да, желательно, чтобы хотя бы чужой код читать, а так же, если с базой работать через EntityFrameWork(Его тоже желательно)
Сериализация, как ты потом убедишься, в асп-нет нужна только на уровне
Объект - json
Json - объект, выполняется это в одну строчку.
>1307157
тебе для этого, скорее, нужно просто изучить html.
User Controls - это просто фишка была, которая позволяла, как метод, неоднократно, один и тот же элементик использовать сложный какой-нибудь
ясен хуй
Ох, от души, братишка.
Раз хоронить уже начали, то это уже лишь вопрос времени - когда похоронят.
О, Вы служитель секты Вендокапеца?
Уверен, что когда венда перейжет на ядро линукс и KDE вместо explorer, шрамы станут стандартом в написании приложений под линукс.
>>кроме гайдов от микрософт
пиздеж, но даже если бы было и так, то в чем проблема? по гайдам начни хоть
WPF - глючная и жутко медленная параша, которая, к тому же, требует написания тонн избыточного кода. Именно поэтому серьёзных проектов на WPF крайне мало.
Для простого интерфейса есть винформс, а если же тебе нужен йоба-интерфейс, который умеет всё, лучше задумайся о написании морды на Qt.
Это с++
Кароче, на текущий день сисярп для декстоп разработки никак не годится. Миром до сих пор правят c, c++ и электрон параша.
Все равно этот впф легаси и нихуя не кроссплатформенный. На qt пиши. это если ты не макака, которая зарабатывает на хлеб, поддерживая легаси говно
Или вот, в каком-то depth файле указано че-то про ssl для дебиана и федоры. Но у меня арч и все работает. Что это вообще такое? Я думал, у меня после компиляции будет две дллки - мой проект и либа, которую я использовал. Но вышло хуй знает сколько файлов.
Есть разные способы публикации.
Вообще, предполагается, по всей видимости, что нужно в паблиш положить также и все либы, которые использовались в твоем проекте, ведь кто знает, может быть, на сервере, на который ты свой проект положешь, таких библиотек не будет.
От таблицы товаров мне по сути нужно только название товара, а количество товара должна содержать таблица прихода.
Как все это сделать?
Хотя нет, в товаре и можно указывать количество и цену.
Не, не совсем подходит.
У меня есть таблица товар и товар в приходе.
В таблице "приход" внешний ключ на "товар в приходе", а в таблице "товар в приходе" внешний ключ на товар.
Бля, научись свои мысли выражать, ни хуя же непонятно.
Попытка расшифровки привела к такой схеме
CREATE TABLE d_product
(
id INT NOT NULL IDENTITY (1, 1) PRIMARY KEY
,NAME NVARCHAR(255)
)
CREATE TABLE t_arrival
(
id INT NOT NULL IDENTITY (1, 1) PRIMARY KEY
,create_date DATETIME NOT NULL DEFAULT(GETDATE())
)
CREATE TABLE t_product_arrival
(
product_id INT NOT NULL
,arrival_id INT NOT NULL
,product_amount DECIMAL(15,2) NOT NULL DEFAULT(0)
,CONSTRAINT PK_t_product_arrival PRIMARY KEY (product_id, arrival_id)
,CONSTRAINT FK_t_product_arrival_d_product FOREIGN KEY (product_id) REFERENCES dbo.d_product (id)
,CONSTRAINT FK_t_product_arrival_t_arrival FOREIGN KEY (arrival_id) REFERENCES dbo.t_arrival (id)
)
На https://visualstudio.microsoft.com/ru/vs/compare/ какие-то ебучие заклинания. Какие компоненты оптимальны для здорового образа жизни?
Удовлетвориться ли мне швабодным коммьюнити или захватить судно ынтерпрайза?
Коммьюнити версии тебе вполне хватит. В энтерпрайз нравится только codelens и то что можно смотреть события ado.net прямо во время отладки, ещё иногда использую поиск клонов кусков кода и intellitest. Но и без всех этих преимуществ я бы жил отлично
Есть есть другой метод, назовём его foobar, который бесконечно распределяет ресурсы.
getMutex должен получить от этого метода ресурс и продолжить работу. Сейчас я из getMutex закидываю определённый объект в очередь, которую съедает foobar. foobar решает, что этому объекту пора отдать ресурс и выставляет (там внутри monitor, проблемы с одновременным обращением не будет) у объекта поле в true. В этот момент в getMutex происходит active lock вида
while (!obj.field){Thread.Sleep(10);}
Теперь вопрос: Я хочу, чтобы getMutex получил от foobar уведомление о том, что getMutex может продолжать свою работу. Как это делается правильно?
список1.SequenceEqual(список2);
Но с моими структурами это не работает, вываливается stackoverflow exception и хеллоу ворлд падает.
> сравнить
А что ты хочешь сравнить, кто вы то еб твою мать? Может ты хочешь сравнить количество структур в листе или суммарно у кого йоба больше.
Тебе надо написать свой метод сравнения или перегрузить Equals/== и там написать логику и что ты хочешь.
Могу ли я внутри класса использовать и property, и field? Например, field просто для проверки значения, а property чтобы изменить значение? Мне кажется, это уже получается какая-то каша. И следуя правилам хорошего кода я должен использовать только property. Так? Но стоит ли мне тогда изменить название field? Например, на internalValue? Чтобы не было соблазна использовать value.
telegram
А теперь покажи хоть одно wpf приложение, которое работает на чем-то, кроме винды. да и вообще, хоть одно популярное приложение на wpf
Вот.
А какие вообще есть кроссплатформенные гуи либы кроме гтк, куте и электрон параши?
Ты думал, что телега на чем написана?
FLTK
>Можешь просто в код-бехайнд хуячить логику
не, я сторонник красивого кода. Вроде с основной идеей MVVM разобрался, там вроде еще есть всякие фреймворки для работы с ним.
Погрузился в эту вашу связку C# + Unity, огромное удовольствие. Интеграция Вижуал Студии и Юнити, C# по ощущениям как та же Джава, но я так понимаю, тут удобнее подключение фреймворков или лучше сделаны зависимости? Интуитивность написания скриптов для объектов движка Юнити просто замечательная, это гораздо лучше, чем писать тупые SQL-запросы и сервлеты.
Прямо сразу хочется стать C#-разработчиком.
Из фича шарпа можно выделить геттеры/сеттеры, линкью и кое какое подобие функциональщины:
https://m.habr.com/post/325308/
Правильно использовать только свойства.
Но если у тебя какой-то критический участок кода в котором происходит под 10 лямов итерация, так еще и параллельно и все это тягает каждый раз поле на проверку, то для производительности можно использовать field.
Правда лишь при условии что он изменяется, а иначе надо создать лок. переменную где сохранить значение через получения свойства и уже с ним работать.
Как-то был у меня код в котором я делал параллельно обработку двумерного массива и где логика зависела от одного поля, так вот когда значения пошли на десятки миллионов общей длины, то разница в обращению к свойству и полю дала свои плоды. Там что-то типа 15% в среднем было лучше по полю.
Хуй его знает. Мне кажется, что в таких огромных проектах используется много фреймворков, в том числе придуманые именно для этого проекта.
Я не думаю, что какой нибудь файрофокс юзает только gtk библиотеку - скорее всего, у него своя гуи либа.
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
ПЕРЕКАТ
ПЕРЕКАТ
ПЕРЕКАТ
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
https://2ch.hk/pr/res/1310862.html (М)
Аноны сможет кто помочь?
У меня есть класс обертка, который принимает ссылку на массив и делает с ним всякие вещи. Как сделать при индексации к этой обертки он возвращал массив из ссылки но уже измененный.
То есть. Основной класс создает массив, создает экземпляр моего класса обертки и в конструкторе обертки кидает созданный массив, я над этим массивом шаманю в обертке и возвращаю к примеру длину массива.
Потом основной класс индексирует мою обертку так: obertka[0] и получить n элемент массива или изменить n элемент типа: obertka[0] = 101, причем когда еще раз создать экземпляр обертки и опять индексировать обертку обратившись опять к obertka2[0], то опять получить 101.
С меня тонны нефти и 2 чаю
Есть строка с URL:
string address = "http://domain_name_is.123.45.67.89.com:1234/folder/index.html";
Задача, получить из неё отдельно:
host: "http://domain_name_is.123.45.67.89.com" (или IP)
port: 1234
folder: /folder
и склеить всё это потом в "http://domain_name_is.123.45.67.89.com:1234/folder(/)"
Вопрос - как?
Написал бы хоть пример в rextester.
А то я не знаю как UriBuilder'ом - var uri обрабатывать...
И да, я уже скомпилил свою хуету. Работает, вроде как, норм.
Это копия, сохраненная 12 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.