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

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

No.36161 Ответ [Открыть тред]
Файл: 125860969610249.jpg
Jpg, 39.86 KB, 300×100 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
125860969610249.jpg
Доска посвящена созданию программ и всему, что с ним связано. Для обсуждения готовых программ, железа, устройств есть доска >>/lor/

Простые реквесты для ньюфагов >>28288
Помощь начинающим >>44688 (новый)
Оффициальный™ Лунного Сахара тред >>43581

Языки программирования:
Haskell >>35693
Lisp >>29402
Assembler >>32929
C++ >>43511
Java >>46281
C# и .Net >>27510
Perl >>37854
Python >>46029
Доска посвящена созданию программ и всему, что с ним связано. Для обсуждения готовых программ, железа, устройств есть доска >>/lor/

Простые реквесты для ньюфагов >>28288
Помощь начинающим >>44688 (новый)
Оффициальный™ Лунного Сахара тред >>43581

Языки программирования:
Haskell >>35693
Lisp >>29402
Assembler >>32929
C++ >>43511
Java >>46281
C# и .Net >>27510
Perl >>37854
Python >>46029
PHP >>23225
JavaScript >>40541
Pascal/Delphi >>37645
Golang >>48143

Фреймворки и библиотеки:
Ruby on Rails >>31319
Qt >>31597

Инструменты:
Vim >>33881
Emacs >>36714
Системы контроля версий >>28005

Прочие технологии:
SQL >>29820

Информатика:
Стеганография >>35350

"Кафедра сайтостроя": тред тут в /s >>31137 и тред в /u >>u/104773
Game Development тред тут >>39943 "Кафедра гейм-девелопмента" в /u: >>u/60525
Сообщение слишком длинное. Полная версия. Post was modified last time at 2017-09-26 21:53:58


No.27510 Ответ [Открыть тред]
Файл: 200px-NET_h_rgb_2...
Png, 17.12 KB, 200×49
edit Find source with google Find source with iqdb
200px-NET_h_rgb_2.png
Файл: 371px-C_sharp.svg...
Png, 6.26 KB, 371×254
edit Find source with google Find source with iqdb
371px-C_sharp.svg.png

Здесь будет ветка обсуждения .net и C#.
И сразу вопрос: какой встроенный класс в C# реализует массив с обращением по индексу за О(1), в котором при этом можно было бы добовлять в конец элементы(аналог vector из С++), и какой соответственно реализует связный список с вставкой элемента в середину и начало и удалением элемента за О(1)(аналог list в С++).
464 posts are omitted, из них 70 с файлами. Развернуть тред.
>> No.48516 Ответ
>>48514
Ок, разберусь.
Спасибо.
>> No.48581 Ответ
Как в Asp.Net MVC добавить генерацию ID в HTML?
Например, у меня в базе данных есть книги с ID, мне бы хотелось, чтобы при генерации HTML у div'а, который служит для представления информации о книге, в id было что-то типа "Book"+ID, где это ID берется из БД.
Например:
<div id="Book1"></div>
<div id="Book2"></div>
...
<div id="Book999"></div>
>> No.48598 Ответ
Файл: 1471815666195025723.jpg
Jpg, 47.98 KB, 517×517 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1471815666195025723.jpg
>> No.48745 Ответ
Файл: 785px-Inheritance.svg.png
Png, 10.33 KB, 785×487 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
785px-Inheritance.svg.png
Имеется абстрактный класс и 4 производных от него.
Всё вместе представляет собой 60 строчек кода.
По-моему, вся эта кучка классов удобнее для восприятия в виде одного файла.
Стоит ли выносить каждый производный класс в отдельный файл?
Даже не представляю, как гуглить подобные стандарты.
>> No.48746 Ответ
>>48745
Стоит.
Классы имеют привычку разрастаться.
>> No.48748 Ответ
>>48746
Спасибо.
Учту.
>> No.48816 Ответ
Що про эф сярп сказать можете, комрады?
>> No.48820 Ответ
Файл: shirai-kuroko.jpg
Jpg, 204.48 KB, 1050×1400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
shirai-kuroko.jpg
>>48816
Вакансий море, в отрасли — жуткий кадровый голод, выбирайте эф сярп, комрады.
>> No.49071 Ответ
Файл: konachan-com-63238-sample.jpg
Jpg, 157.81 KB, 1800×1013 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
konachan-com-63238-sample.jpg
Расскажите про .net core.
Я правильно понимаю, что можно сделать что-то под шиндовс на шарпе, а потом отпилить гуи, сконпелять под эту кору и запускать на линупс сервере?
Насколько трудоемка установка этих зависимостей и смогу ли я юзать все доступные стандартные либы или кастомные?
>> No.49073 Ответ
>>49071
> Я правильно понимаю, что можно сделать что-то под шиндовс на шарпе, а потом отпилить гуи, сконпелять под эту кору и запускать на линупс сервере?
Так ведь это можно было и до .NET Core делать, через Mono. Кстати, если использовать Mono и если гуи написано на Windows Forms, его можно не отпиливать, в Mono нет поддержки WPF, но Windows Forms поддерживается. А в .NET Core нет ни того, ни другого, но можно использовать например Avalonia, Electron.NET, ASP.NET Core или какие-нибудь привязки к Qt например


No.48143 Ответ [Открыть тред]
Файл: 14737788001931.png
Png, 31.18 KB, 400×296 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14737788001931.png
Почему до сих пор нет треда, посвящённому божественному языку Go или Golang?

Поделюсь своими ссылочками
http://golang-book.ru/
Очень хорошая книга, отлично подходит для начинающих, приводится подробное разъяснение основ
https://www.dropbox.com/s/pe7v02epirzzpat/intro_in_golang.7z?dl=1
То же, но в pdf формате

https://www.youtube.com/playlist?list=PLBOo6DBmP5V9CAXxxl6EZxZpMmT_4ZOca
Канал на ютубе. К сожалению порекомендовать его не могу, потому что много воды, то что можно я бы даже сказал нужно уместить в одно видео, растягивается на несколько

https://golangshow.com/
Подкаст по Golang

Реквестирую больше литературы, желательно на русском
Почему до сих пор нет треда, посвящённому божественному языку Go или Golang?

Поделюсь своими ссылочками
http://golang-book.ru/
Очень хорошая книга, отлично подходит для начинающих, приводится подробное разъяснение основ
https://www.dropbox.com/s/pe7v02epirzzpat/intro_in_golang.7z?dl=1
То же, но в pdf формате

https://www.youtube.com/playlist?list=PLBOo6DBmP5V9CAXxxl6EZxZpMmT_4ZOca
Канал на ютубе. К сожалению порекомендовать его не могу, потому что много воды, то что можно я бы даже сказал нужно уместить в одно видео, растягивается на несколько

https://golangshow.com/
Подкаст по Golang

Реквестирую больше литературы, желательно на русском
Если кто-то решится писать свои уроки- то совсем хорошо

postScriptum сам я изучаю golang с нуля, то есть вообще ни с какими языками программирования до этого дела не имел
Сообщение слишком длинное. Полная версия. 5 posts are omitted. Развернуть тред.
>> No.48154 Ответ
>>48153
Спасибо. Первый вариант помог
>> No.48590 Ответ
>>48145
Увидел тред и решил вместо унылого написания очередного скриптика на питоне вкатиться в го. И я прозрел - он шикарен.
>> No.48997 Ответ
>>48590
кажется, тред скорее мертв,чем жив
а так я занимаюсь коммерческой разработкой на голанге, могу подсказать, если что-то нужно
>> No.49001 Ответ
Файл: 0UfebEHWhsAa6CyTc...
Jpg, 81.46 KB, 640×913
edit Find source with google Find source with iqdb
0UfebEHWhsAa6CyTcxXnHzSnVdaw3x2TRFJjdT_-CGw.jpg
Файл: qGxliQk3J5iaw-vTQ...
Png, 419.09 KB, 722×609
edit Find source with google Find source with iqdb
qGxliQk3J5iaw-vTQeqM9CCj2O94TT-_-3LyWqg24TY.png

Можно мемов накинуть
>> No.49017 Ответ
>>49001
> generics
Да ну, зачем? Всегда же можно нагенерить копипасты при помощи `go generate`.
>> No.49032 Ответ
О, привет второй голанг тред, где-то там далеко плавает твой предшественник.

Го - основной язык. дженерики не нужны но я скорее сисадмин которому нужен недо-с потому что я ленивая балда.
>> No.49053 Ответ
>>49032
> но я скорее сисадмин которому нужен недо-с потому что я ленивая балда
А чем твою ленивую балду не устрил тот же питон, например. Я без агитации спрашиваю, просто интересно.
>> No.49068 Ответ
>>49053
Без агитации, отвечу. :3

1) Я очень не люблю пробелы как разделитель кода.
2) Структуры мне легче идут в го.
3) Го - более ограниченый язык, и мне легче его запомнить.
4) Статично скомпиленый код - ня. На серверах каждый раз устанавливать pip install huyeta-v.01 лень.
5) gofmt - ня.
>> No.49070 Ответ
>>49068
Кстати, дополню, я работаю на питоне, ибо овердохрена утилитов (и почти все интерфейсы и апи к нейросетям/нейросетесервисам) на питоне.

