Ычан: [d | b / bro / hr / l / m / mi / mu / o / ph / r / s / sci / tran / tu / tv / vg / x | au / tr | a / aa / c / fi / jp / rm / tan / to / vn / vo]
Имя
Animapcha image [@] [?]
Тема   (новая нить)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5000 кБ.
  • Ныне 3697 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
junior_developer_aoba.png - (578.70KB, 720×720)
23830
No. 23830       [Ответ] [Первые 100 сообщений] [Последние 50 сообщений]
Здесь можно получить помощь и консультацию по любому языку программирования, в любой сфере разработки. Не важно, программируете ли вы собственного робота, пишете серверную приблуду, интегрируете чужие API, ковыряете игру, или пытаетесь сделать сайт на Wordpress - если аноним что-то об этом знает, он обязательно поможет.

Пополняемая база знаний: http://pastebin.com/AGhLZppH

Не знаете, какой язык и библиотеки взять для вашей задачи? Вам сюда.
Не знаете, где клиент, а где сервер? Вам сюда.
Не понимаете, что такое ООП? Вам сюда.
Написали код, и не понимаете, почему не работает? Вам сюда.
Обнаружили кусок кода, и не понимаете, как оно вообще могло работать? Вам тоже сюда.
Не знаете, как подступиться к проблеме? Вам обязательно сюда.

Другие тематические нити (периодически обновляется): https://pastebin.com/psy43ibG

Примеры кода лучше выкладывать в виде ссылок на http://pastebin.com или http://ideone.com
Фронтендные вещи лучше выкладывать на http://jsfiddle.net

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

Чтобы не сбивать новичков с толку, а также не разбавлять полезную информацию мусором, беспредметные споры типа "какой язык / парадигма / библиотека / етц лучше" здесь запрещены. Для подобных вещей теперь есть отдельная диспутов нить >>/dev/21353

Если здесь поселится достаточное количество программистов на одном языке / одной сферы, можно б
Сообщение слишком длинное. Полный текст.
411 сообщений и 60 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25623    
>>25622
З.Ы.: Если углубляться, то лексер выплюнул токен '/' в синтаксический анализатор, тот воткнулся в строку, пнул лексер, чтобы делал строковый литерал и откатился на исходную. Т.е. оно ещё и со стейтом получается, и с обратной связью. Предложите проще, если сможете.
No. 25624    
>>25623
В общем, иными словами, прикрутить корректно работающую расцветку синтаксиса для этого языка в редакторе, у которого эта расцветка описывается простыми блоками/регекспами, толком не получится.
Пичаль.
No. 25625    
Хм.
Я правильно понимаю, что выше только что был приведен пример языка, который не описывается контекстно-свободной грамматикой?
No. 25626    
>>25624
Вам надо описать все случаи, когда токен '/' не может быть знаком деления. Для оставшихся случаев определить, где заканчивается строковый литерал.

>>25625
Да, здесь один символ обозначает разные вещи в зависимости от контекста применения.
screen.png - (163.67KB, 1280×1024)
16611
No. 16611       [Ответ] [Последние 50 сообщений]
Когда моя подруга узнала, что я пытаюсь писать на джаве, она заявила мне, что "джвакодер хуже [гомосексуалиста]". В ответ я заметил, что она и сама питонщица, а использовать язык с неявной типизацией довольно брезгливо. После этого она отстала. Но беда в том, что она очень умная девочка, выигрывала много контестов, сейчас работает в яндексе, а ее критика ранит меня до глубины души.

