
Nick
02.07.2016
18:05:13
Щас itvdbn и q realy уроки скачал
Но все равно когда есть конкретные задачи проще
А так онанизм какой то

Марк
02.07.2016
18:07:58
Я вчера скидывал в другом чатике выдержки из внутреннего документа по оценке квалификации программиста одной неплохой конторы, могу вам покидать. Ну, там типо анкету с пруфами заполняешь - зп пересчитывают

Google

Dim
02.07.2016
18:08:25

Nick
02.07.2016
18:09:54
Да тут другая проблема, все мы хотим стать кодерами которые пишут рабочий код, но вот главный принцип этого чтобы этому научиться нужно все проходить самому, ибо не в университете не на курсах не научат, а концепции нет
Обучения


Марк
02.07.2016
18:11:34
Сетевое программирование
0. Никогда не писал сетевой код
1. Обмен данными между клиентом и сервером с использованием стандартных библиотек,
на уровне HTTP
Асинхронный обмен данными между сервером и броузером (AJAX)
Использовал технологию "Comet" для обмена данными между сервером и броузером
Использовал в проекте Web SocketsИспользовал в проекте формат JSON для обмена данными
Использовал в проекте формат XML для обмена данными
Настроил в проекте gzip или другое сжатие данных при сетевом обмене
2. Базовый опыт работы с сетевыми соединениями на уровне TCP/IP
Может реализовать передачу данных через сокеты
Пример сетевого клиента в проекте
Пример сервера в проекте
Использовал в проекте бинарный формат для обмена данными
3. Детальное знание устройства протокола TCP/IP
Пример использования UDP вместо TCP в проекте

Kolyann
02.07.2016
18:12:14
чьорт

Dave
02.07.2016
18:12:41

Denis
02.07.2016
18:13:00
Что такое технология Comet?
Это long poll?

Nick
02.07.2016
18:13:57
Что то питоном и не пахнет там
На уровне сисадмина говорю?

Марк
02.07.2016
18:14:55
Первая ссылка в гугле жеж, ну

Google

Roman
02.07.2016
18:16:18


Марк
02.07.2016
18:16:36
Контроль версий исходников
0. Не использует систему контроля версий.
1. Использует систему контроля версий в текущем проекте (CVS, SVN, Git, Mercurial).
Интегрирует свой код в общий репозиторий (коммит + пуш) регулярно, несколько раз
в день
Пишет адекватные описания коммитов
Умеет пользоваться историей чтобы определить, кто внёс то или иное изменение в
код,
Нормально справляется с конфликтами при слиянии. Может разрешить конфликт
вручную, если автослияние не сработал
Может создать самостоятельно пустой репозиторий
Может создать ветку (локальную и удалённую)
Может переключаться с ветки на ветку
Может объединять ветки
Может выборочно переносить изменения с одной ветки на другую
2. Специалист по продвинутым возможностям системы контроля версий, регулярно
использует эти возможности при работе над проектом
Организовал в проекте систему веток для работы с релизами,
Организовал в проекте систему веток для staging/production
Организовал в проекте работу команды с использованем веток
Написал в проекте скрипты вокруг репозитория (хуки, обработчики) для решения
каких-то специфических задач
3. Эксперт в распределенных системах контроля версий
Использовал в работе и Mercurial и Git, может сравнить их преимущества и
недостатки
Имеет опыт использования возможностей распределённой системы - более одного
удалённого репозитория, несколько команд


Roman
02.07.2016
18:16:46

Марк
02.07.2016
18:17:10

Roman
02.07.2016
18:17:39
да даже просто понимание tcp - это уже неслабый скилл.

Марк
02.07.2016
18:18:58

Roman
02.07.2016
18:23:43

Марк
02.07.2016
18:24:17
не понял =(
Накладных расходов меньше, потеря данных не критична. Где-то в Инетике целая лекция валяется по этому вопросу.

Roman
02.07.2016
18:24:33

Марк
02.07.2016
18:25:40
Лан, по системам за контролем исходников все промолчали, бо в pycharm три кнопки

Nick
02.07.2016
18:26:03
Пичарм рулит

Roman
02.07.2016
18:26:43
у меня как-то была идея сделать объектное хранилище поверх dns :)

Nick
02.07.2016
18:26:43
Правда у него столько всего
Днс?

Марк
02.07.2016
18:27:10
Среда программирования (IDE)
0. В основном использует IDE для редактирования текста.
Умеет искать по телу текущего открытого файла
Пользуется множественной заменой в случае необходимости
Использует расширенные возможности IDE по работе с текстом - перемещение
блоков текста, выравнивание блоков, обрамление блоков
1. Способен эффективно пользоваться меню в IDE. Знает некоторые тонкости среды.
Умеет пользоваться поиском по коду проекта
Использует возможности IDE для используемого языка программирования - найти
определение класса, все вызовы метода, неиспользуемые переменные.
2. Способен полноценно использовать все возможности IDE
Для самых используемых функций среды знает горячие клавиши
Использует макросы/плагины, написанные сообществом пользователей
3. Расширил возможности используемой IDE
Реализовал свои макросы
Реализовал свой плагин

Nick
02.07.2016
18:27:18
Это тот днс о чем я думаю?

Sergey
02.07.2016
18:27:27

Roman
02.07.2016
18:27:29

Google

Nick
02.07.2016
18:27:38
Ну

Sergey
02.07.2016
18:27:41
Или как это работает?

Nick
02.07.2016
18:27:51
Он же просто сервис
Слушает свой порт и всё
Мы про домен нэйм сервис говорим?
Или не?