Он у меня не вызывает лютой НЕНАВИСТИ, но и любви тоже мало.
>> No.49072 Ответ
>>49068
Спасибо за ответ.
Поддерживаю тебя по всем пунктам.

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


No.48832 Ответ [Открыть тред]
Файл: pg087.png
Png, 23.35 KB, 475×349
edit Find source with google Find source with iqdb
pg087.png
Файл: pg072.png
Png, 56.58 KB, 515×709
edit Find source with google Find source with iqdb
pg072.png
Файл: 14686072547160.png
Png, 44.08 KB, 1024×450
edit Find source with google Find source with iqdb
14686072547160.png

Как понять ООП? Я просто вот не понимаю, зачем это нужно. Безотносительно языка программирования

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

Вот допустим есть public private protected модификаторы доступа т.е. ограничения на то, откуда какой метод можно вызывать. public можно вызывать отовсюду, private только для методов из числа public, а protected ... protected становится private при наследовании, притом наследований может быть 3 вида - тоже public, private, protected... Зачем всё это? Чем это лучше просто кучи функций, которые могут просто вызывать другие функции и работать с какими-то структурами?

Или вот методы, методы это функции, которые привязаны к конкретной структуре, но что если мне нужны методы, которые связывают два разных класса? Например это может код, переводящий из вектора в растровую картинку. Этот код должен быть методом класса для растровой или векторной картинки?
23 posts are omitted, из них 1 с файлами. Развернуть тред.
>> No.49021 Ответ
>>48978
> Чтобы понять ООП надо писать код который его требует.
Какой именно код его требует? Есть вообще в природе код, который без ООП написать невозможно?
И где конкретно кончается ООП и начинается не-ООП? Если в чистом Си писать функции, которые принимают указатели на структуры и что-то с ними делают, ну там аллоцируют память, меняют какие-то значения полей структур, это уже ООП или еще нет?
Или вот если просто использовать классы, но не использовать наследования и полиморфизмов, это ООП?
>> No.49022 Ответ
>>49021
> > Какой именно код его требует?
Тот, который его требует.
В общем виде эта задача не решается. Но так или иначе иногда удобно использовать ООП. Когда - сердце подскажет.

> > это уже ООП или еще нет?
> > Или вот если просто использовать классы, но не использовать наследования и полиморфизмов, это ООП?
Ты задаешь пустые вопросы уровня курица или яйцо.
Ну допустим ООП.
>> No.49042 Ответ
>>49022
> В общем виде эта задача не решается. Но так или иначе иногда удобно использовать ООП. Когда - сердце подскажет.
У меня сердце (и другие органы) пока ничего подсказать не может т.к. я не совсем понимаю это ООП.
> Ты задаешь пустые вопросы уровня курица или яйцо.
> Ну допустим ООП.
Допустим. Но такой код может написать человек, который вообше ничего про ООП не слышал. Как-то это слишком размыто

Давайте вот лучше наследование подробно разберем. На примере аналитической геометрии на плоскости.
Вот например точка. Точку можно записывать в декартовых координатах (y, x) и в полярных (r-радиус, f-угол). Т.е. если без ООП то можно объявить две структуры, в одной координаты x, y, в другой радиус r, угол f.
Мы хотим иметь функцию, которой передаем две точки, и она возвращает true если точки в одном месте находятся (накладываются друг на друга) и false если нет. Методом какого класса такая функция должна быть?
>>49022
> В общем виде эта задача не решается. Но так или иначе иногда удобно использовать ООП. Когда - сердце подскажет.
У меня сердце (и другие органы) пока ничего подсказать не может т.к. я не совсем понимаю это ООП.
> Ты задаешь пустые вопросы уровня курица или яйцо.
> Ну допустим ООП.
Допустим. Но такой код может написать человек, который вообше ничего про ООП не слышал. Как-то это слишком размыто

Давайте вот лучше наследование подробно разберем. На примере аналитической геометрии на плоскости.
Вот например точка. Точку можно записывать в декартовых координатах (y, x) и в полярных (r-радиус, f-угол). Т.е. если без ООП то можно объявить две структуры, в одной координаты x, y, в другой радиус r, угол f.
Мы хотим иметь функцию, которой передаем две точки, и она возвращает true если точки в одном месте находятся (накладываются друг на друга) и false если нет. Методом какого класса такая функция должна быть?
Ок, допустим мы ходим сделать еще и отрезки, прямые и лучи при этом надо чтоб отрезок можно было задавать двумя точками, при этом одна точка может быть в полярных координатах, другая в декартовых, или обе в декартовых или обе в полярных, а еще прямые и лучи могут задаваться через одну единственную точку (хоть в полярных, хоть в декартовых координатах) и угол, и должны быть функции, которые бы позволяли находить точки пересечения луча с прямой, луча с лучом, прямой с прямой, отрезка с отрезком, независимо от того, каким образом какую прямую мы задали, проверять параллельность, проверять принадлежность какой-то точки какому-то отрезку... А еще можно добавить векторов, и им там проверять коллениарность... Пока остановимся на этом.

Так вот, как это все будет выглядеть в ООП, что из чего унаследуется, методами каких классов будут функции, сравнивающие отрезки/прямые и пр. и возвращающие точку пересечения, проверяющие параллельность?
Сообщение слишком длинное. Полная версия.
>> No.49050 Ответ
>>49042
> Так вот, как это все будет выглядеть в ООП, что из чего унаследуется, методами каких классов будут функции, сравнивающие отрезки/прямые и пр. и возвращающие точку пересечения, проверяющие параллельность?
Начнем с начала. Имеются классы "координаты в декартовой системе" и "координаты в полярной системе", плюс в них методы конверсии друг в/из друга.
Иметь одновременно две системы координат и хуячить каждому классу дублирующие методы - слишком криво. Так что берется опорная система координат, и кому надо, юзает функции конверсии классов "координата". Пусть опорной будет декартова, так как полярные - хуета.
Класс точка хранит в себе один объект класса "декартовы координаты". Этот класс также имеет операторы == и !=, внутри одного из них сравниваются координаты этой точки и параметра. Это дает приятный сахар if (pointA != pointB) вместо сишного аутизма !isEqual(pointA, pointB).
Отрезок - еще один класс, имеет внутри два объекта класса "декартовы координаты" - концы отрезка. Прямые и лучи точно также имеют две координаты внутри, плюс для особо извращенных имеют конструкторы не только из двух точек, но и точки и угла - внутри этих конструкторов попросту высчитывается вторая dummy точка исходя из параметра угла.
>>49042
> Так вот, как это все будет выглядеть в ООП, что из чего унаследуется, методами каких классов будут функции, сравнивающие отрезки/прямые и пр. и возвращающие точку пересечения, проверяющие параллельность?
Начнем с начала. Имеются классы "координаты в декартовой системе" и "координаты в полярной системе", плюс в них методы конверсии друг в/из друга.
Иметь одновременно две системы координат и хуячить каждому классу дублирующие методы - слишком криво. Так что берется опорная система координат, и кому надо, юзает функции конверсии классов "координата". Пусть опорной будет декартова, так как полярные - хуета.
Класс точка хранит в себе один объект класса "декартовы координаты". Этот класс также имеет операторы == и !=, внутри одного из них сравниваются координаты этой точки и параметра. Это дает приятный сахар if (pointA != pointB) вместо сишного аутизма !isEqual(pointA, pointB).
Отрезок - еще один класс, имеет внутри два объекта класса "декартовы координаты" - концы отрезка. Прямые и лучи точно также имеют две координаты внутри, плюс для особо извращенных имеют конструкторы не только из двух точек, но и точки и угла - внутри этих конструкторов попросту высчитывается вторая dummy точка исходя из параметра угла.
Так как ты хочешь найти параллельности и прочая, то имеет смысл унаследовать отрезок, прямую и луч от базового класса. Это будет класс с двумя координатами, для каждой координаты булевый флаг "конец", скажем, с методом пересчета угла в dummy-точку, методами проверки на параллельность и т.д. Профит: вместо аутичного сишного копипаста функций ты сразу имеешь универсальные методы проверки на принадлежность точки и прочая.
Для добавления векторов достаточно унаследовать его от класса отрезка (с добавлением какой-нибудь ссылки, указывающей на одну из двух координат как на начальную).
Сообщение слишком длинное. Полная версия.
>> No.49059 Ответ
>>49050
> Иметь одновременно две системы координат и хуячить каждому классу дублирующие методы - слишком криво. Так что берется опорная система координат, и кому надо, юзает функции конверсии классов "координата". Пусть опорной будет декартова, так как полярные - хуета.
> Отрезок - еще один класс, имеет внутри два объекта класса "декартовы координаты" - концы отрезка.
Нет, это плохо. Если мы задаем координаты двух точек отрезка в полярных координатах, и нам надо повернуть этот отрезок на угол X относительно начала координат, мы просто этот угол прибавляем или отнимаем (в зависимости от того, по или против часовой) от углов тех двух точек, ну и если угол измеряется в обычных градусах, то если он перевалил за 360 или ушел в минуса, сделать соответствующую коррекцию. Ну и аналогично для других единиц измерения угла (радианы, грады).
Если то же самое мы захотим сделать с отрезком, точки которого заданы в декартовых координатах, работы у нас будет уже значительно больше.
> Класс точка хранит в себе один объект класса "декартовы координаты". Этот класс также имеет операторы == и !=, внутри одного из них сравниваются координаты этой точки и параметра. Это дает приятный сахар if (pointA != pointB) вместо сишного аутизма !isEqual(pointA, pointB).
>>49050
> Иметь одновременно две системы координат и хуячить каждому классу дублирующие методы - слишком криво. Так что берется опорная система координат, и кому надо, юзает функции конверсии классов "координата". Пусть опорной будет декартова, так как полярные - хуета.
> Отрезок - еще один класс, имеет внутри два объекта класса "декартовы координаты" - концы отрезка.
Нет, это плохо. Если мы задаем координаты двух точек отрезка в полярных координатах, и нам надо повернуть этот отрезок на угол X относительно начала координат, мы просто этот угол прибавляем или отнимаем (в зависимости от того, по или против часовой) от углов тех двух точек, ну и если угол измеряется в обычных градусах, то если он перевалил за 360 или ушел в минуса, сделать соответствующую коррекцию. Ну и аналогично для других единиц измерения угла (радианы, грады).
Если то же самое мы захотим сделать с отрезком, точки которого заданы в декартовых координатах, работы у нас будет уже значительно больше.
> Класс точка хранит в себе один объект класса "декартовы координаты". Этот класс также имеет операторы == и !=, внутри одного из них сравниваются координаты этой точки и параметра. Это дает приятный сахар if (pointA != pointB) вместо сишного аутизма !isEqual(pointA, pointB).
Да это вообще не важно. К ООП это не имеет никакого отношения. Можно конечно отдельно обсудить проблемы всех этих перегрузок операторов в контексте языка C++, например невозможность для перегруженных операторов менять приоритеты, ассоциативность и коммутативность, невозможность сделать short-circuit evaluation для && и || при их перегрузке, невозможность вводить свои новые операторы. Притом в том же хаскеле можно вводить свои операторы, и задавать им приоритет и ассоциативность https://progra-lang.blogspot.com/2016/02/Operatory-v-yazyke-programmirovaniya-Haskell.html
> Прямые и лучи точно также имеют две координаты внутри, плюс для особо извращенных имеют конструкторы не только из двух точек, но и точки и угла - внутри этих конструкторов попросту высчитывается вторая dummy точка исходя из параметра угла.
> Так как ты хочешь найти параллельности и прочая, то имеет смысл унаследовать отрезок, прямую и луч от базового класса. Это будет класс с двумя координатами, для каждой координаты булевый флаг "конец", скажем, с методом пересчета угла в dummy-точку, методами проверки на параллельность и т.д. Профит: вместо аутичного сишного копипаста функций ты сразу имеешь универсальные методы проверки на принадлежность точки и прочая.
Представь что тебе надо проверить параллельность двух прямых или двух лучей, или прямой и луча. У тебя есть точка и угол. Если угол и там и там одинаков (или одинаков если развернуть на 180 градусов) то эти прямые/лучи или лежат на одной прямой, или параллельны. Осталось только проверить, лежат ли прямые/лучи на одной прямой (накладываются ли).
Если же у тебя прямые и лучи хранят две точки, тебе нужно будет выполнять дополнительную работу по определению угла, что неэффективно.

