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

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

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

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

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

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

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

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

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

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

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

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


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

Предыдущий: >>46762
283 posts are omitted, из них 43 с файлами. Развернуть тред.
>> No.48776 Ответ
>>48775
> что конкретно делают CMS?
Работают как оболочки над базами данных.
Не попадай в эту ловушку, денег там нет.
>> No.48786 Ответ
Хочу делать свою зельду с блекджеком.
Я вот знаю немного С/С++ и шарпик.
Пробовать делать на нем или попробовать освоить какой-нибудь Питон или еще что-то?
>> No.48790 Ответ
>>48786
Шарп норм. Вон, на MonoGame сделали Fez, Bastion и Transistor.
>> No.48791 Ответ
>>48786
Этого достаточно, чтобы осилить игрулю на юнити или анриале.
>> No.48792 Ответ
>>48786
> С/С++
Будь мужиком! Берешь SDL и пилишь с нуля всё безумный смех.

Ну или по нормальному пути:
Unreal Engine, Unity, что-нить другое бесплатное.

Для начала, советую, запилить что-нибудь простенькое 2д, для того чтобы обкатать инструмент и не забить болт это ты и сам знаешь.
>> No.48796 Ответ
Файл: 1607700.jpeg
Jpeg, 36.39 KB, 306×487 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1607700.jpeg
>>48791
>>48792
> юнити/Unity

НЕНАВИСТЬ!!!111111 Пиздить ссаными тряпками каждого мудака, что советует использовать это дырявое ебаное говно, и того кто посмел использовать это дырявое ебаное говно.
>> No.48797 Ответ
>>48796
> Не хочу пользоваться инструментами, хочу ебстись и обмазываться
Специально для тебя
https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html
>> No.48798 Ответ
>>48796
Вспоминаю статью с хабра про Super Meat Boy и комментарий к нему. https://habr.com/post/332984/#comment_10324248

