Pull to refresh
0
0

Учитель информатики

Send message

Простая система управления компьютерным классом

Reading time5 min
Views26K
Статья написана для учителей информатики, которым надоело заниматься постоянным восстановлением порядка в классе и на ученических компьютерах. Для тех, кому дорого время и здоровье.

Нам понадобится:

1. Установить на все компьютеры класса ОС Linux. Дистрибьютив выбирайте на свой вкус.
2. Установить на все ученические компьютеры пакеты: openbox, tint2, pcmanfm, gxkb, x11vnc (сервер и клиент), vlc
3. Кроме этого на учительском компьютере необходимо установить программу RuleUser, подробнее о ней будет рассказано ниже.
4. Создать на ученических компьютерах пользователя guest.
5. Установить и настроить на всех компьютерах пакет sshd.
6. Скопировать приложенные конфигурационные файлы на ученические и учительский компьютеры.

Примечание. В этом примере компьютер учителя имеет ip адрес: 192.168.1.100/24. Ученические компьютеры имеют адреса, начиная с 192.168.1.101/24.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments31

Do good code: 8 правил хорошего кода

Reading time9 min
Views122K
Практически всем, кто обучался программированию, известна книга Стива Макконнелла «Совершенный код». Она всегда производит впечатление, прежде всего, внушительной толщиной (около 900 страниц). К сожалению, реальность такова, что иногда впечатления этим и ограничиваются. А зря. В дальнейшей профессиональной деятельности программисты сталкиваются практически со всеми ситуациями, описанными в книге, и приходят опытным путём к тем же самым выводам. В то время как более тесное знакомство могло бы сэкономить время и силы. Мы в GeekBrains придерживаемся комплексного подхода в обучении, поэтому провели для слушателей вебинар по правилам создания хорошего кода.

В комментариях к нашему первому посту на Хабре пользователи активно обсуждали каналы восприятия информации. Мы подумали и решили, что тему «совершенного кода» стоит развить и изложить ещё и письменно — ведь базовые принципы хорошего кода едины для программистов, пишущих на любом языке.
Читать дальше →
Total votes 46: ↑35 and ↓11+24
Comments111

Метод, благодаря которому можно больше не запоминать пароли

Reading time3 min
Views17K


Мы на каждом шагу сталкиваемся с напоминаниями, что нужно делать пароли посложнее, причём для каждого сайта и сервиса пароль должен быть уникален. Здравый смысл в этих советах определённо есть. Но кем надо быть, чтобы запомнить несколько десятков паролей ко всевозможным почтам, форумам, личным кабинетам, мессенджерами и прочим сервисам? Да ещё и длинные, с цифрами, буквами в разных регистрах, а в идеале — с дополнительными символами. Добавьте к этому совет регулярно менять пароли, и задача запоминания станет просто нерешаемой. Люди ленивы от природы, и потому мы либо делаем пароли простыми, либо используем небольшое количество паролей, либо вообще один. И зачастую их ещё куда-нибудь записываем. Вобщем, одна сплошная дыра в безопасности. Однако есть одна методика, с помощью которой можно вообще не запоминать пароли. Всё дело в алгоритме, который нужно вызубрить как Отче наш, и этого будет достаточно, чтобы сразу же восстановить свой уникальный (!) пароль для любого ресурса.
Читать дальше →
Total votes 30: ↑15 and ↓150
Comments46

Сайт ГИБДД продолжает радовать

Reading time1 min
Views19K
Читая новости на самом авторитетном ресурсе Рунета, я наткнулся на эту.

Суть: на официальном сайте ГИБДД выложили интерактивный алгоритм действий в случае ДТП.
Офлайн-версию в PDF можно скачать здесь.
А в онлайн-версии, в общем-то, всё то же самое
Total votes 28: ↑23 and ↓5+18
Comments47

Большое обзорное тестирование языков программирования

Reading time9 min
Views67K
Недавно очередной раз отработал со студентам 2-го курса 2-семестровую дисциплину «Алгоритмические языки». Обзорно рассмотрели несколько дюжин языков программирования. Один из студентов, Вадим Шукалюк, захотел получше с ними познакомиться, получить более четкое представление о каждом из них. Посоветовал ему провести небольшое исследование. Чем и увлёк. Предлагаю свой отчёт по проделанной за несколько месяцев вместе с ним работе.

У каждого языка программирования есть свои достоинства и недостатки. Одна из важнейших характеристик транслятора с любого языка — это скорость исполнения программ. Очень трудно или даже невозможно получить точную оценку такой скорости исполнения. Ресурс http://benchmarksgame.alioth.debian.org/ предлагает игровую форму для проверки такой скорости на разных задачах. Но число языков, представленных на этом ресурсе, довольно невелико. Предельную ёмкость стека, критическую величину для рекурсивных вычислений проверить проще, но она может меняться в разных версиях транслятора и быть зависимой от системных настроек.