А еще если у тебя две прямые заданы одной точкой и углом, будет очень легко находить угол в точке пересечения
> Для добавления векторов достаточно унаследовать его от класса отрезка (с добавлением какой-нибудь ссылки, указывающей на одну из двух координат как на начальную).
Может быть проще договориться, что первая точка это всегда начальная, вторая - всегда конечная?
Сообщение слишком длинное. Полная версия.
>> No.49063 Ответ
Файл: co.jpg
Jpg, 66.25 KB, 751×499 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
co.jpg
>>49059
> Нет, это плохо. Если мы задаем координаты двух точек отрезка в полярных координатах, и нам надо повернуть этот отрезок на угол X относительно начала координат, мы просто этот угол прибавляем или отнимаем (в зависимости от того, по или против часовой) от углов тех двух точек
Нет, это хорошо. Хоть ты и про повороты ничего не говорил, но это элементарно добавляется одним методом, в котором координаты концов конвертятся в полярные, поворачиваются и конвертятся обратно в декартовы.
А вообще это надо по задаче смотреть, что выгоднее: хранить декартовы или полярные.
> Если то же самое мы захотим сделать с отрезком, точки которого заданы в декартовых координатах, работы у нас будет уже значительно больше.
Лолнет, вся дополнительная работа - конвертация туда и обратно.
> Да это вообще не важно. К ООП это не имеет никакого отношения.
Имеет. Это в сишке есть только тупые структуры без операторов, а в ООП есть классы, которые могут инкапсулировать в себе что угодно и предоставлять API, в том числе и Foo::operator ==. То, что у класса могут быть кастомные операторы, вытекает из парадигмы класса.
> например невозможность для перегруженных операторов менять приоритеты
Да оно и не надо в реальной жизни. Если ты пишешь код сразу с кучей разных операторов в одну строку да еще и с нестандартными приоритетами, то ты пишешь говнокод, и любой поддерживающий его потом программист будет заслуженно проклинать себя самыми нехорошими словами.
> невозможность сделать short-circuit evaluation для && и || при их перегрузке
Чо? (пикрелейтед)
> невозможность вводить свои новые операторы
Нинужно
>>49059
> Нет, это плохо. Если мы задаем координаты двух точек отрезка в полярных координатах, и нам надо повернуть этот отрезок на угол X относительно начала координат, мы просто этот угол прибавляем или отнимаем (в зависимости от того, по или против часовой) от углов тех двух точек
Нет, это хорошо. Хоть ты и про повороты ничего не говорил, но это элементарно добавляется одним методом, в котором координаты концов конвертятся в полярные, поворачиваются и конвертятся обратно в декартовы.
А вообще это надо по задаче смотреть, что выгоднее: хранить декартовы или полярные.
> Если то же самое мы захотим сделать с отрезком, точки которого заданы в декартовых координатах, работы у нас будет уже значительно больше.
Лолнет, вся дополнительная работа - конвертация туда и обратно.
> Да это вообще не важно. К ООП это не имеет никакого отношения.
Имеет. Это в сишке есть только тупые структуры без операторов, а в ООП есть классы, которые могут инкапсулировать в себе что угодно и предоставлять API, в том числе и Foo::operator ==. То, что у класса могут быть кастомные операторы, вытекает из парадигмы класса.
> например невозможность для перегруженных операторов менять приоритеты
Да оно и не надо в реальной жизни. Если ты пишешь код сразу с кучей разных операторов в одну строку да еще и с нестандартными приоритетами, то ты пишешь говнокод, и любой поддерживающий его потом программист будет заслуженно проклинать себя самыми нехорошими словами.
> невозможность сделать short-circuit evaluation для && и || при их перегрузке
Чо? (пикрелейтед)
> невозможность вводить свои новые операторы
Нинужно
> Притом в том же хаскеле можно вводить свои операторы, и задавать им приоритет и ассоциативность
Вот поэтому хачкелем кроме полутора отмороженных никто не пользуется. Играются в свои игрушки, а нахрена - непонятно.
> Если же у тебя прямые и лучи хранят две точки, тебе нужно будет выполнять дополнительную работу по определению угла, что неэффективно.
Это несущественно, в каких координатах хранить - определяется по задачам. Если на сотню задач с декартовыми координатами придется одна задача по высчитыванию угла, то и хрен бы с ним. Да и подсчитать угловой коэффициент - раз плюнуть.
> Может быть проще договориться, что первая точка это всегда начальная, вторая - всегда конечная?
Можно и так, но это может быть не удобно при некоторых гуях, например.
Сообщение слишком длинное. Полная версия.
>> No.49064 Ответ
>>49063
> Чо? (пикрелейтед)
> (a1 && a2) && (a3 && a4)

Лол, ты продемонстрировал короткозамкнутость bool && bool, а не A && A.

>>48918

> Да можно вообще макросы MAX(a, b) ((a > b) ? a : b) использовать. Почему это небезопасно и не один нежопорукий программист так не делает, интересно.

Oh really?

https://github.com/mpv-player/mpv/blob/7dd69ef77c6aa80067c13f76aa0b78d63fbc4eda/common/common.h#L36
>> No.49065 Ответ
>>48832
> Вот допустим есть public private protected модификаторы доступа т.е. ограничения на то, откуда какой метод можно вызывать. public можно вызывать отовсюду, private только для методов из числа public, а protected ... protected становится private при наследовании, притом наследований может быть 3 вида - тоже public, private, protected... Зачем всё это? Чем это лучше просто кучи функций, которые могут просто вызывать другие функции и работать с какими-то структурами?
>