Собственно, вопрос: Какие языки точно не вызывают нареканий у ровных и четких пацанов?
59 сообщений и 7 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25593    
> Собственно, вопрос: Какие языки точно не вызывают нареканий у ровных и четких пацанов?
NASM, FASM, MASM.
No. 25596    
>>16611
Примечательно, что вначале разговор о подруге, а в конце вопрос про пацанов
No. 25611    
>>25593
> NASM, FASM, MASM
GNU Assembler с AT&T синтаксисом вместо этого.
No. 25612    
>>25611
Он никогда не предназначался для того чтобы на нем что-то писали, а так да, конечно, по критериям опа, лучший вариант!
No. 25613    
>>25612
>никогда не предназначался для того чтобы на нем что-то писали
Есть же язык, на котором даже helloworld его же автор не осилил вроде как...
No. 25615    
>>25612
Eh? Там есть разные средства для этого; вставки именно на нём в GNU-шном диалекте C. Часть кода Линуха на нём. Так что >>25613 вообще никак не про as.
No. 25616    
>>25615
Кто угодно скажет что gas весьма неудобная штука в сравнении с, мне лично иные мнения не встречались. Обвязки как таковой и нет, опять же в сравнении с, писать неудобно.
erogepok.jpg - (44.06KB, 604×602)
14488
No. 14488       [Ответ] [Первые 100 сообщений] [Последние 50 сообщений]
Тред №1 для чиочана, №29 для ычана.
Основная новость: wikia-площадка уже долгое время как имеет для нас третьестепенное значение. По большему счёту, она пригодилась для ревизии ресурсов именно на первых порах.
Остальное мы успешней обсуждали и решали в тредах. Помимо этого мы минимизировали контакты с соцсетями и коммьюнити БЛ.

FAQ проекта.
Устаревшая страница: http://eroge-dopil.wikia.com/wiki/FAQ
Update от 2016 года - поправлена информация в FAQ, перенесено на пастебин.
http://pastebin.com/kRRLUeMQ

В Гитхабе идёт работа над скриптом. Обновления редкие, в размере одного сюжетного эпизода.
https://github.com/yakui-lover/eroge-dopil

Сообщения об ошибках и неточностях приветствуются, критика будет встречена хорошо, если по делу.
А у кого есть идеи, предлагайте альтернативу при критике. Да и вообще новые идеи для слайсоивентов, не затрагивающих сюжетные твисты, концовки и тому подобное.
Для всего этого в первую очередь и сделан тред разработки.

Если у вас есть таланты, и вы хотите присоединиться к нам, пишите сначала в этот тред.
Предварительно стоит ознакомиться с ФАКом и ссылками, указанными в нём.

Материалы к диздоку и разработке: http://pastebin.com/VJpgMwxr
Архивные новости: http://pastebin.com/WzhPzuuM
401 сообщений и 85 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25283    
>>25160
>дорисовывать недостающие эмоции и новые позы, которые будут использоваться постоянно.
Посмотрите в коллекции http://www.esonline.tk/
Там есть все позы и все эмоции вообще всех персонажей, в том числе очень редкие.
No. 25284    
>>25283
>es
>online
Интересно, какой долбоеб это создал, а главное - зачем?
No. 25285    
eroge_online_3.png - (2.90MB, 1920×1080)
25285
>>25284
> а главное - зачем?
Я по приколу сделал прототип в 2017 году.
No. 25286    
eroge_online_banner.jpg - (0.97MB, 960×2778)
25286
И на первое апреля по приколу нарисовал такой баннер.

Несколько лет спустя, кто-то его нашёл и реализовал в точности те сценарии, которые я себе представлял, только в вебе, а не в ренпи.
No. 25288    
us_happy_blush_sport_normal.png - (249.47KB, 900×1080)
25288
>>25283
>>25286
Спасибо.
Но ведь это самопал же? Или многое из модов надёргано? Это нехорошо.
В планах разработки всегда предполагалось, что работа с графикой должна носить оффициальный(тм) характер, кроме изменений спрайтов для пародийных/комедийных сцен и плейсхолдерных БГ, да и то, не везде.
Правда, у нас есть не самый качественный плейсхолдер для Угрюм-куна, например, был добавлен исключительно за харизматичность и сходство с Хисао, а на самом деле в релизе у него волосы должны быть фиолетового цвета, а причёска подлинней.
Есть некая грань между качеством и васянством, в крайнем случае я и сам могу навасянить что-то, типа пикрелейтеда.
Что касается es-онлайн. По-хорошему, так дела не делаются, я не могу приобщить это к материалам разработки. Да и в целом стараюсь придерживаюсь принципа не брать чужое.
Кто делал сайт? Все эти файлы и слои у человека под рукой? Такое надо заливать в репозиторий для народа, чтобы всё в одном месте и было видно сразу, упорядоченно. На mega.nz, например.
No. 25426    
>>25288
Есть старый гитхаб https://github.com/blckdot/eswres
No. 25614    
>>25426
Посмотрел. Да, хороший репозиторий, аккуратный. Ничего лишнего. Правда, не увидел прямо фантастических спрайтов чтобы позаимствовать для текущего проекта.
Теоретически, если создатели репозитория имели бы желание и возможности, то неплохо было бы добавить всё остальное, чем пополнились качественно сделанные моды. С позволения авторов, наверное.