Тестировались следующие трансляторы: си (gcc, clang, icc), ассемблер (x86, x86-64), ява (OpenJDK), паскаль (fpc), яваскрипт (Google Chrome, Mozilla Firefox), лисп (sbcl, clisp), эрланг, хаскель (ghc, hugs), дино[1], аук (gawk, mawk, busybox), луа, рубин, бейсик (gambas, libre office), питон-2, пи-эйч-пи, постскрипт (gs), пролог (swipl, gprolog), перл, метапост, ТEХ, тикль, бэш. Исследовались как собственно скорость исполнения нескольких небольших, но трудоёмких алгоритмов, так и:

  • качество оптимизации некоторых трансляторов;
  • особенности при работе с процессорами Intel и AMD;
  • предельное число рекурсивных вызовов (ёмкость стека).

Читать дальше →
Total votes 50: ↑25 and ↓250
Comments59

9 фактов, которые знают программисты, и не знают все остальные

Reading time3 min
Views190K
image

Факт 1


Под капотом самых критичных программ, которые вы используете на ежедневной основе (Mac OS X или Facebook) содержится ужасное количество хаков и костылей, которые с трудом уживаются друг с другом. Это как если бы вы разобрали боинг 747 и увидели, что топливопровод держится вешалкой для одежды, а шасси смотаны изолентой.

Бен Черри
Читать дальше →
Total votes 237: ↑164 and ↓73+91
Comments88

Обзор железок для занятий робототехникой с детьми — 2

Reading time6 min
Views76K
Под катом мы попытались как-то обобщить и систематизировать наш опыт по выбору платформы для занятий с детьми. Если вы организуете кружок робототехники, возможно, вам это будет полезно.
К прошлой серии было много справедливых замечаний, по такому случаю я полностью переработал материал.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments24

12 игр, которые обучают детей программированию

Reading time10 min
Views288K


Программирование сейчас очень популярно. По всему миру 36 миллионов детей принимают участие в мероприятиях движения «Час программирования». Цель этих мероприятий – помочь детям стать активными, а не пассивными пользователями технологий, а также получить знания, которые в будущем могут помочь устроиться на хорошую работу в нашем все более и более техническом мире.

Даже если ваши дети не хотят в будущем зарабатывать на жизнь программированием, базовое понимание принципов программирования развивает мышление и, в дальнейшем, ребенок лучше справляется с решением возникающих задач. Билл Гейтс когда-то сказал: «Если вы учитесь создавать программы, это развивает ваш разум, помогает вам лучше мыслить и создает образ восприятия вещей. В целом, я думаю, что человеку это будет полезно вне зависимости от сферы его деятельности».

Такие платформы, как Scratch и Alice позволяют детям (и взрослым) создавать собственные игры и анимации, используя упрощенные методы программирования. Однако не всем детям это интересно. И вот для таких детей существует множество игр, которые обучают базовым принципам программирования в веселой и доступной форме.

Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments32

Как мы объясняли детям, кто такой программист

Reading time7 min
Views73K

Он волосат, небрит и очень программист

@bobuk показал человека-паука и сказал, что айтишники спасают человечество. Потому что помогают решать проблемы. И ещё в качестве примера привёл Леонардо да Винчи с его вертолётом. Дети вертолёт не запомнили, но прыжки человека-паука на экране оценили. И ещё все узнали Нотча, написавшего Майнкрафт практически в одну харю.

Но давайте-ка я начну сначала и расскажу, что привело нас к открытию исходников игры «Такси», пришиванию пуговиц к сосискам и рассказу целой толпе детей про сложную и опасную профессию программиста.
Читать дальше →
Total votes 83: ↑73 and ↓10+63
Comments41

Классификация знаний в области программирования

Reading time7 min
Views189K
2 года назад я написал статью о классификации знаний в области программирования. Это было на волне интереса и моей активной деятельности по самообразованию в компьютерных науках. Написал статью и забыл о ней. Публиковать на Хабре не собирался. В конце концов, она базируется на моем личном опыте и знаних, которые могут оказаться весьма субъективны.

Недавно, на фоне постоянно поступающих вопросов «как научиться программированию?», я вспомнил про этот материал и перечитал его. Прошло уже 2 года, пополнился опыт, добавились знания, изменились взгляды. Но эта статья для меня не утратила актуальности, и я не нашел почти ничего, что хотел бы в ней изменить. Мне показалось, что она все же достойна публикации. И, возможно, кому-то она поможет в собственном профессиональном развитии.