Модификаторы доступа нужны для удобства. Когда у тебя в проекте будет сотня классов с тысячами переменных и методов ты поймешь
>> No.49067 Ответ
>>49063
> Нет, это хорошо. Хоть ты и про повороты ничего не говорил, но это элементарно добавляется одним методом, в котором координаты концов конвертятся в полярные, поворачиваются и конвертятся обратно в декартовы.
Если я сказал что нужны декартовы и полярные, это значит что нужны декартовы и полярные. Если ты говоришь "нет, полярные ненужны, будем все делать в декартовых. Пусть опорной будет декартова, так как полярные - хуета." то ты провалил задание.
> Лолнет, вся дополнительная работа - конвертация туда и обратно.
Иногда эта дополнительная работа может очень много времени занимать, если надо повернуть кучу точек относительно начала координат.
> Имеет. Это в сишке есть только тупые структуры без операторов, а в ООП есть классы, которые могут инкапсулировать в себе что угодно и предоставлять API, в том числе и Foo::operator ==. То, что у класса могут быть кастомные операторы, вытекает из парадигмы класса.
Причем тут сишка и плюсы вообще? Я говорю об ООП. Если очень хочется поговорить о сишке и плюсах, могу создать новый тред. Вон в хаскеле можно вообще свои новые операторы добавлять и выставлять им приоритеты, где там ООП?
> > невозможность сделать short-circuit evaluation для && и || при их перегрузке
> Чо? (пикрелейтед)
https://stackoverflow.com/questions/25913237/is-there-actually-a-reason-why-overloaded-and-dont-short-circuit
> > невозможность вводить свои новые операторы
> Нинужно
Очень аргументированно. Я так тоже могу, смотри: ООП - нинужно.
> Вот поэтому хачкелем кроме полутора отмороженных никто не пользуется. Играются в свои игрушки, а нахрена - непонятно.
>>49063
> Нет, это хорошо. Хоть ты и про повороты ничего не говорил, но это элементарно добавляется одним методом, в котором координаты концов конвертятся в полярные, поворачиваются и конвертятся обратно в декартовы.
Если я сказал что нужны декартовы и полярные, это значит что нужны декартовы и полярные. Если ты говоришь "нет, полярные ненужны, будем все делать в декартовых. Пусть опорной будет декартова, так как полярные - хуета." то ты провалил задание.
> Лолнет, вся дополнительная работа - конвертация туда и обратно.
Иногда эта дополнительная работа может очень много времени занимать, если надо повернуть кучу точек относительно начала координат.
> Имеет. Это в сишке есть только тупые структуры без операторов, а в ООП есть классы, которые могут инкапсулировать в себе что угодно и предоставлять API, в том числе и Foo::operator ==. То, что у класса могут быть кастомные операторы, вытекает из парадигмы класса.
Причем тут сишка и плюсы вообще? Я говорю об ООП. Если очень хочется поговорить о сишке и плюсах, могу создать новый тред. Вон в хаскеле можно вообще свои новые операторы добавлять и выставлять им приоритеты, где там ООП?
> > невозможность сделать short-circuit evaluation для && и || при их перегрузке
> Чо? (пикрелейтед)
https://stackoverflow.com/questions/25913237/is-there-actually-a-reason-why-overloaded-and-dont-short-circuit
> > невозможность вводить свои новые операторы
> Нинужно
Очень аргументированно. Я так тоже могу, смотри: ООП - нинужно.
> Вот поэтому хачкелем кроме полутора отмороженных никто не пользуется. Играются в свои игрушки, а нахрена - непонятно.
Вообще-то у хаскеля и прочих ФП языков есть своя ниша, в которой они востребованы.
> > Если же у тебя прямые и лучи хранят две точки, тебе нужно будет выполнять дополнительную работу по определению угла, что неэффективно.
> Это несущественно, в каких координатах хранить - определяется по задачам. Если на сотню задач с декартовыми координатами придется одна задача по высчитыванию угла, то и хрен бы с ним. Да и подсчитать угловой коэффициент - раз плюнуть.
Это существенно. Я написал что нужны декартовы и полярные координаты. Я ж не написал "нужны декартовы, а полярные там как-нибудь через декартовы можно сделать, типа инициализировать их как порярные, но хранить как декартовы". А еще кроме полярных и декартовых есть много чего еще, например биполярные, параболические, эллиптические... И определенный способ представления координат может быть выгоден для проведения определенных преобразований над точками, заданными в такой системе координат, так что тупо хранить все в декартовых и потом каждый раз конвертить туда-сюда может быть просто глупо.
Сообщение слишком длинное. Полная версия.
>> No.49069 Ответ
>>49064
> Лол, ты продемонстрировал короткозамкнутость bool && bool, а не A && A.
Это ты серьезно сейчас предлагаешь писать говнокодище, где && возвращает не bool?
> Oh really?
Собственно, сразу видно сишный говнокод. За одно только
#define CONTROL_OK 1
#define CONTROL_TRUE 1
#define CONTROL_FALSE 0
#define CONTROL_UNKNOWN -1
#define CONTROL_ERROR -2
#define CONTROL_NA -3
автора надо выебать шваброй. Так даже на сях пишут только джуны.


No.33881 Ответ [Открыть тред]
Файл: vim-shortcuts-dar...
Png, 116.56 KB, 2560×1600
edit Find source with google Find source with iqdb
vim-shortcuts-dark_2560x1600.png
Файл: vim_cheat_sheet_f...
Png, 1791.61 KB, 3301×2550
edit Find source with google Find source with iqdb
vim_cheat_sheet_for_programmers_print.png

Обещал про Vim написать. Ну вот собсна и написал.

Итак. Для начала поговорим о том, кому он не нужен. Ненужен он в самую первую очередь тем, кто не умеет в слепую десятипальцевую печать. Для таких людей vim буде каторгой. Посему данной категории людей советую либо забить на это дело, либо начать развивать слепую печать. Благо навык полезный. Можно гуглить например очевидную stamina и т.д. Вторая категория людей, которым не нужен сабж, это фанаты emacs по очевидным причинам. Кроме того не очень желательно изучать для виндопользователей. Ибо может быть черевато переходом на linux в конечном итоге, лол.

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

Ок. Где взять? Для линупсов достаточно установить из пакетного менеджера очевидный пакет под именем vim sudo apt-install vim для бубунты, а остальные и сами разберутся. Для винды можно пользовать ссылочку ftp://ftp.vim.org/pub/vim/pc/gvim74.exe

Скачали, запустили. Ну и? Где вся няшнота то?
Объясняю только самые основы:
  • выход без сохранения точнее закрытие файла при помощи :q!
  • есть несколько режимов работы. Основные: "нормальный", редактирование, командный, выделение.
  • передвижение по файлу при помощи клавиш h j k l это соответственно влево, вниз, вверх, вправо.
  • для собсна редактирования можно нажать например i
Далее находим vimtutor и проходим его. Он ответит на остальные вопросы. Для линупсов vimtutor ru в консольке. Для винды должно быть гхдетоу в районе меню пуск. Хотя шут его знает. Потом изучаем и печатаем на бумажку или ставим в качестве обойки воон те картинки, что в комплекте с постом идут.
Обещал про Vim написать. Ну вот собсна и написал.

Итак. Для начала поговорим о том, кому он не нужен. Ненужен он в самую первую очередь тем, кто не умеет в слепую десятипальцевую печать. Для таких людей vim буде каторгой. Посему данной категории людей советую либо забить на это дело, либо начать развивать слепую печать. Благо навык полезный. Можно гуглить например очевидную stamina и т.д. Вторая категория людей, которым не нужен сабж, это фанаты emacs по очевидным причинам. Кроме того не очень желательно изучать для виндопользователей. Ибо может быть черевато переходом на linux в конечном итоге, лол.

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

Ок. Где взять? Для линупсов достаточно установить из пакетного менеджера очевидный пакет под именем vim sudo apt-install vim для бубунты, а остальные и сами разберутся. Для винды можно пользовать ссылочку ftp://ftp.vim.org/pub/vim/pc/gvim74.exe

Скачали, запустили. Ну и? Где вся няшнота то?
Объясняю только самые основы:
  • выход без сохранения точнее закрытие файла при помощи :q!
  • есть несколько режимов работы. Основные: "нормальный", редактирование, командный, выделение.
  • передвижение по файлу при помощи клавиш h j k l это соответственно влево, вниз, вверх, вправо.
  • для собсна редактирования можно нажать например i
Далее находим vimtutor и проходим его. Он ответит на остальные вопросы. Для линупсов vimtutor ru в консольке. Для винды должно быть гхдетоу в районе меню пуск. Хотя шут его знает. Потом изучаем и печатаем на бумажку или ставим в качестве обойки воон те картинки, что в комплекте с постом идут.

Это было сверхкраткое введение. А теперь мы будем обмазыватся плугинками и всячески допиливать редактор до удобоваримого состояния. Для начала открываем .vimrc или _vimrc (для венды). Это конфигурационный файлег. Да, да, господа виндузятники. Ни каких окошечек с настроечками. Только хардкор.
По поводу настроечек рекомендую загуглить самомуа лучше почитать маны. Примеры: http://dimio.org/cgi-bin/bps/hlghtsrc/sourcehl.cgi?d=conf&s=vimrc&l=vim http://pastebin.com/jy4a3pE5 http://pastebin.com/paPWQ5fE http://pastebin.com/V3GdD38s Тысячи их.

Однако мы переходим к самому интересному. Доведём до ума сабж при помощи плугинок. Ибо без них vim уныл. Для начала нужно установить пакетный менеджер. Рекомендую либо Vundle либо NeoBundle. Думаю сами сможете загуглить их. К ним идут инструкции. Тож сами читнёте.

Самые полезниньки плагины можно найти там http://vim.wikia.com/wiki/Use_Vim_like_an_IDE

