• Вопросы, которые вы не узнали в школе/вузе, но стоило бы знать? (из сферы IT)

    Godless
    @Godless
    Очень много мыслей в голове… У меня есть тоже некоторый опыт преподавания (6 лет репетиторства, 1 год практики в вузе после выпуска). Я вынес оттуда примерно вот что:
    • В детей нужно закладывать максимум принципов, законов, идей. Факты тоже необходимы, однако (личное мнение) считаю именно «идею» самой важной, а только потом «факты»
    • Обязательно нужна практика. Сферические слова в вакууме не запоминаются. И чем больше практики, тем лучше.
    • Школьник/учащийся/студент — должен самостоятельно делать какие-то задания, придумывать себе их. САМ. Эффекты от «сделал сам» и «показали как сделать» представляете я думаю.
      По этому поводу, кстати, наш геометр говорил так (талантливый преподаватель, с десятилетиями опыта): «когда ребенок сам понял, или вывел какой-нить закон, факт, что угодно — он не забудет это никогда. Если ему рассказать про него — он это забудет сразу же после того как перестанет использовать.».
    • «Есть вещи, которые нужно пощупать самому помимо теории, так сказать ручками потрогать, а есть такие, что надо узнать как делать правильно и делать так.» — Прямо вот так и скажите =) к последним относятся всякие техники, модифицирующиеся со опытом поколений. Не нужно повторять старый опыт. О нем можно почитать в интернетах.

    Про себя могу сказать, что мне очень помогала структурировать знания в ИТ и выдирать оттуда логику математика, особенно геометрия. Я знаю что в некоторых школах у нас по городу, скажем так, чуть-чуть опускают доказательства теорем. Потерянные в голове рассуждения и возможность выводить одно из другого нужно как-то восстанавливать. Про принципы — полезно рассказать, показать про «восходящее/нисходящее» программирование, плюсы минусы, MVC. В общих словах как использовать фреймворки, библиотеки. примеры, задачи можно даже сделать на какой-нить библиотеке. Нужно знать разные алгоритмы, не обязательно уметь реализовывать сложные. Важно, чтоб они понимали что такие уже придуманы и наверняка где-то в сети есть реализация… Просто необходимо знать как хранятся данные в памяти. Да, вот прямо так вот побайтово понимали что как и где. «Младший байт по младшему адресу» и т.п. Про виртуализацию, как целиком ОС, так и устройство Java машины и других… естественно в общих чертах. Безопасность. Как распространяются вирусы, что где как и почему, что такое уязвимости и т.п. (не забыть упомянуть про УК РФ) Многие боятся этого слова, но… Ассемблер! я начал в 10м классе. считаю абсолютно свободно его можно давать на таких курсах. пусть даже азы. желательно под винду конечно же… хотя DOS программы чисто для ознакомления скомпилить можно тоже. Я даже не могу передать как он мне помогал потом учить C++.

    ну… всему не обучишь… я думаю вы выберете то что вам больше подходит…

    ЗЫ: почитал что получилось… Несколько сумбурно. Просто вспомнил себя в школьные годы, так не хватало человека, который бы помогал бы мне учиться быстрее, делился своим опытом, чтобы я не повторял его ошибок… видимо хочу в этих школьников, осознанно идущих на ИТ, втолкать больше чем было во мне =)
    Ответ написан
    1 комментарий
  • Оцените кусочек кода

    0. Укажите версию питона.

    1. Узнайте что за исключение кидается except Exception as exception и идите в этом направлении, но у меня просто не находит файл по вводимой строке и пропуская os.path.isdir и os.path.isfile выходит (у вас нет проверки что можно ввести неверное имя файла).
    2. Странно, у меня на венде работает, так что не подскажу.
    3. Нужно пробежаться по всем расширениям и проверить каждое, например если перечислять расширения через запятую.
    any([file_path.endswith(extension) for extension in '.rar,.txt'.split(',')])
    

    4. Почитайте pep8, давайте переменным осмысленные имена, используйте u"%s сконвертирован." % file_path вместо file_path + u" сконвертирован.".
    5. Используйте if __name__ == '__main__':
    6. В функцию converter лучше сразу передавать file_path
    7. Возможно Вам не нужно использовать raw_input, а передавать параметры в виде аргументов (тут поможет sys.argv или argparser)
    8. Вместо print u"-------------------------------" можно писать print u"-" * 20
    9. Лучше добавлять атрибут 'b' в команду open: open(file_path, 'rb') и open(file_path, 'wb')
    Ответ написан
    6 комментариев
  • Как запоминать хотя бы половину того, что читаешь?

    SLY_G
    @SLY_G
    журналист, переводчик, программист, стартапщик
    Зачем запоминать и загромождать мозг.
    Если читаете нужную литературу по теме — делайте заметки, записывайте страницы, в общем каталогизируйте.
    Если ненужную — не читайте.
    Мозг так устроен, что если сразу что-то не используется, он откладывает это на склад, чтобы не загромождать память. Если что-то по работе читаете, лучше сразу использовать, запомнится лучше.

    Но если очень хочется, то помогает рассказывать кому-то после прочтения, что прочитал. В голове материал структурируется и лучше усваивается. Не обязательно, чтобы собеседник понял, можно хоть коту рассказывать. Хотя, конечно, если сможете объяснить человеку и он поймёт, это подтвердит что вы правильно запомнили нужную информацию. А если кот вас поймёт, тогда это нобелевка.
    Ответ написан
    2 комментария
  • Задачка по html-верстке. Как ее решить?

    <div class="container">
    	<div class="product-list">
    		<div class="product"></div>
    		<div class="product"></div>
    		<div class="product"></div>
    		<div class="product"></div>
    		<div class="product"></div>
    		<div class="product"></div>
    	</div>
    </div>


    У .container выставляете что хотите (например с обеих сторон по 20px), но тогда у .product-list {padding: 0 -20px 0 0}.
    Но я часто прописываю у container только одну сторону, дабы таких ошибок не было.

    Либо другой вариант. Верстка та же, стили такие:
    .container {
    	padding: 0 20px;
    }
    .product-list {
    	margin: 0 10px;
    }
    .product {
    	margin: 0 10px;
    	float: left;
    }
    

    Думаю, это самый оптимальный вариант.
    Ответ написан
    2 комментария
  • Задачка по html-верстке. Как ее решить?

    @relic
    еще можно использовать псевдокласс :nth-child:

    div:nth-child(3n) { margin-right: 0; /* убираем отступ у каждого 3го элемента */ }
    Ответ написан
    1 комментарий
  • Python IDE

    @sanzstez
    Eclipse + PyDev
    Ответ написан
    Комментировать
  • Стоит ли менять iPhone 4 на Nokia Lumia 900?

    retran
    @retran
    Если вам нужен VPN на телефоне — то пока не стоит.
    Ответ написан
    1 комментарий
  • Параллельное выполнение потоков в PySide?

    mik_os
    @mik_os
    Python использует GIL (link). Простыми словами: в любой момент времени исполняется только 1 кусок python-кода. Для загрузки все ядер используйте multiprocessing.
    Ответ написан
    1 комментарий
  • Как организовать запуск/остановку функции отрисовки виджета?

    Riateche
    @Riateche
    В процессе выполнения длительной функции периодически вызывайте QApplication::processEvents(). Тогда интерфейс не будет «зависать». После вызова этой функции проверяйте, нажата ли кнопка, и прерывайте цикл, если надо. Можно и через потоки решить эту проблему, но если можно обойтись без них, лучше обойтись.
    Ответ написан
    1 комментарий
  • Десятимерный массив из строки (JS)

    iStyx
    @iStyx
    Just proof of concept:

    <?php
    
    $str = "ЭНИ-601[2к[10Вт;20Вт];4к[10Вт;20Вт;30Вт];8к[70Вт;80Вт]];";
    
    $str = preg_replace("#([а-яА-Я\d\-]+)#u","\"\$1\"",$str);
    $str = str_replace(array("[","]"),array(":{","}"),$str);
    $str = preg_replace("#\{([^{};]+?(;[^}]+?)*?)\}#u","[\$1]",$str);
    $str = str_replace(";",",",$str);
    $str = '{'.substr($str,0,-1).'}';
    
    print_r(json_decode($str,true));
    echo PHP_EOL;
    
    


    Array
    (
        [ЭНИ-601] => Array
            (
                [2к] => Array
                    (
                        [0] => 10Вт
                        [1] => 20Вт
                    )
    
                [4к] => Array
                    (
                        [0] => 10Вт
                        [1] => 20Вт
                        [2] => 30Вт
                    )
    
                [8к] => Array
                    (
                        [0] => 70Вт
                        [1] => 80Вт
                    )
    
            )
    )
    
    Ответ написан
    2 комментария
  • Посоветуйте книгу по функциональному программированию

    J57
    @J57
    Вот небольшой список учебных материалов, касаемо данной темы:

    1) Learn You a Haskell For Great Good learnyouahaskell.com/
    Данное учебное пособие изобилует картинками и кучей простых примеров, которые приносят ясность в голову.

    2) Real World Haskell book.realworldhaskell.org/read/
    Абсолютно выдающаяся книга, относительно применения функциональной парадигмы в промышленных задачах. Я советую всем хотя бы ознакомится с данной книгой. В ней приведена начальная настройка среды программирования, для того, чтобы обучающийся сразу же мог приступить к выполнению упражнений.

    3) А. Филд, П. Харрисон. Функциональное программирование.
    Данная книга является рекомендуемой в нашем университете, для прохождения курса функциональное программирование. Почитав ее, могу сказать, что она хороша и фундаментальна.

    4) Lambda the ultimate — можно сказать — большое количество миниблогов, посвященных функциональному программированию.
    Ответ написан
    2 комментария