- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
package com.javarush.test.level03.lesson04.task03;
/* StarCraft
Создать 10 зергов, 5 протосов и 12 терран.
Дать им всем уникальные имена.
*/
import java.util.*;
public class Solution
{
public static void main(String[] args)
{
Zerg zerg1 = new Zerg();
zerg1.name = "zerg"+1;
Zerg zerg2 = new Zerg();
zerg2.name = "zerg"+2;
Zerg zerg3 = new Zerg();
zerg3.name = "zerg"+3;
Zerg zerg4 = new Zerg();
zerg4.name = "zerg"+4;
Zerg zerg5 = new Zerg();
zerg5.name = "zerg"+5;
Zerg zerg6 = new Zerg();
zerg6.name = "zerg"+6;
Zerg zerg7 = new Zerg();
zerg7.name = "zerg"+7;
Zerg zerg8 = new Zerg();
zerg8.name = "zerg"+8;
Zerg zerg9 = new Zerg();
zerg9.name = "zerg"+9;
Zerg zerg10 = new Zerg();
zerg10.name = "zerg"+10;
Protos protos1 = new Protos();
protos1.name = "Protos"+1;
Protos protos2 = new Protos();
protos2.name = "Protos"+2;
Protos protos3 = new Protos();
protos3.name = "Protos"+3;
Protos protos4 = new Protos();
protos4.name = "Protos"+4;
Protos protos5 = new Protos();
protos5.name = "Protos"+5;
Terran terran1 = new Terran();
terran1.name = "terran"+1;
Terran terran2 = new Terran();
terran2.name = "terran"+2;
Terran terran3 = new Terran();
terran3.name = "terran"+3;
Terran terran4 = new Terran();
terran4.name = "terran"+4;
Terran terran5 = new Terran();
terran5.name = "terran"+5;
Terran terran6 = new Terran();
terran6.name = "terran"+6;
Terran terran7 = new Terran();
terran7.name = "terran"+7;
Terran terran8 = new Terran();
terran8.name = "terran"+8;
Terran terran9 = new Terran();
terran9.name = "terran"+9;
Terran terran10 = new Terran();
terran10.name = "terran"+10;
Terran terran11 = new Terran();
terran11.name = "terran"+11;
Terran terran12 = new Terran();
terran12.name = "terran"+12;
}
public static class Zerg
{
public String name;
}
public static class Protos
{
public String name;
}
public static class Terran
{
public String name;
}
}
Хуярь рекурсией!
из той же лабы
Написал я в жабе
List<Zerg> zergs = new List<Zerg>()
нажал интер и.... охуел от того, что он предложил мне написать свою реализацию листа!
гугл ArrayList() подсказал, выручил
Видимо код как то проверяет, потому что на задании "прибавить к числу 10%"
i*1,1
не прошло, а
i + i*0,1
прошло
Может есть какой тест для проверки квалификации? А то ДжаваРаш совсем бред какой-то
Сходи куда-нибудь на собеседование, лол.
Ты - хуй.
история из жизни (хотя какая это жизнь) -- сегодня только что пришедший падаван написала мне охрененную форк-бомбу вместо скучного эхо-сервера
хотя может меня испытывали -- запущу я её у себя или нет?
не спрашивай, зачем они были нужны в этой задаче -- не знаю, может на будущее?
А еще ты знаешь хацкель и J
CHayT прав. Щас всех подряд берут. Расслабься.
- Скажите, какие языки программирования вы знаете?
- Ну шарп, sql. На J, haskell, на сишке немного умею...
- А что такое J?
... через 10 минут ...
- Дьявол! Дьявол! Сжечь дьявола!
Короче все зависит от конторы. Я вроде не самый тупой быдлокодер на этой планете, как нибудь проживу
> тащить за собой
> 100500 лет опыта
А не пойти бы им нахуй?
А год назад, когда хотел пойти работать, написал в одну контору, просто ради интереса. Качество намечалось "лютый пиздец и треш", зарплата низкая, так мне еще и ответили что-то типа "ну и с хуя ли ты решил, что нам подходишь?"
Чел который изучает J для фана очень перспективный сотрудник.
Я вот пехепешник стал изучать вот эту херню
http://caffe.berkeleyvision.org/
Кто знал что пригодится. Так что люди желающие изучать что то новое ценятся.
А если порнуху посмотреть - это повысит самооценку на собеседовании? К каким случаям это еще применимо?
<На сцене стоит Кегдан, печально листая газету вакансий
Входит 3_14dar >
3_14dar - Ты пидар?
Кегдан - Нееееет
3_14dar (озадачено) - Странно. А кто тогда пидар?
<Кегдан взмахивает рукой
Выходят работники сцены с огромным зеркалом
3_14dar долго смотрит в зеркало>
3_14dar - И че?
<Кегдан вздыхает и уходит>
<3_14dar двадцать минут смотрит в зеркало, напряженно двигая губами>
3_14dar - Нихуя не понимаю!
<Занавес>
guest: а ты откуда знаешь -- противно или нет?
kegdan: пидар же
3_14dar: Ты пидар?
Кегдан ведь действительно не сказал, кто.
С другой стороны, даже если он намекал "3_14dar - пидар", вопрос всё равно остаётся открытым, ведь достаточно неразумно было бы полагать, что пидар только один. По своей сути, "пидар" подразумевает наличие как минимум второго пидара, иначе единственный пидар был бы только потенциальным пидаром или псевдопидаром.
К тому же, натуралы могут быть фальсифицированы по Попперу, то есть может быть опровергнут тот факт, что человек - натурал.
В завершении стоит упомянуть, что в русском языке словом "пидар" называют не только педерастов, но и прочих людей, к которым имеется отрицательное отношение.
Посему этот вопрос следует провозгласить главным вопросом XXI века, как в области философии, так и в областях политики и социологии.
http://govnokod.ru/19886#comment324304
>а ты откуда знаешь -- противно или нет?
http://govnokod.ru/19886#comment324306
>пидар же
И признался что он пидар. Будем в пидар-лист добавлять собаку?
Ты что, собаку выебал?!
Опять эта икота!
точно
3_14dar: Это твоя мамка сплавляется с собакой, пидарас!
Господа, хватит курить. И проветривайте комнату.
По реке они сплавлялись, по реке.
Вспоминается анекдот, где украинцы целый язык ради слова "жопа" создали. Видимо, от русских шифровались.
вот это намек
Солнце-солнце!
Луна-луна!
Цветы-цветы!
Нам часто в жизни не хватает... кхе, отвлекся
>> псевдопидаром
Квазипидар
>> К тому же, натуралы могут быть фальсифицированы по Попперу, то есть может быть опровергнут тот факт, что человек - натурал.
Вот как раз нет. Би никто не отменял.
Наверняка помнишь его хит 1991-го года:
https://youtu.be/AHWLVxg8MxA
А вот Ротару на «Песне года-1988»:
https://youtu.be/wPjxi9x_XuE
Сравни проигрыш.
Оооочень плохо с интернетом
Коль аккаунт брошу этот
То в новый не зайду...
И даже выглядишь моложе...
https://youtu.be/NepI7BTYpnY
1985.
после Ротату звучит как-то несерьезно
https://youtu.be/mtsia5lnpTg
https://www.youtube.com/watch?v=aK9gY3VLKU4
А вот найткорнутые песенки я уже больше года слушаю (да, теперь почти всё остальное toooo sloooow). Приятный бонус - няшки для второго-третьего моника.
З.Ы. Сейчас кто-нибудь скажет, что Борманд совсем уже ебанулся.
вот тебе няшная кислотная сексуальная музыка
https://www.youtube.com/watch?v=ung3cKl-OE4&list=PLE2E64D9AD0F9CED7
Ну 2 от компа, третий - ноут (на случай, если те 2 одновременно нужны).
чувак, у тебя суперкомпенсация винрарного чип чип чип энд дейл
Чтобы слушать бухим, когда мысли не успевают синхронизироваться со звуком?
З.Ы. А у ютуба, оказывается, есть регулятор скорости. Можно тупо включать 1.5х и не париться с поиском ускоренной версии :3
https://www.youtube.com/watch?v=7jMlFXouPk8
Блин, захотелось взять бутыль вина, пачку честера и просто потратить вечер на размышления о вечном...
https://youtu.be/cv1xKI_-u04
Осторожно! В кадре возможна критика политики Евросоюза.
Существует алгоритм изменения высоты звука без изменения темпа:
1. Сначала дорожка нарезается на довольно короткие сэмплы (длина сэмпла подбирается исходя из спектра звука).
2а. Для повышения на октаву после каждого сэмпла вставляется его дубль, а потом дорожка ускоряется в два раза.
2б. Для понижения на октаву каждый чётный сэмпл вырезается, а потом дорожка замедляется в два раза.
Недостаток в том, что метод портит фазо-частотную характеристику, а у инструментов, не уложившихся в «прокрустово ложе», к тому же портится самая интересная часть звучания: атака, когда колебания только начинают возбуждаться. Да и затухание портится...
А можно разфурьить с какой-нибудь оконной функцией, перенести в другой частотный диапазон и зафурьить обратно?
http://dspace.nbuv.gov.ua/bitstream/handle/123456789/7671/095-Nitsenko.pdf
Можно использовать для старта поиска.
P.S. Это не провокация на политический флейм. Ну правда, это первое, что нагуглилось.
Часто помогает во всяких видео вроде "сегодня мы будем делать кобенную скрипку Шерлока Холмса из бутылки, крысиных хвостов и рыболовного крючка", поскольку иначе это всё жутко нудное. На самом интересном месте можно включить нормальную скорость, а затем снова перейти на 1.5-2x.
З.Ы. Обидно, что АЧХ сильно портится после таких преобразований - звук как из жопы.
https://youtu.be/rvcl2l5EZzE
https://youtu.be/Ziy-kQ4E_W4
https://youtu.be/5AIQBtPPMCs
https://youtu.be/Jq7-bLqb71c
https://youtu.be/bF8DG-PUx78
https://youtu.be/smD4X0tbI9g
Третья ссылка убила, даже не сразу догадался, кто поёт.
https://www.youtube.com/watch?v=bhJOwHyLpOk
Too slow... https://www.youtube.com/watch?v=zaGouO2N9eM
https://www.youtube.com/watch?v=Chc6W0Lqvz0
З.Ы. Блин, почему-то у первой песни ютуб все ускоренные версии поперебанил.
https://www.youtube.com/watch?v=OxBjp0O_KnE
https://www.youtube.com/watch?v=nCf0fOe-Nj4
Да я её и в игре наслушался :3 Иногда включаю пофаниться на часок (как раз хватает, чтобы пройти с 20 тринкетами).
https://www.youtube.com/watch?v=1_Q8rhUL8VQ&index=3&list=PLoMc1zuUHF6RZtx12MHQhhyJZU3PTzhMr
мясо в борщ кладут после 1:30
https://www.youtube.com/watch?v=xgfa5UlZAL8
а то напостили какой-то бесвкусицы, ироды
Нет конечно. А зачем? На работе собрался послушать, но боишься, что коллеги неправильно поймут?
Далеко не все. Тут многие отрицательно относятся к аниме.
> дрочите
Зачем дрочить на аниме? Это ж не хентай какой-нибудь.
Да ну. На самом деле, неплохо помогает отключиться от реальности перед сном. Можно вместо этого книжки читать, но тогда я обычно зачитываюсь до утра и просыпаю на работу...
и да, комментатор выше намекает, что отключиться перед сном неплохо помогает живой человек
ну или когда в интернете кто-то неправ
ну или нет
Они слишком реалистичны :3
> в одинаковых ракурсах
Причём, о ужас, в 12 FPS.
> живой человек
Ну не всегда. У живых людей тоже порой бывают свои тараканы.
иными словами смотреть аниме лучше, чем спать с девушкой?
Миядзаки - не анимэ.
баттл анимелавов
https://www.youtube.com/watch?v=sHdHgmseqns
[color=grey]Шучу, Europe, The Final Countdown[/color]
NOOOOOOOOOOOOOOOOOOOOO!
Еще можешь попробовать пойти в мобилки - реально много вакансий.
И нахрена нужно было приглашать, тратить моё и своё время на это всё?
Типичные скала-программисты.
Я тоже со следующего понедельника буду ложился спать раньше и не опаздывать на работу
Кстати, студент - он до августа студент вроде бы, не важно, школьник он или магистрант.
Я не выебуюсь — отвечаю джунам как есть:
Этот проект писали обкурившиеся гашиша индусы 10 лет назад. А потом 10 лет переписывали макаки со всего мира, которых богатые американские дяди нанимают подешевке. Теперь наша очередь в это нырять!
Я понимаю что тебе нихуя не понятно — но можешь быть уверен что мне тоже нихуя не понятно. И вообще никто нихуя не понимает как это работает и как должно.
Чтобы поменять одну строчку — я сначала 4 часа разбирался, а потом буду еще 4 часа проверять где что сломалось. А ты полдня пиздел с соседом про преподов в универе как закрыть сессию, потом поменял одну строчку — все поломалось. И теперь ты думаешь что я все брошу и буду за тебя разбираться и чинить?
И да, салага, ни всезнающий гугл, ни стекоферфлов не подскажут тебе как быстро поставить костыль и все починить. И даже если скопипастишь мой код — не поймешь почему у тебя он не работает. Только много часов дебага — только хардкор!
Сапорт гнилого энтерпрайза — это тебе не формошлепать по-шаблону. Тут нужно уметь отличать куски говна по запаху, цвету и даже вкусу! Противно? — а нахуя тогда просился на галеры? Сидел бы себе на 5 курсе в ВУЗе и писал диплом на Хаскеле если такой чистюля. А хочешь килобаксов — учись жрать дерьмо: много денег платят именно за это, а не за «интересные проекты».
brainbench
но для джуна немного другие вещи оцениваются - адекватность общения, понимание принципиальных основ, не зависящих от языка, ну и раз он пришел устраиваться на язык %lang%, то какие книжки он почитал, плавает ли в фундаментальных вещах, которые в первых главах этих книжек даются - если плавает, то значит, плохо читал (идиот, медленно усваивает) или пиздит что читал (ленивый)
фундаментальные вещи для жабы, которые спрашиваем - ну, например, что такое package private, final, какие методы надо перегрузить в вашем объекте, чтобы можно было его пихать в хешмапу?
если человек ни дня не проработал, но книжки всё же почитал, то это сразу видно
package private - виден внутри пакета, недоступен извне
В хешмапу - ну хеш и равенство. одно без другого перегружать нельзя. точнее можно, но получается хуйня
Такие то вещи я знаю
знания в рамках java se нужны везде, джуна не хотят учить синтаксису, джуна хотят учить технологиям и фреймворкам
если говорить про жабу - тебе надо заранее определиться, а что же ты в принципе хочешь делать по жизни (бекенд систем, мобилочки (фуфуфу, но выше советовали), настольные клиенты (это не для жабы)), понять, как твои желания находят спрос в компаниях вокруг тебя, ну и вперед, углубляться
т.е. здорово, когда джун понимает, чем он хочет и чем он будет заниматься, куда он растёт, и даже ориентируется в названиях технологий, протоколов, слышал об их плюсах и минусах, читал чего-нибудь
могу за бекенд рассказать, если хочешь
прежде всего, знания о независимых от языка и фреймворка вещах - как работает http, форматы - json, xml, что такое база данных, ORM, зачем они нужны, REST, SOAP, общее представление о паттернах, DI/IoC, AOP, тонкий vs толстый сервер (rest vs php/jsf/webforms) и почему толстый сервер кусок говна, почему до сих пор есть куча проектов, где используется толстый сервер (не осилили)
потом ближе к реализации - что такое MVC и как его понимают в том фреймворке, который будет твоим основным, зачем нужно такое разделение на слои ответственности, какие слои будут, что взято для слоя доступа к данным (ORM), как происходит обмен между слоями, компонентами, звеньями (клиент-сервером-бд), внешними системами, как решаются задачи контекста, безопасности, как проектировать и писать код так, чтобы он позволял масштабироваться вширь (ha) без переделок
Этим никогда не интересовался, так что не скажу
>> форматы - json, xml
Форматы простые, тут наверное еще нужно отнести пакеты по работе с ними, что бы на парсить их регулярками или руками, как это подозрительно часто бывает.
>> что такое база данных
Ну это один или несколько файлов, предназначенных для хранения и модификации данных (тут хз че еще скажешь)
>> ORM
Обьектно-реляционный-маппинг. Средства, позволяющие отображать состояние программы в базу данных и наоборот. Нужно что бы не морочить голову и не изобретать велосипедов. nhibernate там entity framework, все такое
>> REST
Насколько я помню - передача данных по http запросу. типа (адрес до сервера)/arg1/2513/arg2/345345
в ответ приходит результат обработки
>> SOAP
Если не ошибаюсь - объект заворачивается в xml и отправляется на сервер. ответ такой же
>> общее представление о паттернах
Фабрики синглтонов, флайвейты, стратегии, хранители и тысячи их всего 16. Есть GRASP паттерны, придуманные Ларманом, их меньше, и они более дзеновые (низкая связанность, высокое зацепление)
>> DI/IoC
Di - принцип, Ioc - конкретный контейнер, реализующий сие. Суть в том, что классы могут пораждать длинные цепочки агрегаций. класс А агрегирует Б который агрегирует С который агрегирует....
Суть в том, что мы указывает наборы правил пораждения таких цепочик, а потом просто обращается к IoC контейнеру и говорим - дай А - а создание всех агрегируемых по правилам классов он берет на себя.
>> AOP
Аспектно ориентированное программирование? Слышал, но никогда не вникал, ничего сказать не могу.
Не состояние программы, блядь, а объекты.
>> Компьютерные программы хранят данные в переменных, представляющих собой области хранения данных в памяти компьютера, содержание этих областей памяти в любой момент времени исполнения программы называется состоянием программы
Не?
Ещё один способ борьбы с рутиной. Средствами АОП можно засрать чистый код логированием, проверками доступа и т.п.
Рядом с красивым и понятным кодом создаётся аспект, в котором прописывается "в начала набора методов таких-то вставь проверку, что переменная не ноль", "в концы методов работы с БД вставь вывод той фигни в лог". Почти как рефлексия, только скорее на этапе компиляции.
А вот щас глянул в шарпе это сделано через атрибуты, весьма и няшно и мило
прекрасно это работает для логирования или проверки пермишена
все луше чем диспатчить вручную
Ну это один или несколько файлов, предназначенных для хранения и модификации данных (тут хз че еще скажешь)
Нет, базы данных это абстрактные объекты оснащенные методами по извлечению информации (запросами). Они совсем не обязательно хранятся в файлах. Файл - это понятие из нескольких областей. Файлы есть на уровне файловой системы (где это может быть сколько-то блоков на жестком диске, сколько-то пакетов пересланых по сети, сколько-то занятой оперативной памяти, ленты стримера и т.д.). Или, с точки зрения операционной системы - файлы это результаты обращения к файловой системе, оснащенные определенным АПИ (каким именно - зависит от системы, но как правило метаданными и потоком данных-содержанием). И с пользовательской точки зрения - файлы могут быть привязаны к каким-то программам, иметь резервные копии, иконки и т.д. Бывают еще всякие интересные файлы, например т.н. фиксированые файлы (на мейнфреймах) - по сути таблицы в реляционной бд.
Базы данных - не обязаны иметь, например, иконки, или метаданные типа файловых. Их можно выразить не прибегая к понятию "файл". Например:
База данных хранящая факт.
Операция над базой данных.
http://www.martinfowler.com/articles/injection.html
Тонкий - основная работа происходит в клиентском приложении, сервер только предоставляет данные и небольшой набор операций с ними
Толстый, соответственно делает большую часть работы и предоставляет уже фактически готовый результат, который незначительно дорабатывается на клиенте.
Тонкий сервер имеет значтельно меньшую нагрузку и может обслужить большее число пользователей. Почему толстый настолько говно не знаю, мне казалось, что зависит от задачи, возможно в некоторых необходимо хэшировать результаты и рассылать сразу нескольким клиентам.
>> что такое MVC
Model-view-controller - везде понимается по разному - суть примерно такова - модель общается с бд и работает с данными, контроллер принимает сигналы со стороны пользователя, а вьюшка показывает результат.
Разделение нужно я безболезненной замены отдельных слоев. У нас изменился способ отображения данных - слепили новую вьюшку по интерфейсам и пожалуйста, контроллер и модель трогать не нужно.
Я как то писал сайтик на asp.net но не более, поэтому детали вряд ли расскажу. По ходу разобраться можно
я тебе скинул список важных для бекендера понятий
тут не собеседование, надо не "не помню" а взять и почитать, хотя бы на википедии, лишним не будет, уж точно
http не только транспорт, но и швейцарский нож для передачи на клиент статуса исполнения его запроса в разных оттенках, например, 4хх - "нет, иди нахуй", 5хх - "извини, но нахуй иду я", connection: close - " и дверь закрой за собой", да и те же куки для сессий (клиентом, кстати, нихуя не обязательно может быть браузер), и заголовки для желательного формата/языка - там более чем дохуя внедрено крутилок разных
неопытные об этом плохо знают и неверно используют те же коды ошибок
Да не знаю, чет накатило)
спс, буду читать
А ответы окажутся неправильными. Кегдан устраняет конкурентов.
Кстати, вот тут http://arxiv.org/abs/1512.06863v1 народ запилил штуку, которая с помощью реверсивных вореций генерирует такие кобенации текста, которые отвечают на пользовательский вопрос. Прогнать бы ГК через это. У нас же всего 300К комментариев, не более 100МБ текста
Х нинужен
И
Тебя Шамиль плохо выебала?
Ну и прочие говнофорсы.
Ну ты же его собеседуешь.
З.Ы. Будет забавно, если завтра кегги получит оффер от d++ и уедет работать в нерезиновку.
но как я помню, кегдан сам не горит желанием
поэтому просто наставляю его на путь истинный
и ещё одно до конца года, в мэрию
и под ксамарин висяк есть...
блядь, я сейчас сам себя убедил, что мне в отдел нужен c# разраб! :)
есть проект, где данные вертятся на R
для выработки понимания, как их затем в opencl вообще молотить
https://www.youtube.com/watch?v=K-T8CwxJmXg&feature=youtu.be&t=48s
kegdan в http://govnokod.ru/19886#comment323959 написал:
>> модель общается с бд и работает с данными
По-твоему ORM что-то другое делает?
Edit: Начинающие программисты (особенно в веб-программировании, где аббревиатура MVC стала популярна) очень часто трактуют архитектурную модель MVC как пассивную модель MVC. В этом случае модель выступает исключительно совокупностью функций для доступа к данным, а контроллер содержит бизнес-логику. В результате код моделей по факту является средством получения данных из СУБД, а контроллер представляет собой типичный модуль, наполненный бизнес-логикой, или скрипт в терминологии веб-программирования.
может я и не прав был
А как тогда погружать и сохранять объекты? Магия?
https://glossar.hs-augsburg.de/Model-View-Controller-Service-Paradigma
Почитаем
Хотя там инглиш есть.
Для доступа к данным есть слой доступа к данным, который может включаться в понятие модели, а может быть реализован отдельной библиотекой, а основное предназначение модели - обработка данных
models.py
Ну то есть это структура таблиц, но на джанге, а не на sql.
Объясните, что тут не так?
забирать сущности из бд (и не только из бд - откуда угодно, на то и абстракция) должен слой репозитория
Давайте джангу учить.
Так что, пых совсем для мудаков и нормально на нем писать нельзя никак? Если там даже фреймверки косячные.
Кто?
3_14dar в http://govnokod.ru/19886#comment323999 написал:
>> Модель нужна для ОРМ же.
и этого
3_14dar в http://govnokod.ru/19886#comment324021 написал:
>> Она (ORM) не общается, она описывает объекты, которые хранятся в БД
перешли к этому
3_14dar в http://govnokod.ru/19886#comment324021 написал:
>> Начинающие программисты (особенно в веб-программировании, где аббревиатура MVC стала популярна) очень часто трактуют архитектурную модель MVC как пассивную модель MVC. В этом случае модель выступает исключительно совокупностью функций для доступа к данным, а контроллер содержит бизнес-логику. В результате код моделей по факту является средством получения данных из СУБД, а контроллер представляет собой типичный модуль, наполненный бизнес-логикой, или скрипт в терминологии веб-программирования.
Это прям какая то логическая пропасть
Где пропасть? В модели нет бизнес логики. высер++, так это лажа или нет?
Это как кричать "Луна сделана из сыра. Кстати, Элтон Джон - пидор"
>> Модель нужна для ОРМ же.
kegdan в http://govnokod.ru/19886#comment324001 написал:
>> По-твоему ORM что-то другое делает?
3_14dar в http://govnokod.ru/19886#comment324021 написал:
>> Она не общается, она описывает объекты, которые хранятся в БД
И тут ты резко поворачиваешь разговор в другую сторону. Какой смысл был вообще начинать говорить о ORM, если дальнейшие твои слова вообще к ORM отношения не имеют?
Или ты хотел создать противопоставления моим словам, а потом, выдвинув верный тезис, пусть и не имеющий отношения к противопоставлению, показать, что я неправ?
3_14dar в http://govnokod.ru/19886#comment323999 написал:
>> Модель нужна для ОРМ же.
Намекая, что я не указал, что модель имеет отношение к передаче и обработки данных, на что я ответил своей же цитатой и спросил
kegdan в http://govnokod.ru/19886#comment324001 написал:
>> kegdan в http://govnokod.ru/19886#comment323959 написал:
>> >> модель общается с бд и работает с данными
>>
>> По-твоему ORM что-то другое делает?
Этим вопросом я хотел узнать, чем мой ответ не согласуется с твоим.
>> Модель нужна для ОРМ же.
а этим ты что сказать хотел?
>> Я хотел сказать, что модель - тупая, описывает структуру данных и больше ничего не делает
Модель обрабатывает данные и предоставляет их на вьюшку. В идеале. В ASP.NET они проходят через контроллер, но, при правильном подходе, там с ними ничего не происходит
Ты в этом файле модели видишь что-то кроме описания структуры данных (и метаинформации для отображения)?
вот тебе пример
игра "угадай число"
Юзер (Ю) - нажимает на кнопку "играть"
Контроллер (К) - дергает модель (м) и говорит - новая игра!
М - загадывает новое число в оперативке и пинает вьюшку(В)
В - показывает пользователю - "все ок, отгадывай"
Ю - вводит число и нажимает на кнопку "подтвердить"
К - получает число и передает его модели
М - решает что делать с числом после сравнения передает "больше" "меньше" или "угадал" вьюшке
В - показывает то, что дала модель
>> Я хотел сказать, что модель - тупая, описывает структуру данных и больше ничего не делает
В твоем описании модель только хранит число, а сравнивает и пинает вьюшку контроллер, которому модель предоставляет число по запросу
Да это вообще бред.
ORM - Object-relational mapping.
Если данные не в RDBMS лежат, то всё, модель не нужна? А если в Mongo? А если сериализованные в файлах? А если только in-memory или в Redis?
Видимо постреляционные СУБД он не котирует
Некоторые люди думают что все приложения в мире состоят из MySQL, PHP и шаблонизатора.
Модель это МОДЕЛЬ реальных объектов или упрощенных абстракций. Она должна иметь данные и методы для работы с ними. Блядь, это же основа ООП.
Если у тебя есть 314dor, и он умеет писать на говнокод, то у тебя есть класс 314Dor с методом pisatNaGovnokod.
Причем тут вообще ORM блядь??
Свинявый, вон вверху джанговская модель. Найди там, сука, методы.
Все везде пишут про Fat Model
https://youtu.be/CCKybI5BjEY
https://www.youtube.com/watch?v=QgS252XT_Ts
https://youtu.be/cA3RsN5QH1w
https://youtu.be/QPHUoX1rW7g
https://www.youtube.com/watch?v=PI9yKr39vGI
Говнокод образовательный.
https://www.youtube.com/watch?v=WtfHk2hSlqA
https://www.youtube.com/watch?v=wjGK-LRqAqI
https://www.youtube.com/watch?v=cncoJB_C-m0
в последней поет солист слипкнот
https://youtu.be/HssMEjg4m4U
накрашенные немцы
я хочу это развидеть
Кстати, у разных программистов разные представления о том, как должен выглядеть REST.
В Яндексе считают, что URL — это объект, всё остальное должно быть в HTTP-методах и в теле запроса. Например, есть URL:
http://example.com/entrypoint/some-object
Тогда для получения объекта нужно сделать
Для создания/перезаписи объекта нужно сделать
Для изменения свойств объекта нужно сделать
А в теле запроса передаём изменяемые свойства.
А для удаления нужно сделать
*****
В некоторых других компаниях считают, что название операции нужно добавлять в URL и на каждую операцию плодить новые URL:
Какой из подходов правильнее?
только у тебя post и put перепутаны, создаем объект - post (ты обычно нихера не знаешь всех его свойств, например, id), а меняем - put (знаем id объекта и новых плодить не собираемся)
обращаю внимание почтенной публики, что put идемпотентный - т.е. логическое состояние системы не изменится, если мы его вызовем 2 раза вместо одного, а post - нет - состояние системы меняется каждый раз
именно поэтому обновляем один объект put, а заводим новый - post
да и post тоже, нахуй он нужен, когда есть get
Исправил
Загугли! Серьёзно, посмотри документацию по API соцсетей и блогоплатформ.
В первом нельзя передать семантику того, что будет происходить, потому что delete с точки зрения сервера какое то конкретное, осознанное и имеющее имя действие с точки зрения предметной области.
А вообще на моем примитивном уровне не вижу особой разницы
Пояснишь - скажу спасибо
да, это просьба клиента удалить указанный объект с сервера, какая тут может быть двусмысленность
насчет гибкости - первый принцип в целом не запрещает постить или путить на сервер подобъекты объекта или глаголы, связанные с конкретным объектом
типа
GET /.../objects/{id}
GET /.../objects/{id}/someSpecialPropertyIWant
GET /.../objects/{id}/fetchHisClobMaybe
GET /.../objects/{id}/subobjects
GET /.../objects/{id}/subobjects/{id}
и т.д.
но использовать GET /.../objects/{id}/getObject вместо GET /.../objects/{id} это маразм
А я подумал, что это неприемлемо в данном подходе.
Ну тогда лаконичность первого подхода побеждает.
Обколются своим ассемблером и ябут друг друга в жопу.
Видимо какой-то инструментарий прикручен для чека аллокаций.
Zerg zerg[i] = new Zerg(); - попытался создать новый массив зергов, типы не совпали - пиздец.
List<Zerg> zergs = new List<Zerg>()
>нажал интер и.... охуел от того, что он предложил мне написать свою реализацию листа!
Это не жавараш виноват, это ты не знаешь, что лист - интерфейс.
Я намекал на то, что жаба пиздец какая неудобная
Как шарпоёб, пишущий на жабе, подтверждаю.
Я намекал на это с момента моего здесь появления, и чо?
Нет, не быть мне программистом на java.
Расстрел.
Ускоренный курс подготовки индусов.
В-общем фу. Брось каку.
бгг
Как ты перегрузишь плюс
Это же просто (Free (Plus (Pure кот) (Pure пять)))
>Ну и чему это учит? Терпению?
Умению гуглить готовые решения.
http://help.javarush.ru/questions/36284/level03-lesson04-task03
Да что за надмозги в свои языки вносят новые слова?
> late 14c., "one who teaches a branch of knowledge," from Old French professeur (14c.) and directly from Latin professor "person who professes to be an expert in some art or science; teacher of highest rank," agent noun from profiteri "lay claim to, declare openly" (see profess). As a title prefixed to a name, it dates from 1706.
Что, треснул бы украинский язык, если б профессор был с двумя "с"?
А потом нормальным людям приходится мириться со всякими аутентификациями.
А вот слово "аутентификация" в руском языке настолько уебищное, что его заменяют "авторизацией", что неверно. В английском же authentication?
Нехорошие правила. Тому же украинцу только хуже. Допустим, ему требуется писать на украинском, русском и английском. Вопрос: на каком языке он сделает ошибку сегодня?
> что его заменяют "авторизацией"
> Аутентифика́ция (англ. authentication от греческого : αὐθεντικός authentikos, "реальный, подлинный, " от αὐθέντης authentes, «автор»
Почти что возврат к корням...
Русне только кукарекать за сложные правила.
Аутентификация и авторизация - термины с вполне определенными значениями, означают вовсе не одно и то же.
Во всех статьях которые читал идентификация != аутентификация != авторизация
"Идентифицируйтесь, чтобы аутентифицироваться для авторизации"
"Аутентифицируйтесь" - "аутентифицируйте себя", то есть по сути "Скажите уверенно, что ваши логин и пароль подлинные".
Как я понимаю, надо бы просить идентифицироваться. Тогда сервер аутентифицирует, а затем авторизует.
Вот тут примерно такая же ситуация
"Авторизацию не следует путать с аутентификацией: аутентификация — это процедура проверки легальности пользователя или данных, например, проверки соответствия введённого пользователем пароля к учётной записи паролю в базе данных, или проверка цифровой подписи письма по ключу шифрования, или проверка контрольной суммы файла на соответствие заявленной автором этого файла. Авторизация же производит контроль доступа легальных пользователей к ресурсам системы после успешного прохождения ими аутентификации. Зачастую процедуры аутентификации и авторизации совмещаются."
>Википедия в помощь!
Сформулируй мысль.
> print '
Ретроград!
Часто приходится работать в средах, где даже 2.7 нету, только 2.6. Даже на ubuntu 14.04 по умолчанию python 2.7.6 запускается, если специально python3 не просить.
у меня даже на сраной центоси в EPEL он есть
"Помню, когда я была мелкой (года 4, не больше) у нас в садике начали подготовку к школе или что-то типа того. В общем, учили считать-писать и так далее. И вот, рисует гадкая воспиталка Катерина Васильевна на доске пять солнышек и просит их сосчитать. Я напрягаю свои крошечные мозгенки и шепчу: "Пять!". И что? Она мне говорит - нет, не правильно! Я: "А сколько тогда?". Она: "Мы еще не прошли число пять, поэтому здесь три солнышка и еще два солнышка, ясно?". Я: "Угу". С тех пор ненавижу математику..."
Да и чтобы без проблем сместить подобную ванную вам надо будет отодрать половину кафеля.
Если вы воспользуетесь нашими услугами, то мы за сутки отремонтируем эмаль вашей ванной и вернём ей изначальный сияющий чистотой внешний вид.
Нашим преимуществом считаются самые низкие цены на реставрацию ванн в Украине!
А кто не моется в стакриловой ванне - зарастает грязью и превращается в свинособаку.
1. PHP стал первым языком программирования с современной криптографией из коробки.
2. В/на Украине появились стакриловые ванны.
3. Пентагон планирует отказаться от 8-дюймовых дискет.
Штооооблядь? Алсо, доустановить модуль криптографии это нереально сложно?
http://govnokod.ru/22356