Но прежде, чем «запустить» материал, еще небольшое отступление. О том, почему вообще я все это писал. Дело в том, что у нас в странах бывшего СССР с образованием в области IT очень туго. С одной стороны нет программ обучения, которые подготовят специалистов на должном уровне (наверное, за очень редкими исключениями, которые можно отнести к погрешности). С другой стороны, из-за широких возможностей самообразования, программисты и не спешат учиться в ВУЗах — все стремятся начать практиковать как можно раньше. Часто изучается только одно направление (например PHP+Mysql — самое популярное) и в бой. Причем, на этом все заканчивается. В итоге у нас огромное количество программистов, которые и базовых вещей не знают. Отсюда вытекают проблемы с качеством кода, и с эффекивностью алгоритмов, с велосипедированием.

Но программирование — это полноценная область знаний, которая требует в том числе и инженерной подготовки. Точно так же, как строительство или телекоммуникации. Да, построить дом (особняк) можно своими руками и без образования. А поднять большинство сайтов можно прочитав пару книг по PHP и HTML. Но многоэтажку без специальной подготовки не построишь, как и Гугл не напишешь, не зная основ.

Возможности для самообразования в компьютерных науках сейчас огромны. Единственное, чего не хватает, — это системности подготовки. Как разобраться, что и в какой последовательности изучать? Мне кажется, что этот материал поможет разложить по полочкам области знаний в компьютерных науках и составить для себя программу изучения по книгам. Выбор книг — тема отдельная, в рамки статьи не входит, но это можно обсудить в комментариях.

Поехали.
Читать дальше →
Total votes 78: ↑57 and ↓21+36
Comments52

Пора заменить Python как язык для обучения

Reading time3 min
Views108K
В последние десять лет мой стандартный ответ на вопрос «с какого языка начинать знакомство с программированием?» был прост — Python. Теперь я меняю свою рекомендацию. Python все еще хороший язык. Он позволяет сфокусироваться на задаче и не волноваться об архитектурных заморочках. О штуках, которые опытные программисты считают важными, позабыв о том, каково это — быть абсолютным новичком. Сам язык растворяется на фоне, и вместо объяснения возможностей и философий, уроки посвящены генерации музыкальных звукорядов, вычислению расстояний на стадионе в зависимости от беговой дорожки, или написанию автоматического игрока в покер или ятцы.

И вот в один прекрасный день студент задаст невинный вопрос: «А как сделать так, чтобы симулятор покера был не в командной строке, а в окне, с кнопкой для выдачи следующих карт?»
Читать дальше →
Total votes 100: ↑61 and ↓39+22
Comments280

Вот что будет, если установить топ-10 программ с Download.com

Reading time8 min
Views322K


Мы установили десять самых популярных программ с Download.com, и вы не поверите, что произошло! Впрочем, наверное, вы и сами можете догадаться: что-то ужасное. Что-то ужасное — вот что произошло. Присоединяйтесь к нашему веселью!

Уже не первый год мы сетуем на то, что нельзя спокойно порекомендовать скачать бесплатную программу, а недавно мы рассказали, как можно безопасно испытывать любое ПО при помощи виртуальной машины. И мы подумали: а почему бы не повеселиться и не посмотреть, что же, в самом деле, произойдёт, если скачивать программы как обычный ничего не подозревающий пользователь?

Ради эксперимента мы будем просто прощёлкивать все экраны установки с настройками по умолчанию на чистой виртуальной машине. Мы установим десять приложений из списка самых популярных загрузок. И предположим, что наш персонаж — рядовой пользователь.
Читать дальше →
Total votes 358: ↑324 and ↓34+290
Comments381

Морской бой за 25 мс

Reading time9 min
Views66K

Предисловие


Несколько месяцев назад я решил изучить Python. В качестве одной из тестовых задач требовалось написать игру «Морской бой». Тогда я не сделал эту задачу, но в голову пришла идея написать «Морской бой», где будут играть два компьютера между собой. Эта мысль не оставляла меня, и я решил дерзнуть. Результат представлен на ваш суд. Буду признателен за любую конструктивную критику.

Общая концепция текущей реализации


Вся игра, по сути, сводится к тому, что два экземпляра класса Player спрашивают друг у друга координаты кораблей и в зависимости от ответа выстраивают свою стратегию ходов.

Стратегия расстановки кораблей следующая: 2-3-4 палубные размещаются по краям карты (2 клетки), 1-палубный в центре (квадрат 6х6).

image
Читать дальше →
Total votes 44: ↑34 and ↓10+24
Comments28

Учебник программирования для детей

