
Adel
14.04.2018
18:11:33

Artem
14.04.2018
18:12:02
Составляешь хеш таблицу строк и кол-во вхождений, те где больше 1 чистишь, классика же

Dmitry
14.04.2018
18:12:26
разбить на мелкие куски, отсортировать каждый, смержить с сохранением сортировки, убрать дубликаты

Adel
14.04.2018
18:12:26
ну да. очевидно хеш. но вот уместится ли он в памяти?

Google

Adel
14.04.2018
18:12:34
давай предположим что памяти 512 Мб :)

Artem
14.04.2018
18:13:30

Adel
14.04.2018
18:13:46

Pavel
14.04.2018
18:14:13

Время
14.04.2018
18:16:02
Благодарю, гляну.

Artem
14.04.2018
18:16:40
Благодарю, гляну.
тут еще почитай https://en.wikipedia.org/wiki/External_sorting#External_merge_sort

Pavel
14.04.2018
18:17:20
Никто не предложил хорошего алгоритма для одноразового применения :)

Artem
14.04.2018
18:18:31

Pavel
14.04.2018
18:19:55
Сортировка не нужна, думаю решается за линейное время в 2 прохода и хеш
Или даже просто crc32

Время
14.04.2018
18:22:16
Честно говоря не хотелось бы колхозить что то свое. Думал может быть готовые решения есть или какой код

Google

Artem
14.04.2018
18:22:26

Pavel
14.04.2018
18:22:58
Он же все в память засунет?

Artem
14.04.2018
18:23:18
или
sort -u <file
inplace
хз если честно не факт, но я не знаю )

Pavel
14.04.2018
18:24:07
Чем это лучше cat file | uniq ?

Dmitry
14.04.2018
18:24:32
split -l 10000 source_file chunk_file && for i in chunk_file*; do sort < $i >sorted-$i; done && sort -u -m sorted-* >sorted_and_unique_source_file && rm chunk_file* sorted-* .... как-то так

Artem
14.04.2018
18:24:53

Dmitry
14.04.2018
18:26:20
хеш потенциально коллизии
хотя вообще это не нужно, да...
у sort самого по себе merge sort, ура
ух... не ожидал, что там такое няшко

Gleb
14.04.2018
18:38:53
ничего себе вы наспамили(за 30 минут 140 сообщений)

Dmitry
14.04.2018
18:40:26
sftp bro

Gleb
14.04.2018
18:40:46

Dmitry
14.04.2018
18:42:13
ну ssh есть всегда, просто ты отдельно упомянул ftp зачем-то ;)

Artem
14.04.2018
18:45:51
Как по мне проще локально что-то для версионирования поднять или обычный гитлаб + webdav

Gleb
14.04.2018
18:51:12
расскажите мне пожалуйста, передо мной стоит делемма - что-то дальше делать в simfony(уровень знаний поверхностный) или изучать ещё что-то(к примеру bitrix).
Нужды:
чтобы был профит,
чтобы было интересно,
сразу скажу, что битрикс мне как-то не импанирует.
P.S.
Есть вариант уйти в node.js

Pavel
14.04.2018
18:52:50
То есть ты хочешь чтобы мы за тебя решили что тебе интересно?

Google

Artem
14.04.2018
18:57:15
Какая нода, когда есть Го. Но вообще симфони конечно хорошо, но сколько тебе времени нужно например на реализацию вывода дерева папок по точной аналогии с утилитой tree?

Dmitry
14.04.2018
18:59:32
а какая связь между симфони и выводом tree?

Gleb
14.04.2018
19:01:47

Pavel
14.04.2018
19:01:53
Скачать какой-нибудь TreePrinterBundle :)
Я вангую что тебе понравится получать большую зарплату как минимум

Gleb
14.04.2018
19:06:46

Pavel
14.04.2018
19:08:14
На мой взгляд само выражение "уйти в X-X-X" некорректно
Ну касательно symfony и beetrix
Уйди во все сразу и там уже видно будет что тебе больше подходит

Artem
14.04.2018
19:09:42

Dmitry
14.04.2018
19:10:35
ога, "да нету времени читать инструкцию к бензопиле, лес валить надо"

Gleb
14.04.2018
19:13:15

Pavel
14.04.2018
19:13:32
А ну может и так
Хотя вообще там все одинаковое
вообще щас пшп разработка это очень и очень маленькая теоретическая база
Я кстати видел как очень хорошо умеющие писать код люди не удосужились изучить фреймворк и его подходы и писали очень уродливый мутный код )
То что на фреймворке делалось в 5 строчек они реализовывали сами своими могучими мозгами (сила есть же) в 50 строчек
Используя 3-4 хитроумных паттерна
Наворачивали вокруг active record свой слой data mapper (потому что мощно же) и потом мучались что все это не интегрировано со всеми остальными частями фреймворка, не работают реляции и формы.

Google

Pavel
14.04.2018
19:18:48
Писали свои валидаторы и мучились с ними тоже
Свои обертки и адаптеры
Кстати для симфони это особенно актуально, там бывает что какая-нибудь фигня делается одной опцией в конфиге, либо тысячей строчек велосипедокода

