Без комментариев
18 Feb 2016 14:49Деканат> Можно сделать так, чтобы человек появлялся только в списке студентов своего курса, даже если раньше учился в другом классе? Как раньше было - у A, например. Он студент 2015 и 2016, но появляется только в списке 2016.
Я> Так. Подойдём с другой стороны. Какой студент "неправильно" отображается?
Я> Прошёлся по классу 2016. B, C, D, F, и F одновременно имеют статус учащихся в 2015 и в 2016 классах. Как вы сами думаете, человек может одновременно учиться в двух классах?
Деканат> G ещё.
Я> Так. Подойдём с другой стороны. Какой студент "неправильно" отображается?
Я> Прошёлся по классу 2016. B, C, D, F, и F одновременно имеют статус учащихся в 2015 и в 2016 классах. Как вы сами думаете, человек может одновременно учиться в двух классах?
Деканат> G ещё.
Смотри не перепутай!
while (my $stip = $dictionary_stipendia_sth->fetchrow_hashref) { $_ = Encode::decode('windows-1251', $_) for values %$stip; $dictionary_stipendia->{$stip->{id}} = $stip; } $dictionary_stipendia = encode_json($dictionary_stipendia); Encode::from_to($dictionary_stipendia, 'utf8', 'windows-1251');
Без комментариев
24 Aug 2015 09:07
Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?
Программист: ну представь, что ты писатель и поддерживаешь проект "Война и мир". У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку. Ты пишешь "шёл дождь", сохраняешь, вылетает сообщение об ошибке "Наташа Ростова умерла, продолжение невозможно". Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение "Поручик Ржевский умер." Выясняется, что он в следующей главе облокачивается о столб, которого уже нет...
До чего же с git жить легче, чем с svn! Веток наплодил на каждое изменение, потом слил их, git сам за тебя чёрную работу сделал... Как вообще люди жили до изобретения git? Что cvs, что svn ничерта не помогает в разработке, только ненужной бюрократии добавляет.
Главное, чему я научился на (поза)прошлой работе - это дао git. Я долго сопротивлялся, но Алексей в меня всё-таки его вбил. Хоть он и неприятный человек, и работать с ним было неприятно, но вот за эту науку ему спасибо.
Главное, чему я научился на (поза)прошлой работе - это дао git. Я долго сопротивлялся, но Алексей в меня всё-таки его вбил. Хоть он и неприятный человек, и работать с ним было неприятно, но вот за эту науку ему спасибо.
В смысле, вот есть люди с дисграфией, дискалькулией, и это не потому что они ленивые, а потому что их мозг имеет какие-то физические нарушения.
Я на днях составил схему архитектуры проекта. Проекта, над которым я работаю уже почти год. А составил я её потому, что проект в общих чертах уже готов, он уже написан, и мы сейчас что-то подправляем, что-то улучшаем, а что-то переделываем убирая костыли и подпорки. И вот просто чтобы зафиксировать результаты месячных уже обсуждений одной переделки, я сел и написал статью, которая в итоге оказалась архитектурой.
Я к чему. Нормальные люди сначала составляют архитектуру, пишут план работ, а потом приступают к работе. А я так не могу. Я не могу нарисовать архитектуру будущего проекта. Я не могу составить план работ перед их началом. Просто не могу. Я в школе никогда не мог написать план сочинения, например. То есть где-то вот не так давно, наверное даже в этом году, я начал понимать, зачем нужен план сочинения или план работ, и как будто в некотором смысле представляю как это делать... но сделать я этого не могу.
Сейчас модно писать на фреймворках. И наверное это хорошо и правильно, всякие Mojolicious, Catalyst и Dancer предоставляют программисту сразу мощные инструменты, способные выполнять сложные работы. Но для их использования нужно сразу знать, что ты делаешь и зачем. А я не знаю. Я не могу писать на фреймворках. Я до сих пор пишу на CGI, может на улучшенном, но всё равно CGI, потому что в этом случае я создаю всё сам, я делаю себе инструменты, необходимость в которых я осознаю только перед их непосредственным созданием. Я не могу заранее сказать, какие инструменты мне понадобятся и что я с ними буду делать.
Когда в своё время мне Оленин говорил - "вот это надо писать так, вот это так, а вот это вообще никак нельзя писать никогда" - я его не понимал и не мог применить его советы. Просто не был спобен. Когда прошло десять лет, и я получил массу опыта (читай - граблей), я понял, что Володя был совершенно прав, и действительно, вот здесь желательно это, там то, а за такое надо отрывать руки. Но до сих пор я не всегда могу применить эти советы сразу.
Сейчас в моде Mind maps. Опять же - когда я пытаюсь что-то такое нарисовать, у меня возникает непреодолимое побуждение объять необъятное, всё, вообще всё формализовать и разрисовать по строгим и *абсолютно* правильным формальным законам. Я только сейчас начинаю понимать, что это похоже на навязчивые состояния на самом деле. Я просто начинаю путаться в том, что я хочу сделать - чертёж, схему, карту, архитектуру процессов, объектов, отношений или взаимодействий. Зато по готовой работе я могу нарисовать схему, да.
Всегда крайне паршиво рисовал, но очень неплохо срисовывал.
Много раз пытался разобраться в электронике, в электрических схемах. С нулевым результатом.
В институте на теории информации одни и те же... задачи? не помню уже, что там было, на самом деле, но оно могло быть представлено в виде уравнений и в виде схем с логическими элементами, что-то вроде электрических схем. И эти представления были эквивалентны. И вот схема подавалась как более простое для понимания описание. А я схемы не понимал совершенно. Зато понимал уравнения.
Ну и так, по мелочи - живут же люди, а я не в начале, не в центре и даже не в самом хвосте.
Я на днях составил схему архитектуры проекта. Проекта, над которым я работаю уже почти год. А составил я её потому, что проект в общих чертах уже готов, он уже написан, и мы сейчас что-то подправляем, что-то улучшаем, а что-то переделываем убирая костыли и подпорки. И вот просто чтобы зафиксировать результаты месячных уже обсуждений одной переделки, я сел и написал статью, которая в итоге оказалась архитектурой.
Я к чему. Нормальные люди сначала составляют архитектуру, пишут план работ, а потом приступают к работе. А я так не могу. Я не могу нарисовать архитектуру будущего проекта. Я не могу составить план работ перед их началом. Просто не могу. Я в школе никогда не мог написать план сочинения, например. То есть где-то вот не так давно, наверное даже в этом году, я начал понимать, зачем нужен план сочинения или план работ, и как будто в некотором смысле представляю как это делать... но сделать я этого не могу.
Сейчас модно писать на фреймворках. И наверное это хорошо и правильно, всякие Mojolicious, Catalyst и Dancer предоставляют программисту сразу мощные инструменты, способные выполнять сложные работы. Но для их использования нужно сразу знать, что ты делаешь и зачем. А я не знаю. Я не могу писать на фреймворках. Я до сих пор пишу на CGI, может на улучшенном, но всё равно CGI, потому что в этом случае я создаю всё сам, я делаю себе инструменты, необходимость в которых я осознаю только перед их непосредственным созданием. Я не могу заранее сказать, какие инструменты мне понадобятся и что я с ними буду делать.
Когда в своё время мне Оленин говорил - "вот это надо писать так, вот это так, а вот это вообще никак нельзя писать никогда" - я его не понимал и не мог применить его советы. Просто не был спобен. Когда прошло десять лет, и я получил массу опыта (читай - граблей), я понял, что Володя был совершенно прав, и действительно, вот здесь желательно это, там то, а за такое надо отрывать руки. Но до сих пор я не всегда могу применить эти советы сразу.
Сейчас в моде Mind maps. Опять же - когда я пытаюсь что-то такое нарисовать, у меня возникает непреодолимое побуждение объять необъятное, всё, вообще всё формализовать и разрисовать по строгим и *абсолютно* правильным формальным законам. Я только сейчас начинаю понимать, что это похоже на навязчивые состояния на самом деле. Я просто начинаю путаться в том, что я хочу сделать - чертёж, схему, карту, архитектуру процессов, объектов, отношений или взаимодействий. Зато по готовой работе я могу нарисовать схему, да.
Всегда крайне паршиво рисовал, но очень неплохо срисовывал.
Много раз пытался разобраться в электронике, в электрических схемах. С нулевым результатом.
В институте на теории информации одни и те же... задачи? не помню уже, что там было, на самом деле, но оно могло быть представлено в виде уравнений и в виде схем с логическими элементами, что-то вроде электрических схем. И эти представления были эквивалентны. И вот схема подавалась как более простое для понимания описание. А я схемы не понимал совершенно. Зато понимал уравнения.
Ну и так, по мелочи - живут же люди, а я не в начале, не в центре и даже не в самом хвосте.
Немного жалко.
23 Apr 2013 17:23Я потратил в своё время очень много часов и очень много нервов на кусок функциональности по добавлению новых сущностей из интерфейса. По многим граблям прошёлся.
А теперь решили, что все новые сущности будут добавляться автоматически. Как только backend получит их поддержку, он будет рассказывать "а вот теперь я поддерживаю такие-то типы данных". И оператору останется только отредактировать их, присвоить человеческие названия и т.п., а старый код для добавления теперь получается не нужен.
Но с другой стороны - когда я это писал, я получил опыт. И по граблям прошёл не зря.
А теперь решили, что все новые сущности будут добавляться автоматически. Как только backend получит их поддержку, он будет рассказывать "а вот теперь я поддерживаю такие-то типы данных". И оператору останется только отредактировать их, присвоить человеческие названия и т.п., а старый код для добавления теперь получается не нужен.
Но с другой стороны - когда я это писал, я получил опыт. И по граблям прошёл не зря.
Изобретение велосипеда.
7 Feb 2013 12:41На третьем ходу выяснилось, что гроссмейстер играет восемнадцать испанских партий. В остальных двенадцати черные применили хотя и устаревшую, но довольно верную защиту Филидора.
Неожиданно для себя узнал, что изобрёл MapReduce. То есть почти изобрёл, не догадался на каждом шаге распределения распараллеливать задачи. Чувствую, что-то у меня не получается. То есть получается, но не совсем. Стал расписывать, какой у меня жизненный цикл обработки данных. Смотрю - что-то знакомое. Распределение-свёртка, распределение-свёртка... Полез в википедию. Прочёл. Проникся. Пришёл сюда сделать запись, сейчас пойду переписывать свой диспетчер.
Документация.
30 Jan 2013 16:26Что такое ХОРОШАЯ документация:
это w3.org (http://www.w3.org/TR/2011/REC-CSS2-20110607/)
это jquery (http://api.jquery.com/)
Что такое СНОСНАЯ документация
это jsrender. Документации как таковой нет, но автор собирается её сделать. Примеры покрывают множество случаев использования.
Что такое ОТВРАТИТЕЛЬНАЯ документация.
Это jqGrid. Это пиздец. Структурированного описания нет. API и примеры лежат в разных местах. Примеры невнятные, описывают сферические случаи в вакууме. Чтобы понять, как это работает, надо задать в гугле вопрос "КАК, БЛЯДЬ, ЭТО РАБОТАЕТ?!", и получить ссылку на stackowerflow, где был задан точно такой же вопрос. Это единственный нормальный способ. БЕЗУМНОЕ количество вопросов "у меня нихуя не работает, почему?! Как со всей этой хуйнёй обращаться?!". Ужасно.
А ещё я целый час искал разницу между edit_url и editurl :(
это w3.org (http://www.w3.org/TR/2011/REC-CSS2-20110607/)
это jquery (http://api.jquery.com/)
Что такое СНОСНАЯ документация
это jsrender. Документации как таковой нет, но автор собирается её сделать. Примеры покрывают множество случаев использования.
Что такое ОТВРАТИТЕЛЬНАЯ документация.
Это jqGrid. Это пиздец. Структурированного описания нет. API и примеры лежат в разных местах. Примеры невнятные, описывают сферические случаи в вакууме. Чтобы понять, как это работает, надо задать в гугле вопрос "КАК, БЛЯДЬ, ЭТО РАБОТАЕТ?!", и получить ссылку на stackowerflow, где был задан точно такой же вопрос. Это единственный нормальный способ. БЕЗУМНОЕ количество вопросов "у меня нихуя не работает, почему?! Как со всей этой хуйнёй обращаться?!". Ужасно.
А ещё я целый час искал разницу между edit_url и editurl :(
JSRender это круто.
23 Jan 2013 19:17Чувствую прям, как извилины прорастают в голове.
Хотел я его ещё на прошлой работе использовать, но там он строго нужен был в одном месте. А здесь никак - сначала написал вручную "шаблон" и код, который его раскрывает, потом понял, что решил только половину проблемы, понял что если буду решать вторую, то результат совершенно невозможно будет отладить...
Пошёл гуглить jsrender. Часа три разбирался, что и как. Потом начал писать шаблон. Да, дело явно упрощается.
Конечно, писать {{#parent.parent.data}} неудобно, зато отучит использовать данные больше чем на двух уровнях вложенности ;) Конечно, отсутствие $_ неприятно, но учит называть переменную цикла осмысленным образом :)
На jsView пока забил. По одному за раз. Может во второй версии перепишу всё через jsView, пока у меня нет столько мозгов, чтобы разом всё вместить.
Хотел я его ещё на прошлой работе использовать, но там он строго нужен был в одном месте. А здесь никак - сначала написал вручную "шаблон" и код, который его раскрывает, потом понял, что решил только половину проблемы, понял что если буду решать вторую, то результат совершенно невозможно будет отладить...
Пошёл гуглить jsrender. Часа три разбирался, что и как. Потом начал писать шаблон. Да, дело явно упрощается.
Конечно, писать {{#parent.parent.data}} неудобно, зато отучит использовать данные больше чем на двух уровнях вложенности ;) Конечно, отсутствие $_ неприятно, но учит называть переменную цикла осмысленным образом :)
На jsView пока забил. По одному за раз. Может во второй версии перепишу всё через jsView, пока у меня нет столько мозгов, чтобы разом всё вместить.
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Я - Шизо
Я - Шизо
Я - Шизо
И я торчу
Это опредёлённо не самый плохой способ прострелить себе чью-то чужую ногу.
Началось всё с того, что я захотел чуть-чуть улучшить сверку по одному провайдеру. Вместо того, чтобы выкачивать html и парсить, взять с сайта csv, благо он там предоставляется.
Чуть-чуть вылилось в доработку фреймворка, уже три модуля переписано, и в серьёзное обдумывание, а как именно должна происходить инициализация при создании потомка...
Это ещё штрих к будущей записи об опыте и познании.
Началось всё с того, что я захотел чуть-чуть улучшить сверку по одному провайдеру. Вместо того, чтобы выкачивать html и парсить, взять с сайта csv, благо он там предоставляется.
Чуть-чуть вылилось в доработку фреймворка, уже три модуля переписано, и в серьёзное обдумывание, а как именно должна происходить инициализация при создании потомка...
Это ещё штрих к будущей записи об опыте и познании.