> "Мои друзья из FlashBang в каждом разговоре пытались убедить меня использовать Unity, но я твёрдо придерживался решения создать собственные инструменты разработки и движок."
> "В день выпуска на PC нас завалило кучей отчётов об ошибках, сбоях при запуске и выходе и многом другом. За несколько первых дней после выпуска я ответил примерно на две тысячи писем. Я чувствовал себя так же, как во время последнего рывка перед выпуском на XBLA: каждый раз, когда я что-то чинил, ломалось что-нибудь другое."
>
> Казалось бы, что могло пойти не так?
>> No.48800 Ответ
Допустим есть класс с полем int value и методом setValue(int value) с некоторым количеством проверок. Так же в классе есть конструктор по умолчанию. Как лучше писать в конструкторе: value = 5 или setValue(5)?
Первый способ оптимальнее на вызов функции и проверки, но второй способ безопаснее, так как гарантирует корректность результата, например, в случае, если какие-то условия для value изменились.
>> No.48801 Ответ
>>48800
Если условия для value у тебя будут меняться - то однозначно второй способ. Не думаю, что у тебя в setValue такой уж навороченный код, который снизит производительность программы.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну пока всё. Спрашивайте свои ответы. Ато может я чего забыл ненароком.
Сообщение слишком длинное. Полная версия. 199 posts are omitted, из них 39 с файлами. Развернуть тред.
>> No.48621 Ответ
>>48613
Пользовался только вимом, поэтому расскажу, почему я от него ушел.
Идея "не отрывая рук от клавиатуры" очень заманчива, это действительно сильная сторона этого редактора. Да только идейно вим - это текстовый редактор из 70-х, когда IT было довольно специфично (вот интервью с создателем: https://www.theregister.co.uk/2003/09/11/bill_joys_greatest_gift/). В итоге вим надо постоянно допиливать до нужной кондиции с помощью плагинов и настройки конфига. Еще нужно постоянно читать документацию к нему и его плагинам, чтобы узнать, какие комбинации клавиш используются и какие настройки существуют. То, что современные текстовики и IDE умеют из коробки делать автоматически, тебе приходится постоянно самостоятельно настраивать в виме и все время танцевать пальцами на клавиатуре. За 4 года я от этого устал.
Как редактор для консоли - вим рельно хорош. Как основной редактор на компе с медленным процом и RAM < 4 Gb - тоже отличный выбор. Но в остальных случаях я выбираю современные редакторы.
>> No.48625 Ответ
>>48613
Расскажу, пожалуй, что я думаю по поводу разницы подходов к использованию клавиатуры в vi (и в evil-mode) и в чистом емаксе.

Я думаю, что vi-подход -- это попытка приспособиться к недостаткам современных стандартных клавиатур. Емакс же наиболее удобен, если отбросить этот инженерный идиотизм (я про обычные клавиатуры) и не пожалеть денег на какую-нибудь действительно эргономичную клавиатуру, типа кинезис, ерго-докс, трули-эргономик или что-нибудь подобное.

То есть, если на клавиатуре легко доступны клавиши-модификаторы, то модальный vi-подход становится попросту ненужен.

имею десяток лет опыта в виме, примерно столько же в емаксе; владею десятипальцевой слепой печатью; использую Truly Ergonomic Keyboard, думаю, что Kinesis Advantage или ErgoDox может быть удобнее, но пока денег нет, чтобы проверить
>> No.48626 Ответ
>>48625
А что скажешь про тот же "spacemacs"? Он проще, как говорят. Можешь ремногн помочь с установкой и вот со всем этим? Я так и не понял чем лучше пользоваться.

>>48621
> Как основной редактор на компе с медленным процом и RAM 4 Gb - тоже отличный выбор.
Да, у меня именно такой ПК.
>> No.48627 Ответ
>>48626
> А что скажешь про тот же "spacemacs"?
Ничего не скажу, потому что не пользуюсь. Предпочитаю сам постепенно кастомизировать свой емакс, понимая при этом, что я делаю и зачем мне это нужно.

> Я так и не понял чем лучше пользоваться.
Если ты про емакс, то начни со стоковой ванильной конфигурации, пройди тьюториал (C-h t), полистай доки, попользуйся какое-то время, пойми, что тебе хочется улучшить/поменять, и начинай потихоньку допиливать конфиг.
>> No.48671 Ответ
А есть ли гайд для мягкого введения вим в обычного казуальшика?
>> No.48676 Ответ
>>48671
vimtutor
А потом чтение документации и статей в инете
>> No.48702 Ответ
Файл: cover.jpg
Jpg, 16.33 KB, 330×483 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
cover.jpg
>>48671
Этот гайд хорошо зашёл
>> No.48703 Ответ
>>48613
> и то что два редактора ничем не отличаются
Они настолько отличаются, что это утверждение (маркированное "как говорят), говорит об абсолютном дилетантстве и некомпетентности этих говорящих. И даже Evil mode не делает GNU Emacs чем-то похожим на Vim, кроме как сочетаниями клавиш.
>> No.48793 Ответ
>>48703
> И даже Evil mode не делает GNU Emacs чем-то похожим на Vim, кроме как сочетаниями клавиш.
Почему нет?
>> No.48799 Ответ
>>48793
Потому что evil mode ничего, кроме vi-подобных сочетаний клавиш, к емаксу не добавляет. Очевидно же.

Emacs и vi, вообще, мне кажется некорректным сравнивать. Vi -- текстовый редактор (и даже vim -- всего лишь улучшенный vi). Emacs же -- платформа для создания текстоориентированных приложений. В комплекте с которой уже идёт небольшая кучка этих приложений, среди которых и текстовый редактор.


No.48777 Ответ [Открыть тред]
Файл: Leezonka.jpg
Jpg, 593.57 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Leezonka.jpg
Кое-как выучил Python по книге Мэтиза и разобрался с ООП по статьям из сети. Недавно начал читать книгу по алгоритмам и параллельно почитывать "C++. Базовый курс". Так же пытаюсь разобраться с Lua и фреймворком LÖVE2D, получается пока что не очень, скорее всего придётся читать книгу по Lua, чтобы лучше вникнуть.
Но знаете что? Я не написал ещё ни одной программы, ни одной. Я писал различные формулы и недокалькуляторы в консоли, заливал фон синим цветом в LÖVE и всё.
Я не понимаю что делать дальше. Продолжать читать книги по языкам, алгоритмам и CS или же идти что-то писать? Помогите, аноны.
>> No.48778 Ответ
>>48777
Книга это максимум помощник когда что-то не получается. Сама по себе она тебя ничему не научит.
Чтобы научиться программировать, надо написать хотя бы с десяток тысяч строк кода. Просто взять и писать.
>> No.48779 Ответ
>>48777
Лол, но зачем ты на всё подряд кидаешься? Взял бидон, да и дрочи его.
Ну и почитывай всякую теорчасть параллельно.
>> No.48780 Ответ
>>48778
> Чтобы научиться программировать, надо написать хотя бы с десяток тысяч строк кода. Просто взять и писать.
Ну вот не понимаю я как это, просто взять и писать. Я не знаю синтаксиса, я не знаю ничего, как я могу сесть и что-то писать? Мне проще прочитать книгу на 200страниц с кратким объяснением сути языка и уже со знанием каких-то основ сесть и писать. Практика важнее, конечно, но как я без теории буду что-то практиковать? Не понимаю просто как это делать.

>>48779
> Лол, но зачем ты на всё подряд кидаешься?
Я ещё и линукс с вимом пытаюсь дрочить. Я хватаю всё, что интересно и всё, что мне пригодится. Но из-за этого я потерялся, не вижу теперь дороги с указателями. А что выбрать я сам не знаю, интересно всё ведь.
>> No.48781 Ответ
>>48780
Ты уже знаешь питон, а его можно применить во многих областях. На нем можно писать и для сервера, и
для десктопа, и сеть, и GUI, и научные расчеты, и игры. Выбери область и вперед, а дальше по нужде изучай, что тебе непосредственно нужно для реализации своего личного проекта.
PS. Не советую осваивать вим.
>> No.48782 Ответ
>>48780
Представь, что ты пытаешься научиться игре на гитаре. Один самоучитель прочитал, второй, третий. А гитару даже купил еще и ни разу в руки не брал. Думаешь ты чему-нибудь научишься?
Надо купить гитару, начать бренькать просто, тренировать пальцы. Параллельно пробовать выполнять простые упражнения из самоучителя, задрачивая их пока не начнут получаться быстро, на автомате и хорошо.
>> No.48783 Ответ
>>48781
Основной целью изучения является именно геймдев, но ты всё-таки прав. Попробую фреймворк Kivy. Но всё же, когда именно начинать изучать что-то новое?

а что с вимом не так? Мне его плагины и настройка не очень нравится, больше всего нравится то, что можно при кодинге мышку не трогать, а все делать на клавиатуре. Если есть альтернативы, то почему бы и нет.
>> No.48785 Ответ
Ох, я дурак. Создал вместо поста тред и теперь он нулевой, мне даже стыдно.
>>48782
Пример хороший, но что же мне сыграть на этой гитаре? А может вообще продать её и купить пианино? А может соединить все инструменты воедино и стать оркестром? Вот такие вопросы меня и волнуют. Но вы мне всё равно помогли, спасибо! Понял свою ошибку, нужно писать код, больше кода, однако, когда именно нужно потреблять новую информацию? Изучать новый язык, фреймворк, технологии? Не пойму где эта черта, когда нужно двигаться дальше.
>> No.48787 Ответ
>>48785
Если ты хочешь писать игры, то садишь прям щас и пиши игру. Когда оно будет работать, чтоб была меню, игра, сейв-лоад и хотя бы бэд энды, тогда ты суммируешь свой опыт, понимаешь что "а вот тут и тут все как-то через жопу вышло" и изучаешь, как это можно было бы сделать лучше.
Потом ты берешь и переписываешь все с нуля или вообще делаешь другую игру.
И через несколько итераций ты уже сам будешь всё понимать и можешь идти работать.

Более быстро и просто -- иди в команду к любой опен-сорс игре. Качаешь исходники, учишься скомпилить девелопер-версию, учишься вносить небольшие изменения, потом просишь дать тебе каких-нибудь тикетов, пытаешься решить задачу. Параллельно осваиваешь технологии, либы и фреймворки, которые разработали и применяют в этом проекте.
>> No.48788 Ответ
>>48783
про вим я писал тут >>48621
>> No.48789 Ответ
>>48777
> Кое-как выучил Python
Выучи не кое-как, а хорошо по книгам Learning Programming in Python 3. Сначала Саммерфильда (у него и напишешь свои программы т.к. после каждой главы есть упражнения), потом можешь Лутца. А потом можешь codewars.com попробовать, сейчас на нем по 2 часа в день пишу задачки и поднимаю ранг, мне нравится.

А теперь объясните мне, как мне запустить свой Apache или nginx сервер, и вставить в него свой Пистон, а то я уже разобрался и с Питоном, и с простой БД MySQL, хочу начинать писать первые велосипеды на Джанго, чтобы скорее пойти на РАБоту. Есть по этим двум серверам какие-нибудь книги? Или только разрозненные статьи\туторы в гугле?


No.48457 Ответ [Открыть тред]
Файл: 1-soPiTsrgWsHZO2Z...
Png, 1468.07 KB, 2000×958
edit Find source with google Find source with iqdb
1-soPiTsrgWsHZO2ZHCQA_IA.png
Файл: vdfs.png
Png, 37.74 KB, 1207×826
edit Find source with google Find source with iqdb
vdfs.png
Файл: rustacean-error.png
Png, 37.41 KB, 573×300
edit Find source with google Find source with iqdb
rustacean-error.png

Зачем нужен? Во имя закапывания няшного и крестов. По крайней мере там, где можно избежать легаси и хочется писать как белый человек. Embedded пока с парой костылей вроде xargo, операционки, браузеры, всякий тяжелый код. Язык, где ты можешь отстрелить себе конечности, но ружья выдают только по карточкам. Компилятор в основном занимается твоим унижением.

Что тут есть? Рак вместо маскота. Самая новая концепция: управление временем жизни без сборки мусора. Всякие рюшечки вроде паттернматчинга, вывода типов, наконец-то нормальной реализации строк, гарантии безопасности, элементы функциональщины без потери производительности и всё остальное в таком духе.

Чего нет или ещё нет? Типов высшего порядка, константных генериков, alloca и ещё парочки похожих штук. Но работы ведутся. Ещё нет библиотек на все случаи жизни. За те несколько лет существования не успели. 1.5 вакансии уже есть, но их только 1.5. Использование нестабильной версии всё ещё актуально.

Оффициальный сайт: https://www.rust-lang.org/
Мануал: https://doc.rust-lang.org/book/second-edition/
Пакеты: https://crates.io/
18 posts are omitted, из них 3 с файлами. Развернуть тред.
>> No.48695 Ответ
Файл: King_sombra-s_eyes_at_the_top_of_the_shadow_S3E1.png
Png, 470.40 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
King_sombra-s_eyes_at_the_top_of_the_shadow_S3E1.png
>>48694
> попробуй сначала доучить язык
у меня ограничено время на эту ересь
> Глава "Время жизни" и глава "Изменяемость (mutability)"
займемся
> Форматируй код нормально
это моя извечная проблема, ее решить мне так и не удается, но если не понятно, то есть двумерный список структур, у структуры есть функция, которая анализирует элименты вокруг него и если понадобится передвигает себя в один из этих элиментов. вообщем я думаю ты уже запутаешься на этом моменте, поэтому буду страдать.
> Heresy::lock()
это действительно ересь. надо было Obj::lock()
> Так ещё хуже, чем скриншотами
вот это обидно, я старался, хотя понимаю. лучше свич сделал, но все делалось на коленках и мозги были в отпустке
> И глобальные функции/переменные не используй. СОВСЕМ не используй
кстати на заметку. у меня такие есть и их даже 3...
>> No.48705 Ответ
Файл: Sombra_mouth_wide...
Png, 56.89 KB, 300×169
edit Find source with google Find source with iqdb
Sombra_mouth_wide_open_S3E2.png
Файл: helpneed.png
Png, 9.06 KB, 467×443
edit Find source with google Find source with iqdb
helpneed.png

я конечно туплю, но не знаю что делать. не подключается
>> No.48706 Ответ
Файл: 342-12.02.13-sombra_by_sajira-d5ko3xr.png
Png, 103.50 KB, 322×531 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
342-12.02.13-sombra_by_sajira-d5ko3xr.png
>>48705
проблема решена
>> No.48716 Ответ
Файл: sombra1.jpg
Jpg, 48.90 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sombra1.jpg
ну что, новая проблема. программа запускается, работает, но в определенный момент виснет. без ошибок и всякого такого. мне хотелось бы узнать. почему? как удалось выяснить?

если кто захочет по мучаться, то опишу константы. HEIGHT,WIDTH- высота и ширина соответственно, N= колличество ячеек по ширине и высоте, должно быть равно константе в inf, RANDEA- шанс появления еды, RENDMUда-да, знаю что неправильно, исправлять лень,- шанс мутаций. Vtp- схема отображения 0- пищевая, 1- защитная, 2- энергетическая. с остольным разбобраться можно, благо я даже названя нормальные давал а если не удастся то не судьба

extern crate sdl2;
extern crate rand;
//use sdl2::pixels::PixelFormatEnum;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::pixels::Color;
use sdl2::gfx::primitives::DrawRenderer;
use sdl2::render::Canvas;
use sdl2::video::Window;
use std::f64;
//use std::mem;
ну что, новая проблема. программа запускается, работает, но в определенный момент виснет. без ошибок и всякого такого. мне хотелось бы узнать. почему? как удалось выяснить?

если кто захочет по мучаться, то опишу константы. HEIGHT,WIDTH- высота и ширина соответственно, N= колличество ячеек по ширине и высоте, должно быть равно константе в inf, RANDEA- шанс появления еды, RENDMUда-да, знаю что неправильно, исправлять лень,- шанс мутаций. Vtp- схема отображения 0- пищевая, 1- защитная, 2- энергетическая. с остольным разбобраться можно, благо я даже названя нормальные давал а если не удастся то не судьба

extern crate sdl2;
extern crate rand;
//use sdl2::pixels::PixelFormatEnum;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::pixels::Color;
use sdl2::gfx::primitives::DrawRenderer;
use sdl2::render::Canvas;
use sdl2::video::Window;
use std::f64;
//use std::mem;
//use std::ptr;
use rand::{Rng,thread_rng};
use std::time::Duration;
const Vtp:i16 = 2;
static HEIGHT:u32 = 600;
static WIDTH:u32 = 800;
const N:u32 = 40;
const RANDEA:u32 = 1;
pub fn main() {
let context = sdl2::init().unwrap();
let video = context.video().unwrap();
let mut rng = rand::thread_rng();
let window = video.window("rust-sdl2 demo: Video", WIDTH, HEIGHT)
.position_centered()
.opengl()
.build()
.unwrap();
let mut canvas = window.into_canvas().build().unwrap();
let tc = canvas.texture_creator();
let mut tex = tc.createtexturestatic(tc.defaultpixelformat(), 150,
150).unwrap();
canvas.clear();
canvas.setdrawcolor(Color::RGB(255, 210, 0));
let mut a:[[inf::Obj;N as usize];N as usize] =
unsafe{std::mem::uninitialized()};
for i in a.iter_mut(){
for j in i.iter_mut(){
unsafe{::std::ptr::write(j,inf::Obj::newNu())}
}
}
a[10][10]=inf::Obj::newPl(100,0,0);
let mut eventpump = context.eventpump().unwrap();
let mut run = true;
while run {
for event in eventpump.polliter() {
match event {
Event::Quit {..} | Event::KeyDown { keycode:
Some(Keycode::Escape), .. } => {
run = false;
},
_ => {}
}
}
for i in a.iter_mut(){
for j in i.iter_mut(){
if j.otp() == 2 {
*j= j.mkcour();
} else if (j.otp() == 0) &(rng.gen_range(0,100) < RANDEA) {*j =
inf::Obj::newEa();}
}
}
for i in 0..((N) as usize){
for j in 0..((N) as usize){
let a0 = a[i][j].copy();
if (a[i][j].otp() == 2) & (a0.getcour()){a[i][j]= a0.itr(&mut
a,i,j);}
}
}
fild(&canvas,&a);
canvas.present();
// std::thread::sleep(Duration::from_millis(2000));
}
// let mut eventpump = context.eventpump().unwrap();
// 'running: loop {
// for event in eventpump.polliter() {
// match event {
// Event::Quit {..}
// | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
// break 'running
// },
// _ => {}
// }
// }
// }
}
fn fild(canvas:&Canvas,arr:&[[inf::Obj;N as usize];N as usize]){
let r = (if HEIGHT/(2 + 3(N-1)/2) < (((WIDTH as f64)/(((2N+1) as
f64)(( f64::consts::PI/3.0).sin()))) as u32) {HEIGHT/(2+3(N-1)/2)} else
{((WIDTH as f64)/(((2N+1) as f64)(( f64::consts::PI/3.0).sin()))) as u32}) as
i16;
let a =(( f64::consts::PI/3.0).sin() * (r as f64)) as i16;
let mut x;
let mut c;
let mut y = r;
let mut f = true;
for i in (&arr).iter(){
if f {
x=a;
f=false;
} else {
x=2*a;
f=true;
};
for j in i.iter(){
c=j.col(Vtp);
hex(&canvas,x,y,r,Color::RGB(c.0,c.1,c.2));
x+=2*a;
}
y+=(3*r/2);
}
}
fn hex(c:&Canvas,x:i16,y:i16,r:i16,color:Color){
let a =(( f64::consts::PI/3.0).sin() * (r as f64)) as i16;
&c.filled_polygon(&[x,x+a,x+a,x,x-a,x-a],&[y-r,y-r/2,y+r/2,y+r,y+r/2,y-
r/2],color);
}
mod inf {
extern crate rand;
use rand::{Rng,thread_rng};
const N:usize = 40;
const RENDMU:i32 = 0;
pub struct Obj {
course:bool,
cond:i16,
side:i16,
tp:i16,
hp:i16,
def:i16,
off:i16,
liveiter:i16,
livebreed:i16,
liveancestor:i16,
table:Vec< [(i16,i16);4]>
}
impl Obj{
pub fn newPl(hp:i16,lb:i16,la:i16) -> Obj {
Obj
{course:false,cond:0,side:0,tp:2,hp:hp,def:0,off:0,liveiter:0,livebreed:lb,livea
ncestor:la,table:vec![Obj::vecstr()]}
}
pub fn newEa() -> Obj{
Obj
{course:false,cond:0,side:0,tp:1,hp:10,def:0,off:0,liveiter:0,livebreed:0,livean
cestor:0,table:vec![]}
}
pub fn newNu() -> Obj{
Obj
{course:false,cond:0,side:0,tp:0,hp:0,def:0,off:0,liveiter:0,livebreed:0,liveanc
estor:0,table:vec![]}
}
pub fn lock() -> Obj{
Obj
{course:false,cond:0,side:0,tp:3,hp:0,def:0,off:0,liveiter:0,livebreed:0,liveanc
estor:0,table:vec![]}
}
pub fn col(&self,t:i16) -> (u8,u8,u8){
match t {
0 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {((self.off255/2) as u8,0,((2-self.off)255/2) as
u8)} else {(0,0,0)},
1 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {if self.def == 0 {(244,205,138)} else if self.def
== 1 {(114,130,87)} else {(66,13,74)} } else {(0,0,0)},
2 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {((self.hp*255/100) as u8,0,0)} else {(0,0,0)}
_ => (0,0,0),
}
}
fn vecstr() -> [(i16,i16);4] {
[(0,0),(0,0),(1,0),(1,0)]
}
pub fn otp(&self) -> i16{
self.tp
}
fn war(&self,a:&mut Obj) -> bool{
((self.off == 0) & ((a.tp == 0)|(a.tp == 1))) | ((a.tp == 2) &
(self.off > a.def))
}
pub fn mkcour(&self ) -> Obj {
Obj
{course:true,cond:self.cond,side:self.side,tp:2,hp:self.hp,def:self.def,off:self
.off,liveiter:self.liveiter,livebreed:self.livebreed,liveancestor:self.liveances
tor,table:self.table.clone()}
}
pub fn getcour(&self) -> bool {
self.course
}
pub fn itr(&self,a1:&mut [[Obj;N];N],i:usize,j:usize) -> Obj{
println!("{},{} - {} -{}",i,j,self.hp,self.side);
for i0 in self.table.iter(){
print!("({},{}),({},{}),({},{}),({},{})",
i0[0].0,i0[0].1,i0[1].0,i0[1].1,i0[2].0,i0[2].1,i0[3].0,i0[3].1);
}
println!("");
if self.hp > 100{
self.division(a1,i,j)
} else {
let mut lock = Obj::lock();
let a =match (self.side) {
0 => if j+1 < N {&mut a1[i][j+1]} else {&mut lock},
1 => if i%2 == 0 {
if i+1 < N {&mut a1[i+1][j]} else {&mut lock}
}else{
if (i+1 < N) & (j+1 < N) {&mut a1[i+1][j+1]} else
{&mut lock}
},
2 => if i%2 == 0 {
if (i+1 < N) & (j >0) {&mut a1[i+1][j-1]} else {&mut
lock}
} else {
if i+1
},
3 => if j > 0 {&mut a1[i][j-1]} else {&mut lock},
4 => if i%2 == 0 {
if (i > 0) & (j >0) {&mut a1[i-1][j-1]} else {&mut
lock}
} else {
if i > 0 {&mut a1[i-1][j]} else {&mut lock}
},
5 => if i%2 == 0 {
if i > 0 {&mut a1[i-1][j]} else {&mut lock}
} else {
if (i > 0) & (j+1 < N) {&mut a1[i-1][j+1]} else
{&mut lock}
},
_ => &mut lock,
};
let (l,ncond) = self.table[self.cond as usize][a.tp as usize];
let nhp = self.hp - (1 + (self.table.len() as i16)/5) - (if l ==
3 {0} else {1})*(self.def +1)/(if (l==1) |(l==2){2} else {1});
if nhp <= 0{
Obj::newNu()
} else {
match l {
0 => {
if self.war(a){
*a = Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:(nhp + a.hp -
3*self.off),def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()};
Obj::newNu()
} else {
Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:nhp,def:self.def,off:self.off,li
veiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()}
}
},
1 => Obj {course:false,cond:ncond,side:(if self.side ==
5 {0} else {self.side +1}),tp:2,hp:nhp,def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
2 => Obj {course:false,cond:ncond,side:(if self.side ==
0 {5} else {self.side -1}),tp:2,hp:nhp,def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
3 => Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:nhp,def:self.def,off:self.off,li
veiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
_ => Obj::lock(),
}
}
}
}
fn division(&self,a1:&mut [[Obj;N];N],i:usize,j:usize) -> Obj{
let hp = (self.hp -20)/2;
let inc:[(i16,i16);6] = [(i as i16,(j as i16)+1),if i%2 == 0 {((i as
i16)+1,j as i16)} else{((i as i16)+1,(j as i16)+1)},if i%2 == 0 {((i as i16)+1,
(j as i16)-1)} else {((i as i16)+1,j as i16)},(i as i16,(j as i16)-1),if i%2 ==
0 {((i as i16)-1,(j as i16)-1)}else {((i as i16)-1,j as i16)},if i%2 == 0 {((i
as i16)-1,j as i16)} else {((i as i16)-1,(j as i16)+1)}];
let mut i1=self.side as usize;
if ((inc[i1].0 >=0) & (inc[i1].1>=0) & (inc[i1].0 <(N as i16)) &
(inc[i1].1 < (N as i16))){
if (a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0) {
a1[inc[i1].0 as usize][inc[i1].1 as usize] = self.baby((i1
as i16),hp);
}
} else {
while {
if i1 == 0 {i1 = 5} else {i1-=1};
if (inc[i1].0 >=0) & (inc[i1].1>=0) & (inc[i1].0 < N as
i16 ) & (inc[i1].1 < N as i16){
a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0
} else {i1 == (self.side as usize)}
} {}
if((i1==(self.side as usize)) & (inc[i1].0 >=0) & (inc[i1].1>=0)
& (inc[i1].0
if (a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0) {
a1[inc[i1].0 as usize][inc[i1].1 as usize] =
self.baby((i1 as i16),hp);
}
}
}
self.baby((i1 as i16),hp)
}
fn baby (&self,side:i16,nhp:i16) -> Obj{
let mut rng = rand::thread_rng();
if (rng.gen_range(0,100) < RENDMU){
println!("mutation!");
let mut ndef= self.def;
let mut noff= self.off;
let mut ntable = self.table.clone();
if rng.gen() {
if rng.gen() {
ndef = match ndef {
0 => 1,
1 => if rng.gen() {0} else {2},
2 => 1,
_ => 0,
};
} else {
noff = match noff {
0 => 1,
1 => if rng.gen() {0} else {2},
2 => 1,
_ => 0,
};
}
} else {
let i = rng.gen_range(0,self.table.len());
let j = rng.gen_range(0,4);
if rng.gen() {
ntable[i][j] = (rng.gen_range(0,4),ntable[i][j].1);
} else {
let k = ntable[i][j].1;
let nk = rng.gen_range(0,ntable.len()+1);
ntable[i][j] = (ntable[i][j].0,nk as i16);
if nk == ntable.len(){ntable.push(Obj::vecstr());}
let mut f =true;
for i1 in 0..(ntable.len()){
for j1 in 0..4 {
if ((ntable[i1][j1].1 == k) & (i1 != (k as
usize))) {f=false;}
}
}
if f & (k != 0){
for i1 in 0..(ntable.len() -1){
if (i1 >= (k as usize)){
ntable[i1] = ntable[i1+1];}
for j1 in 0..4{
if ntable[i1][j1].1 > k {
ntable[i1][j1] = (ntable[i1]
[j1].0,ntable[i1][j1].1-1);
}
}
}
ntable.pop();
}
}
}
Obj {course:false,cond:0,side:rng.gen_range(0,
6),tp:self.tp,hp:nhp,def:ndef,off:noff,liveiter:0,livebreed:0,liveancestor:self.
liveiter,table:ntable.clone()}
} else {
Obj {course:self.course,cond:self.cond,side:rng.gen_range(0,
6),tp:self.tp,hp:nhp,def:self.def,off:self.off,liveiter:0,livebreed:self.livebre
ed+1,liveancestor:self.liveiter,table:self.table.clone()}
}
}
pub fn copy(&self) ->Obj {
Obj
{course:self.course,cond:self.cond,side:self.side,tp:self.tp,hp:self.hp,def:self
.def,off:self.off,liveiter:self.liveiter,livebreed:self.livebreed,liveancestor:s
elf.liveancestor,table:self.table.clone()}
}
}
}

>>48694
> Форматируй код нормально
> Так ещё хуже, чем скриншотами
братишка, я тебе покушать принес
Сообщение слишком длинное. Полная версия.
>> No.48717 Ответ
>>48716
> братишка, я тебе покушать принес
А, ну ясно. Значит моя помощь не требуется.
>> No.48719 Ответ
Файл: sombra1.png
Png, 3599.93 KB, 1278×1406 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sombra1.png
>>48717
да не, нужна
>> No.48724 Ответ
>> No.48740 Ответ
Файл: _mlp__king_sombra_by_gloriajoy-daim11i.png
Png, 898.20 KB, 1024×882 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
_mlp__king_sombra_by_gloriajoy-daim11i.png
я так и не получил ответ на свой вопрос, но все же задам новый. как с помошью Arc ну или без него передать переменную в поток событие, что-бы значение изменилось в основнм потоке. причем надо сделать 3 потокасобытия в начинающиеся в одном.

кстати, с того момента моя программа получила еще пару багов: иногода она не запускается, а еще изредка вообще из-за нее виснут иксы
>> No.48742 Ответ
Файл: Sombra_mouth_wide_open_S3E2.png
Png, 56.89 KB, 300×169 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Sombra_mouth_wide_open_S3E2.png
>>48740
https://kgv.gitbooks.io/rust_book_ru/content/src/concurrency.html
вроди как тут. надо не просто объявлять а с мьютексом
>> No.48756 Ответ
Файл: talking_captcha.png
Png, 0.97 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: comp-1.gif
Gif, 128.33 KB, 320×240
edit Find source with google Find source with iqdb
comp-1.gif

Упс. Забыл про последнюю часть: https://habr.com/post/354784/


No.43511 Ответ [Открыть тред]
Файл: 599716131.png
Png, 77.78 KB, 317×372 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
599716131.png
Предыдущий тред: >>39226
353 posts are omitted, из них 30 с файлами. Развернуть тред.
>> No.48611 Ответ
>>48609
А тебе обязательно на плюсах это делать? Если нет, то есть Пайтон, он должен подойти лучше и работать методы из написанных профессионалами библиотек будут почти наверняка работать лучше и быстрее, чем самописные. А может тебе вообще только результат нужен? Тогда есть вообще есть вольфрамальфа.
А так, можешь CodeBlocks попробовать, там, на сколько я помню, все должно работать из коробки.
>> No.48614 Ответ
>>48609
Зачем с рутрекера тянешь? Visual Studio Community же! Ну и QtCreator на винде бодро запускается. И CodeBlocks уже посоветовали. А эклипс не мучай, он уже мертв.
>> No.48616 Ответ
>>48611
>>48610
>>48614
Спасибо! Мне больше алгоритмы важны, чем результат, поэтому вольфрам не подходит. Питон не нужен, потому что я иногда делаю не себе, большинство только плюсы умеют читать возле меня.
Нашел кьюти креатор, у них на сайте автоматический онлайн инстоллер есть, качаю. Думаю все заработает теперь.
>> No.48617 Ответ
>>48616
А ты сторонние библиотеки будешь использовать? А то на винде проблематично собирать C/C++ либы (по сравнению с юниксами); помню как мучался со сборкой GSL, в итоге запустилось только половина трактора. Так что возможно лучше взять Питон или там C#, благо он на плюсы сильно похож.
>> No.48618 Ответ
>>48617
Мм, ни разу такого не делал. Погуглил, GSL очень круто выглядит. Может чуть позже заморочусь, на сишарп опыт есть в принципе.
>> No.48619 Ответ
Файл: Безымяывынный.png
Png, 292.25 KB, 2646×1024 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Безымяывынный.png
>>48609
попробуй notepad++(просто блокнот с подсветной(ну на самом деле не просто но не суть)) и mingw или cygwin (наверно лучше cygwin, но у меня и то и то работает (а вообще какая между ними разница кто нить знает ?)). Ну и почитай в интернетике про GCC (про ключи -x -o -I и тд). Студию я и метровой палкой бы не советовал, у меня с ней неприятный личный опыт... удачки
>> No.48620 Ответ
>>48619
> Я скачал эклипс, долго разбирался в нем. Оказалось, что к нему нужен еще отдельно компилятор какой-то мингв или как его суку
Не, Notepad ему не подойдет.
>> No.48670 Ответ
>>48609
Используй GNU Emacs. Это лучший вариант.
>> No.48747 Ответ
Ищу парочку плюсоебов на разные проекты разных размеров и долгосрочности.

Первый: нужно знание реверсинга, алгоритмов шифрования, умение копипастить из декомпилятора иды про в вижал-студию так, чтобы собиралось и даже работало. З/п от 100000 руб в мес в зависимости от навыков. Вакансия резиновая, реверсеров и тех, кто нареверсенное будет воплощать в дллки надо много.

Второй: куте/плюсы/андроид. Да, все три вместе. Да, на плюсах и куте под андроид. Если такие извращенцы есть, то очень нужны еще вчера. Надо разработать прототип одной хреновины, плачу 100-200к в зависимости от всяких разных условий.
>> No.48754 Ответ
Файл: 1474966900_y1.jpg
Jpg, 71.73 KB, 700×528 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1474966900_y1.jpg
>>48747
> Ищу парочку плюсоебов на разные проекты разных размеров и долгосрочности.


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

Предыдущий тред: >>40541
93 posts are omitted, из них 12 с файлами. Развернуть тред.
>> No.48297 Ответ
Файл: zzzzzzzzzzzzzzzzzz.jpg
Jpg, 173.03 KB, 1391×808 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
zzzzzzzzzzzzzzzzzz.jpg
>>46281
Добрый день, доброняшоскриптеры.
надежда на вас.
Подскажите мне, пожалуйста, в чём ошибка моего кода?
песенку не выводит, консолелог вообще не включается чего-то, раньше работал. Я просто программирование забрасывал на год, сейчас типо вернулся.
Всё скопировал по книге, а эффекта нет.
Пол-вечера сижу гадаю, в чём дело.
Надежда на вас.
там внизу в отладчике он мне какую-то странную ошибку выдаёт мол я пропустил скобку после какой-то группы.
Я проверил - все скобки на месте.
Или я туплю дико?
Заранее благодарю за ответ.
>> No.48298 Ответ
>>48297
console.log(count + " " word + "of beer on the wall");
Тут похоже плюс нужно добавить, перед словом word
>> No.48299 Ответ
>>48298
Спс, сча попробую.
>> No.48424 Ответ
>>48277
Самое простое решение - расширение для хрома или лисы, чем ты там пользуешься. Но готовся к пердолингу, ибо вк постоянно допиливают и парсер постоянно будет отваливаться.
Если же делать по уму, то использовать андроид-эмулятор и писать бота, используя официальный сдк - тогда инфа будет в наиболее удобном виде, и никаких отвалов.
>> No.48531 Ответ
Файл: photo_2018-02-12_02-09-54.jpg
Jpg, 28.55 KB, 640×640 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
photo_2018-02-12_02-09-54.jpg
Стал путаться в закладках браузера и прочих заметках, поэтому в качестве записной книжки с тегами запилил себе канал в телеграмме, куда начал скидывать все ссылки с кратким описанием и тегами, ну и прочий полезный контент. Основная тематика react, angular 2, typescript. Не реклама, подписчиков там почти нет, никакой раскрутки не хочу, просто вдруг кому пригодится.
@node_modules
>> No.48553 Ответ
Файл: java.png
Png, 19.94 KB, 240×240 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
java.png
Ламерский вопрос: яваскрипт это уже прораммирование или ещё вёрстка?
>> No.48554 Ответ
>>48553
Вы шо же не слыхали? Уже и CSS нынче туринг комплит. Да.
>> No.48725 Ответ
>>48553
Почти программирование (если ты завяз в паршивом веб-деве, где роль js исключительно в том, чтобы добавить динамики в статичный интерфейс) и наверное да (если ты завяз в бэкэнде (node.js) или ссаненьком WebGL).

ЗЫ.: не путай JavaScript и Java. Очень разные вещи с похожим синтаксисом.
>> No.48749 Ответ
Файл: 123.jpg
Jpg, 44.37 KB, 1391×820
edit Find source with google Find source with iqdb
123.jpg
Файл: sdfdf.jpg
Jpg, 153.57 KB, 1030×790
edit Find source with google Find source with iqdb
sdfdf.jpg

Добрый день.
Подскажите, где косяк?
Чот ничего на странице не выходит, а должно, пока пробую по книге хоть.
И да, подскажите хороший разметчик помимо нотепад ++.
Вообще, такое ощущение, будто сам браузер код не видит, хотя всё верно.
Мб косяк в нотепад ++?
>> No.48750 Ответ
>>48749
Всё, сам косяк нашёл, пробел между знаком равенства поставил.


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

Здесь будет ветка обсуждения .net и C#.
И сразу вопрос: какой встроенный класс в C# реализует массив с обращением по индексу за О(1), в котором при этом можно было бы добовлять в конец элементы(аналог vector из С++), и какой соответственно реализует связный список с вставкой элемента в середину и начало и удалением элемента за О(1)(аналог list в С++).
460 posts are omitted, из них 69 с файлами. Развернуть тред.
>> No.48511 Ответ
Файл: Screenshot_2.png
Png, 42.58 KB, 1131×534 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot_2.png
Помогите новичку в работе с файлами.
Мне нужно внутри цикла каждый раз перезаписывать файл в изолированном хранилище (для временного хранения).

Обнаружил, что мне нужно каждый раз по новой открывать IsolatedStorageFileStream, чтобы перезаписать файл, иначе при повторной записи ловлю исключение о том, что не имею права на запись.

Мне кажется, что лучше держать IsolatedStorageFileStream открытым в течение всего цикла, но возможно ли так сделать (и стоит ли)?
>> No.48512 Ответ
>>48511
Так это ж глобальная переменная. Думаю, что не стоит. Кеш файловой системы поможет.
>> No.48513 Ответ
>>48512
> Кеш файловой системы
А что для этого используется? System.Runtime.Caching?
>> No.48514 Ответ
>>48513
ЛОЛШТО.
Кеш — часть операцiонной системы.
>> No.48516 Ответ
>>48514
Ок, разберусь.
Спасибо.
>> No.48581 Ответ
Как в Asp.Net MVC добавить генерацию ID в HTML?
Например, у меня в базе данных есть книги с ID, мне бы хотелось, чтобы при генерации HTML у div'а, который служит для представления информации о книге, в id было что-то типа "Book"+ID, где это ID берется из БД.
Например:
<div id="Book1"></div>
<div id="Book2"></div>
...
<div id="Book999"></div>
>> No.48598 Ответ
Файл: 1471815666195025723.jpg
Jpg, 47.98 KB, 517×517 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1471815666195025723.jpg
>> No.48745 Ответ
Файл: 785px-Inheritance.svg.png
Png, 10.33 KB, 785×487 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
785px-Inheritance.svg.png
Имеется абстрактный класс и 4 производных от него.
Всё вместе представляет собой 60 строчек кода.
По-моему, вся эта кучка классов удобнее для восприятия в виде одного файла.
Стоит ли выносить каждый производный класс в отдельный файл?
Даже не представляю, как гуглить подобные стандарты.
>> No.48746 Ответ
>>48745
Стоит.
Классы имеют привычку разрастаться.
>> No.48748 Ответ
>>48746
Спасибо.
Учту.


No.48658 Ответ [Открыть тред]
Файл: 1389194-will-program-for-food.jpg
Jpg, 131.32 KB, 660×440 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1389194-will-program-for-food.jpg
Привет, /s/.
Думаю, много кто знаком с подобной ситуацией.

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

И тут самое интересное. Начал искать вакансии для junior .net разработчика, а их нет (в выбранном городе).

Быть может, можно как-то иначе найти вакансию джуниора?
Думаю, по рассылать резюме на вакансии для мидлов (с пояснением, что я тяну только на джуна, но стремлюсь за пол года - год дорасти до мидла), но не спугну ли я навсегда часть работодателей?
>> No.48661 Ответ
>>48658
Попробуй в твиттере, телеграмме и фейсбуке поискать. Часть вакансий публикуется в локальных тусовочках.
>> No.48665 Ответ
>>48661
Однако. Хлопотный вариант.
Подожду какое-то время, да попробую. Спасибо.
>> No.48666 Ответ
>>48665
Из тусовок могу посоветовать в твиттере канал backendsecret.
>> No.48677 Ответ
>>48666
Не нашел подходящих вакансий, но спасибо, что поделился.
>> No.48678 Ответ
>>48677
Ты из этого канала можешь людей всяких зафоловить, иногда они репостят вакансии. Фронтендер Козуля регулярно какие-то репостит.
>> No.48701 Ответ
Файл: 1523677383213.jpg
Jpg, 615.76 KB, 850×477 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1523677383213.jpg
>>48658
> Пытался пилить небольшой проект на коленке (не потянул конкуренцию), затем начал как следует изучать стек технологий
Разве не в обратном порядке надо делать?
>> No.48704 Ответ
Файл: 1334515748_231.png
Png, 726.73 KB, 787×522 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1334515748_231.png
>>48701
«Мы все учимся созидая» ©
>> No.48743 Ответ
>>48701
По моему, это немного спорный вопрос.
После корявой практики (при поддержке гугла) теория заходит существенно лучше.
Хоть и, понятно, что практика будет корявой.

В идеале, оно должно как-то хитро переплетаться для достижения максимальной эффективности изучения.


No.46029 Ответ [Открыть тред]
Файл: pylogo0.png
Png, 126.61 KB, 800×642 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
pylogo0.png
Предыдущий >>37139 ушёл в бамплимит.

Краткая справка для новичков:
Официальный сайт: http://python.org/
Документация по стандартной библиотеке и разнообразные Tips & Tricks: http://docs.python.org/
неСвежая тема для священной войны, или руководство по выбору между версиями: http://wiki.python.org/moin/Python2orPython3
Ссылка для вопящих про дикие тормоза: http://speed.pypy.org/
Python для микроконтроллеров http://micropython.org или http://www.github.com/micropython
279 posts are omitted, из них 45 с файлами. Развернуть тред.
>> No.48707 Ответ
>>48647
Нету такого. И не будет. Потому, что это невозможно.

В МИТ просто заменили один курс (в котором использовалась схема и SICP в качестве учебника) на совсем другой (в котором используется пайтон). А какие-то идиоты сделали из этого вывод, что теперь "SICP переписали под пайтон" и распространяют в инете этот дурацкий слух.

Это не так: схема по-прежнему божественна, пайтон по-прежнему говно, и никому, кто прочитал SICP, никогда даже в голову не придёт такая чушь, как "переписать SICP под пайтон".
>> No.48708 Ответ
>>48707
И что это за новый курс с Пайтоном? Где обмазаться?
>> No.48712 Ответ
>>48708
> И что это за новый курс с Пайтоном?
6.0001 Introduction to Computer Science Programming in Python
> Где обмазаться?
В MIT.
>> No.48715 Ответ
>>48707
Вот тут, кстати, разъяснение:
https://habrahabr.ru/post/282986/

Коротко говоря, в 80-х, когда создавался курс на основе Scheme и писался SICP, нужны были грамотные специалисты, способные строить с нуля сложные абстракции. Сейчас это не актуально, сейчас нужны хорошо обученные макаки, способные быстро наговнякать софт из кучки готовых библиотек. Отсюда и смена курса.
>> No.48718 Ответ
Файл: noob.jpg
Jpg, 30.50 KB, 373×234 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
noob.jpg
Первый опыт в питоне:
https://pastebin.com/ZK4TAkXp
Покритикуй, что-ли, анон.
>> No.48720 Ответ
>>48718
не все условия учтены в init() для корректной логики
>> No.48723 Ответ
Можно ли в питоне поменять кусок файла не переписывая его полностью.
>> No.48726 Ответ
>> No.48728 Ответ
>>48718
переосмыслил и переписал:
https://pastebin.com/FSPq3GLh
>> No.48738 Ответ
Файл: 14440559092710.jpg
Jpg, 62.80 KB, 640×632 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14440559092710.jpg
>>48728
мнение другого вкатывальщика без какого-либо реального опыта. скажу о твоем коде то же, что сказали в первый раз о моем
1) Весь код - одно большое нарушение PEP8. Есть строки больше 80 символов, пустых строк между определениями функций 1, а не 2. Может ещё че есть, это просто в глаза бросилось.
2) цитата того анона, что обосрал мой первый код"декомпозировать, разделить обязанности, предусмотреть варианты возможных изменений в текущем коде и инкапсулировать их, предусмотреть возможные варианты развития и не усложнять их." Более подробно я описать эту проблему не особо могу. У тебя и логика игры (таблица чисел с пустым местом), и само графическое выведение, и перестановка этих чисел - все в одном месте. Это плохо. Вот что бы мне пришлось делать, если бы я хотел вывести твои пятнашки в консоль, а не в gui? Пришлось бы вообще все переделывать. Нихуя не maintaiability код.

Это общие замечания были. Теперь о самом коде.

3)Не знаю как другие программисты, но я не люблю, когда функции изменяют переменные за пределами своего скоупа. Считать какую-то глобальную для всей программы переменную - ок, изменить - хуйня. Так что global стэйтмэнты я не люблю. Опять же, импортирую твой код для использования в своей графической программке например, а у меня original_seq и другие отвечают за мои собственные последовательности, с которыми я работают ну например у меня вычисляется 100000000 член последовательности фиббоначи через рекурсивные вызовы, я решил в это время пятнашки сложить. И че произойдет? Все обвалиться нахуй из-за global.
>>48728
мнение другого вкатывальщика без какого-либо реального опыта. скажу о твоем коде то же, что сказали в первый раз о моем
1) Весь код - одно большое нарушение PEP8. Есть строки больше 80 символов, пустых строк между определениями функций 1, а не 2. Может ещё че есть, это просто в глаза бросилось.
2) цитата того анона, что обосрал мой первый код"декомпозировать, разделить обязанности, предусмотреть варианты возможных изменений в текущем коде и инкапсулировать их, предусмотреть возможные варианты развития и не усложнять их." Более подробно я описать эту проблему не особо могу. У тебя и логика игры (таблица чисел с пустым местом), и само графическое выведение, и перестановка этих чисел - все в одном месте. Это плохо. Вот что бы мне пришлось делать, если бы я хотел вывести твои пятнашки в консоль, а не в gui? Пришлось бы вообще все переделывать. Нихуя не maintaiability код.

Это общие замечания были. Теперь о самом коде.

3)Не знаю как другие программисты, но я не люблю, когда функции изменяют переменные за пределами своего скоупа. Считать какую-то глобальную для всей программы переменную - ок, изменить - хуйня. Так что global стэйтмэнты я не люблю. Опять же, импортирую твой код для использования в своей графической программке например, а у меня original_seq и другие отвечают за мои собственные последовательности, с которыми я работают ну например у меня вычисляется 100000000 член последовательности фиббоначи через рекурсивные вызовы, я решил в это время пятнашки сложить. И че произойдет? Все обвалиться нахуй из-за global.
4)Че ты бля делаешь в bones_shufle? Меняешь по две косточки 100 раз? Это можно сделать намного проще, подумай как. Да и сам while со счетчиком прекрасно заменяется на for i in range(100), если тебе он очень нужен.
4.5) Так же я не нашел проверки на то, что составленная тобой игра вообще решаема. Хотя может если ты меняешь по 2 косточки, то всегда получишь решаемую таблицу. Но мой вариант реализации все равно кажется мне проще.возможно это не так
5) 52 и 53 строки можно заменить одной с помощью divmod().
6) В каждый момент времени из всех кнопок нажатие как минимум 75% ни приведет ни к чему. Это не очень.

