@CSharpChatЭта группа больше не существует

Страница 568 из 1888
Gid
16.03.2017
08:14:19
ну короче щас изкоробки в хроме

Arseniy
16.03.2017
08:14:26
кстате

Сергей
16.03.2017
08:14:44
Ясно, интреесно как это все работает с бабелами сормапами и тд

Nikolay
16.03.2017
08:14:47
http://stackoverflow.com/a/38198062
Для хрома знаю, но я в мозиле сижу)

Google
Arseniy
16.03.2017
08:14:55
насколько нормально рисовать джунам болванки их задач?

Nikolay
16.03.2017
08:15:06
Мне в ней девелоперские тулзы нравятся

Arseniy
16.03.2017
08:15:29
или надо им все же вот прям разжевывать, чтобы они сами такие хуйни могли делать?

Сергей
16.03.2017
08:16:09
Мне в ней девелоперские тулзы нравятся
В мозиле? Всегда думал хром далеко впереди планеты всей в смысле девтулзов

Friedrich
16.03.2017
08:16:56
или надо им все же вот прям разжевывать, чтобы они сами такие хуйни могли делать?
Я считаю, что лучше разжевать, если есть возможность. Ну а если там что-то нетривиальное, что проще один раз написать — ничего плохого, если напишешь. Но чтоб в следующий раз джун сам такое же мог сделать.

Arseniy
16.03.2017
08:21:11
Я считаю, что лучше разжевать, если есть возможность. Ну а если там что-то нетривиальное, что проще один раз написать — ничего плохого, если напишешь. Но чтоб в следующий раз джун сам такое же мог сделать.
ну тут стандарная проблема. 1. сроки и всё такое 2. инфраструктура реально сложная (тк путем костылей и рефакторингов допиливалась до универсальности)

Friedrich
16.03.2017
08:21:41
Ох, ну, у меня ни разу не получалось совместить джунов и сроки :)

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

Arseniy
16.03.2017
08:24:14
ну не, я щитаю, что месяц более чем ок. первому джуну хватило абстрактного описания процесса, потом он чет спрашивал и через 2 недели норм делал

второй, спрашивал дофига, чет полезное (у него был вырожденный самый простой случай) начал делать через полтора месяца

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

Google
Arseniy
16.03.2017
08:29:41
мне тут дохуя интересно про все эти код ревью и прочие парные программирования

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

и когда я вижу PR, у меня просто глаза вытекают

Oleg
16.03.2017
08:40:47
от чего вытекают?

Arseniy
16.03.2017
08:41:44
от кода, конечно

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

может она не очень нравится людям или там руководству

Sergey
16.03.2017
08:44:11
А у нас джунов нет ☹

Arseniy
16.03.2017
08:44:14
но человек должен найти баланс между задаванием вопросов и саморазвитием

Sergey
16.03.2017
08:44:31
Нам не смешно

Arseniy
16.03.2017
08:44:45
это единственная задача, как мне представляется

Sergey
16.03.2017
08:46:03
Саморазвитию они должны были учиться в универе

Arseniy
16.03.2017
08:46:33
100500 вопросов - плохо, сидеть и разбираться 2 дня - плохо. ребятам надо понимать, что либо они зашли в тупик, либо пришло время просить помощь

anton
16.03.2017
08:48:17


Arseniy
16.03.2017
08:48:18
Саморазвитию они должны были учиться в универе
ну другие всё же условия. в универе тебе в 99% случаев ответят на твой вопрос. а я не люблю отвечать, если считаю, что человек даже не пытался въехать в проблему

anton
16.03.2017
08:48:37
они там вообще кажется обленились. даже доку впадлу обновлять

а.. это не в доке проблема :) это правда так пакет называется

Arseniy
16.03.2017
08:49:39
отвечать таки приходится, но общее мнение о человеке катится вниз

Google
anton
16.03.2017
08:51:15
sudo apt-get install dotnet-dev-1.0.1 тянет за собой 342 мб мне кажется под виндой они сделали bash on windows а под линуксом они сделали windows in bash