Отдельно упомяну следующие:
NERDTree добавляет древо файлов.
bufexplorer даёт удобную навигацию по буферам.
Вот кстати о буферах, окнах и табах в виме. Вот открыли вы один файлег, а потом, не закрывая первый, открыли второй. Можно потом переключаться между этими файлами. А можно их в одном окне одновременно открыть. Подробнее об том читнуть в справке или например в http://habrahabr.ru/post/28572/ http://habrahabr.ru/post/102373/
Vim Powerline раскрашивает статусную строку.
ColorSamplerPack набор тем оформления.

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

Можно ещё читнуть напоследок http://habrahabr.ru/post/176187/

Ну пока всё. Спрашивайте свои ответы. Ато может я чего забыл ненароком.
Сообщение слишком длинное. Полная версия. 219 posts are omitted, из них 42 с файлами. Развернуть тред.
>> No.49044 Ответ
Наверно золотой вопрос, но как научиться слепой десятипальцевой магии? Может есть программы/cайты какие-то? Инбифо: babytype.
>> No.49051 Ответ
>>49044
> Может есть программы/cайты какие-то?
Полно. Загугли сам. От себя могу рекомендовать это:
https://www.gnu.org/software/gtypist/
>> No.49052 Ответ
>>49044
Ещё рекомендую заклеить буквы на клаве на период обучения (пока не начнёшь уверенно вслепую находить нужную клавишу нужным пальцем), иначе взгляд будет по привычке всё время сползать на клаву. А раскладку распечатать на листочке и держать рядом с монитором первую неделю-две.
>> No.49054 Ответ
>>49051
>>49052
Спасибо, почитаю.
Нашел для практики https://www.ratatype.com/
Без гайдов, но с ачивками и спидометром.

В слепую печать я привык, но я печатаю примерно четырьмя пальцами и очень неточно, решил переучиться. Тем более, когда пытаешься печатать как можно быстрее, ты полностью сконцентрирован на строке — некогда смотреть на клавиатуру.
>> No.49055 Ответ
>>49054
> Нашел для практики
Найди лучше такой сайт/прогу, где есть специальные упражнения, заточенные именно на постепенное освоение выбранной тобой раскладки. Там они выстроены от простого к сложному. В том же gtypist'е есть.
> Без гайдов
Гайд простой: каждому пальцу назначается свой набор клавиш, которые только он может нажимать. Плюс в состояни ожидания пальцы возвращаются на свои клавиши в центральном ряду. А дальше упражнения и тренировки, соблюдая это правило. В википедии есть:
https://en.wikipedia.org/wiki/Touch_typing
>> No.49056 Ответ
>>49055
> Найди лучше такой сайт/прогу, где есть специальные упражнения, заточенные именно на постепенное освоение выбранной тобой раскладки. Там они выстроены от простого к сложному
Так так там и есть.
>> No.49058 Ответ
>>49056
Не нашёл, но я не очень пристально искал. Должны быть упражнения типа того, что сначала печатаем только слова/псевдослова, состоящие из букв центрального ряда. Потом постепенно добавляем другие буквы.

Если есть, то ок.
>> No.49060 Ответ
>>33881
Анон, как эти вашим ВИМом овладеть? Туториал пройден, плагины поставлены, настроен под себя. Десятипальцевой слепой печатью владею, но печатаю всё равно медленнее чем в IDE или любом другом редакторе, особенно когда нужно заниматься рефакторингом, да и вообще по коду перемещаться.
>> No.49061 Ответ
>>49060
Ищи решения для всяких утомительных для тебя операций, сведи использование hjkl до минимума.
>> No.49062 Ответ
>>49060
Почитай вот это:
http://www.moolenaar.net/habits.html
Это оригинал. Вроде бы русский перевод тоже где-то есть.


No.47927 Ответ [Открыть тред]
Файл: tumblr_oppvh6XMAq1w6k0rko1_540.gif
Gif, 231.52 KB, 540×304 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tumblr_oppvh6XMAq1w6k0rko1_540.gif
Тред помощи начинающим свой долгий и тернистый путь в дебри программирования. А также необузданных оленей, код-мартышек, выбора ЯП и иных платиновых вещей.
Но в первую очередь всё-таки помощи новичкам. Всё, чтобы зашедший сюда в первый раз мог почувствовать себя как дома.
Главное - без фанатизма.

Предыдущий: >>46762
351 posts are omitted, из них 54 с файлами. Развернуть тред.
>> No.49016 Ответ
>>49015
Про алгоритмы и структуры данных.

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

Это для работы инженером-программистом.

Для прохождения собеседования требования могут быть другие. Для работы веб-макакой -- тем более.
>> No.49018 Ответ
>>49015
> > Так вот, расскажите об этом вот всём.
Тебе нужно уметь решать поставленную задачу оптимальным образом. По времени, надежности, практичности.

1. Для этого тебе нужна набитая рука. Нужно владеть тем инструментом, который используешь. Чтобы циклы, классы, указатели, стандартные библиотеки, были твоими верными помощниками, а не трудностью и головной болью.
Сосредоточься на этом. Как минимум, можешь все это реализовать, что перечислил (патерны, алгоритмы и тд), на c++.

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

1.2 >>как ебучий робот пересказывать все конспекты, и попробуй одно слово пропустить и на пересдачу пойдёшь, гнида
Представь, что ты строишь себе дом. Тебе нужны строители.
Ты у них будешь молекулярно-химическую формулу бетона спрашивать?
>>49015
> > Так вот, расскажите об этом вот всём.
Тебе нужно уметь решать поставленную задачу оптимальным образом. По времени, надежности, практичности.

1. Для этого тебе нужна набитая рука. Нужно владеть тем инструментом, который используешь. Чтобы циклы, классы, указатели, стандартные библиотеки, были твоими верными помощниками, а не трудностью и головной болью.
Сосредоточься на этом. Как минимум, можешь все это реализовать, что перечислил (патерны, алгоритмы и тд), на c++.

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

1.2 >>как ебучий робот пересказывать все конспекты, и попробуй одно слово пропустить и на пересдачу пойдёшь, гнида
Представь, что ты строишь себе дом. Тебе нужны строители.
Ты у них будешь молекулярно-химическую формулу бетона спрашивать?
Нет, тебе нужен тот, кто будет строить тебе дом. И ты в первую очередь будешь тестировать, а сможет ли он тебе этот дом построить?
Если он кое-как кирпичи кладет, то это 10 тысяч.
Если кладет хорошо и ровно, то это 15 тысяч.
Если сможет искуссные узоры гравировать на кирпичах, еще и проводку тебе сделает, еще и забор золотистой краской под позолоту покрасит, еще и быстро, еще и материал тебе подберет, еще и купит, еще и не кинет, то это уже 50 тысяч.
А если сможет погонять другими строителями, и проконтролирует, что они доделают твой дом до конца, не бросят все на половине пути, то это уже 75 тысяч.