Roman
02.07.2016
18:29:37
Он же просто сервис
регаешь домен, создаёшь пачку субдоменов. субдомен - это sha1 и просто идентификатор блока данных. блок данных - допустим, 384 байта. блоки двух типов: индексные и сами данные.

Nick
02.07.2016
18:30:03
Смысл?
Гемороя?

Roman
02.07.2016
18:30:21
Смысл?
распределённый кеш объектов.
самое главное, что ноды для кеша уже есть у каждого провайдера.

Nick
02.07.2016
18:31:42
Все равно профит не пойму

Dim
02.07.2016
18:31:53

Roman
02.07.2016
18:31:58

Марк
02.07.2016
18:32:36

Roman
02.07.2016
18:32:54
смотри. берем файл в 4мб, бьём на блоки по 384 байта и от каждого блока считаем хеш. у нас получается цепочка хешей.

Nick
02.07.2016
18:33:40
Днс гибко тюнатся

Roman
02.07.2016
18:33:46
нифига ты прошаренный
:))) ну так если авторы малвари давно используют dns как канал передачи данных - то чего от них отставать.

Nick
02.07.2016
18:34:06
Плюс в качестве днс пул серверов работает

Google

Roman
02.07.2016
18:34:11
Днс гибко тюнатся
угу. но это всё влияет только на эффективность кеширования, но не работоспособность метода.

Nick
02.07.2016
18:34:33
Хотя
У всех 8.8.8.8 прописан

Admin
ERROR: S client not available

Nick
02.07.2016
18:34:49
?

Roman
02.07.2016
18:34:59

Nick
02.07.2016
18:35:22
Ну мы своим провам не верим
У них вечно днс в ауте
Корневых серверов сейчас сколько никто не знает?

Roman
02.07.2016
18:36:33
с днс другая беда
некоторые реализации смело кладут болт на ttl у записи
и кешат сколько им вздумается
но и для этого у меня был наколеночный велосипед про инвалидацию

Nick
02.07.2016
18:38:48
Ну за днс
?

Марк
02.07.2016
18:40:45
Регулярные выражения
0. Не знает и не использует регулярные выражения
1. Умеет.
Классы символов (инверсия, спец-символы)
Перечисление
Квантификаторы
Группировка (capture groups)
Якоря (^, $, \b, \B)
2. Владеет.
Специфичные для платформы особенности (для Ruby это \A и \z)
Жадность-нежадность
Флаги
Multiline with comments
3. Мастер
Look behind / ahead
Unicode properties
Временная и пространственная сложность
Понимает реализацию обработчика регулярных выражений - NFA, DFA, backtracking
Нет)

Dim
02.07.2016
18:42:57
вот кстати с одним дауном спорил недавно про зависимость от реализации regex ов
что синтаксис и поведение разные

Марк
02.07.2016
18:43:55
Угу

Google

Dim
02.07.2016
18:46:42
Нет, не разные или нет, разные ?

Roman
02.07.2016
18:47:09
Разные же

Марк
02.07.2016
18:47:23
Разные.

Dim
02.07.2016
18:47:51
новый троль в чате ?


Марк
02.07.2016
18:48:08
Скорее, дурак
Книги
0. Серии книг "... за 21 день", "... за 24 часа", "... для чайников".
1. Базовые книги
Керниган и Пайк - Практика программирования
Кент Бек - Экстремальное программирование
Кент Бек - Разработка через тестирование
Мартин Фаулер - РефакторингФридл - Регулярные выражения
2. Ещё хорошие книги
Дж. Бентли - Жемчужины программирования
ДеМарко - Человеческий фактор: успешные проекты и команды
Эндрю Хант, Дэвид Томас - Программист-прагматик
Фредерик Брукс - Мифический человеко-месяц
Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес - Приёмы объектно-
ориентированного проектирования. Паттерны проектирования
Daniel P. Friedman - The Little Schemer
3. Самые главные книги
Gerald Jay Sussman, Hal Abelson - Structure and Interpretation of Computer Programs
Дональд Кнут - Искусство программирования
Т. Кормен, Ч. Лейзерсон, Р. Ривест - Алгоритмы. Построение и анализ
К. Дж. Дейт - Введение в системы баз данных
Ахо, Хопкорфт, Ульман - Теория синтаксического анализа и компиляции
Блоги
0. Слышал о блогах, но не уделял им внимания.
Читал только хабрахабр
Просто базы данных
0. Думает, что Excel — это база данных.
1. Основы баз данных.
Нормальные формы.
ACID.
Простые комманды: create, insert, select, update.
Транзакции.
2. Опытный пользователь.
Может спроектировать хорошие нормализованные схемы БД, с учетом запросов,
которые будут выполняться.
Использует представления, хранимые процедуры, триггеры и собственные типы
данных.
Понимает разницу между кластеризованными и не-кластеризованными индексами.
Специалист в использовании ORM-тулзов.
Использовал в проекте дерево, которое хранилось в базе и которое обходилось
либо спец-запросом либо с помощью спец-библиотеки
3. Эксперт хуев.
Может осуществлять администрирование БД,
оптимизацию производительности БД,
индексную оптимизацию, писать сложные select'ы, может заменить использование
курсора вызовами функций SQL, понимает, как данные хранятся внутри, как
хранятся индексы, имеет представление о том, как зеркалятся и реплицируются БД
и т.д. Понимает как работает двухфазный commit.


Dim
02.07.2016
18:58:24
а что с блогами ?

Марк
02.07.2016
18:59:33
а что с блогами ?
читает еще ч0т из новостных, ведет свой как агрегатор, ведет свой персональный

Kolyann
02.07.2016
19:01:07
первоисточник нихера не корпоративный опрос или что-то в этом роде