По проекту: в общем основная часть праздника Нептуна сделана, сейчас прорабатывается последяя четверть дня. Параллельно - новые для ы-эроге, не для вн вообще графические эффекты.
Untitled (10).png - (32.88KB, 1000×1000)
25597
No. 25597       [Ответ]
Итян, запрашиваю помощи.
Пишу пробное приложение в андроид студио, сделал страницу регистрации и входа и подвязал к кнопке регистрации переход на следующую страницу. Но почему-то при вводе данных и клике на кнопку приложение просто ломается. Может кто-то знает в чём проблема?
На StackOverflow вопрос задавал, но внятного ответа не получил.
1 cообщение пропущено. Для просмотра нажмите «Ответ».
No. 25599    
https://paste.ofcode.org/pfVk3qnVT2MJASjXUTtuCz

Ссылка на полный код.
No. 25600    
На первый взгляд ты сделал всё как по книжке, а стектрейс падения можешь привести?
No. 25601    
>>25600
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.logining/com.example.logining.ui.login.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
No. 25602    
>>25601
Лучше бы конечно стектрейс был полным, но обрати внимание, что до попытки запустить MainActivity твой код добирается. Значит, листенер выполняется, и скорее всего проблема у тебя с setOnClickListener не в LoginActivity а уже в MainActivity

В MainActivity какие-то кнопки с листенерами есть?
No. 25603    
>>25602
Здесь есть своя кнопка, но она ничего не делает пока что.
public class MainActivity extends AppCompatActivity {

private Button nextButton;
private TextView welcome;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Button loginButton = findViewById(R.id.login);
nextButton = findViewById(R.id.buttonNext);
welcome = findViewById(R.id.logo);

nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});
}
}
No. 25604    
>>25603
Эксепшон говорит нам о том что твой nextButton - null.
Если взять, и убрать
>nextButton.setOnClickListener
что-то поменяется?
No. 25605    
>>25604
Если оно null, значит оно не нашлось по id: nextButton = findViewById(R.id.buttonNext);
410.png - (34.48KB, 500×500)
20450
No. 20450       [Ответ] [Первые 100 сообщений] [Последние 50 сообщений]
После публикации исходников мы можем обсуждать доработку не только ранее общедоступных частей интерфейса, но и движка в целом.

Репозиторий: https://bitbucket.org/Therapont/fbe-410
1. Для ваших предложений предназначена ветка public.
2. Только администрация 410чана решает, что в этом движке надо, а что не надо. Соответственно, не стоит излишне пропихивать всякие там революционные идеи. Одобренные потенциальные изменения перечислены на багтрекере (записи, созданные владельцами репозитория).
3. Тестирование предложенных изменений и развёртывание принятых ведётся при наличии у администрации свободного времени на это. Обычно это делается по выходным.
4. Код выложен как есть. Никаких неопубликованных скрытых функций и частей не существует.

Предыдущая нить: >>17371
421 сообщений и 192 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25561    
>>25460
Сможете разобраться, что вызвало проблему >>25534 и исправить, или надо открывать тикет на починку?
No. 25562    
>>25534
>>25561
tl;dr Так вышло, что в public это уже исправлено.

Причины бага аналогичны >>25460 На странице ошибки тоже грузится kusaba.js, и в этом случае выполняется код, который пробует синициализировать форму быстрого ответа. Этот код фейлится, ошибка обрабатывается, но в обработчике выполняется deinit, а в нём _dropFormData.
В коммите 9949a077 из пул реквеста 54 кроме того, что добавлено условие для создания элемента с избранными нитями, ещё и условие для инициализации формы быстрого ответа исправлено на аналогичное. До этого там проверялось, что в адресе нет menu.php или news.php, а теперь проверяется, что у body есть классы read или board (тред или доска). Оказывается, эта проверка исправляет баг с сохранением формы (форма на странице ошибки не начинает инициализироваться, исключение не возникает, deinit не выполняется).
No. 25563    
>>25562
>tl;dr Так вышло, что в public это уже исправлено.
Это радует. Спасибо!

Получается public еще не развернули просто?
No. 25564    
>>25563
>Получается public еще не развернули просто?
да
No. 25565    
>>25564
Ок, спасибо что уточнили.
No. 25566    
>>25565
В том сымсле, что пул реквест вмёрджен в ветку publc, но что с ним будет дальше, не знаю, это не ко мне. Я всего лишь случайный автор последних правок и я здесь один, лол.
No. 25575    
Просьба администрации отписать, когда будет развернут текущий паблик, чтобы можно было проверить фиксы.
200px-JavaScript-logo.png - (6.68KB, 200×200)
7318
No. 7318       [Ответ] [Последние 50 сообщений]
Я знаю, это не очень хороший тред, но посоветуйте мне книжку по JavaScript.
Мне нравится, когда такие книги больше похожи на справочник, но если там будут кое-какие примеры, этика использования приемов, это будет просто супер. Можно на английском. Я собираюсь приобрести бумажную версию, так что желательно чтобы я смог достать её в книжных Москвы. Алсо, я туговат, и хочу чтобы разжевано было всё.
60 сообщений и 12 изображений пропущено. Для просмотра нажмите «Ответ».
No. 19374    
>>19373
Для начала, не нужно писать велосипед, когда есть https://developer.mozilla.org/ru/docs/Web/API/Element/classList
По коду, в строке
> tempClassName.split(' ');
Допущена та же ошибка, что была описана в >>19313
String.spit() возвращает массив, а не превращает строку в массив и не присваивает переменной, хранящей эту строку новое значение. То, что alert(tempClassName) выдает значение obj.className, а не массив ["open", "menu"], не насторожило?
Ну а далее со строкой работают как с массивом, естественно у строки нет методов push и join.
Советую заиметь привычку использовать const вместо var, чтобы не возникало желания переиспользовать переменные для хранения разных типов и не подразумевать ошибочно, что неизменяемые типы должны изменяться.
https://jsfiddle.net/cgbzmk7u/1/
No. 19375    
>>19370

На странице https://www.heroku.com/pricing предлагают бесплатно до 1000 дино×часов в месяц на 512 мегабайтах памяти и с засыпанием через полчаса неактивности. (Больше и бессоннее — за денежку.)