Reading time1 min
Views148K
Сейчас на русском нет актуального учебника по программированию для детей (исправьте, если не прав). Поэтому я решил написать его и выложить в открытый доступ.
 
Читать дальше →
Total votes 56: ↑47 and ↓9+38
Comments65

SageMathCloud — мечта для любителей Python, математики и Linux

Reading time7 min
Views38K
SageMathCloud (сокращённо SMC) — это онлайновый сервис, в котором можно написать математический или любой другой расчёт в Sage или IPython Notebook. Расчёт можно комбинировать с HTML, CSS, JavaScript, CoffeeScript, Go, Fortran, Julia, Gap, Axiom, R, Ruby, Perl, Maxima, Maple, Markdown, Wiki (и это неполный список!). При редактировании поддерживается мультикурсорность, можно включить биндинги Vim или Sublime Text. Пользователю также доступна консоль Ubuntu и доступ к проекту по ssh. Можно создавать документы LaTeX и встраивать в них код на Python, который не будет отображаться в итоговом pdf. Широкие возможности позволяют написать не просто расчёт с 2D и 3D графикой, а целое интерактивное приложение или собственный веб-сервер на Flask. Можно расшарить расчёт пользователям на редактирование, и Вы будете видеть, что они меняют и даже где стоит их курсор! При этом великолепии SageMathCloud имеет открытый исходный код, который выложен на Github.



Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments27

Краткая история хакерства. Рассказ от руководителя информационной безопасности Яндекса

Reading time6 min
Views108K
Привет! Меня зовут Антон Карпов, в Яндексе я руковожу службой информационной безопасности. Недавно передо мной встала задача рассказать школьникам — студентам Малого ШАДа Яндекса — о профессии специалиста по безопасности. Я решил, что вместо скучной теории, которую и так можно прочитать в учебниках (да и что расскажешь за одну лекцию!), лучше рассказать историю компьютерной безопасности. На основе лекции я подготовил этот короткий рассказ.



Как ни крути, а информационная безопасность у многих прочно ассоциируется с хакерами. Поэтому и рассказать я хочу сегодня про хакеров и их историю. В наши дни под хакером понимается злоумышленник, который делает что-то нелегальное, взламывает какие-то системы с материальной выгодой для себя. Но это далеко не всегда было так.
Конспект лекции
Total votes 79: ↑69 and ↓10+59
Comments29

[LibGDX] Создаем клон Flappy Bird — Zombie Bird

Reading time127 min
Views198K
Доброго времени суток %username%. Не давно наткнулся на хороший туториал по созданию клона игры Flappy Bird используя LibGDX и этот туториал мне понравился своей простотой и детализацией.

Я отдаю себе отчет, что тема создания клонов данной игрушки изъела себя, но возможно кому-то пригодится еще один хороший туториал.

Туториал разбит на 12 дней, содержит множество картинок, полотен кода и исходный код разбит по дням. Кому интересно, добро пожаловать под кат.
Подробнее
Total votes 111: ↑102 and ↓9+93
Comments29

Бесплатные офисные приложения: редактируй это!

Reading time9 min
Views29K
Определенная доля текстовой части моего диплома была написана на Nokia E63 — было срочно и поздно, поэтому работать приходилось в пути, переездах, на конференциях, а ноутбука у бедного студента не было. Удобная QWERTY-клавиатура и доступный Интернет позволяли набирать и редактировать текст даже с определенным комфортом. В общем, некоторый опыт извращений в наборе текста у меня есть.

image

То ли дело современные студенты — ноутбуки, планшеты, редакторы онлайн и оффлайн, совместная работа над документами. Кажется, проблемы в далеком прошлом.
Читать дальше →
Total votes 32: ↑22 and ↓10+12
Comments22

Тревожные симптомы Telegram

Reading time2 min
Views145K
Telegram для меня оказался очень удобным и безопасным мессенджером. Определяющим при выборе оказался аспект безопасности, а именно — учрежденный конкурс по взлому алгоритма шифрования сообщений.

Сам факт наличия такого конкурса очень положительно сказался на моем отношении и отношении тех, с кем я общаюсь, к Telegram. А вот ограниченный по времени характер конкурса привнес некоторые опасения относительно того, что при очередном обновлении алгоритм шифрования может быть изменен на уязвимую версию и приватная переписка станет доступна тем, кому она не предназначалась. Было бы логичным, если бы конкурс носил бессрочный характер. На мой взгляд, это могло бы добавить доверия к мессенджеру.

Но обеспечение конфиденциальности сообщений это не только сильные алгоритмы шифрования.
Читать дальше →
Total votes 113: ↑68 and ↓45+23
Comments96

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity