@proelixir

Страница 551 из 1045
Knock
27.04.2017
11:52:31
Ну не знаю. Мне лично удобно нажимать tab и получать готовый форич цикл, например. Это реально ускоряет разработку.

Dmitry
27.04.2017
11:54:00
Во первых Форич есть не во всех языках, а во вторых сниппеты не имеют отношения к иде, они даже в блокноте есть. Запускать жвм на гиг оперативы ради этого - не супер удобно

Knock
27.04.2017
11:56:16
Ну и дебаггер конено же. Удобно не принтами все закидывать, а все-таки наблюдать это глазами в удобном виде.

Dmitry
27.04.2017
11:58:02
Дебаг уже обсуждали. Некоторые считают его использование антипаттерном. Я лично - просто бессмысленной штукой которой никогда не пользуюсь

Google
Alexey
27.04.2017
11:58:21
Я, вот, пользуюсь айфоном, вимом и катаюсь на сноуборде. Андроид, емакс и лыжи — говно.

Dmitry
27.04.2017
11:59:01
Как вообще дебажить в функциональных языках? У меня ни одной переменной нету в коде

Artem
27.04.2017
11:59:20
а обсервер же можно считать дебагером, не? )

Maxim
27.04.2017
11:59:51
подстановка - это не то, для чего нужен ide

Dmitry
27.04.2017
12:00:02
Обсервером нельзя брейкнуть

Maxim
27.04.2017
12:00:03
мне удобно пользоваться дебаггером внутри, например

Dmitry
27.04.2017
12:00:09
Поэтому он не дебаггер

Knock
27.04.2017
12:00:10
Дебаг уже обсуждали. Некоторые считают его использование антипаттерном. Я лично - просто бессмысленной штукой которой никогда не пользуюсь
а вот для меня использование кучи принтов -- антипаттерн, хотя некоторые способны без дебаггеры обойтись, согласен

Maxim
27.04.2017
12:00:23
к тому же можно почти все из нее запускать

Dmitry
27.04.2017
12:00:45
Дебаггер останавливает исполнение одного из потоков

А принт - нет

В конкурентной среде дебаггер превращает своё использование в веселье

Artem
27.04.2017
12:01:23
я думаю на этапе обучения это полезно, понять что рантайм это тебе не то что ты пишешь в редакторе

Google
Alexey
27.04.2017
12:01:34
Хоспади, как ни зайдешь в какой-нибудь профильный чат, везде одно и то же.

Андрей
27.04.2017
12:04:11
Хоспади, как ни зайдешь в какой-нибудь профильный чат, везде одно и то же.
+1 У меня открыты хаскель/кложа/эликсир/еще много чего - и везде про вим вс емакс и иде ?

Alexey
27.04.2017
12:05:03
а есть отдельный чат, о вимах и емаксах?

Dmitry
27.04.2017
12:05:11
Мы обсуждаем дебаг. Мне кажется вы какие то другие сообщения читаете

Knock
27.04.2017
12:05:34
Хоспади, как ни зайдешь в какой-нибудь профильный чат, везде одно и то же.
кстати да, только недавно в чате перлистов насчет этого срались

Marat
27.04.2017
12:06:31
мы тоже в чате перлистов)
А что еще в перле обсуждать?

Max
27.04.2017
13:29:33
чорт, страдал недавно, что сервер начинает коннекты рвать, а там в ranch по умолчанию стоит max_connections=1024

Knock
27.04.2017
13:29:46
это одновременных?

Max
27.04.2017
13:29:50
ну да

Knock
27.04.2017
13:29:57
нифига себе у вас популярный сайт

Max
27.04.2017
13:29:59
даже подумать не мог, что такое бывает

у нас не сайт

при чём тут сайт?

Knock
27.04.2017
13:30:19
Сорян, немного попутал :)

Свое на уме.

В веб-девелопменте слишком много времени провел, да и сейчас недавно речь опять про сайт шла :)

Max
27.04.2017
13:30:54
поправил, буду смотреть

aerospike кто-нибудь использовал?

Google
anton
27.04.2017
16:07:59
aerospike не тыкал никто?

@troyanov совсем немного в докере через голанг

спрашивай @zeroweb - он тогда был единственный кто откликнулся ;)

Константин
27.04.2017
16:18:11
Обсервером нельзя брейкнуть
брэйкпоинт воткнуть или убить процесс?

извини, что так поздно

Dmitry
27.04.2017
16:25:40
дада, брейкпоинт воткнуть

Константин
27.04.2017
16:26:33
я не представляю себе работу без дебага. Как бы не выручало тестирование - быстрее всего у меня получается внедриться в новый проект или вспомнить работу кода - это через дебаг. Любая задача решается куда быстрее. На руби я прям разрабатывал дебагером))) Знаний языка было мало, я просто запустил дебаг и выполнял в консоли 1-2 команды, если все норм - вставлял их в код программы и запускал дебаг заново и так постепенно писал, при этом сразу видел как меняются данные, какого они были типа и т.д. Потом покрыд тестами и красота