Artem
14.04.2018
19:29:48
"хитроумный" код пишут только говнокодеры, код должен быть поддерживаемый, а программист продуктивный -остальное не важно. Важно то, что человек умеющий писать код в течении недели разбертся в доках любого фреймворка, а "оператор" симфони никогда не решит задачу вне фреймворка.

Pavel
14.04.2018
19:30:45
Ты сейчас как-то завуалировано назвал хороших кодеров говнокодерами :) Непонятно
> Важно то, что человек умеющий писать код в течении недели разбертся в доках любого фреймворка,
Ну и это не правда. В доках фреймворка разберется программист, умеющий разбираться в доках фреймворка, а не человек умеющий писать код.

Dmitry
14.04.2018
19:32:07
оператор симфони, хыхы... мне кажется у него что симфони, что битрикс - где-то одно и тоже ;)

Pavel
14.04.2018
19:32:58
А человек умеющий писать код - просто оператор алгоритмов и паттернов?

Artem
14.04.2018
19:33:24
Просто работал я с "гением" одним, он сука за выходные был в состоянии свой докер написать, вот только нет человека способного в этом коде разобраться, а он прям рад, какой крутой хак прикрутил... Умный, не значит хороший )

Pavel
14.04.2018
19:34:26
Вот, именно для этого ровно фреймворки и изобрели. Чтобы делать knowledge sharing на хорошо изученных терминах и подходах.

Admin
ERROR: S client not available

Artem
14.04.2018
19:34:44
Только шарить кноледж нужно среди тех у кого есть база, а не тех, кто только методы дергать по примерам научился )

Pavel
14.04.2018
19:36:11
база в знании фреймворка?

dypa
14.04.2018
19:36:52
о, symfony за неделю, c++ за 21 день.. отличный вечерок ?

Dmitry
14.04.2018
19:36:54
Артем, а ты не утомляешься говорить лозунги и прописные истины? ;)

Artem
14.04.2018
19:37:06
В моем примере утилита tree это классическая задача на рекурсию и довольно простая. База это основы CS

dypa
14.04.2018
19:37:17

Pavel
14.04.2018
19:37:46
В веб разработке довольно мало CS впринципе

Artem
14.04.2018
19:38:03

Google

Pavel
14.04.2018
19:40:59
Мысль что "главное знать основы CS" ?
Ну может для года 2005 и верно, но в 2к18 со всем многообразием платформ и инструментов просто знать основы cs будет тяжеловато
Да и непонятно что такое основы cs
Вот знание докера туда входит?

Artem
14.04.2018
19:43:47
Знания докера, это инфраструктура. Оно дополняет необходимый минимум и это ещё далеко не все )

Pavel
14.04.2018
19:44:16
Вооот о чем мы и говорим
docker, ansible, symfony, redis, pgsql, rabbitmq, terraform, elasticsearch, phpstrom, xdebug, jenkins, codeception, guzzle, composer, satis и еще 146 терминов которые дополняют необходимый минимум

Dmitry
14.04.2018
19:46:21
а о чем мы говорим?

Pavel
14.04.2018
19:46:34
И по объему этот минимум превышают примерно раз в 10
Потому что для основ CS достаточно походить в универ пару лет с 9 до 16, а чтобы не криво применять симфони и все эти тулзы на практике нужно еще 10000 часов работы.

Gleb
14.04.2018
19:54:48
В итоге. Я спрашивал у "прошареныйх опытом" разработчиков back-end, что по ИХ мнению в профите т.к. на начальной волне вполе естественно сомневаться в выборе того, какой инструемнт ты используешь. Ведь гвозди можно забивать и топором. Вникать во все фреймворки сразу - ИМХО бред, но вполне вероятно, что тот фреймворк который используете именно вы по каким-либо причинам. Будет приятен и мне. Или Вы используете что-то т.к. своего создать не можете?

Pavel
14.04.2018
19:56:16
Вникни в симфони хорошо, этого впринципе достаточно чтобы вникнуть во все остальные фреймворки на 40%

Gleb
14.04.2018
19:56:51

Artem
14.04.2018
20:02:52
Я бы предпочел выучить пхп и базовые задачи решать научиться с нуля. А фреймворк учить будешь тот, который будут использовать в команде куда придёшь и уже за зп

Pavel
14.04.2018
20:03:47
Ну ты приходишь а там пишут на codeigniter. Тут сразу ясно что надо увольняться срочно =)

Artem
14.04.2018
20:04:06
Меня никогда на собеседовании не спрашивали о фреймворках и всегда давали время, чтобы в них вникнуть. Но писать код на доске нужно было всегда и опять же знать базу

Dmitry
14.04.2018
20:04:14
базовые задачи, это какие? ;)

Artem
14.04.2018
20:04:53
Хз, квиксорта инварианты рассмотреть, aptget написать

Dmitry
14.04.2018
20:05:04
нахрена?

Artem
14.04.2018
20:05:06
А если по пхп то сайт сделать

Pavel
14.04.2018
20:05:26
Надо же уточнять еще на какую должность

Dmitry
14.04.2018
20:05:39
сайт сделать...

Pavel
14.04.2018
20:05:58
Если ты говорил что работал SRE то эта беседа вообще неадекватна