Можно поискать и найти ещё другие хостинги. Я сообщил только о первом пришедшем на ум.
No. 19376    
Разумѣется, отвѣтъ >>19375 может дополнительно быть расширен упоминанием о том, что для Node.js не обязательно искать спецхостинг, так как можно вписать запуск сервера в автозагрузку у любого VPS, у любого VDS, да даже у домашнего компьютера с выделенным IP-адресом.
No. 19380    
>>19374
> Для начала, не нужно писать велосипед, когда есть https://developer.mozilla.org/ru/docs/Web/API/Element/classList
Да, я до них еще не дошел просто до того. Просто я специально не заглядываю наперед в методах, потому что хочу сделать велосипед из дерева. Ибо так я себе как бы делаю задачу тяжелее, а значит могу развивать мозг. Это как с книгами. Чтобы иметь хоть какую-то креативность, нужно читать книги, но слишком много читать - это вредно,так как все уже поднесено разжеванным и думать не надо. Что-то меня не в ту сторону понесло
> Допущена та же ошибка, что была описана в >>19313
> String.spit() возвращает массив, а не превращает строку в массив и не присваивает переменной, хранящей эту строку новое значение. То, что alert(tempClassName) выдает значение obj.className, а не массив ["open", "menu"], не насторожило?
Ой, я по привычке. Почему-то до сих пор на практике строки воспринимаю как массив. Не знаю, как выработать противоположную привычку.
> Советую заиметь привычку использовать const вместо var, чтобы не возникало желания переиспользовать переменные для хранения разных типов и не подразумевать ошибочно, что неизменяемые типы должны изменяться.
А вот тут детальнее. Что за const? Никогда о ней не слыхал.
No. 19381    
>>19380
const это как var, только const. Вместо переменной будет константа. На практике именно изменяемые переменные нужны довольно редко. Ознакомиться со всеми этими вещами можно в виде нескучных уроков: https://youtu.be/2iLVFyYwyRA
Еще по всем приведенным примерам кода видно очень вольное использование return:
> return alert("Данный класс уже существует")
Вопрос: что вернет эта функция в данном случае? Что она должна возвращать и зачем?
Кроме того, научись пользоваться консолью браузера и отладчиком, кажется весь твой инструментарий сейчас ограничен alert().
No. 24849    
5512_Orange_Hartpfy.png - (19.88KB, 128×121)
24849
Посоветуйте годный гайд по ascii рогаликом на чистом canvas js без всяких сторонних либ.
ЗЫ: нигде такого не нашел, а самому додуматся тяжело
No. 25508    
>>7318
https://github.com/azat-io/you-dont-know-js-ru
movie_002.mp4 - (1.15MB, 1068×726)
25313
No. 25313       [Ответ]
Я все же создам новый тред, да простит меня джаббер тред внизу каталога.

Решил вкатиться в юнити. Читаю их туториалы, пока в восторге от доступности и простоты материала (по сравнению с тем, что было раньше)

Буду тут писать отчеты.

Пара ссылок:
Сайт: https://unity.com
Обучение: https://learn.unity.com
Есть тг канал: @unity3d_ru
4 сообщений и 4 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25339    
movie_005.mp4 - (2.11MB, 854×480)
25339
Юнит3 Junior курса оказался богат на новые для меня фишки. Впервые потыкал компоненты:

  1. Animator. Это такая стейт машина с переходами между различными анимациями и условиями для этих переходов. Ей можно управлять, изменяя параметры, участвующие в условиях перехода.
  2. AudioSource. Можно проиграть подгруженный аудио файл. Все просто.
  3. Collision Trigger. Можно детектировать столкновения между объектами. Можно даже чекать объекты по их тегу и в зависимости от этого делать различное поведение. Сами коллайдеры еще бывают разными в зависимости от их формы.
  4. Particle System. Частицы, изменяющиеся во времени. Можно делать эффекты. Им почти как и аудио, можно сделать Play() и Stop().

No. 25364    
movie_003.mp4 - (3.91MB, 854×480)
25364
Попробовал корутины. С шарпом почти не знаком, и тут они мне показались немного необычными. В моем понимании, корутина - это что-то что с момента создания живет немного своей жизнью, но ее можно подождать (ну или события от нее послушать). Здесь же yield-ом корутина может отдать управления обратно основному циклу (прям в любом месте), при этом в нее точка выполнения вернется сама, когда ей будет это удобно..

Но корутинами удобно описывать процессы, которые должны протекать во времени в течение нескольких фреймов. В противном случае можно утонуть в бесконечных таймерах и флагах, делая это все в основной функции обновления фрейма.
No. 25389    
movie_004.mp4 - (4.27MB, 1280×720)
25389
UI оставил двоякое впечатление, с одной стороны все просто. С другой стороны, чтобы его сделать невырвиглазным, нужно постараться.
No. 25401    
Узнал сейчас про object pooling. Если один и тот же объект планируется создавать и удалять много раз, то гораздо оптимальнее будет инстанциировать лист этих объектов и сделать каждый из них неактивным. Далее, в момент когда объект необходим в сцене, из пула берется один из его инстансов и делается активным. При этом могут меняться некоторые из его параметров (например позиция).