От тебя сейчас максимум ожидают, что ты сможешь более-менее кирпичи положить под чужие указания.
А на собеседовании проверят, сможешь ли ты их поднять, во-первых, не устанешь ли ты через 10 минут таскания, в-третьих, понимаешь ли ты, куда ты и зачем пришел, что ты будешь кирпичи таскать и получать за это деньги, в четвертых, подходишь ли ты более-менее коллективу, в-пятых, обсудят дополнительные вопросы.
Сообщение слишком длинное. Полная версия.
>> No.49020 Ответ
>>49016
>>49018
Спасибо, аноны! А то я прямо сейчас сижу и мучаю себя, что не могу запомнить формулировку методов решений из дискретмата, хотя сами по себе они легки и понятны, но формулируются сложновато. Буду читать, извлекать из этого смысл (= понимать прочитанное) и практиковаться. Вы мне обучение сделали легче в сотни раз, ещё раз спасибо вам.
>> No.49026 Ответ
>>49012
Если кому интересно, короче, вопрос с капчей отчасти решил.
Проблема в функции самого плагина:
https://issues.joomla.org/tracker/joomla-cms/7921
И судя по всему с 2015 года это так и не было решено.
Там аргумент передаваемый функции никак не задействован в ней самой, кроме того что ему по дефолту присваивается нулл. Чувак добавил проверку, что если аргумент не пустой, то он и будет респонсом. Все вроде как просто, понятно и логично, не понимаю почему в плагине это до сих пор не поправлено.
Вариант с правкой этой функции - рабочий, но не тот, что необходим в моем случае, потому что это все слетит при обнове, а задача была запилить не для конкретного сайта, а универсальный модуль который будет работать в любом случае.
Второй вариант который мне приходит в голову, это попытаться вытащить те самые "кишки" и сделать стандартную проверку капчи. Причем со второй частью этого варианта нет никаких проблем, а вот с вытаскиванием - наверное это все таки невозможно. Такие дела.
>> No.49038 Ответ
Есть одна говнине в терминале, написана на питоне. Там много переменных, которые постоянно меняют своё состояние и выводятся в консоль. Есть возможность переписать всё это под массив. То есть вместо N переменных, сделать один массив с N количеством элементов. Эти переменные изначально сравниваются друг с другом, им присваивается постоянно новые значения и так далее. Так же с переменными код более читабелен, хоть его и много. Один массив будет быстрее переменных? Учитывая то, что для проверки двух элементов массива мне нужно будет его найти, а значит перебрать весь массив.
>> No.49043 Ответ
Тут есть тестировщики-автоматизаторы? Или, может, у вас есть друг, который знает друга?
Суть такова - есть 300 тестов на Selenium+TestNG+Java, которые выполняются до 4 часов. Их надо распараллелить на одной машине. Тесты изначально не предусматривали параллельность, поэтому там куда ни плюнь, всюду статики были и это приводило к тому, что при попытке завести тесты параллельно, открывалось несколько окон, но все тесты выполнялись в одном.
Я переписал методы, которые затрагивали драйвер, избавивших от статиков, теперь каждый раз создается новый экземпляр драйвера. Это частично помогло, теперь в каждом окне открывается нужная страница, но за 1 раз тест может выполняться только в 1 окне. Он проходит нормально, не валится, но его сосед выдает NullPointerException, когда пытается взаимодействовать с элементов. Причем выдает он только на 4 элементе, до этого 3 элемента страницы он видит.
Что тут можно сделать? Как хотя бы дебажить это? Я вижу треды и хэши драйверов, они разные, то есть не должны мешать друг другу. И тесты сами находятся в разных классах, хотя вызывают одни и те же методы драйвера.
>> No.49046 Ответ
Как анон применяет математику в программировании? Теория множеств, теория графов, алгебра логики, булева алгебра, теория вероятностей, математический анализ, тригонометрия, вычислительная геометрия, линейная алгебра, теория чисел, комбинаторика и так далее. Где всему этому найти применение? Может есть ресурсы какие-то где можно попрактиковаться? Да, много инфы из некоторых разделов математики помогает мне выстроить хорошую архитектуру кода, а тот же линал даёт какое-то понимание о пространстве и возможности перемещения объектов в нём, но дальше чего-то совсем не заходит. Из-за этого самообучение идёт нудновато и на уме только одно — "нахуя мне это надо?", без практики всё забывается в миг и я не думаю что если бы я учился в ВУЗе, то с помощью лаб я бы запоминал материал лучше, ибо в книгах обычно тоже есть и краткое содержание, и куча заданий.
Ну ладно та же теория графов, можно проработать алгоритм поиска пути для какого-то бота и сделать имитацию ИИ. Можно проработать физику полёта снаряда, взрывов и всего остального. Вот только, блядь, как мне это закодировать? Я вообще понять не могу как эти колдуны это делают, поэтому нужна практика, подскажите и помогите, аноны.
>> No.49047 Ответ
>>49046
Я всего лишь студент математик, который никогда не работал программистом.
Матстат вроде как используется во всяких машинных обучениях, но так, что под него загоняется огромная матбаза из обычного анализа, анализа, построенного на мере Лебега, тервера и собственно самого матстата. А самое забавное, что все результаты, с которыми я сталкивался, интуитивно понятны любому и без всего матстата, а миллион свойств оценок вообще непонятно куда и зачем. Т.е. там обосновывают какие-то очевидные результаты, типа регрессии к среднему. Слова то какие, а по смыслу очевидность. А, ну а еще там есть градиентный спуск, для этого достаточно хорошо владеть школьной математикой. А чтобы пользоваться им читать можно по слогам.
Под линалом, почему-то, все понимают матрицы преобразования. В этом можно разобраться за полтора часа, да еще и с примерами. Остальной линал используется вроде как в методах оптимизации, чтобы потом с этими матрицами работать быстро, но и там не то, чтобы матан лютый, да и я подозреваю, что все это убрано под коврик библиотек. А самая большая часть линала, вообще не знаю где используется. Ну разве что тензоры можно изучить, чтобы понты кидать.
В основных алгоритмах, типа деревьев бинарных, вроде, не используется математика.
Я точно знаю о темах, где нужна серьезная математика, но там ты должен быть именно математиком, а не программистом.
>> No.49048 Ответ
>>49046
Был на паре занятий по машинному обучению и нейросетям. Там много матанализа, есть теория вероятностей. Во всяком случае, в теоретической стороне вопроса. Ну и чтобы осознанно что-то докручивать а не рандомно, наверно нужно понимать, как нейросеть работает, что в ней происходит, как что на что влияет.

Линал и геометрия используется в графике, игровых движках (обнаружение коллизий объектов, например).

Дифуры очень хорошо описывают все, что связанно с физикой, говорят.
>> No.49049 Ответ
>>49046
> Как анон применяет математику в программировании?
Никак, лол.


No.37854 Ответ [Открыть тред]
Файл: aadhhaaeo.jpg
Jpg, 15.55 KB, 300×300 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
aadhhaaeo.jpg
Не нашел перлотреда.
Листал пиратбей и наткнулся на книжку "Beginning Perl". Стоит ли читать?
Спрашиваю, потому что давно уже ничего не кодил, с линукса перелез на шинду, многое уже подзабыл.
109 posts are omitted, из них 6 с файлами. Развернуть тред.
>> No.48959 Ответ
>>48957
Спасибо, теперь немного понятнее.

И тем не менее, а как запустить этих потоков сразу несколько? Когда я пишу async{ ... }, ничего не происходит же.

И примеры такой логики всё-таки хотелось бы. Там что-то сложнее какого-нибудь `cede if !$sem->try`?
>> No.48961 Ответ
>>48959
> И тем не менее, а как запустить этих потоков сразу несколько?
Никак, это кооперативная многозадачность, надо вручную передавать контекст.
> Когда я пишу async{ ... }, ничего не происходит же.
Становится в очередь.

Почитай документацию, штоле.
https://metacpan.org/pod/distribution/Coro/Coro/Intro.pod
https://metacpan.org/pod/Coro
>> No.48962 Ответ
>>48961
Я читал это всё, и про очередь, и про ручную передачу контекста, о чём уже и писал >>48954 здесь. Может, плохо написал, нет таланта, да.
Речь именно об одновременном запуске нескольких потоков и необходимости семафоров для этой цели (иначе наличие возможности установки им значения больше двух я объяснить не могу).

> Никак
Прям вот совсем никак? Может, придумали способ, пусть даже странноватый. Других либ для мультитрединга нет, их в перле всего две и вторая делает то же самое, только хуже, насколько мне известно.
Давай только без толстоты типа ./proga.pl &
>> No.48963 Ответ
>>48962
Всякие более-менее современные я не особо знаю, тащемта. Но как минимум искаробочный threads. https://perldoc.perl.org/perlthrtut.html
А что за задача у тебя?
>> No.48964 Ответ
>>48963
> Но как минимум искаробочный threads
Ну вот про него я и говорил — либо он, либо Коро. И под тредами в перле обычно понимается Коро, нативные же треды использовать не рекомендуют. Они умеют то, о чём я говорил выше?

> А что за задача у тебя?
Писать вайпилки и набигать на капчу в 9000 потоков, как у пистуха было!!1
Шутка.
Но в каждой шутке есть доля правды: суть того, что я хочу, чем-то похожа. Уточнять не буду пока, потому что пока сделано ничего. Впрочем, помощь мне ещё наверняка будет нужна, а перлотредов больше и нет нигде особо. На стаковерфлоу не хочу.

Знаю, что есть модуль Coro::LWP, где что-то похожее вроде как уже сделано, но мне не интересно LWP, я хочу именно libcurl и придётся писать свои велосипеды.
>> No.48967 Ответ
>>48964
> нативные же треды использовать не рекомендуют. Они умеют то, о чём я говорил выше?
Не рекомендуют по причине тяжеловесности. Умеют.

> но мне не интересно LWP, я хочу именно libcurl и придётся писать свои велосипеды.
А какая разница? Суть одна и та же.
Многопоточный хттп я делал на AnyEvent::HTTP, это неблокирующие реквесты + коллбеки, результат неплохой.
>> No.48970 Ответ
>>48967
> Суть одна и та же.
В смысле?
Не помню весь список полезных фичей кёрла, отсутствующих у LWP, но одну довольно важную называю сходу — он умеет в socks5 с проксированием днс. LWP этого не умеет, и если мне нужно будет, чтобы всё работало через тор и работало наверняка, придётся помещать это в обёрнутый в тор контейнер/vm и запускать оттуда.
Или ты о чём?

> AnyEvent
Совсем забыл про это, да.
Можешь сказать, что ещё ты использовал?

Про треды - спасибо, буду иметь в виду.
>> No.48971 Ответ
>>48970
> Или ты о чём?
О либах для хттп. Как-то не случалось найти отсутствие фич, хотя при модульности LWP туда всяко можно вклиниться и докостылять. Потом HTTP::Tiny добавили в core и можно вообще обойтись без жирного LWP, для большинства задач его достаточно.

> Можешь сказать, что ещё ты использовал?
В каком смысле ещё? В основном на перле делал всяких бэкендовые сервисы и автоматизации, потом помаленьку перекатился на ноду для такого, но как подручную тулзу ещё пользую.
>> No.49040 Ответ
Зачем сабам и переменным атрибуты? locked, method, lvalue.

> http://www.perltutorial.org/perl-subroutine/
> sub NAME PROTOTYPES ATTRIBUTES BLOCK
> The ATTRIBUTES gives subroutine additional semantics. Perl provides three standard attributes including locked, method and lvalue.
Больше ничего не нашёл.
>> No.49041 Ответ
>>49040
lvalue позволяет присваивать функции. Как тот же substr -
substr($str, 0, 10) = 123;
Не пользовался таким, так что хз, в чем может быть профит. Можно обойтись без временных переменных при всяких манипуляциях, наверное.