брейкпоинт втыкается через :debugger.start()

http://blog.plataformatec.com.br/2016/04/debugging-techniques-in-elixir-lang/ Вот мануал

Can
27.04.2017
16:27:28
Iex pry тема

Константин
27.04.2017
16:27:48
pry не сможет пройти построчно

придется весь код функции руками вызывать

Dmitry
27.04.2017
16:29:48
Я дебаг делал только в c# и перестал делать после того как он ужасно показал себя в конкуретной среде

Константин
27.04.2017
16:30:20
в этом плане да, но в php прям милое дело))

даже стало интересно дебагером по flow пройтись!

Dmitry
27.04.2017
16:31:05
Не знаю как там в каком языке но вот ни разу не захотелось дебажить

Я думаю сейчас и в шарпе если вернусь буду дебаггером не пользоваться

Хотя вероятнее всего писать буду на f# уже)

Константин
27.04.2017
16:32:03
а как тогда внедряешься в новый проект, если там нет тестов?

я не стебаю, мне действительно интересно как люди разрабатывают. Я вон тесты писал только на рубях и эликсире)) php говнокодер я, в общем))

Google
Dmitry
27.04.2017
16:34:16
Не доводилось в таких работать. Вернее было несколько возможностей - либо я пишу новый код в старом проекте и мне в общем то насрать на то что там сделано, либо я пишу тесты сам и это моя работа, либо я рефакторинг неограниченно.

Если не понимаешь что делает функция - значит нужен рефакторинг

Помню когда только начинал в шарпе, то что на меня оказало значительнейший влияние - цикл лекций по рефакторинг какого то мужика

Из запоминающегося: Если у вас if else есть скобки - код плохой. Если функция не влазит на экран - код плохой. Если есть комментарии - код плохой. Если есть в коде есть цифры или строки не в присваивании - код плохой. Если двойной или более нестинг - код плохой. Ну и конечно тесты

Max
27.04.2017
16:38:26
если есть код — код плохой

у меня так

нет кода — хорошо

Dmitry
27.04.2017
16:39:32
А теперь возьмём гипотетический код с функциями по 3-5 строчек, с максимум одинарной вложенностью и двумя переменными, и попробуем понять ЧТО там можно дебажить. Ответ: ничего

Max
27.04.2017
16:40:39
если отладочной печатью нельзя дебажить — код плохой

Admin
ERROR: S client not available

Dmitry
27.04.2017
16:40:50
А на эликсире к меня в 85% функций вообще нету переменных, а в остальных 15 - я плохо написал

Max
27.04.2017
16:41:05
в ерланге можно трейсинг вместо отладочной печати

то же самое считай

а останавливать работу и смотреть переменные-регистры — такое только в каком-нибудь ядре линуксовом уместно

Alexey
27.04.2017
16:42:41
> Если есть комментарии - код плохой. очень плохое правило)

Dmitry
27.04.2017
16:43:04
Это не правило, это индикатор

Alexey
27.04.2017
16:43:14
тут просто есть момент

Max
27.04.2017
16:43:28
Alexey
27.04.2017
16:43:32
"хорошему коду комментарии не нужны", но кто сказал, что твой код хороший?)

после того как рельсы набрали популярность, это правило стало вездесуще

Google
Alexey
27.04.2017
16:44:18
и его использует каждый, часто думая что его код понятен и хорош

если ты работаешь с огромных проектом, то хотябы комментарии к модулям/классам нужны

иначе ты замучаешься

Dmitry
27.04.2017
16:45:10
Комментарии и доки - разные вещи

Но в принципе если код хорошо факторен - тебе должно быть почти насрать на то ЧТО именно там внутри функций

Alexey
27.04.2017
16:46:38
это в маленьком проекте

Dmitry
27.04.2017
16:46:39
В модели сложно намудрить

Остаётся контроллер

Вот там больше всего шила

Но к счастью у него есть спека в виде шаблона

И его легче с нуля перепилить на самом то деле

Sergey
27.04.2017
16:54:54
кто там искал работу джуниором? https://twitter.com/miketansky/status/857574505648185345

Dmitry
27.04.2017
16:56:12
А при чем тут питон?)

Sergey
27.04.2017
16:56:59
он искал js/php/python

Alexander
27.04.2017
16:57:30
ааа, а чего в контроллере можно намудрить? там в лучшем случае одна строка с вызовом сервиса ну и валидация парамсов, например:)

Dmitry
27.04.2017
16:58:16
Если сделать тонкую модель и шаблон - очень хорошо можно в контроллере накрутить

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

И это я описал только тот вариант, в котором все сработало

Alexey
27.04.2017
17:00:43
это ни в модели, ни в контроллере не должно быть

Dmitry
27.04.2017
17:01:55
И где это должно быть тогда?

Alexey
27.04.2017
17:02:38
сервисы/команды/декораторы/таски/etc

это все слишком несвязанные вещи, чтоб их в модель класть

Страница 551 из 1045