Ну и соответственно, если активный объект больше не нужен, но не удаляется, а делается неактивным. Пул всегда возвращает один из неактивных объектов, то есть не используемых в данный момент.

В итоге получается, что мы имеем в памяти постоянное количество объектов (равный размеру пула), а не постоянно создаем и удаляем бесконечное количество объектов по мере работы сцены.
No. 25412    
Unity вкатывается в настоящую мультипоточность и асинхронность. В то время как в мире микросервисов это давно стандарт, в таких больших проектах похоже не так все просто.

До сих пор в стейбл версии используется старый подход, при котором главный цикл обновления сцены однопоточен. Сейчас (точнее еще в 2018) нашли способ это сделать многопоточным со скедулингом по разным ядрам. Правда это до сих пор в превью, хотя и выглядит вполне надежно и многообещающее.

Основная фишка тут в том, что подобный подход требует изменений в структурах пользовательского кода и объектов. Для этого были придуманы конверторы, и это вылилось в отдельную версию редактора. Пользователь работает с игровыми объектами и их компонентами, как и раньше. А дальше они сами конвертируются в “новые” сущности и компоненты (Entity Component System) для работы с ними в коде.

Ну и в коде, в связи с этим, уже нет работы с игровыми объектами в их обычном понимании, а с компонентами напрямую, которые в свою очередь уже содержат какие-то данные (например позиция, скорость). Отсюда этот подход получил название Data-Oriented Technology Stack. Классы теперь наследуются не от MonoBehaviour, а от JobComponentSystem.

https://unity.com/dots
Ну и разумеется, все это стало гораздо производительнее, и стало возможным делать сложные сцены, работающие даже на мобилках https://www.youtube.com/watch?v=KgcU2HBOXAw
No. 25423    
Погуглил больше про ECS.

Концепция сама существует давно и не является изобретением Unity, но уже DOTS - их термин. Она сама по себе не про производительность, а про подход к описанию игрового мира и взаимодействий в нем.

В ECS игровые объекты не наследуют кучу всего и не создаются со статичной кучей параметров и компонентов, существующих вплоть о момента удаления объекта. В ECS игровые объекты - просто entities, некие изначально пустые "сущности", играющие роль уникальных идентификаторов.

Параметры игровых объектов (например, здоровье, скорость, "прыгучесть", etc) являются самостоятельными компонентами (components), не привязанными ни к какому объекту статично. Они могут назначаться каким-либо entities, если им необходимо данное поведение/характеристика. Причем эта привязка или отвязка происходят в рантайме, что позволяет делать классные вещи в виде изменения казалось бы статичных характеристик игрового мира в уже работающих клиентах.

Системы (systems) содержат уже логику, обрабатывающую данные из компонентов. Можно думать о них, как о контроллерах. Важно то, что системы не завязаны на конкретных компонентах и entities. По крайней мере в юнити, как я понял, системы могу выбирать entities на основе привязанных к ним компонентов (entity query) и тем самым всегда работают с группой entities. Поэтому в коде много foreach :)

В этой концепции Entities, Components и Systems - вещи изначально существующие обособленно друг от друга, и им нужны отдельные средства коммуникации. И тут уже все зависит от конкретной имплементации.
No. 25450    
movie_005.mp4 - (436.97KB, 854×480)
25450
Разобрался со сценами и переходами между ними. Сцена - это некая уникальная инстанция мира. В зависимости от сложности игры может быть отдельным уровнем, может быть целым открытым миром. Или это может быть просто menu screen.

Все игровые объекты создаются внутри сцены и при переходе между сценами удаляются. Однако есть различные методики для персиста данных между сценами. Самый простой способ - это использование синглтона, который один раз создается при инициализации и помечается, как неудаляемый.