Остальные без понятия, какие-то забытые ооп-шные костыли скорее всего.


No.43511 Ответ [Открыть тред]
Файл: 599716131.png
Png, 77.78 KB, 317×372 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
599716131.png
Предыдущий тред: >>39226
374 posts are omitted, из них 36 с файлами. Развернуть тред.
>> No.48989 Ответ
>>48982
Не слушай >>48987, он неадекват, как-то много тут их завелось.
Юзанье unique_ptr - хорошая практика, помогает избежать утечек памяти и обращений к уже удаленным объектам, трахоебенья с делитами при выходе из зоны видимости и пр.
Если возникает необходимость использовать shared_ptr, то, скорее всего, косяк в архитектуре программы. При шаред птрах становится нихрена не понятно кто владеет объектом~, и кого за него пиздить~.
weak_ptr - не встречал ни одного оправданного использования, на ум приходят только крайне специфические и костыльные варианты.

Насчет быстродействия - да, unique_ptr быть может чутка медленнее, вообще будет зависеть от компилятора и звезд на небе, и тормозить софтина будет точно не из-за них. Но если тебя это смущает, то нахер плюсы, переходи на асм, там такого точно не будет.
>> No.48990 Ответ
>>48989
48982кун
> Не слушай >>48987, он неадекват, как-то много тут их завелось.
чилл плиз

> Если возникает необходимость использовать shared_ptr, то, скорее всего, косяк в архитектуре программы.
я вообще не пользуюсь shared_ptr, я пользуюсь классическими указателями. Тут я спрашиваю чтобы выяснить зачем они собственно нужны кроме как для того чтобы лишний раз не писать free or delete.

> Но если тебя это смущает, то нахер плюсы, переходи на асм, там такого точно не будет.
Собственно я и так плюсами не пользуюсь, в основном С , иногда asm.

ps:и вообще профессионально не занимаюсь программированием, для меня это скорее хобби, и поэтому особо практичность в разработке не интересует(хотя от лекции бы не отказался), а интересует принципы и механизмы как сделать чтобы работало хорошо, а не как сделать быстро чтобы работало нормально.
>> No.48991 Ответ
>>48990
> Тут я спрашиваю чтобы выяснить зачем они собственно нужны кроме как для того чтобы лишний раз не писать free or delete.
Ускорение разработки, уменьшение количества ошибок, лучший контроль памяти, etc.
>> No.48992 Ответ
>>48991
понято,сяп
>> No.49019 Ответ
>>48990
> Собственно я и так плюсами не пользуюсь, в основном С
Осторожно интересуюсь: а ты еще здесь?
>> No.49025 Ответ
>> No.49027 Ответ
>>49025
Посовету че-нить по Вин АПИ для чистой сишки, чтобы и почитать, и "скачать-бесплатно-без-смс-и-регистрации". И оптимальный конпелятор для 32-битных приложений, GCC под венду идет в пакете MinGW, а там интернет-инсталлятор, и он не хочет ставиться на 32-битные некромашины.
>> No.49029 Ответ
>>49027
> Посовету че-нить по Вин АПИ для чистой сишки, чтобы и почитать, и "скачать-бесплатно-без-смс-и-регистрации".
MSDN
> И оптимальный конпелятор для 32-битных приложений, GCC под венду идет в пакете MinGW, а там интернет-инсталлятор, и он не хочет ставиться на 32-битные некромашины.
https://mingw-w64.org/doku.php у меня нормально ставится и работает на 32-битной XP. Или у тебя там что-то древнее XP?
>> No.49035 Ответ
>>49027
> Вин АПИ
Нинужна
> GCC под венду идет в пакете MinGW, а там интернет-инсталлятор, и он не хочет ставиться на 32-битные некромашины.
Вместе с QtCreator вполне ставится же. Про другие IDE см. п. 1.
>> No.49039 Ответ
>>49027
ну винапи я изучал по интернетам + как сказал >>49029 MSDN. с проблемой установки mingw не сталкивался, хотя вроде бы ставил на 32x win7.
>>49035
> Нинужна
ну хз