В общем все надо нахуй выкидывать и переделыватьили нет, опять же, я сам только вкатываюсь. Если решишь прислушаться к моему мнению, то после того как все переделаешь можешь посмотреть мою реализациюможешь и до, но я настоятельно советую после, у меня вышло в 190 строк.
Сообщение слишком длинное. Полная версия.


No.31137 Ответ [Открыть тред]
Файл: 07_009.jpg
Jpg, 62.06 KB, 1024×573 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
07_009.jpg
В рамках треда предлагаю обсуждать веб как он есть, задавать ответы по темам верстки и серверново программирования, да и просто обсуждать всякие рющечки веба и пить чаек с печеньками.

>>u/62144 Собсно кафедра в университете. Полезные ссылочки >>u/91168 >>u/91394

Алсо PHP-тред >>23225 SQL-тред >>29820 Python-тред >>28158

Тред создан во имя поисковой оптимизации.
279 posts are omitted, из них 48 с файлами. Развернуть тред.
>> No.48504 Ответ
>>48502
Для начинающих я английский и так знаю, но для нормального восприятия сколько-нибудь специализированной литературы этого недостаточно.
>> No.48505 Ответ
>>48504
Это техническая литература, а не художественная, она намного проще.
>> No.48506 Ответ
Файл: 1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
Jpg, 161.77 KB, 850×637 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
>>48505
Я, конечно, попробую, но реквест русскоязычных источников оставлю в силе.
>> No.48526 Ответ
>>48501
А насколько он вообще нужен и распространён?
>> No.48527 Ответ
>>48526
Весьма удобен, когда надо накидать аккуратную вебморду, а ты не понимаешь в этих всех цссах и верстках.
>> No.48528 Ответ
>>48527
А как мне самому прикинуть уровень своих знаний и умений? И заодно узнать как выглядит вёрстка со стороны разработчика.
>> No.48560 Ответ
Насколько я понял, есть два пути: путь ложной простотыphp+sql и путь явной сложностиhtml+css+javascript +php+sql || +python+sql. Ох уж эта веб-разработка, я-то думал, что за год на базовом уровне всё освою.
>> No.48564 Ответ
>>48560
Всегда начинали изучение с простого. Возьми книгу «JavaScript for Kids», потом «Understanding ECMAScript 6» и с них начинай.
>> No.48568 Ответ
>>48564
> «JavaScript for Kids»
Слишком сложно, пробую пока http://jsforcats.com/
>> No.48682 Ответ
Анон, выручай.
Сбацал, значится, на коленке сайт, чтобы текст выводить, поднял на Апаче, да столкнулся с проблемой - жабаскрипт не работает!
Конкретно: через PHP реализована "сборка" веб-страницы (из шаблонов, плюс параметры), с помощью которой я добавил тэг <script> и вызвал функцию из файла. Сам файл лежит в папке scripts, которая в корне.
В консоль выводит следующее:
`Uncaught SyntaxError: Unexpected token <`
Причём эта ошибка перенаправляет почему-то на вообще левый файл.
А вот это:
`Uncaught ReferenceError: getWork is not defined`
говорит о том, что функцию оно почему-то вообще не воспринимает как уже объявленную.
ЧЯДНТ? И как вообще правильно встраивать через пыху жабаскрипт?


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

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