Персист данных между сессиями (между разными запусками игры) сложнее. Причем не потому, что надо писать в файл или работать с другими внешними сущностями. А потому что надо постоянно думать, могут ли внутренние структуры быть сериализированы. В шарпе не все так однозначно. Обычный array, например, может быть сериализирован в json, List уже нет. Хотя BinaryFormatter с ним справляется без проблем.
civilized_argument_popukko.jpg - (63.68KB, 720×720)
21353
No. 21353       [Ответ] [Первые 100 сообщений] [Последние 50 сообщений]
Попробуем создать нить, в которой уважаемые разработчики могут поспорить на любые темы:

— Какая IDE удобнее?
— Какой язык лучше?
— Какой фреймворк православнее?
— Agile или не Agile?
— ООП нужно, или не нужно?
— Настоящий разработчик вы, или нет?

Здесь разработчики смогут невозбранно обсудить эти, и другие животрепещущие а иногда и извечные темы.
108 сообщений и 34 изображений пропущено. Для просмотра нажмите «Ответ».
No. 25432    
Wanted_Raccoon.jpg - (165.38KB, 1117×954)
25432
>>25430
>Как правило, у вас есть одна библиотека, которая возвращает null. Этот кактус вам грызть весь проект.

Ну так я не предлагаю объять необъятное. Есть наш какой-то модуль. Мы знаем, что для него получить null на вход - бессмыслица. Почему бы не гарантировать во время компиляции (может хинтами, хотя на мой взгляд лучше самим ЯП), что мы не сможем ему передать null на вход, и чтобы внутри модуля была такая типа чистая комната от отсутствующих значений.

Жаль что так же нельзя сделать, ограничивая в компайл-тайме диапазоны целых чисел, например. Тогда бы действительно какой-нибудь квантовый компилятор был бы нужен, чтобы всё все возможные выполнения просчитать. Сейчас прибегут хаскелисты и скажут, что у них это уже реализовано.
No. 25433    
>>25432
Вы действительно считаете, что это — весело? Попробуйте Аду тогда, и её подмножество SPARK с нескучными фичами.
No. 25434    
>>25433
На что тут ещё обратить внимание?

Типы Length и Coord производные от типа Count и наследуют его методы, однако промеж них нельзя делать арифметику напрямую, поскольку по умолчанию не определены арифметические операторы для аргументов разных типов — грубо говоря, надо ещё пару десятков функций прописать вида function "+" (Left: Coord; Right: Length) return Coord. Зато их можно конвертировать друг в друга т.к. они одного диапазона значений. К сожалению типы не всегда возможно безопасно сконвертировать друг в друга, так что приходится по ходу пьесы инстанциировать дженерик-функцию Unchecked_Conversion. Это первое.

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

Третье, арифметику никто не отменял, так что умножение Length на Length может выдать вместо Length исключение Constraint_Error. Эта проблема при строгой типизации практически нерешаема, но для серии арифметических операций добрый адский компилятор сначала сконвертит все типы в какой-нибудь Long_Integer, посчитает и уже потом решит, кидать ли исключение. Однако, эта магия не работает при переопределении операторов.
No. 25435    
>>25434
Не, ну с исключениями, это не серьёзно.
No. 25436    
>>25435
Тогда у вас любая функция вида function "*" (Left, Right: T) return T при любом ограниченном типе T нелегитимна. Максимум, что вы можете сделать для того, чтобы реабилитировать её, — это написать ей контракт посредством расширений SPARK-а. Можете подумать, кстати, на досуге, какими будут условия контракта, чтобы функция стала легитимной.
No. 25437    
>>25436
Ну я и говорю, что с числами это не сработает. Но если просто как бы включить нуллабельность в T, то никаких проблем нет.
test-pilot.png - (145.10KB, 1024×819)
25316
No. 25316       [Ответ]
GNU GUIX (произносится гикс /ɡiːks/) — функциональный пакетный менеджер и операционная система, разработанные Ludovic Courtès. Отличительной особенностью является создание полностью воспроизводимых билдов и декларативное описание. Guix можно поставить на существующий дистрибутив GNU/Linux или в качестве отдельной системы на базе Linux или GNU Hurd. Раньше существовало разделение менеджера пакетов Guix и операционной системы GuixSD.

