Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
public class FloatDynamicArray implements DynamicArray {
private int arrayLength;
private int countOfValues;
private float[] dataArray;
public FloatDynamicArray(int arrayLength) {
this.arrayLength = arrayLength;
dataArray = new float[arrayLength];
}
public long getLongValue(int index) {
throw new IllegalAccessError("Cannot get long value from FloatDynamicArray !");
}
public float getFloatValue(int index) {
return dataArray[index];
}
...
...
...
зачем делать отдельный метод getLongValue, который возбуждает исключение IllegalAccessError, когда мы заведомо знаем что это FloatDynamicArray, содержащий float[] значения ?
В общем-то оно и правильно. Какая в жопу разница, значение это или ссылка на иммутабельный объект. Лишь бы в массивах да структурах плотно лежали, без всяких ссылок.
Обосру прыщи. Интересует мнение Борманда и Госта.
Я хочу поменять write policy для своего диска: кеш, райт сру, вот это всё.
Винда: https://support.microsoft.com/en-us/help/324805/how-to-manually-turn-disk-write-caching-on-or-off
BSD: https://man.openbsd.org/atactl.8#writecachedisable
Как сделать в прыщах?
Может, https://linux.die.net/man/8/hdparm ? Там нету.
Давайте узнаем, что за драйвер: ls -lh /sys/class/block/sda/driver
Ок, мой драйвер называется sd
В БЗД по man [драйвер] можно получить все опции, но в прыщах man sd нету.
Может, modinfo sd? нет, там тоже нету.
Может, в документации?
/usr/src/linux/Documentation/scsi/sd-parameters.txt
Алилуя, мне нужен "cache_type", но где его взять?
Ищем cache_type в /sys/class/block/sda, нашли:
/sys/class/block/sda/device/scsi_disk/[хуе-мое]/cache_type
Что такое scsi_disk? Что значат остальные параметры там?
grep scsi_disk /usr/src/linux/Documentation/scsi/*.txt
Нашелся hpsa, но у меня не hp!
Как же узнать?
Ищем scsi_disk в /usr/src/linux/drivers/scsi/sd.c
Нашли структуру с :
name = "scsi_disk" и атрибутом ATTRIBUTE_GROUPS.
Что такое ATTRIBUTE_GROUPS?
Ищем в доке: https://www.kernel.org/doc/html/v4.18/search.html?q=ATTRIBUTE_GROUPS
Нашлось куча всего, но всё не то.
Кажется что нужно вникать в API драйверов, чтобы что-то понять.
Прыщи как были недокументированным говном, так и остались. ПИЗДЕЦ
Это всё, конечно, хорошо, но вот когда я давеча пытался на венде пытался отключить своп, венда меня тихонечко послала нахуй. Ну то есть я захожу в настройки файла подкачки (как всегда, по очень интуитивному пути: Этот Компьютер -> Свойства -> Дополнительные параметры системы -> Параметры (Быстродействие) -> Дополнительно -> Изменить (Виртуальная память)), убираю весь своп, нажимаю «OK» — и не происходит ровным счётом нихуя.
Пришлось пердолиться с «gwmi win32_pagefilesetting».
guest # 0
Прицнип мухи подстановки Барбары Лисков как раз про это
bormand # 0 ⇈
Needless # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
DypHuu_niBEHb # 0 ⇈
какая в жопу разница?
Правда, потом можно соснуть вызвав toList() у эррея, но сосут обычно в другом месте
guest # 0 ⇈
В нормальных языках (C#, C++) можно сделать лист от примитива, а в джаве нельзя, вот и вынуждены плодить такие обертки вокруг массивов
bormand # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
3.14159265 # 0 ⇈
Чтоб они были zero-cost как в божественной Сишке.
https://openjdk.java.net/jeps/169
Кстати, вот ещё забавное говнецо обнаружил:
https://openjdk.java.net/jeps/359
Fike # 0 ⇈
https://openjdk.java.net/jeps/301
стирать тип \ не стирать тип \ стирать но не полностью
guest # 0 ⇈
у коко есть такое: запечатанные классы называ
3.14159265 # 0 ⇈
Там больше о енумах речь.
new Koko<Type>(){}; //тип доступен в рантайме
Fike # 0 ⇈
akm88 # 0 ⇈
Только, наверное, Принцип разделения интерфейса, а не Барбары ?
1024-- # 0 ⇈
TOPT # 0 ⇈
3.14159265 # 0
Ни в стандартной либе, ни где либо ещё.
Или женерики полноценные пусть сделают (малореальный вариант), или zero-cost структуры для упаковки произвольных примитивов.
guest # 0
guest # 0 ⇈
admin # 0 ⇈
MAKAKA # 0 ⇈
https://www.youtube.com/watch?v=wg77OW18jjk
guest # 0 ⇈
guest # 0
https://developer.gnome.org/libbonobo/
phpBidlokoder2 # 0
guest # 0 ⇈
MAKAKA # 0 ⇈
guest # 0
Я хочу поменять write policy для своего диска: кеш, райт сру, вот это всё.
Винда: https://support.microsoft.com/en-us/help/324805/how-to-manually-turn-disk-write-caching-on-or-off
BSD: https://man.openbsd.org/atactl.8#writecachedisable
Как сделать в прыщах?
Может, https://linux.die.net/man/8/hdparm ? Там нету.
Давайте узнаем, что за драйвер: ls -lh /sys/class/block/sda/driver
Ок, мой драйвер называется sd
В БЗД по man [драйвер] можно получить все опции, но в прыщах man sd нету.
Может, modinfo sd? нет, там тоже нету.
Может, в документации?
/usr/src/linux/Documentation/scsi/sd-parameters.txt
Алилуя, мне нужен "cache_type", но где его взять?
Ищем cache_type в /sys/class/block/sda, нашли:
/sys/class/block/sda/device/scsi_disk/[хуе-мое]/cache_type
Что такое scsi_disk? Что значат остальные параметры там?
grep scsi_disk /usr/src/linux/Documentation/scsi/*.txt
Нашелся hpsa, но у меня не hp!
Как же узнать?
Ищем scsi_disk в /usr/src/linux/drivers/scsi/sd.c
Нашли структуру с :
name = "scsi_disk" и атрибутом ATTRIBUTE_GROUPS.
Что такое ATTRIBUTE_GROUPS?
Ищем в доке: https://www.kernel.org/doc/html/v4.18/search.html?q=ATTRIBUTE_GROUPS
Нашлось куча всего, но всё не то.
Кажется что нужно вникать в API драйверов, чтобы что-то понять.
Прыщи как были недокументированным говном, так и остались. ПИЗДЕЦ
guest # 0 ⇈
да всем плевать
gost # 0 ⇈
Это всё, конечно, хорошо, но вот когда я давеча пытался на венде пытался отключить своп, венда меня тихонечко послала нахуй. Ну то есть я захожу в настройки файла подкачки (как всегда, по очень интуитивному пути: Этот Компьютер -> Свойства -> Дополнительные параметры системы -> Параметры (Быстродействие) -> Дополнительно -> Изменить (Виртуальная память)), убираю весь своп, нажимаю «OK» — и не происходит ровным счётом нихуя.
Пришлось пердолиться с «gwmi win32_pagefilesetting».
admin # 0 ⇈
gost # 0 ⇈