кажется что за потраченное время, я бы уже давно переписал этот написанный код на что-то другое :)

Sergey
16.03.2017
08:52:56
Это же борьба с последствиями

anton
16.03.2017
08:52:58
200 строчек кода, по сути оболочка в виде хттп апи над тср клиентом к одной софтинке.. сначала все конвертил под неткор теперь вот пытаюсь завести на 16.04 убунте

Sergey
16.03.2017
08:53:17
Или ты про что счас?

anton
16.03.2017
08:53:28
Или ты про что счас?
про сейчас.. про свой кейс

Sergey
16.03.2017
08:53:56
А, я еще туплю и не проснулся

anton
16.03.2017
08:54:03
да это я сумбурно накатал всё.. только проснулся просто :)

1. есть софтинка, которая живет под никсами. 2. есть несколько серверов с этой софтинкой (геоданные там). вручную партиционировали по регионам 3. написали партиционера/балансировщика, который наружу висит как http rest api, а с другой стороны по tcp общается с софтинкой на N серверах

так вот (3) когда-то"умные" люди написали на .net и приходилось держать windows тачку, где это запускалось ;) ну как бы ну и ладно, могла бы быть linux тачка - всеравно для системы из N серверов нужен балансировщик

Arseniy
16.03.2017
08:57:26
Если не пытаются - плохо
это тожа очень субъктивно. как понять пытается или нет? я первый раз сталкиваюсь с такой проблемой. и я много раз повторил манагераам, что типо не я нанимал человека, не мне его и увольнять. а от меня всё чего-то хотят. при том что с человеком у меня работа идет в штатном режиме

anton
16.03.2017
08:59:03
а тут парни развернули деплой - там у клиента кейс - только Урюпинск. ему другие геоданные не нужны, соответственно партиционирование не нужно (все умещается на 1 тачку) и прокси эта для балансировки тоже не нужна но http api блин нужно.. парни делают 2 тачки (одна никсы, другая винда) меня это задевает и я решил всё упихать на 1 тачку.. делов то: нужно всего лишь .net 4 проект под кору снести.

стоит ли мне упоминать что не все так гладко прошло? :) реально быстрее было бы на голанге это всё возвести. 200 строк переписалось бы быстрее, чем через Урюпинский интернет 350мб скачается

Arseniy
16.03.2017
09:01:34
ай

в прошлый раз через эликсир лучше вышло

теперь вот всё было бы, но вот гошеньку не завезли

@troyanov чо как, дальше чего хватимся? эльма или пурскрипта?

anton
16.03.2017
09:04:30
@troyanov чо как, дальше чего хватимся? эльма или пурскрипта?
elm мне понравился, но кажется обречен и особо не полетит :( я стараюсь подальше от веба держаться ;)

в прошлый раз через эликсир лучше вышло
ну я не стал тут людей эликсиром пугать ;) а то потом что-нибудь типа Никиты скажет: "а, еще один очередной язык.."

Google
Женя
16.03.2017
09:05:32
А если я объявляю статическую переменную класса, для не статического класса, класс у меня будет static?

Arseniy
16.03.2017
09:06:02
класс не будет, поле - да

Женя
16.03.2017
09:06:33
но поле же это и есть экземпляр этого класса

Arseniy
16.03.2017
09:06:59
не, статические поля - это особый случай

Женя
16.03.2017
09:07:31
вот класс public class AppConfig { public AppConfig() { this.LogWrite = true; this.LogFilePath = ""; this.SoundFilePath = ""; } public bool LogWrite; // писать лог-файлы или нет public string LogFilePath; // путь к папке с логами public string SoundFilePath; // путь к папке со звуком }

а вот объявляе его в другом классе: public class Start { // переменная где хранятся настройки приложения public static AppConfig appConfig;

appConfig получается статическим классом?

Arseniy
16.03.2017
09:08:31
нет конечно

Admin
ERROR: S client not available

anton
16.03.2017
09:08:53
Artem
16.03.2017
09:08:56
appConfig получается статическим классом?
у тебя в таком случае статическое поле типа AppConfig

Arseniy
16.03.2017
09:09:04
в классе старт есть статическая переменная АррКонфиг

Nicholas
16.03.2017
09:09:10
appConfig получается статическим классом?
он будет в единственном экземпляре для всех Start

Женя
16.03.2017
09:10:44
у тебя в таком случае статическое поле типа AppConfig
а оно просто доступно без создания экземпляра Start?

Arseniy
16.03.2017
09:11:11
да

Женя
16.03.2017
09:11:43
теперь ясно... какое оно трудное это ООП

Artem
16.03.2017
09:12:15
а оно просто доступно без создания экземпляра Start?
если простым языком - да. Хотя на самом деле будет вызван статический конструктор класса Start

Arseniy
16.03.2017
09:12:49
@tg_girl а тебе правда нужна своя система конфигурации?

Gid
16.03.2017
09:13:10
Google
Gid
16.03.2017
09:13:24
Вот видеоответ

Женя
16.03.2017
09:14:05
@tg_girl а тебе правда нужна своя система конфигурации?
мне надо настройки сохранять удобным способом, в интернетах рекомендуют сделать класс, в котором будут хранится настройки и его сериализовывать

Arseniy
16.03.2017
09:14:26
ну ок

тогда я максимум не рекомендую делать это через статические поля

ты ж не выживешь, если у тебя попрут всякие обжетинициализерэксапшоны

Arseniy
16.03.2017
09:16:45
ну в твоем случае надо завести Lazy переменную

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

Nicholas
16.03.2017
09:19:04
В консольных утилитах такой велосипед юзаю public class SettingsManager<T> { private readonly string _path; public SettingsManager(string path) { _path = path; } public T LoadSettings() { var settingsFileContent = "{}"; if (File.Exists(_path)) { settingsFileContent = File.ReadAllText(_path); } return (JsonConvert.DeserializeObject<T>(settingsFileContent)); } public void SaveSettings(T settings) { var settingsFileContent = JsonConvert.SerializeObject(settings); File.WriteAllText(_path, settingsFileContent); } }

рейт ми

Arseniy
16.03.2017
09:19:41
это еще что за хуйня

Nicholas
16.03.2017
09:20:26
менеджер настроек, ему похуй что грузить

Anatoly
16.03.2017
09:21:33
return (JsonConvert.DeserializeObject<T>(settingsFileContent)); Может null вернуть. И в целом LoadSettings исключение кинуть может. Я похожий велик у себя использую

Дмитрий
16.03.2017
09:22:00
теперь ясно... какое оно трудное это ООП
а кто сказал, что будет легко? и йобу уже запостили

Nikolay
16.03.2017
09:22:07
И ещё save/load лучше в try/catch обернуть, ибо всякое бывает

Nicholas
16.03.2017
09:22:13
а почему тут нет обработок ошибок?
хз, я их чот обрабатываю снаружи

ну типа не смогли настройки загрузить - падаем с ошибкой

Женя
16.03.2017
09:24:43
у меня вот такой метод чтения файла настроек public static bool ReadAppSettings( ref AppConfig config) { string configPath = Assembly.GetExecutingAssembly().Location; configPath = Path.GetDirectoryName(configPath); configPath = Path.Combine(configPath, APP_CONFIG_NAME); if (File.Exists(configPath)) { //файл конфига есть на диске try { using (Stream stream = new FileStream(configPath, FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(typeof(AppConfig)); config = (AppConfig)serializer.Deserialize(stream); } } catch (Exception ex) //ошибка чтения или парсинга конфигурации { logger.Error(ex); config = new AppConfig(); return false; } } else //файла конфигурации нет на диске { logger.Warn(" Файла конфигурации нет на диске!"); config = new AppConfig(); return false; } return true; }

Страница 568 из 1888

Эта группа больше не существует Эта группа больше не существует