Определения пакетов описываются на диалекте языка Scheme – GNU/Guile. Большая часть исходников написана на нём же. Система изначально была основана на Nix. Отличиями от Nix(OS) являются язык для описания пакетов и сервисов, система инициализации (GNU Shepherd), использование ядра Linux-Libre (Linux без блобов) и отсутствие проприетарных пакетов.

Чем интересен Guix: https://habr.com/ru/post/436938/

GNU Guix (из коробки) не имеет проприетарного firmware. Потому при переходе на эту систему надо учитывать, что возможно wifi адаптер, gpu и другие компоненты системы могут не работать полностью или частично.

Список свободных wifi адаптеров:
https://gist.github.com/sirikid/2817f36d67d1480a428cbf33b220cfcc

Научные статьи о Guix:
Functional Package Management with Guix
Reproducible and User-Controlled Software Environments in HPC with Guix
Code Staging in GNU Guix

Научные статьи о Nix:
The Purely Functional SoftwareDeployment Model

Сайт проекта: https://guix.gnu.org/ru
Документация: https://guix.gnu.org/manual/ru/html_node/
Cookbook: https://guix.gnu.org/cookbook/en/guix-cookbook.html
Шпаргалка: https://guix.gnu.org/guix-refcard.pdf
Ви
Сообщение слишком длинное. Полный текст.
No. 25322    
>>25316
И при чём тут разработка?
No. 25324    
>>25322
Предлагаешь в /b/ это обсуждать?
No. 25343    
>On the practical level, Guix provides pre-compiled packages which can be a huge time-saver compared to Gentoo
О минусах тактически умолчено

>Portage does not let you configure features that were not thought of in advance by the packager
>Conversely, Guix gives you full customization for everything, albeit with a bit more Scheme code
То есть написать ебилд и написать схемовый код - 2 большие разницы, в которой написание арбитрарного костыля лучше компонента с абстрактным EAPI?

>Moreover, Portage suffer from the same aforementioned issue with the lack of proper support for multiple versions. Indeed, USE flags significantly increase the magnitude of the issue
Как относятся флаги к версиям?
О слотах автор не знает?

Конечно с лиспами, хурдом и фсф интереснее никсоса, но такие статьи только отталкивают и все заявленные ключевые фишки кажутся оторванными от реального мира реализации
No. 25344    
Да кому нужна вся эта хрень. Нужен максимально простой стек, чтобы в облако добавить и контейнеры запускать.
No. 25421    
>>25343

>О минусах тактически умолчено
Это же не детальный анализ что бы купить гентушников.

>То есть написать ебилд и написать схемовый код - 2 большие разницы, в которой написание арбитрарного костыля лучше компонента с абстрактным EAPI?
Декларативно описывать зависимости на полноценном языке программирования > всё остальное.

>Как относятся флаги к версиям?
>О слотах автор не знает?
Ну, не у всех версий одни и теже флаги могут быть. Лично я о слотах ничего не знаю.

Что ты хочешь узнать о guix?
download.png - (3.28KB, 312×162)
25264
No. 25264       [Ответ]
Пока учусь на metanit.com , но вдруг есть что то получше
No. 25333    
Советую обратить внимание на книгу Васильева "Программирование с примерами и программами" - не бог весть какое руководство, но зато простое и понятное. Это не веб-ресурс, но мне в свое время она очень помогла. В остальном - я учился на небольших программках для души, все равно чтобы научиться программировать - надо программировать, ни один курс этого не заменит
No. 25417    
>>25333
Если я не ошибаюсь книга называется " Самоучитель Java с примерами и программами
"
No. 25419    
А официальные туториалы от Оракла уже не модны? Ну и в самой JDK полно документации. Обсуждений вида «как лучше сделать херня_нейм» полно на СтекОверфлоу — если уж не конкретику, то хоть по архитектуре подсказки можно найти. Шепелёв очень много писал про JMM. Балус и ко много писали по ентерпрайзу.
Удалить сообщение []
Пароль  
[Mod]
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]