24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
ПРОГРАММИРОВАНИЯ ТРЕД Сюда призываются все кодеры двача вне зависимости от их умений. Обсуждаем, хуесосим крч двач
Вкатываюсь в адекватное программирование уже 1.5 года, но пришел в тупик. Как продолжить обучение и начать писать различные скрипты уже выходя за рамки среды?
>>182682975 (OP) Что будет быстрее работать в JS - использование переменной типа string с определенным разделителем, с последующим преобразованием её в массив при помощи array.split(), либо создание массива с последующим перебором при помощи forEach либо цикла?
>>182686685 А как ты создашь это массив без array.split? В ручную, как китаец? Извиняюсь если я не понял вопрос, но мне кажется что быстрее через массив. Не придется каждый раз использовать функцию split. Все же искать быстрее, чем разделять (наверное). жаба-петух
>>182682975 (OP) Просто ты не правильно изучаешь, либо пинаешь хуи и у тебя за 1.5 года было максимум несколько недель изучения. Вот годная схема (в три шага) для вкатывания: 1. Берешь самый годный по отзывам туториал для обучения основом выбранного тобой языка программирования. 2. Проходишь его как можно быстрее, не останавливаясь на моментах которые тебе не сильно понятны. 3. После окончания изучения материала сразу приступаешь к решению каких-либо задач по программированию
Вот и весь секрет. Главное второй пункт - не останавливаться долго на какой-нибудь главе которая тебе не понятно. Во-первых, так ты только потеряешь интерес к материалу и начнешь думать не о программировании, а о том какое ты чмо. Во-вторых, ты всё равно будешь возвращаться к этому материалу, просто сделаешь это когда будешь выполнять нужную тебе задачу, вот тогда и придет понимание данного материала. После решение нужно обязательно вникать в решения других людей и брать оттуда что-то полезное для себя, т. е. анализировать не только свою работу, но и чужую.
>>182686383 На бэкэнде естественно Node.js и какой-нибудь фреймворк, типа Реакта, Энгулара или Вуэ (можешь цапать любой для того, чтобы понять, как работать с MVC и NPM в принципе). На фронтэнд просто знать кучу методов и фич, умение из объединять и корректно использовать. Нарабатывай портфолио из хобби-проектов и всё будет окичи.
>>182683008 Блять нахуя на высоконагруженных сервисах SQL ? Сука... сам просто как хобби занимаюсь проганьем. Но SQL то в нагрузке нахуя? Что бы тормозить всё?
Никогда этого не понимал. Ищем мудилу, который будет ебашить высоканагруженную хуйню, но что бы ещё и SQL туда нам в пихнул. Это блядь сайт что ли?
Аноны, пара вопросов от дебила, игнорирутей если что.
Каким образом можно апач (httpd, линукс) заставить передавать неуспешные ответы в нужно мне формате, тот же xml или soap? Т.е. я хочу получать все 500 ошибки, к примеру, которые отдаёт веб-сервер, но не хочу парсить логи.
Что такое эти новомодные сервисы обмена сообщений? (rabbit, kafka, redis). То есть я могу передавать любые данные между приложухами? И для этого у меня есть один сервис, которые в себе всё это агрегирует и отправляет куда надо? Геморно ли переписывать ПО под них?
Можно ли подружить PyCharm со вторым питоном подружить с русскими шрифтами? Куча мозгоебли с юникодом, чтение данные часто ломается. Если делать из родной идешки питона (idle), то всё норм.
>>182687059 Js... Как много а этих двух буквах. Я охуел от мутаций этого языка. Вот что такое ecmascript? Чем он отличается от coffescript? Я пытался читать определения, но там 100500 непонятных слов
>>182686862 >>182686880 Вроде я это делал потому что нельзя хранить массив в массиве, для этого уже нужно создавать объект. У меня есть определенные данные, которые я добавляю в строковую переменную, которую в свою очередь уже добавляю в массив. Например: Данные: Имя: Вася Возраст: 32, Вес: 90, Рост: 170 Из них я формирую строку "Вася_32_90_170", т. е. string.split(_)[0] имя возраст. Потом я всё это добавляю в какой-нибудь массив "данные людей", после чего уже перебираю этот массив. А если всё не через строку, а через массив делать, то получится ебля с объектом.
>>182687407 На нём пишут только костыли для старых проектов, которые делались когда не знали, что на js можно писать бэкенд, который будет намного лучше пыхапе. Элементарное нежелание тратить время на переделывание, людям легче тратить по часу в день на латание дыр в фундаменте, чем потратить пару месяцев на создание нового.
>>182687425 > Вроде я это делал потому что нельзя хранить массив в массиве, для этого уже нужно создавать объект. Буллшит, можно. И массив в жс это такой же объект, только в качестве ключей у него инты. > У меня есть определенные данные, которые я добавляю в строковую переменную, которую в свою очередь уже добавляю в массив. Например: > Данные: > Имя: Вася Возраст: 32, Вес: 90, Рост: 170 > Из них я формирую строку "Вася_32_90_170", т. е. string.split(_)[0] имя возраст. Нахуя, делай объект же.
>>182687289 >ML БОГИ ТУТ? Бинго, я ML-бог, а ты для меня не более чем капля в окутанный огнем лес. Хорошо что мне не придется читать твой последующий за этим сообщением высер, так как я отправляюсь на более важное, чем твоя посредническая личность, совещание, кажется, об уничтожения Земли.
>>182687571 Ты думаешь спиздил мои картинки и думаешь можешь троллить дальше? Чмо, тебя выдаёт вовсе не использование форсов или картинок. Я понял что это ты по тупым попыткам казаться умнее и упрекать сведущих в машобе людей. Знай, ты опять обосрался. Пока ты сидишь и выдумываешь как сегодня будешь верстать соцсети за 500 рублей на Авито, я уже закончил новую версию нейронки для топовой ай-ти компании, где мне платят в день больше чем твоей путане мамаше заплатили за всю её карьеру. Сейчас я еду на своей porsche spyder, а рядом со мной сидит супермодель и проигрывает с тебя, потому что даже она видит как неумело ты притворяешься человеком, который знает что такое мл. Ты, говно, только и можешь что потирать свой лоб тужась чтобы понять что такое сигмоид и плакать, когда сдаёшься и идёшь дальше скроллить зекач ради того, чтобы попытаться оскорбить уважаемых датасаентистов. Это все, что ты можешь.
>>182682975 (OP) Хочу вкатиться в питон, но как оказалось для джуна нужно иметь опыт работы с опенсорсом, деплоить свои проекты и прочее. Наслушался пиздаболов которые писали что хорошей базы и умения клепать блоги на джанге хватит для трудоустройства.
>>182687691 Ой, началось. Приехали дегроды. Я вызывал ML-богов, а не пухлых сопляков, что вчера рыдали у порога моего замка. Залезай обратно в РАКовину, подзалупник, тебе там место освободили.
Универо ит холоп интел периодически к нам заглядывает зовя к себе на 30к пока учишься и если ты норм сразу оффер на 80к, но только для плюсогоспод или душителей питона. Но плюсы заебные а питон ебанутый поэтому режу вены шарпом запивая жабой
>>182688185 Хули их делать, просто загуглил в интернете методы, посмотрел что к чему и всё. Уже давно всё за тебя сделали, тебе осталось только посмотреть и запомнить логику.
>>182688185 Упражнения полезны только в самое первое время, чтобы разобраться с синтаксисом, стандартной библиотекой и возможно парадигмой, дальше бесполезно, надо ебошить что-то более близкое к реальности.
>>182688288 >плюсы заебные Плюсы очень быстрые если их правильно готовить, офк, но на самом деле, единственная причина, по которой они до сих пор живы — под них слишком много говна написано. Библиотеки и т.д.
А питон не ебанутый, но не подходит для некоторых задач. Если хочешь на нём писать что-то асинхронное, то сразу нахуй, с `asyncio` будет дохуя проблем и еботни.
>>182688185 кароче, анон, лови совет. твоя основная задача попасть на какую то галеру. там ты набираешься опыта и через год сможешь умничать в таком вот треде. для того что бы вкатиться на галеру гуглишь вопросы на собеседованиях, они как правило похожи будь готов к тому что тебе дадут ручку, бумагу и пошлют нахуй и скажут что то сделать. отсортировать массив, сделать из объекта массив или наоборот и т.д. а вообще нормальный сайт, а главное бесплатный, learn.javascript.ru. там и задачи есть, и коментарии
>>182688385 да я знаю что плюсы быстрые + можно всякие интересности писать сложные, но в этом и проблема что в плюсах надо все ручками писать и сложно + сам язык по себе очень огромный и надо сильно въебывать чтобы выкатиться на мидла и потом до сеньйора
А питон именно что ебанутый со своими питоник веями и наркоманией начиная от разметки. Палкой его ковырял для мелких скриптов аля распарсить тонну ерунды, но в итоге на шарпах я напишу тоже самое в 4-8 раз быстрее и все желание эту парашу ковырять отпадает
Но это чисто потому что не знаю нормально ни библиотек ни фишек, но и вкатываться вообще блевотно из-за того что все не так очевидно и приятно глазу
>>182688430 >будь готов к тому что тебе дадут ручку, бумагу бляя, я уже без автодополнения vscode и не могу, даже не вспомню как многие методы пишутся. Да и вообще. частенько гуглю какие параметры принимает та или иная функция, потому-что даже не запоминаю этого.
>>182689085 Но при этом слушаешь нытьё, помогаешь по дому и прочая поебень. Кому-то проще пойти стряпать код и накопить на что-нибудь или помочь тем же родокам, нежели сидеть и слушать, как всё хуёво и со временем осознавать то, что так и есть. Хотя мамка уже ноет о помощи, а тебе похуй. Сдохнет, найдешь новую милфу, которая будет ухаживать за тобой.
>>182689037 Для энтри-левела очевидные LYAH и Real World Haskell. Они, правда, попротухли. Более полно в haskell book описано, но там начинается с кучи теории, зато разжевывается всё. Пиратку хуй найдешь еще но у меня есть, если что. Еще на wikibooks учебник очень годный.
>>182689286 ты можешь уходить из дому как она будет приходить с работы. а перед выходными напиваться так, что бы все выходные валяться в отключке. так вы будете видеться очень редко
>>182689416 Доставлено. только не деанонь плес >>182689386 Что-то я не догадался сразу. Энивэй, искать и ставить компилятор языка, который как-то сразу не понравился лень.
>>182689652 Блин, анон, не пришло на эту ебаную почту, сорян что заебываю. Можно через какие-то dropmefiles или что-то кинуть? Почту не могу зарегать фейковую :с
Тред не читал, сразу вкатился. Мид-самоучка, .NET+SQL, ДС, 150к. Сейчас чувствую, что выгораю. Клепаю однообразные сайты на ангуляре, пытаюсь пассивно готовиться к будущим собеседам. Куда дальше двигаться, хз.
Должен ли фронтэндер джун специализироваться на верстке? Я могу в верстку, просто ненавижу этот процесс. Работа с версткой без проблем, но не полноценная с нуля, с разметки.
>>182687210 Если по существу, что ecmascript это тоже синтаксический сахар. Только официальный и труъевый.
ТайпСкрипт, КоффеСкрипт и прочее это синтаксический сахар васянский и наколенный, то есть стандартом языка не станет никогда.
Вообще последние версии ноды уже умеют многие фичи ecmascript'а понимать напрямую, без трансляции бабелем (что меня лично вымораживает вкрай), с кофескриптом так не будет никогда.
Объясните как запускать питонские скрипты через командную строку. Ввожу "python [путь до скрипта]", - выводит что нету такой команды 'python', и что вообще ты бредишь, иди спать. Пытался просто пидон вводить - нихера. Посейдон установлен, самый последний - 3.7.
>>182687407 Ну постепенно уже перекатываются на ноду.жс
Вооббще есть мнение, что ЖС это новый ПХП. И я готов с ним согласиться.
Ибо вот смотри: пхп язык быстрый, грязный и ужасно страдающий от тяжелого наследия прежних неудачных конструкторских решений..
Джаваскрипт язык быстрый, грязный и ужасно страдающий от тяжелого наследия прежних неудачных конструкторских решений.
Только лично на мне писать на пхп противно ужасно вплоть до физических рвотных позывов. А на жс - ну нормик ваще. Ну да, много хуйни, но в целом не раздражает. Просто пишу и не парюсь, не сильно беспокоясь о всей той хуйне, которая в нем объективно присутствует. С пыхой у меня отчего-то так не получается. Хотя это все, конечно, вкусовщина, но как есть.
>>182682975 (OP) >Вкатываюсь в адекватное программирование уже 1.5 года Чёт долго. Меня через год на работу взяли уже. Вкатывался с гуманитарной вышкой.
>>182691195 Короче, устанавливаю Линукс, там такой ебли не будет. А то я посмотрел, - столько мучений с этими модулями-хуелидами чтобы просто скриптик запустить. На жабе такого нет. В вашу вырвиглазную ide я не полезу, нет, я не из этих
19 лет жаба хуй в треде, не работаю уже 2 года, живу в исландии душа лежит, всё у меня заебись, живу в удовольствие, но знаешь что я тебе скажу оп? Беги нахуй отсюда, дали бы мне возможность вернуться в прошлое, съебал бы на завод.
>>182690805 >>182691162 Всегда считал, кто кодить на интерпретируемых языка в неюниксовом окружении это та еще жопоболь и постоянные мучения.
Перешел на линукс исключительно ради кодинга. Ну то есть как - писал на Шарпе, сидел под виндой. Потому как рабочая инфраструктура прекрасно включена в окружение. Пишу на питоне или жсе, сижу под линуксом. Потому как, опять же, рабочая инфраструктура прекрасно включена в окружение. А на франкенштейнов вида "питон в cmd.exe" или "ASP.Net из под линуксового Апача" смотрю как на франкенштейнов. Ибо нахуя?
Сейчас вот вкатился в ноду, последний раз в винду грузился несколько месяцев назад. А мне норм.
>>182691320 Слуш, братиш! Линукс тоже не панацея и тоже выматает тебе все нервы прежде чем ты успокоишься и покодишь наконец как белый человек. Давай не пори горячку и поставь какую нибудь сраную Ксубунту на виртуалку, пока освоишься и вкуришь что там примерно как, вполне себе выход. Современные машины убунту в виртуалке тянут практически как родную, а все эти убунтовские эксперименты с UI это я ебал ее маму рот, так что ставь там где XFCE искаропки и не еби вола.
Убунту - сраная параша, но это исключительно только в тщательном сравнении под микроскопом и с годами опыта за спиной. Для 99.(9)% его задач убунта будет не более и не менее подходящей, чем даже самый тщательно настроенный LFS (это аббривеатура от Linux From Scratch, братишь).
>>182691750 >A Unity уже не катит? Сраное говно сраного говна. Может за последние лет пять чуть получше и стала, не слежу. Сижу на крыске и не испытываю потребности куда либо мигрировать - окружение just works, абсолютно нейтральное и не вызывает у меня никаких эмоций, ни отрицательных, ни положительных.
>>182691668 Спасибо. Уже когда-то пробовал на xubuntu работать сидеть в браузере. Понравилось. Юнити и Гном кстати работает с отдышкой. Потому что моему палеозойному пк неприятно.
>>182691936 Ну чо ты, чо ты. Гента это лучшее из всех миров - достаточно автоматизировано по сравнению со слакой, достаточно стабильно по сравнению с рачем, достаточно легко относительно бубунты. > только в тщательном сравнении под микроскопом Ну хуй знает. Чуть ли не ежедневно фикшу очередное НЕЖДАЛИ у жены на бубунте. Хуже гитлера.
>>182691625 Начал с курса aiclass от andrew ng. Потом источники вроде стенфордских, university of washington курсов, позже книжек вроде Ian Goodfellow "Deep Learning Book", параллельно скачал Caffe тогда еще не было модных TF и keras и пробовал сам обучать и тюнить сетки.
>>182692734 Не, ну на Linux конечно удобная система команд и защита от вирусов, но, - на Windows программ в сто раз больше и поддержка гораздо лучше. Так-что пердолики опять соснули.
>>182692818 ты че еблан бля, нахуй тебе на джаве пилить сайтики, ты че совсем ебанутый, господь бох дал тебе приложухи пилить, пили приложухи нахуй ты идешь против природы бля...чорт неверный сука...
>>182692823 Давно в поддержку MS звонил-то? Все Mokraya Piska Ultimate Pro поставил? >>182692851 Советую, лол. Хочу посмотреть на реакцию Хаскел сосет, учи ghc.
>>182692964 Кресты - устарелое перегруженное говно, в которое сперва десятилетиями не могли важные вещи добавить, а теперь каждый год лепят по стандарту с каким-то вырвиглазно-ебнутым говном, перегружая и без того неочевидный синтаксис.
ОЦЕНИТЕ СТЭК: Python (всё прилегающее, включая веб-парашу типа Django и Фляги) C (нативный, простенькие скрипты под люникс или даже шиндошс) JavaScript (освоил для РАБоты) Php (писал когда-то на нём курсовой проект, хотя стыдно его включать сюда.. да, пожалуй вычеркну его)
>>182693045 ООП заебись, так как наиболее интуитивно и просто отображает объекты реального мира. Все остальные парадигмы - узкоспециализированная задротская хуйня
>>182693094 Ну так это единственное за что их любят. И то в большинстве областей уже скорость разработки стала важнее скорости работы, поэтому байтоебить остались только в паре сфер (системный кодинг, всяких HFT, геймдев, да и то уже далеко не весь) где гонятся за миллисекндами
>>182687116 >Что такое эти новомодные сервисы обмена сообщений? (rabbit, kafka, redis). Обмен сообщениями это не самоцель этих тулов, а лишь один из вариантов применения Redis -- key-value хранилище, причем пиздец какое быстрое, т.к работает из памяти Rabbitmq -- обычная очередь. Кто-то пушит что-то в очередь, кто-то читает.
ООП - миллионы софтин ФП - полторы задротских хуйни, и то чистого ФП почти нигде нет, даже там где в продакшене используется что-то такое, оно используется в рамках других языков (ну там лямбды всякие в джавах-плюсах, или та же скала - по сути просто джава со свистоперделками).
Самый заебок - ООП язык с некоторыми ФП фичами. Функции как объекты первого класса, лямбды там всякие, стримчики - это все позволяет поменьше бойлерплейта в какой-нибудь джаве писать. Но писать ТОЛЬКО на этом - боже упаси.
Аноны, как вы вообще учитесь. Я должен за день успевать CS, python и assembler, т.е читать материал по всем трем дисциплинам и практиковаться, осозновать прочитанное, и тп. И еще нужно между делом отдыхать т.к голова начинает болеть и я перестаю понимать буквы. Не хватает часов в сутках, а еще спать надо.
>>182689037 Пиздец, ну вот что за долбоебы пошли? Он хочет вкатиться в какую-то парадигму, и спрашивает, где ему писать код вместо того, чтобы спросить про язык. А потом приходят на собесы ребята, знающие, как написать счетчик на реакте на этом их знания заканчиваются, и всерьёз при этом думающие, что умею писать бэкенд.
>>182693341 Ну хуй знает, анон. Я вот на работе пишу на тс и постоянно ловлю себя на мысли, что хочу систему типов с перделками и тайпклассами, нормальные монады, отсутствие понятия null, автокарирование и прочее писечки. Сначала попиздили лямбды, потом где-то попиздели тайпклассы, глядишь попиздят монадки как паттерн, а не конкретные реализации в виде optional, promise и тыды. А там глядишь уже и полноценное фп получилось.
>>182693458 Я пробовал учить один, и он меня быстро заебывает т.е пропадает интерес. А вот если комбинировать их, например днем питон, потом к вечеру он меня заебет, и мне захочется чего то похардкорнее, и я возьмусь за ассемблер, а под конец дня разбавлю CS.
Если выбирать дистрибутив Linux (ЛИНЕКС) для чисто писать код, то ни в коем случае не прислушиваться к советам вот того бредонавта сверху, который за source-based пингвины тут готов и гречку 48 летней давности съесть.
Лучше уж Слаку накатить. И да, другому шизоиду, который почему-то считает, что она не подойдёт я тоже говорю: иди устанавливай обновления для Убунты, обновления сами не установятся. В Слаке есть весь необходимый софт уже в комплекте. Патрик предусмотрел, что его пользователь может быть и Яваа говноедом, и Си-больным, и Приплюснутым Сектантом, и даже Питоно батраком, там будет всё уже поставленное. Ты только прочти как системку локализовать под русский язык, парочку правок в конфигах и всё, система готова к работе. А дальше пиши код и не отвлекайся на перекомпиляцию библиотеки для для замены носков и установки обновлений, после которых вся система крашится.
>>182693507 Умеют работать с такими языками программирования как: HTML Json Ssas CoffieScrpit JavaScript JavaSE JavaFE OpenGl Unity3D C++ Python C Lua TypeScript CSS
Пожалусто возьмите на работу. Буду работать за комплектующие.
>>182693548 Одно дело писать какие-то куски приложения, выполняющие конкретный функционал, это часто делают и это нормальная практика. Но целиком ты приложение если оно расчитано на работу с людьми, а не запуск ручками из консоли написать не сможешь ладно, сможешь но потратишь ебическую тучу времени и будешь везде вставлять костыли, чего только стоит ебля со стейтом.
>>182693693 >Итт есть несогласные? Высрите что-нибудь, послушаем ваши оправдания В джаве нет богоподобного LINQ и делегатов. Java жрет в разы больше памяти и ебет процессор.
>>182693693 Однохуйственно. Более того, С# родился под влиянием Java. Плюс в том, что под винду он нативен. Учитывая, что Linux Foundation теперь доча Мелкомягких и в Венду встроена UNIX-виртуализация - скоро в баше можно будет инлайном переходить в синтакс С#, лол
>>182693737 >>182693712 Просмотрел некоторые задачи и из неё и кое-что прочитал. Мне она показалась каким-то синтезом математической философии и объяснения логики машин через. Но я я про ту, которая на SCHEME написана.
Мистицизмом от неё попахивает. Но книга классная. Наверное стоит продолжить.
>>182693158 > наиболее интуитивно и просто > нет множественного наследования или оно сопряжено с таким пиздецом, что лучше бы и не было Что еще расскажешь?
>>182693875 Универсальность. Си-шарп это завязанная на дотнет приблуда от мокрософта, при всей попытке в кросс-платформенность, а джава-машина есть под самые экзотические платформы и архитектуры.
>>182693737 На питоне лямбды ужасны. Просто посмотри как без let и дефайнов на питоне мерджсорт выглядит. В лиспе всё гораздо проще https://ideone.com/LFgbuM
>>182693341 Что вы так дрочите на эти лямбды? Хули в них толку? Ну лямбды и лямбды, сэкономил 2 строчки кода, не объявив функцию. Охуеееееть, это ж открывает целый мир новых возможностей (нет).
>>182693548 >глядишь попиздят монадки как паттерн Сомневаюсь. Оно слишком СЛОЖНААА и не очень понятно зачем нужно. В монады я несколько раз пытался въехать (когда учил скалу и чутка смотрел хаскель) и так и не осилил.
Если лямбды понятно зачем нужны - они реально экономят сотни шаблонного кода, то вот зачем нужны монады? В чисто функциональных языках они вроде нужны чтобы обхоить всякие ограничения на чистоту, но это довольно бессмысленное занятие как по мне - сперва искуственно создавать себе ограничения, чтобы потом их героически побеждать хитровыебнутым способом. В индустрии такое точно вряд ли нужно.
>>182693875 Я мимокрокодил, конечно. Нигде нет киллер-фичи в лице ассемблера. Ассемблер способен опрашивать на хардверном уровне лампочки, и это именно то, что останется в конечном итоге, когда надстройки в лице яваскрипта и прочих питонов просто станут непригодны в условиях общего переплытия под SoC. У шарпа только есть шанс, остальных постигнет судьба паскаля и кумира (прасти хоспаде)
>>182693898 Фанаты ооп сейчас тебе пояснят что наследование вообще нинужно, ибо есть агрегация. Да и вообще хуле нет, вон уже в джаву даже его почти протащили через дефолт-методы в интерфейсах. А в скале (которая на той же джава машине работает) оно давно уже есть.
>>182693958 Там две строчки, тут две строчки, вот и профит. А то годам к 30 уже руки отсыхать начинают, писать один и тот же бойлерплейт бесконечный из года в год.
>>182694021 Моднявые фп-кодеры обосрались от ужаса. Ну я и сам их порой использую, очень ограниченно. Но это просто синтаксичесий сахар над объявлением функции.
>>182694021 >можно продолжать писать на фортране. >когда его нет Будто бы не существует вероятности, что те, кто имеют CS степень не пишут инфернальную huitu, которая не то, что непонятно как работает, её читать опасно для психического здоровья.
>>182694022 Помню в универе лулз был когда мой одногруппник прямо на паре от нехуй делать крякал какой-то SVN клиент, сзади подошел препод, как оказалось - один из разработчиков этого клиента.
Ошибочным считается восприятие паттернов проектирования как некий не набор ограничений созданных для неквалифицированных специалистов, соблюдение которого ведет к увеличению размера исходных кодов и запутыванию новичков. Наоборот, паттерны проектирования позволяют молодым специалистам немедленно погрузиться в гущу событий и получить выкристализированное знание, полученное ведущими практиками в производстве в течение многих десятилетий. Паттерны проектирования используются в таких, неотделимых от жизни обычного пользователя областях человеческой деятельности как построение АСУТП АЭС, проектирование микропроцессоров, искуственный интеллект, игровые и развлекательные системы, банковские системы, разработка операционных систем, а также применяются для построение компиляторов и всех видов фреймворков.
>>182694053 1 курс продолжение школы 2 курс какой-нибудь ядреный матан + начало специальных предметов 3-4 базы данных, алгоритмы, практики и прочая поебень
ПО от Google, Microsoft, Apple использует паттерны проектирования и каждый, я повторюсь, каждый, специалист несомненно должен разбираться в паттернах проектирования. Не секрет, что попасть к нам в компанию можно только хорошо изучив все паттерны проектирования. Паттерны проектирования очень нужны и полезны. Они помогут вам нанять литераторов, творческих и духовно богатых людей, которые смогут в дальнейшем строить сложные системы и описывать наш мир в терминах объектов. От этого ваши продукты будут наполнены жизнью и красотой, в отличии от сухих и ничем не примечательных программ интровертов-инженеров. Благодаря паттернам проектирования мы смогли сформировать свою команду из талантливых людей, которые видят суть программ. Паттерны проектирование -- это, если хотите, метафизика Computer Science. Ведь, даже если вы думаете, что вы не используете паттерны проектирования вы все равно тем или иным образом вовлечены в шаблонное мышление.
Единственный профит от функционального программирования это очень высокий порог вхождения. За счет этого можно смотреть на всех свысока и считать себя умным. Писать код на чистом ФП невозможно, а изъебываться, приспосабливая красивые абстракции к реальной жизни, и запихивать всю логику в монады, это извращение.
Ну нахуя? Хочешь в функциональном стиле писать? Ну пиши ты на здоровье, кто тебе не дает хвостовую рекурсию и анонимные функции? Где их нет? В си?
>>182694090 Это не вероятность, это скорее факт. Те кто двигают науку обычно меньше всего заботятся о стиле кода и качестве ПО. Им главное чтобы на костылях и говнокоде как-то отработал один-единственный пример, который они для публикации в журнале готовят, а дальше хоть трава не расти.
Пару раз ковырялся во всяком научном коде - такое-то говнище, ссаные студенческие курсовики на пхп в мухосранском пту и то лучше в плане читаемости и понятности.
Обсервер или так называемый Паб/Саб. Все взрослые системы используют шину сообщений. Есть специализированные продукты RabbitMQ, Redis, Tibco JMS, Fiorano, ZeroMQ, ActiveMQ, IBM WebSphere, также Pub/Sub паттер применяется повсеместно для организации событий на стороне клиента, без Pub/Sub мы не построим ну никак удобную систему ивентинга, и не верьте интровертам неквалифицированным специалистам из мира ФП, которые вам будут твердить обратное про FRP и композицию событийных стримов. Без Pub/Sub было бы невозможно построить Facebook, LinkedIn, Twitter и Google+. Pub/Sub как видно из названия сводится к двум функция pub(Message,Channel) (публикация в шину) и sub(Channel,Callback) (подписаться на события шины). Очень просто запомнить, как в Бейсике Peek и Poke.
>>182694127 >А сишарп на ура крякается декомпилятором от IDEA. на дотнетовском сишарпе тоже пишут эксотичную малварь. как они криптуют бинарники чтобы легко не реверселось?
>>182693967 Да нет, они тащемта очень простые на самом деле. Просто нуфаги считают что их обязательно нужно понять и желательно как можно раньше и желательно сразу всю теорию. Закономерно сасают и бросают.
> то вот зачем нужны монады? Что значит зачем? Вот есть элвис оператор, это который let a = fooOrNull?.barOrNull?.quuxOrNull если правильно помню. А с монадой это let a = fooOrNull >>= barOrNull >>= quuxOrNull. Есть еще промисы, это которые let a; getFoo().then((foo) => getBar(foo).then((bar) => getQuux(bar))). А с монадой это let a = getFoo >>= getBar >>= getQuux. И еще десяток вариаций разных штук с разным синтаксисом, зашитые в язык, хотя это такой же паттерн как и делегат.
>>182694167 Мне почему то всегда виделось, что в университете лучше с 1 по 3 курс усиленно бомбить разум студента хорошим, полезным матаном и теми же самыми алгоритмами, а не оставлять это на 3-4 курсы.
В сущности, в любом нормальном учебном заведении так и делают.
Чейн оф респонсибилити. Тоже очень нужный паттерн, без него было бы невозможно проектировать сложные системы. Любой фреймворк в котором есть слои (а это есть у всех), которые нужно подменять ипользуют этот паттер. IO запросы во всех операционных системах, стеки хендлеров, модель OSI, все это примеры чейн оф респонсибилити паттерн. Очень сложно запомнить как его писать. Представьте, что у вас есть список хендлеров через которые должно пройти сообщение, это могут быть фильтры или слои подсистемы авторизации. Мы будем использовать специальный псевдокод для описания сложных паттернов: lists:foldl(fun(Module,Ctx,Args) -> Module:Fun(Args,Ctx) end,Context,Handlers).
>>182694003 >>182694015 Например вместо class MyDelegate implements FooDelegate { doFoo { ... } } просто суешь лямбду. Алсо команда, chain of responsibility, visitor и может еще что-то, что сразу в голову не пришло.
Команда. Этот паттерн позволяет добавлять функцинальность на лету. Наприме прислать встроить в меню вашего приложения новые комманды про которое оно не знано раньше. Благодаря тому, что вы скопируете нужеую DLL с интерфейсом ICommand, вы сможете вызвать метод Command:exec(Args). Не удивляйтесь что на псевдокоде это выглядит так просто, за этим паттерном стоит 5 классов и два интерфейса, а если учесть протокол по которому просиходит обновление кода, то и вовсе можно запутаться. Но понимание псевдокода поможет вам запомнить этот сложный и нужный паттерн.
>>182694203 Есть подозрение, что бинарники не криптуют, а обфусцируют код до неузнаваемости, а потом компилят в байт-код. Выходит запутанное хуй пойми что с кучей левых инструкций.
Стейт паттерн.. Это фундаментальный паттерн который позволит вам разрабатывать гибкие и понастоящему полиморфные приложения. В реальной жизнь очень часто объекты окружающего нас мира меняют свое поведение в зависимости от своего состояния. Для реализации реальных и практичных, а не исследовательских систем вы обязательно будете использовать Стейт Паттерн. Это паттерн настолько сложный что для него не существует псевдокода для мнемонического запоминания. Его очень легко спутать с Паттерном Плагин или Паттерном Стратегия. Понимание различия этих паттернов ключ к успешной разработки приложениий.
Медиатор. Не менее сложный чем Стейт паттер. Медиатор позволяет вам разнести рядом встречающуюся функциональность по разным уголкам планеты и таким образом применить механизм позднего связывания и управлять ссылками на объекты, которые могут находится удаленно. Все системы защиты строятся на этом паттерне. Обычно вы передаете объекты которые поддерживают определенный интерфейс и в коде пишете вызов методов этих объектов используя интерфейсы. Грубо говоря можно сказать, что вы пишете программы. Тоже сложный но нужный паттерн для которго не существует простого псевдокода. Любая программа которая работает с больше чем одной внешней функцией/библиотекой/системой называется медиатором.
>>182694204 Проблема в том, что для этого надо слишком много мозгами скрипеть (что как бы подтверждается количеством попыток это все разжевать на том же хабре). В итоге попытка внедрения ФП приводит к росту требований к уровню разработчиков, причем к критическому росту. Т.е. просто становится очень заябно искать новых людей в команду. Поэтому оно все никак и не взлетает, хотя той же скале уже охуеть сколько лет. На хабре помню была статья о том, как одна команда перекатилась со скалы в го, что ли, потому что заебались искать разработчиков. И я на 100% с этим согласен, т.к. на скале - даже без сильных фп изъебств - я сам один сервис в прод внедрил, а потом проклял все на свете когда пришлось обучать других членов команды, не секущих в ФП совсем,его поддерживать. Короче профит тут несопоставим с умственными усилиями.
>>182694175 >кто тебе не дает хвостовую рекурсию Половина мейнстримных языков, лел. Нет ссылочной прозрачности -> компилятор хуй знает можно ли в твоей хуйне заоптимизить хвостовую рекурсию.
Визитор. Этот паттерн чаще всего испльзуется при рендеринге данных, или алгоритме обхода сложных структур данных типа деревьев. Например представьте себе, что вам нужно отрендерить HTML или XML документ в браузере, который представляет собой иерархическую структуру. Это можно легко сделать с помощью псевдокода [ (element(X,E)):render(E) || E <- lists:flatten(Elements) ], который легко запомнить. Очень простой и понятный паттерн.
>>182694222 Матан говно и нинужен. Проблема в том, что учебные программы устанавливает министерство, и если ты назвался университетом - будь добр на первых двух-трех курсах вывалить студентам в мозг кучу ненужного им говна. Гуманитариям - программировани, программистам - культурологию и матан. В итоге в учебных программах время на реально полезные дисциплины начинает находиться курса с 3 только. Но в ИТ нормальные студенты с 3-4 курса уже работают и забивают на учебу, так что образование по сути вообще мимо пролетает на 80%.
>>182694344 Там, где речь о критичных к быстродействию моментах, никто все равно не пишет на ФП и любых языках с высоким уровнем абстракции. Пишется на чистом си без лишней хуйни.
Интерпретатор. Очень сложный паттерн, которым пользуются системные программиста для разработки компиляторов и интерпретаторов. Если ваша система использует механизм скриптования, вы должны использовать паттерн интерпретатор. Лучше всего для языков использовать BNF нотацию, вот пример описания полноценного объектно ориентированного фунционального динамически типизированного языка с макросами, квазицитированием и возможностями паралельного программирования:
program ::= message [ program ] message ::= symbol [ "(" [ message [ "," message ] ] ")" ]
>>182694324 > А нахуя тогда вообще было писать абстрактный класс-то? Так лямбд-то не было. Приходилось строчку кода в 5 строчек бойлерплейта заворачивать. > ТЕПЕРЬ КОД НЕЧИТАЕМ Ничего, тимлид на ревью расскажет как читабельно сделать. > И НЕ РЕЮЗАБЕЛЕН. Будто ты свои FooDelegate в один однострочный момент дохуя реюзал. Засунь в переменную и будет тебе реюзабельно.
>>182694453 лямбды были всегда. Ещё до ООП. И никому были нахуй не нужны. Иногда они удобны, но пытаться подменять ими нормальный объектный код это дичь.
>>182694372 Ну так нам в этом мире жить и есть два варианта: либо ныть какие все дебилы вокруг и что твое любимое ФП нахуй никому не упало, либо понять, принять, простить и как-то устроиться (т.е. писать на ООП языке с некоторыми удобными ФП фичами)
>>182694341 Лень многобукв писать. Мысленно перенесись в какой-нибудь 95й иди когда там и замени в своем посте ФП на ООП. Инерция, непривычность, архитектурные космонавты с кучей непонятных слов, уже было. И тысячи бложеков\книжек с разжевыванием тоже. Я вот в промисах до сих путаюсь, хотя Eff с 33 алгебрами с закрытыми глазами заворачиваю.
>>182694372 О, вот и профит от ФП. Как уже много раз говорили в треде, профит в ЧСВ освоившего. Бро, нахуй нам не упало дрочить на вашу охуенность. Надо бабки делать! Кодинг это не наука, кодинг это не искусство. Это способ по-легкой срубить бабла, с применением кодеров.
И если качество кода нереально повышает его стоимость (что спорно, к тому же, про качество), то такой язык нахуй не нужен.
>>182694463 В их времена как бы не было особых альтернатив, ты либо байтоебствовал на сях, либо страдал с реально тормозами на всяких лиспах и схемах. Страуструп вроде свой С++ запилил только потому, что ему хотелось язык с ООП, который бы ему курсовик посчитал быстрее чем за месяц (как было бы со схемой)
>>182694404 Я говорил про полезный и действительно покрывающий подавляющее большинство потребностей человека в сфере кодинга матан. Этакий минимум "свободных искусств" как в античности, но только в области математики и логики, чтобы человек мог с этими знаниями приступать к работе не тратя годы на избыточные, слишком абстрактные знания. Но от той же абстрактности и обучению различать её разные уровни тоже никуда не деться, это отличает умного человека, от обычного ремесленника, разве нет? И если уж человек хочет действительно чему-то научиться, нужно оттачивать это умение.
Но да, я соглашусь, что работать нужно начинать раньше, и не забирать у людей время, которое они могли давно превратить в полезные рабочие навыки и лучшую жизнь (во всех качествах и смыслах). И соглашусь, что министерские программы тоже нуждаются в коррекции. Просто сразу всё к херам выбрасывать не нужно.
Человек должен всё же, на мой взгляд, в себе тонкость и интеллектуальное чутьё вырабатывать, чтобы окончательно не стать говноедом, и чтобы быть на многое способным. А для этого тоже нужно время в университете.
>>182694530 Ты про &(void lam(void arg1, void arg2))? Я б тоже такое без нужды не стал использовать > пытаться подменять ими нормальный объектный код это дичь. И не надо. Если у тебя ООП-ориентированый язык, то это всё равно будет неудобно в большинстве случаев.
>>182694565 Вот только лулз в том, что ФП чуть ли не старше ООП, но до сих пор не взлетело. Причем нынче-то все быстрее гораздо происходит чем тогда, новые языки на хайпе взлетают до небес за пару лет. А хаскель и скала как были в жопе 15 лет назад, так и остались до сих пор.
>>182694683 Всем похуй на ваше саморазвитие, ваш набор знаний и ваше глубокое понимание алгоритмов. Эти приложения, они нужны для одной цели. Приносить деньги. Они их приносят? Это хорошие приложения. Других критериев нет.
>>182694709 Иными словами, чем более язык дружелюбен к макаке и позволяет ей писать, не заморачиваясь, код, готовый для выполнения бизнес-логики, тем язык лучше. И наоборот. На пиндоне могу писать даже я, например. Такие макаки стоят дешево, и их код для пользователя от кода хаскеллиста не отличается вообще никак.
>>182694565 ФП пытаются внедрить уже лет 15 как. И, если лямбды норм зашли, то монады так и остались бессмысленным дрочевом для поехавших. Чем-то более-менее похожим на монады является linq в дотнете.
>>182694782 На самом деле все несколько сложнее. И язык, провоцирующий на написание говнокода, может плохо подходить для крупных проектов, которые под весом говнокода вполне могут рухнуть. Например я вообще не ебу как люди пишут на питоне что-то сложнее простых скриптов, как они там ошибки отлавливают? Со всей этой динамической типизацией завтра тебе вместо строки в метод прилетит число и все пизданется, и никакими тестами ты это не покроешь.
>>182694709 Вот из-за таких людей как ты, точней, хммм, такой философии, игростудии и выкатывают фекалии наподобие последнего Бетмена, а потом удивляются, почему сообщество и все те, кто в это сыграл, готовы собирать деньги на киллеров, лишь бы тех уродов и ублюдков допустивших такое неоптимизированное сраньё в массы, устранить.
Продолжайте мыслить такими же категориями. Ни в коем случае не воспринимай это как оскорбление, это только моё мнение.
>>182694404 >В итоге в учебных программах время на реально полезные дисциплины начинает находиться курса с 3 только Поясни, что из этого годное: Микропроцессорные системы Архитектура программных систем Цифровая обработка сигналов Базы данных Конструирование программного обеспечения а что поебота?
>>182694702 > до сих пор не взлетело > лямбды в каждом первом языке > const и иммутабельность в каждом втором > Option, promise, редухи и прочие монадки > uniqueness types в расте Так, падажжи ебана.
> А хаскель и скала как были в жопе 15 лет назад Вангую там и останутся. Будет что-нибудь новое, что будет педалиться большой корпорацией. Взлетает обычно такое.
>>182694824 >уже лет 15 как. Двачну. Скале как раз вот ровно 15 лет. И все 15 лет ФПебы кукарекают НУ ВСЕ ПОЧАЛОСЬ, ФП НА ПОДЪЕМЕ, ЩАС ЗАЖИВЕМ! Только чет все не начинается. Какие-то удобные штуки из ФП в ООП перекочевали, но привело это только к тому что чистые фп языки стали еще менее нужны. Если пять лет назад я еще думал о переходе с джавы на скалу, то после выхода 8 джавы это стало нахуй не нужно, так как в скале осталось разве что "все является выражением" и паттерн матчинг клевый, а все остальное полезное уже и в джаве появилось.
>>182694865 Хз, в игры не играю, не могу сказать ничего по этому поводу. Ребятам надо было оптимизировать в первую очередь свои расходы, я так думаю. И купить готовый движок.
>>182694865 Геймдев - особенно консольный - одна из немногих областей где байтоебство еще востребовано. Да и то разве что в ААА-йобе. И то обычно достаточно в фирме иметь пару спецов-байтоебов, которые будут говнокод подчищать за остальными, это выгоднее чем обучать тонкостям всех. Во всяком случае в мои времена (год 2008, разработка под PS3) так было.
>>182694886 Ты понимаешь разницу между парадигмой и отдельными фичами, вынесенными за её пределы? Императивное программирование как основа кода как было, так и осталось. Всё так же код это, mainly, последовательность инструкций и циклов, а не описан функциями в математическом смысле. Ну и ООП-примочки никуда не отступили.
>>182694869 >Микропроцессорные системы >Цифровая обработка сигналов >Базы данных Три совершенно разных области. Специалист в одной не шарит в двух других. Но мы засрем студентам весь мозг обрывками знаний вместо того, чтобы научить тупо писать тесты.
Есть ли исследования, которые показывают или опровергают различие мозга пограмистов на различных ЯП? С картинками типа пикрелейтед. У ФП наверн во время погромирования была бы очень активна думательная зона, а у джава-петухов - памятная.
>>182694906 Лол, ты прямо Нострадамус какой-то. А они и купили!
Точнее взяли, как бы ты не удивлялся. И этот движок барабанная дробь UNREAL ENGINE 4!!!
Аплодисменты, дамы и господа, той студии, которая умудрилась взять игровой движок, который никогда не похдодил к таким большим виртуальным мирам, и накрыла его таким толстенным слоем лагучего кода, что даже индусы некроманты с автопарково Гугла, которые спят прямо в машинах, вытирали слёзы от такого шедевра.
>>182694992 Сомневаюсь. И что бы такое исследование доказало, какой вывод из него надо будет сделать? Результатом программы ведь должно быть удовлетворение нужд пользователей, а не напряжение различных участков мозга программиста
>>182694998 Haskell is sandwiched between two layers of C++ in Sigma. At the top, we use the C++ thrift server. In principle, Haskell can act as a thrift server, but the C++ thrift server is more mature and performant. It also supports more features. Furthermore, it can work seamlessly with the Haskell layers below because we can call into Haskell from C++. For these reasons, it made sense to use C++ for the server layer.
Эммм... и всё же мишшн критикэл вещи написаны на сях.
>>182695000 >которая умудрилась взять игровой движок, который никогда не похдодил к таким большим виртуальным мирам Чет вспомнил кучу историй как Wargaming свой движок BigWorld мучали. Особенно в самолетах, где движок был не заточен под такие большие открытые пространства, в итоге они там все отскейлили, в единицах движка длина самолета была около сантиметра, чтобы большие на вид уровни влезали в ограничение движка в пару квадратных километров.
>>182695003 Вкатывальщиков на удаленку обычно не берут. Ибо пока ты мало знаешь, на удаленке будешь слишком сильно тупить и косячить, а учить и исправлять тебя тяжело. Удаленщики обычно только с опытом нужны
>>182695051 At the lowest layer, we have existing C++ client code for talking to other internal services. Rather than rewrite this code in Haskell, which would duplicate the functionality and create an additional maintenance burden, we wrapped each C++ client in a Haxl data source using Haskell’s Foreign Function Interface (FFI) so we could use it from Haskell.
Haskell’s FFI is designed to call C rather than C++, so calling C++ requires an intermediate C layer. In most cases, we were able to avoid the intermediate C layer by using a compile-time tool that demangles C++ function names so they can be called directly from Haskell.
>>182694952 Понимаю прекрасно. Тем не менее, если парадигма состоит из N фичей и N/3 фичей уже разошлись почти по всем языкам, то можно ли говорить что парадигма не взлетела? Ящитаю, что это считается за взлетело. Чисто ООП-языков типа smalltalk тоже нифига нет в мейнстриме, но почти все их фичи везде внедрено. ООП взлетело или не?
>>182694945 Там очень странное сочетание кода, который никто не захотел чистить, разгильдяйства управляющих студии, как выше анон догадался, и мерзопакостнейшего порта с консолей, который в итоге и вызвал скандал.
Но да, тут именно дело было в порте. Но всё равно, это никак их не оправдывает.
>>182695003 Мимо макак-вкатывальщик >вкатывальщик в ведро >чисто за опыт Нигде, если ты не про реакт натив с паралельным макакингом Если окончательно определился с ведром, - советую пойти на курсы\ сразу стажером
>>182695003 Камон, заходишь на апворк, сначала ищешь какую-то хуйню по типу парсеров, кидаешь апплаи. Можешь пиздануть видосик, как твой скрипт охуенно парсит амазон и добавлять его в твои апллаи. Заказчик видит, что какой-то бичара без опыта за копейки готов батрачить, а у него еще и видосик есть. Все, клиент твой.
>>182695089 >Чисто ООП-языков типа smalltalk тоже нифига нет в мейнстриме, но почти все их фичи везде внедрено. ООП взлетело или не? Тут для начала надо определить что такое ООП, потому что все понимают это по-разному. Как там создатель того же смоллтока, что ли, говорил "Да, я придумал термин ООП, и я совершенно точно не имел в виду то, что теперь под этим подразумевают"
>>182695067 Ну а как тогда опыт нарабатывать? Ибо я на такой стадии, что бегиннерские курсы/задачки челлкнджа не дают, но когда пытаюсь во что-то серьезное - стоплюсь на первом же затыке
>>182695073 >>182695051 >Вырвать из контекста какую-то хуйню >очередной обсёр функциональщиков Почитайте, почему они перешли на хаскель Итоговый прирость скорости ~х3
>>182695157 И не передергивай. Речь была о том, что ФП или ООП, но все критичные вещи по скорости пишутся на байтоебстве, поэтому гарантированная оптимизация хвостовой рекурсии, ну как сказать, не критична.
>>182694977 Ок, троллинг aside. Без лямбд: interface Foo { barDelegate: BarDelegate } class MyBarDelegate implements BarDelegate { void doBar() { print("tipa sdelal bar, da"); } } let foo = new Foo(); foo.bar = new MyBarDelegate(); foo.run()
С лямбдами: interface Foo { barDelegate: () => void } let foo = new Foo(); foo.bar = () => print("tipa sdelal bar, da"); foo.run()
Вот так лямбда заменила однострочный делегат. Если ты когда-нибудь писал на ObjC с какавой, где 60% апи это делегаты, до блоков, то сейчас пустил ностальгическую струю под штаниной, инфа 100%.
Нет, правда, спасибо, что поделился интересным фактом.
Вообще, уважаемые, читая ваши истории, как вы там пердолите что-то, внедряете ФП, что-то пытаетесь опттмизировать, занимаетесь САМОРАЗВИТИЕМ через МОНАДЫ, я смотрю в прошлое и знаете каким вопросом задаюсь?
Как вообще у человечества, с таким кодом что-то работает, сука.
Как кодили на компах, которые были на космических аппаратах, доставивших человека на Луну. Как запускали шаттлы. Как Советы умудрились забросать Венеру своими дешевыми аппаратами, и даже записать оттуда звук и сделать фоточки, если кодинг - просто энциклопедия человеческой лени и самовлюбленного безумия вперемешку с глупостью.
>>182683008 Что такое в Росси "архитектор"? В Европе архитектор это что-то вроде бизнесс менеджера с технарьским бэкграундом, который может в разговоры на всех уровнях ( у вас это называют "стейкхолдер менеджментом" ). Дальше идёт Энтерпрайз архитектура, тоесть ещё больший уклон в бизнесс процессы. И ещё выше архитекторы доменов, специализация в определенной области ковсему прочему.
>>182695223 >Как Так весь вопрос в KPI и целях процесса разработки.
В интернет-индустрии платят за то, чтобы быстро хуяк-хуяк и в продакшен, захватить рынок пока конкуренты еще только планируют архитектуру своих приложений. Баги, тормоза, технический долг - похуй, главное чтоб купили, а покупают обычно у того, кто первый сделал и у кого свистоперделки громче свистят.
Но тащемта это не единственный вариант работы. Если работодатель готов платить за качество - будет ему качество. Тесты-хуесты, формальная верификация, надежность, вылизанность каждого байта, все дела. И именно так и пилят софт для космоса, например.
Просто разные цели. Ну и разумеется первая индустрия по количеству вовлеченных людей сильно больше второй, поэтому и истории такие встречаются чаще.
я как-то пришел в одну контору, поболтали о жизни, а перед следующей встречей спрашивают "а вы к нам на архитектора"? я говорю, ну как пойдет, может и архитектурить будем. btw предложили 8к, для москвы неплохо
Принимает функцию из А в Б (при этом Б может быть равно А), список с А и возвращает тип результата функции У тебя есть length, который из String -> Int Тебе нужно, чтобы в массиве был String, т.е. [String]
map :: (String -> Int) -> [String] -> Int
При этом у тебя может быть вместо length какой-нибудь toUpperString (String -> String) и получится map :: (String -> String) -> [String] -> String
Если ты напишешь retadedMap :: (String -> Int) -> [String] -> Int Он подойдет к варианту с length, но не будет работать с toUpperString То есть он не полиморфный
>>182695117 Кек, разве это не страус про плюсы говорил что-то охуенно похожее. Энивей, > Тут для начала надо определить что такое ООП С ФП аналогично, только еще размытее. В отличии от инкапсуляции... ООП, про ФП я кроме функций высшего порядка уже затрудняюсь что-то общее назвать. Типизация? В лиспе ее хуй. Ленивость? Она только в хаскелле. Разве что выражения вместо стейтментов эвривер и ссылочная прозрачность. И то в F# вроде ебашат IO и не парятся с ней
>>182695290 Какой код? Я дизайню хай левел, то что всяким хэдам и директорам показывают, а инженерам я делаю дизайны на azure/aw,s, по которым они строят инфраструктуру и прочее.
>>182687283 С NoSQL обычно все очень быстро обсираются как только оказывается что надо какую-то статистику считать, а не просто складывать сперва в БД строки и потом разом их все читать. Как только твой менеджер захочет (а он стопудово захочет) сделать "ну простой запросик, выбери мне всех тех юзеров, которые зареганы в таком диапазоне дат, у которых вот это поле такое, а вон то - такое же как вот в этой таблице" для своих отчетов - все, приплыли, твой NoSQL идет лесом нахуй, либо обзаводится SQL-костылями и по сути превращается в тот же SQL, толкьо кривой и неудобный.
>>182695389 Был проект недввно, надо было дельты накладывать на мастер data, так nosql обсиралась с индексом в 190гб. Короче разделили на nosql &postgresql . Теперь все мерджица раз в день при помощи aws lambda.
>>182695389 Nosql - это кэш, никто в здравом уме там данные не хранит. Все лежит в оракле и периодически сбрасывается в nosql хуитку, чисто показать список товаров в магазине.
>>182695426 Инсайрес – российская ИТ-компания, с 2004 года работающая на рынках автоматизированных информационных систем и электронных сервисов. Является сертифицированным партнером Microsoft и Oracle.
Применяя современные технологические платформы и методологии, мы обеспечиваем высокое качество своих продуктов и услуг, максимальное их соответствие бизнес требованиям заказчика и полностью контролируемые процессы.
Среди наших клиентов крупные финансовые структуры, организации нефтегазового и энергетического комплексов, образовательные учреждения, крупнейшие объекты недвижимости и девелоперские компании, а также организации государственного сектора и многие другие.
и сразу запахло откатами, тендерами, проектной документацией по гост 34, старыми мониторами и креслами, бородатыми мужиками в свитерах и вчерашними студентами, которые говнокодят за копейки какой-то трешачок.
>>182695436 И как ты это посчитаешь, имея только Key-Value? Обойдешь вручную все записи в таблице, залезешь внутрь и посмотришь нужные поля? MongoDB помнится с этого начинала. КОКОКО У НАС ТУТ КЕЙ-ВАЛЬЮ, НОСКУЭЛЬ КУДАХКУДАХ. А потом как-то сперва поиск по полям появился, потом индексы, потом какой-то свой SQL-подобный язык для запросов. Ну и нахуй эта ваша монга нужна тогда, я лучше постгрес тогда возьму, где люди то же самое уже давно делают, все шишки набили уже и работает заебись.
Что-то вспомнил знаменитую пасту про то, как выходят гипер стильные ребята из своих автомобилей, а их парень спрашивает, КАК ДОБИТЬСЯ ТАКОГО ЖЕ УСПЕХА. Они заходят в кафешку, и там один из них показывает свой ноутбук и код на Хаскелле. И потом говорит, что Хаскелл и ФП откроют для тебя все двери (или что-то подобное было написано).
>>182695389 какой-то умный человек с AWS по скалированию архитектуры сказал - пока у тебя не будет несколько миллионов пользователей в месяц, не еби мозг и ебашь SQL
>>182695482 Ты абсолютно правильно рассуждаешь - каждой задаче свой инструмент. Если не нужны сложные запросы и отчеты, то нахуй не нужна реляционная SQL субд т.к. как не крути, а чем проще, тем быстрее.
>>182695495 Заказчики вот только не всегда в этом плане адекватны, и просят строить архитектуру на миллионы пользователей и сотни TPS. Им кажется это круто. А то что это сожрет нахуй кучу лишних денег, ведь их сервисом на деле будет первые пару лет пользоваться полтора калеки, они не понимают.
Кодеры это маленькие дети с большими письками. Им бы всё с разными технологиями и архитектурами играться. И некоторые многомиллиардные гиганты могут им это позволить, у них немеряно бабла и надо как-то выводить легально инвестиции.
А ТЫ пиши на джаве + sql и не еби мозги себе и людям.
>>182695535 > Если не нужны сложные запросы и отчеты Проблема в том, что они всегда оказываются нужны. ну во всяком случае на моем опыте так, было несколько попыток внедрения nosql в разных компаниях, и всегда все заканчивалось страданием. Так как сперва всегда все "кококо у нас будет миллион юзеров, срочно лепим пиздатую архитектуру кудах" а потом через полгода "так, ну вроде первую версию слепили, давайте статистику собирать. Что значит "не можем"?"
Раскрою тебе секрет - с некоторыми этими "человек из аws" я работал/работаю, там не сверх люди и не верхразумы. Сервис имеет баги, ихнии архитекторы частенько Ами нихуя не знают и тупо сливаюца отмазками "мы тебе напишем позже".
>>182695539 аврора вполне неплохо справляется даже с сильными нагрузками, так что когда она станет бутылочным горлышком в общей системе, компания и заказчик будут мультимиллионерами и могут позволить любое изменение дизайна.
>>182695574 Хуй знает. Прямо сейчас пилю проект, где на начальном этапе взяли MongoDB чисто чтобы наклепать прототип и уже по ходу дела архитектуру БД продумать. Уже готовится вполне себе бета, а так на монго все и крутится ибо не потребовалось ничего сложнее. По сути вся система это тупейший CRUD с минимальными связями. Там поиск/фильтрация только и с этим монго вполне справляется.
Раз SQL-работяги подебили, поясните за SQL-болото, плизки Почему орасл самый популярный? Почему мускл популярнее всеми облизываемого постгреса? Есть ли смысл вкатывальщикам осваивать сразу несколько бд(sql)?
>>182695628 > так что когда она станет бутылочным горлышком в общей системе, компания и заказчик будут мультимиллионерами и могут позволить любое изменение дизайна. Я обычно так и отвечаю. "Когда у нас всплывет эта проблема - это значит мы уже будем богаты и знамениты, и сможем себе позволить ее решить"
>>182695580 Батчевая работа, какие системы серверов, в итоге мы забубенили дайнамо, Аврору(серверлесс)+ламбды. Пораша которая на должна была стоит $8к в месяц опекс , теперь стоит $540 и я промоут получил @ Довольно урча
>>182695614 Я уже забыл. Если ты не из AWS тимы и не ездишь на всякие конференции то максимум ты с саппортами общался. Ну или с дедикейтед архитектором - эта почти таже самая хуйня, червь-пидор уровнем повыше чуть.
>>182695650 "осваивать" несколько бд ты будешь когда они у тебя в проде взрываться начнут, до этого твое осваивание вряд ли что-то означает. что ты там можешь сделать, таблицу создать? ну молодец.
>>182695650 > орасл самый популярный Исторически, из тех лохматых времен когда альтернатив для крупного энтерпрайза еще не было.
> Почему мускл популярнее всеми облизываемого постгреса? Ставится и настраивается в два клика. Некоторые запросы чуть проще как мне кажется. Для не сильно нагруженных приложений заебок самый.
> Есть ли смысл вкатывальщикам осваивать сразу несколько бд(sql) Мускуль и постгрес имеет смысл потыкать, как самые популярные в мелком бизе.
>>182695711 1. читают red book, sql tuning, principles of transaction processing, и что-нибудь вроде oracle expert database architecture. 2. проходят sql-ex 3. открывают консоль и вкатываются
>>182695711 На опыте. Делаешь свое веб-приложение с мускулем. Находишь миллион клиентов. Мускуль умирает. Оптимизируешь запросы, пилишь индексы. Вроде работает. Находишь еще миллион клиентов. Мускуль умирает совсем. Ставишь постгрес. Потом у тебя взрывается диск на сервере. Открываешь для себя чудный мир бэкапов. Нахоишь еще миллион юзеров. Бэкапы такой базы кладут твой сервер на сутки со 100% загрузкой. Приходится изучать репликации и шардинги всякие, ибо даже самый дорогой сервер уже не тянет БД. Ворочаешь многосотгигабайтные дампы. Обрастаешь бородой. Переходишь на оракл. Ездишь на встречи в костюме и на личном мерседесе, покупаешь стойки серверов и датацентры, общаешься с влиятельными людьми, подписываешь контракты ручкой за десять тысяч долларов. Замираешь, оглядываешься на свое прошлое и понимаешь, что ты таки вкатился в БД. Поздравляю.
>>182695614 >>182695722 >3 > ихнии архитекторы частенько Ами нихуя не знают и Это слово выдает в тебе некомпетентность кстати. ами это просто имадж, может быть любой абсолютно. Никто не обязан знать что за хуйню ты с коммунити маркетплейса скачал
>>182695748 Ну монго же удобен именно для прототипирования т.к. не надо ебаться с архитектурой вообще. Просто без задней мысли хуячишь как хочешь и в любую секунду меняешь структуру без лишней головной боли. Так что это что-то среднее межну KV и полноценно реляционной субд
>>182695798 Это и есть проектирование, алё. Ты чтоли с нуля и без всяких прототипов на бумаге можешь полностью продумать всё? Я такого в природе не видел. Может в каком-то бюрократическом интерпрайзе оно как-то и работает, но обычно неизвестных слишком много чтобы прямо так взять и сразу все спроектировать и потом по бумажке реализовать.
>>182695891 Да берешь и индексы хуячишь на все, по чему ищешь. Мне всегда хватало. Но все стартапы где я работал умирали до того, как это становилось проблемой.
>>182695820 Ты наверное имел ввиду линукс ами? Линукс который AWS поддерживается, да? Ну так епт - заебашь свой и все. А вообще нахуй лезть то - дали тебе ECS и докер, нет не хочу, хочу жрать говно и ждать пока инстансы запровизятся по 20 минут.
Начну с того что Linux AMI можно использовать только чтобы запустить докер-агент ну или какую-нибудь хуйню незначительную поднять дать ключ маркетинг обезьянам и пусть они шарятся там как хотят. Даже с Шефом эту хуйню непоиспользуешь - ибо имаджа нет чтобы запустить локально на своей машине и писать кукбуки нормально.
Ну а если ты руками все это настраиваешь - то это клиника для компании вкладывающей много бабосов в инфраструктуру.
>>182695984 Тут дофига вкатывальщиков, я бы советовал подучить azure.
Девопс щас на подъёме так скажем, но очень мало девопсов в azure. Я не преувеличиваю если скажу что в европку махнуть с рабочей визой если знаешь azure ну прям очень легко.
>>182691777 Я var в глобальных переменных использую, а let в циклах и внутри функций (в последнем цикле var написал по привычке, так как let раньше не было). == из-за того что люблю приравнивать 0 к false, с === такого не получится, вообще === какие-то С++ загоны для задротов. let в цикле мастхев потому что можно будет вставлять эту переменную в функции внутри цикла без всяких проблем.
Сюда призываются все кодеры двача вне зависимости от их умений. Обсуждаем, хуесосим крч двач
Вкатываюсь в адекватное программирование уже 1.5 года, но пришел в тупик. Как продолжить обучение и начать писать различные скрипты уже выходя за рамки среды?