No.49030 Ответ [Открыть тред]
Привет, /s/. Есть у меня дачтик, который цепляется к компу последовательному порту через USB, в винде используется драйвер Prolific версии 3.2.0, который маскирует USB порт в COM порт. К датчику есть программа платная от производителя, которая общаетя с этим датчиком и позволяет его конфигурировать. Хочу не платить производителю и сделать свою программу хотя бы для считывания показаний датчика. Поставил себе программу, которая мониторит обмен данными с датчиком, т.е. я вижу все байты, которые пишутся в порт программой и которые возвращает датчик.
Попробовал на линуксе с помощью программы jpnevulator посылать в датчик те же самые байты, но ответа от датчика не получаю. Подскажи, /s/, как быть, куда копать?
>> No.49031 Ответ
>>49030
Снимаешь дамп мусора который там гонется.
Раз это RS232, значит контроль что там гонится - полностью на том кто разрабатывал протокол.
Значит, как минимум, можно попробовать полученный байтомусор разбить на отдельные пакеты (100% вначале каждого пакета есть или ID, или длина, или 0xC0).
После этого пытаться понять отличаются ли пакеты для одних и тех-же действий.
Если отличаются, то, есть не нулевая вероятность, что данные шифруются каким-нибудь AES/RSA. Тогда придется ковыряться в их программе и разбираться где достать ключи...
>> No.49033 Ответ
>>49031
Пока мне до этого далеко, т.к. затык на данном этапе в том, чтобы хотя бы послать в датчик те же самые первые байты, которые посылает программа производителя и получить ответ тот же самый. Я написал вот такой код чтобы проверить функциональность (файл exchange.c), обмен данными с портом через виндовскую программу представлен в файле exchange.csv (ссылки https://drive.google.com/drive/folders/0B-YxVplzBNLTRWRSV0lYMWN6UVU?usp=sharing) почему-то к посту не могу прикрепить. В файле exchange.c я пытаюсь записать 56 байт в порт, которые записывает виндовская программа и получить ответ от нее. Запись проходит нормально, а чтение нет - выдает ошибку 11. Скорее всего, что это из-за того, что неправильно настроена структура termios, я пытался также устанавливать поля, как это сделано в виндовской программе, но не помогло. /s/, может ты сможешь помочь мне?
>> No.49034 Ответ
>>49033
Попробуй сперва просто подключиться какой-нибудь терминальной программой и послать эти байты. Под виндой есть старый хрюшный гипертерминал, под линух не знаю. разве что собственный древний велосипед на кутях скомпилить
>> No.49036 Ответ
>>49034
пробовал на линухе с помощью jpnevulator - не вышло. Байты как будто посылаются, но на чтение ничего не приходит. Под виндой подключался с помощью "serial port monotor" для мониторинга обмена данными между устройством и программой производителя, по выводам программы "serial port monitor" и написал свой код, но он не работает


No.48984 Ответ [Открыть тред]
Файл: omega.png
Png, 7.18 KB, 400×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
omega.png
Привет. Это тред для пиара pfpmd: http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/
pfpmd - это тесно сплетенные в одно целое анонимный чат и текстовые борды. Тематика: computer science, математика, программирование, технологии, криптоанархизм, софт и т.п.

pfpmd существует с 2015 года. Изначально он был попыткой воскресить один ресурс, который назывался лолкс, но теперь это в прошлом. Населен небольшим количеством людей и имеет низкую активность, что и хотелось бы изменить. Из-за того, что pfpmd это tor hidden service, периодически туда заходят люди ищущие цп, гуро и т.п., но, ничего не найдя, быстро уходят. pfpmd не модерируется, бан невозможен, как и цензура. Логотипом pfpmd является символ Ω, в честь Chaitin omega number https://en.wikipedia.org/wiki/Chaitin%27s_constant

Фичи pfpmd:
-Борды не фиксированы, в форме создания поста можно указать имя новой борды и она будет создана динамически в момент создания поста.
-Можно менять описание борды, это может делать любой пользователь сколько угодно раз;
-На странице с чатом по дефолту отображаются сообщение не только из чата, но и со всех борд. Это поведение можно изменить в настройках.
-На станице чана отображаются треды со всех борд (у нас это было еще до нульчана). Но можно отобразить только треды какой-то одной борды, просто перейдя по ссылке этой борды.
-Картинки отображатся с некоторых ресурсов, например, imgur, twitter. Также показываются превьюшки видео с youtube и некоторых имиджборд. Список будет пополняться в будущем.
Привет. Это тред для пиара pfpmd: http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/
pfpmd - это тесно сплетенные в одно целое анонимный чат и текстовые борды. Тематика: computer science, математика, программирование, технологии, криптоанархизм, софт и т.п.

pfpmd существует с 2015 года. Изначально он был попыткой воскресить один ресурс, который назывался лолкс, но теперь это в прошлом. Населен небольшим количеством людей и имеет низкую активность, что и хотелось бы изменить. Из-за того, что pfpmd это tor hidden service, периодически туда заходят люди ищущие цп, гуро и т.п., но, ничего не найдя, быстро уходят. pfpmd не модерируется, бан невозможен, как и цензура. Логотипом pfpmd является символ Ω, в честь Chaitin omega number https://en.wikipedia.org/wiki/Chaitin%27s_constant

Фичи pfpmd:
-Борды не фиксированы, в форме создания поста можно указать имя новой борды и она будет создана динамически в момент создания поста.
-Можно менять описание борды, это может делать любой пользователь сколько угодно раз;
-На странице с чатом по дефолту отображаются сообщение не только из чата, но и со всех борд. Это поведение можно изменить в настройках.
-На станице чана отображаются треды со всех борд (у нас это было еще до нульчана). Но можно отобразить только треды какой-то одной борды, просто перейдя по ссылке этой борды.
-Картинки отображатся с некоторых ресурсов, например, imgur, twitter. Также показываются превьюшки видео с youtube и некоторых имиджборд. Список будет пополняться в будущем.
-Текстовое поле ввода чата поддерживает подобие командной строки. Есть команды для создания тредов, ответа в тред, изменения описания борды.
-Можно скрыть отображение всех сообщений с кириллицей.
-Поддерживается форматирование блоков кода. Подсветка синтаксиса реализована через highlight.js и выключена по дефолту, но ее можно влючить в настройках.
-Поддерживается форматирование математических формул через KaTeX. Но эта фича тоже выключена по дефолту.
-Есть страница с логами всех сообщений (включая борды) в обратном по дате порядке.

Основные принципы:
-Максимальное облегчение сервера, весь (кроме статического) html генерится на клиенте, сервер отправляет клиенту только сырые данные;
-Минимум зависимостей у клиентского кода. Всё, за исключение подсветки синтаксиса и математических формул, реализовано на голом javascript, без использования всяких jquery, vue.js и прочих фреймворков. Исходный код KaTeX и highlightjs подгружается только когда фичи включены в настройках.
-Отсутствие цензуры.

Планы развития:
-Децентрализация на уровне серверов. Будет множество инстансов pfpmd, которые синхронизируются между собой. Юзер сможет подключаться к любому из серверов, сможет поднять свой.
-Сделать клиентское приложение с консольным интерфейсом и веб интерфейсом. Чтобы юзер мог без запуска торбраузера заходить на pfpmd или вообще без гуйни, а также чтобы иметь свою локальную базу сообщений, по которой можно делать поиск и что угодно.
-Допилить дизайн.

Следующим постом будет FAQ. Но, в любом случае, я буду отвечать в тред.
Сообщение слишком длинное. Полная версия.
>> No.48985 Ответ
FAQ
> По ссылке пустая страница без сообщений. Ничего не работает?
Надо включить js для pfpmd в настройках noscript. Исходный код не обфусцирован.

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

> Я не могу терпеть спам. Почему бы не чистить говно?
1. У меня нет на это времени. 2. Понятие спама у каждого свое. 3. Будущее клиентское приложение должно будет поддерживать пользовательские фильтры, каждый сам себе будет модератор. 4. Это нарушает один из основных принципов.

> Есть ссылка в клирнете?
Нету, pfpmd доступен только через тор.

> Что означает pfpmd?
Ничего, это просто первые пять символом рандомного хостнейма, который сгенерил тор.
FAQ
> По ссылке пустая страница без сообщений. Ничего не работает?
Надо включить js для pfpmd в настройках noscript. Исходный код не обфусцирован.

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

> Я не могу терпеть спам. Почему бы не чистить говно?
1. У меня нет на это времени. 2. Понятие спама у каждого свое. 3. Будущее клиентское приложение должно будет поддерживать пользовательские фильтры, каждый сам себе будет модератор. 4. Это нарушает один из основных принципов.

> Есть ссылка в клирнете?
Нету, pfpmd доступен только через тор.

> Что означает pfpmd?
Ничего, это просто первые пять символом рандомного хостнейма, который сгенерил тор.

> Что за лолкс?
https://lurkmore.to/%D0%9B%D0%BE%D0%BB%D0%BA%D1%81
Сообщение слишком длинное. Полная версия.
>> No.48986 Ответ
Файл: 1464748799129979470_1.gif
Gif, 8812.08 KB, 291×291 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1464748799129979470_1.gif
> pfpmd - это тесно сплетенные в одно целое анонимный чат и текстовые борды
> У меня нет на это времени
>> No.48988 Ответ
>>48986
Есть логи и тред со всеми сообщениями из чата. Можно раз в день на все ответить и дальше заниматься своими делами, например.
>> No.49023 Ответ
Оп, тематика заинтересовала, но я нихуя не понял. Есть гайд для самых маленьких? Захожу, вижу бессмысленный чат,вижу кучу по-видимому зашифрованной херни в разделе Chan. Как всем этим пользоваться?
>> No.49024 Ответ
>>49023
> Есть гайд для самых маленьких?
В chat - собственно чат. Если перейти в chan, то там будут треды со всех разделов с тремя последними ответами. У каждого треда там есть ссылка в борду, если по ней перейти, то отобразятся только треды этой борды. Ну, короче, очевидно же.
В чате отображаются сообщения со всех разделов. Когда тред не из чата, справа будет, например, /pr/123/ на зеленом фоне, т.е. имя борды и номер треда этого сообщения. Также это ссылки в эту борду и тред соответственно. Алсо, можно применить фильтр для скрытия сообщений не из чата.
У чата есть своя борда, которая называется /cht/ и в ней единственный тред, где отображаются сообщения всего чата (только чата).
Есть еще логи вообще всех сообщений, которые отображаются в обратном порядке, по 200 сообщений на страницу. Там тоже можно применить фильтр и оставить только сообщения чата.
Также есть фильтр кириллицы и много других фич, смотри ОП. И будет еще больше фильтров в будущем.
> Захожу, вижу бессмысленный чат
Побочный эффект отсутствия модерации и цензуры.
> вижу кучу по-видимому зашифрованной херни в разделе Chan
Это недавний вайп, мусор из /dev/random.
> Как всем этим пользоваться?
Просто пишешь, что тебя интересует на обозначенную тематику. В борды, в чат, куда угодно.


No.46281 Ответ [Открыть тред]
Файл: main-qimg-2a7cef12cc63002b267d248611c76e58.png
Png, 782.27 KB, 572×861 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
main-qimg-2a7cef12cc63002b267d248611c76e58.png
И мы продолжаем ликвидацию безграмотности, неспешные беседы и яростные дискуссии вокруг яваскрипта.

Предыдущий тред: >>40541
136 posts are omitted, из них 19 с файлами. Развернуть тред.
>> No.48898 Ответ
Файл: 14274344617810.jpg
Jpg, 50.45 KB, 660×440
edit Find source with google Find source with iqdb
14274344617810.jpg
Файл: ооооооооооооооооо...
Png, 13.45 KB, 675×349
edit Find source with google Find source with iqdb
ооооооооооооооооооооооооооооооооо.png

>> No.48926 Ответ
.bind, .apply/.call

Насколько я понял байнд просто привязывает контекст, возвращая обёртку, а апплай и колл вызывают функцию немедленно с передачей контекстапо крайней мере так утверждает мозила. Но. У Кантора код, в котором он ставит функцию апплаем на таймаут сарбатывает по таймеру, а у меня - немедленно. Есть какие-то вещи, которые неочевидны и должны быть сохранены от профанов?
>> No.48935 Ответ
Файл: BlXl1EAHVSg.jpg
Jpg, 91.68 KB, 604×585 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
BlXl1EAHVSg.jpg
>>48926
Что неочевидного в apply? Причем тут таймаут? Таймаут просто вызывает функцию. Если ты хочешь вызывать функцию с заданным контекстом, то используй apply и передавай в него контекст. Если ты хочешь вызывать функцию без передачи контекста, то можешь работать с функцией с уже ранее заданным контекстом с помощью bind

https://gist.github.com/nanodesu88/1bc42da7ffd5782dd3f0a82d854c3ff1

>>48894
>>48879
Скобки много где используются, это же Си-синтаксис. Ты похоже не понял что такое функции и как они работают. Функции - это не список каких то данных. Функция вызывается, работает и возвращает результат

https://gist.github.com/nanodesu88/30739fe3da3e93ed8b372b4b5b53a5b6
>> No.48938 Ответ
Файл: 1298203382184.jpg
Jpg, 44.06 KB, 600×600 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1298203382184.jpg
>> No.48939 Ответ
Кстати, что с интерпретатором бледной луны?
В лисе вот это
function sayMyName ({
firstName = 'Zell',
lastName = 'Liew'
} = {}) {
console.log(firstName + ' ' + lastName);
} работает нормально, а луна утверждает SyntaxError: missing : after property id
>> No.49002 Ответ
Вы тут живые?
>> No.49003 Ответ
>>48939
function sayMyName({firstName, lastName} = {firstName: 'Zell', lastName: 'Liew'})
>> No.49004 Ответ
>>49002
Ну ячеловек, учащий жавоскрипт устал и на пару недель взял перерыв. А что?
>> No.49013 Ответ
>>49004
Просто проверяю вас.
>> No.49014 Ответ
Файл: De8HhOqWAAEfuVf.jpg_large.jpg
Jpg, 119.74 KB, 640×797 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
De8HhOqWAAEfuVf.jpg_large.jpg


[0] [1] [2] [3] [4] [5] ... [51] [52] [53]
Пароль:

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