tag:blogger.com,1999:blog-56118599637633543822024-02-19T07:02:04.886-08:00Учимся джавеА Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-5611859963763354382.post-88064356979408062112019-04-29T03:02:00.000-07:002019-04-29T03:02:13.515-07:00Birthdays and Longevity<div dir="ltr" style="text-align: left;" trbidi="on">
Birthdays are good for health. British scientists proved that ones who had more birthdays lived longer.</div>
Andriihttp://www.blogger.com/profile/08118506187797788268noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-78505828118401818092013-03-22T18:16:00.001-07:002013-03-23T15:16:10.057-07:00Написання клієнта для snake dojo на node.js<div style="text-align: left;">
Одного разу спробувавши <a href="http://codenjoy.com/" target="_blank">coding dojo </a>не можливо відірватись. Хочеться внести якийсь свій вклад в розвиток проекту. Клієнт для JavaScript надасть змогу програмістам використовувати усі перевани динамічнох типізації.<br />
<br />
JavaScript дуже потужний інструмент. Не дуже багато готових операцій для всіх типів даних він містить, але його гнучкість дозволяє реалізовувати велосипеди будь-якої складності та конфігурації, а базові елементи в правильних руках можуть показувати елегантні рішення. </div>
<div style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Dm8sFBwjGpteEZs4TTvQRT_lQOo-eVVigSS9Z3U0UdKMxxL6jOrAMCbFci6gVjSeT_ZnhsXOFcjXdbBBt4jL2CEA8n5EM_mx-rgbNHxZdK4_1PgYRDM4xJF6Fkk7XTyk6mouZFvprl3N/s1600/when-you-dont-know-what-you-are-doing-its-best-to-do-it-quickly-funny-picture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_Dm8sFBwjGpteEZs4TTvQRT_lQOo-eVVigSS9Z3U0UdKMxxL6jOrAMCbFci6gVjSeT_ZnhsXOFcjXdbBBt4jL2CEA8n5EM_mx-rgbNHxZdK4_1PgYRDM4xJF6Fkk7XTyk6mouZFvprl3N/s1600/when-you-dont-know-what-you-are-doing-its-best-to-do-it-quickly-funny-picture.jpg" /></a></div>
<br /></div>
Отже, що ми маємо? Сервер гри розсилає зараєстрованим гравцям HTTP GET запити, в яких міститься властивість "board" з інформацією про ігровий світ, а у відповідь на цей запит отримує text/plain, в якому у рядковому вигляді міститься інформація про напрям при наступній операції.<div class="" style="clear: both; text-align: left;">
Порядок дій:</div>
<div class="" style="clear: both; text-align: left;">
1. Створюєм веб - сервер, який буде слухати усі запити, на стандартному порту, перевіряєм запити на адекватість:</div>
<div>
<ul>
<li>Чи містить запит властивість "board".</li>
<li>Чи "board" є пропорційною визначеному розміру поля.</li>
<li>Якщо перевірки не проходять, арвертаєм відповідь, що все погано.</li>
</ul>
</div>
<div style="margin: 5px 20px 20px;">
<pre class="alt2" dir="ltr" style="border: 1px inset; display: table; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;">var http = require('http');
var BOARD_SIZE = 15;
http.createServer(function (req, res) {
var request = require('url').parse(req.url, true);
board = request.query.board;
if(!board){
res.writeHead(400, {'Content-Type': 'text/html'});
res.end("
No board parameter!");
return;
};
if(board.length % BOARD_SIZE) {
res.writeHead(400, {'Content-Type': 'text/html'});
res.end("
Bad board parameter!");
return;
};
});
}).listen(8888, '127.0.0.1');
</pre>
</div>
<div class="separator" style="clear: both; text-align: left;">
2. Спочатку був застосований тривіальний синхронний підхід, але оскільки node.js дозволяє неблокуючі операції вводу - виводу - асинхронні самураї не можуть цим не скористатися.</div>
<div>
<ul>
<li>В тілі нашого "сервлета" звертаємось до функції , яка форматує ігровий світ - "board", асинхронно виводить цей ігровий світ у консоль, а коли буде отримана відповідь, її буде записано у відповідь нашого клієнта.</li>
</ul>
</div>
<div style="margin: 5px 20px 20px;">
<pre class="alt2" dir="ltr" style="border: 1px inset; display: table; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;"> split(board, function(board) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(answer.getAnswer(board));
});
</pre>
</div>
<div class="separator" style="clear: both; text-align: left;">
3. А ось і сама функція яка буде займатись вище зазначеними діями:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<ul>
</ul>
</div>
<div style="margin: 5px 20px 20px;">
<pre class="alt2" dir="ltr" style="border: 1px inset; display: table; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;"> var split = function (board, callback) {
var splitBoard = function(board, callback) {
var result = '';
var temp = board;
for(var i = 0; i < BOARD_SIZE; i++) {
result = result + temp.substring(0,BOARD_SIZE) + '\n';
temp = temp.substring(BOARD_SIZE);
}
callback(result);
return result;
}
//Anonymous function for asynchronous printing formatted board to console;
board = splitBoard(board, function(board) {
console.log(board);
});
callback(board);
}
</pre>
</div>
<div class="" style="clear: both; text-align: left;">
4. Відповідь для розвантаження підключаєм з іншого файлу, базово реалізуємо повороти в різних напрямах:</div>
<div class="" style="clear: both; text-align: left;">
answer.js</div>
<div style="margin: 5px 20px 20px;">
<pre class="alt2" dir="ltr" style="border: 1px inset; display: table; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;">
var direction = require('./direction');
//implementation of simple random response
exports.getAnswer = function (board) {
var random = Math.floor(Math.random()*4)+1;
if (random === 1) {
return direction.RIGHT;
}
if (random === 2) {
return direction.LEFT;
}
if (random === 3) {
return direction.UP;
}
if (random === 4) {
return direction.DOWN;
}
}
</pre>
</div>
<div class="" style="clear: both; text-align: left;">
5. Константи зберігаєм у файлі:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.dumpaday.com/wp-content/uploads/2012/08/when-you-dont-know-what-you-are-doing-its-best-to-do-it-quickly-funny-picture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="" style="clear: both; text-align: left;">
directions.js </div>
<div style="margin: 5px 20px 20px;">
<pre class="alt2" dir="ltr" style="border: 1px inset; display: table; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;">
//Directional constants;
exports.UP = "UP";
exports.DOWN = "DOWN";
exports.LEFT = "LEFT";
exports.RIGHT = "RIGHT";
</pre>
</div>
Результатом нашого дійства ствло отаке от представлення.*<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCjbdknawPGbRwTKa6p79dcFSiPpUokTEmYz08cjucBo54vAz2kIIWYXrCbpnfRUKH-xDXlpzBGfMo8NQrKH-zkqTLAXm0zMzVCzMNbhv4H_XyUBAz3IzHayb3m6NyhCx9VxW79nfHHhy/s1600/snake.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCjbdknawPGbRwTKa6p79dcFSiPpUokTEmYz08cjucBo54vAz2kIIWYXrCbpnfRUKH-xDXlpzBGfMo8NQrKH-zkqTLAXm0zMzVCzMNbhv4H_XyUBAz3IzHayb3m6NyhCx9VxW79nfHHhy/s1600/snake.png" /></a></div>
<br /><br />
От і все, дякую за увагу, програма працює, цілісні ресурси можна знайти на github:
<a href="https://github.com/ntvf/snake-dojo-jsclient" target="_blank">snake-dojo-jsclient</a>
<br />
<br />
*в залежності від налаштувань командного рядка можуть бути різні картини.<br />
<br />Anonymoushttp://www.blogger.com/profile/17730601884646098618noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-89791449005607463502013-03-18T17:21:00.002-07:002013-03-19T00:38:30.634-07:00Тіні забутих предків, або капсула нащадкам.<div align="right" style="text-align: center;">
"Жодну систему неможливо зрозуміти, не вийшовши за її межі" </div>
<div style="text-align: right;">
Вчитель хімії, 11 клас.</div>
<div style="text-align: left;">
Як не парадоксально, але не можна систему зрозуміти і ззовні, не побувавши всередині. Тренінг GL, як не крути, є візуалізацією системи - не чорного ящика, а біологічним організмом, зі своєю лінню, героями, планетами та риторичними запитаннями.<br />
<br /></div>
<div style="text-align: left;">
Пропустивши вступне заняття, прийшлось проходити квест по пізнанню системи. Способом дедуктивного аналізу була отримана інформація від учасників тренінгу - представників інтелігенції з різних куточків нашої прекрасної країни. Ніхто з нас конкретно не знав нащо ми тут і що буде в перспективі далі...<br />
<br /></div>
<div style="text-align: left;">
Хотілось би показати як відбувається знайомство з тренінгом для новачка і на що їм звернути увагу:</div>
<div>
<ol>
<li>Після додаванняння менторів (<a href="http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D1%80%D0%B0">сим. означення</a>) у skype, в нас з'явився чудовий email та пароль до нього, а отже і доступ до репозиторію, куди можна заливати код на конструктивний аналіз.</li>
</ol>
</div>
<ul>
<li>через web-інтерфейс неможна завантажувати файли, тільки створювати папки.</li>
</ul>
<ul>
<li>web-інтерфейс для перегляду, клацати по дивним не зрозумілим посиланням немає сенсу. </li>
</ul>
<ul>
<li>на даному етапі саме головне не спішити і не хвилюватись тим, хто вперше бачить google code.</li>
</ul>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i047.radikal.ru/1109/71/adc6a6116728.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="229" src="http://i047.radikal.ru/1109/71/adc6a6116728.jpg" width="320" /></a></div>
<div style="text-align: left;">
2. Перш за все потрібно зайти на пошту і <strike>згадати все</strike> подивитись листи, все що там є - було колись надіслано вашим і нашим попередникам.</div>
<ul>
<li>найголовніше подивитись відео в перших листах, яке відразу відкриє вам на все очі та позбавить сотні запитань для менторів.</li>
</ul>
<ul>
<li>старий code review спочатку можна не дивитись, але взагалом дуже конкретний навчальний матеріал.</li>
</ul>
3. Читати вчасно роздані методички.<br />
<ul>
<li>методички є дуже потужним матеріалом для саморозвитку, кожне слово несе важливий зміст та викинути його неможна.</li>
</ul>
<div>
<ul>
<li>як поводитись з репозиторієм, ссилки на матеріали теж тут.</li>
</ul>
<ul>
<li>текст методичок краще занотовувати і <strike>передавати дітям у спадок</strike> перечитувати через деякий час для кращого запам'ятовування.</li>
</ul>
4. Писати свій і читати чужий код для рев'ю, рев'ю, рев'ю,
рев'ю... <br />
<div>
<ul>
<li>продуктивніше почитати чужого коду, потім взяти ручку та зошит і придумати свою архітектуру з блек-джеком та дівчатами.</li>
</ul>
5. Спробуйте писати на блозі тренінга, який з самого початку буде вам відомий!<br />
<br />
Цікаво хто вони і де вони - наші далекі предки? Де будемо ми, коли наступне покоління прочитає ці слова.<br />
Дякую за увагу, наступного разу буде щось практичніше і філософське.</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/17730601884646098618noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-61792902427842523352012-10-19T06:29:00.001-07:002012-10-19T06:29:19.565-07:00Игрались в Snake Dojo<div dir="ltr" style="text-align: left;" trbidi="on">
На этот раз мы встретились, чтобы поуправлять змейкой.<br />
<br />
Собралась не вся команда, но это не страшно. Те ребята, которые были с нами расскажут своим коллегам как им было, и я уверен, на следующий раз соберутся все.<br />
<br />
А ще мы договорились, что доджо на следующей неделе пройдет только, если будет готово то, о чем мы договаривались в прошлый раз - рабочий покемон. Утром Demo вечером Dojo.<br />
<br />
Но вернемся к игре. На этот раз мы учили змейку собирать яблочки, но при этом не кушать себя.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqucDiE2mWJvuPtGw9pyGzl7tMTQohh0VSHy7dOtiMibMquu84LTixOK6PJDQ5QGyEfJ9ipcTnuBrRuLI8WTjD1ZwSFUXX4Tir9Lh0xTM-oXbtn6gBE6xFE1BDryI_yUw1VE_oJ1vfLO8/s1600/DSC_4923.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqucDiE2mWJvuPtGw9pyGzl7tMTQohh0VSHy7dOtiMibMquu84LTixOK6PJDQ5QGyEfJ9ipcTnuBrRuLI8WTjD1ZwSFUXX4Tir9Lh0xTM-oXbtn6gBE6xFE1BDryI_yUw1VE_oJ1vfLO8/s640/DSC_4923.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjD9aaNENCbZV1WOcRUj_MPcpe-gwqR3QriceXeVRggpJFvq3dQhAFHhacvwowurK2EDBd6xvf_8_J4Kotmu4VhyphenhypheniSd6BdP40affmTlqFDHXg6m3lVTMnmUwMA5LxBXDzVcA_3M8FwkgQ/s1600/DSC_4928.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjD9aaNENCbZV1WOcRUj_MPcpe-gwqR3QriceXeVRggpJFvq3dQhAFHhacvwowurK2EDBd6xvf_8_J4Kotmu4VhyphenhypheniSd6BdP40affmTlqFDHXg6m3lVTMnmUwMA5LxBXDzVcA_3M8FwkgQ/s640/DSC_4928.JPG" width="640" /></a></div>
<br />
2 часа работы в паре. Вот они - эмоции! <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWJPLaqE_a2gO40_CMsyLqqd_D6f7XMM2jzrb5GWUMJBYHNSK6KdhMg8IenWAnQ0EBtXEzCrQ6EwnXXiatIKCTmtN1fbRfjyNOjRKva-3rIGTWhPlM30Vk_1djBuBbM8kCaVvF4jG198/s1600/DSC_4918.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWJPLaqE_a2gO40_CMsyLqqd_D6f7XMM2jzrb5GWUMJBYHNSK6KdhMg8IenWAnQ0EBtXEzCrQ6EwnXXiatIKCTmtN1fbRfjyNOjRKva-3rIGTWhPlM30Vk_1djBuBbM8kCaVvF4jG198/s640/DSC_4918.JPG" width="640" /></a></div>
<br />
А вот и другая пара - тут игра более спокойная.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiessHauyZhEyFZqQZCWhK15Wbm3-wvuv1PwMnq_xnMIyPLmY1wdOXoO-fdLCRbo4_HHdjmRjGyaoiQD0LVYfUQfTXisO9czaiNdnI9Uo1nvfWqDcdGTxmcRW9nwZByZnwTDImDVWNxBj8/s1600/DSC_4919.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiessHauyZhEyFZqQZCWhK15Wbm3-wvuv1PwMnq_xnMIyPLmY1wdOXoO-fdLCRbo4_HHdjmRjGyaoiQD0LVYfUQfTXisO9czaiNdnI9Uo1nvfWqDcdGTxmcRW9nwZByZnwTDImDVWNxBj8/s640/DSC_4919.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-8eS-IxP8uKZLunX1XIUyeDtVYMGBEFIbE1vrQC-xjS1QPe8AW0Bh85scbYCWLCKY7ERGU0-E26IcF81HkLs-mtsHdvtZMLKgpyOpk6cQXoH-0I7uA8NkDiIRCPorutjr2E95QK4853I/s1600/DSC_4927.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-8eS-IxP8uKZLunX1XIUyeDtVYMGBEFIbE1vrQC-xjS1QPe8AW0Bh85scbYCWLCKY7ERGU0-E26IcF81HkLs-mtsHdvtZMLKgpyOpk6cQXoH-0I7uA8NkDiIRCPorutjr2E95QK4853I/s640/DSC_4927.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVrNVhdBQ8-9CchlIxsgGNRAYYtH9aJpA2Ni0nI019gIWZpQ23ZnKsXZUoCsKVvL71b5YjZxRelz9xiaJ6enmdBS4CImzbzXIGerHeHpyT_lrvw5OK-CL8y4IvZvQ0gnZnzpM_v5NgdBY/s1600/DSC_4933.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVrNVhdBQ8-9CchlIxsgGNRAYYtH9aJpA2Ni0nI019gIWZpQ23ZnKsXZUoCsKVvL71b5YjZxRelz9xiaJ6enmdBS4CImzbzXIGerHeHpyT_lrvw5OK-CL8y4IvZvQ0gnZnzpM_v5NgdBY/s640/DSC_4933.JPG" width="640" /></a></div>
<br />
С нами играли даже наши преподаватели!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWMNHalysLOOhQ4pxv5HYcwbDfFeyhy7xsGpPsnuzP94JS4kpB-FT9bqtQsHdxARSspP3NXGB98sKneJifWk2j5bP9tn9OprPwATv4ChWeI8bWg4tOmUIrVmZNvzyOitxUBd-fiHSWEDc/s1600/DSC_4916.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWMNHalysLOOhQ4pxv5HYcwbDfFeyhy7xsGpPsnuzP94JS4kpB-FT9bqtQsHdxARSspP3NXGB98sKneJifWk2j5bP9tn9OprPwATv4ChWeI8bWg4tOmUIrVmZNvzyOitxUBd-fiHSWEDc/s640/DSC_4916.JPG" width="640" /></a></div>
<br />
А я фиксил баги :)<br />
<br />
Спасибо ребята за участие!
</div>
А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-38462319587910568172012-09-30T09:41:00.000-07:002012-09-30T09:42:41.924-07:00Новая итерация<div dir="ltr" style="text-align: left;" trbidi="on">
Не так давно произошла еще одна встреча - после летних каникул мы собрали всех ребят вместе с новенькими желающими и устроили перекличку. Кто-то уже устроился в GlobalLogic на работу, кто-то решил еще немного остаться и повариться на нашей кухне.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC_w74Jf6gzGrFhlVBbnLpIXAcI6vnpfWTx1YFr9PZc_Dbfx9L72Ha2Iuj0fO1c9XcnHMCTrEhz00BhDNSp5mVVb6Llg68pVGxCBgn2cC2ms5egiauHQSDU1NgNy1dfV8LvIoTSrBM0Rc/s1600/DSC_3562.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC_w74Jf6gzGrFhlVBbnLpIXAcI6vnpfWTx1YFr9PZc_Dbfx9L72Ha2Iuj0fO1c9XcnHMCTrEhz00BhDNSp5mVVb6Llg68pVGxCBgn2cC2ms5egiauHQSDU1NgNy1dfV8LvIoTSrBM0Rc/s640/DSC_3562.JPG" width="640" /></a></div>
<br />
<br />
В любом случае у нас есть незаконченное дело - наш проект-покемон. Он сейчас некомпилируем. Ребята, которые знали о том, как работают некоторые важные модуля уже не учатся с нами. Что делать? Настроение команды "все бросить и начать заново", но где гарантия, что через два месяца у нас снова не будет в репозитории какой-то другой некомпилируемый проект?<br />
<br />
А ведь это реальная задача из реального коммерческого проекта - есть какой-то проект (скорее модуль) которй ты видишь впервые. Его писал неизвестно кто, которого уже давно нет на прокте (или есть но он уже не помнит, что там и как). Документации нет. Тесты хоть и есть, но доверять им пока страшно. С чего начать непонятно. Есть только команда.<br />
<br />
Мы провели небольшую ретроспективу организации прошлых итераций и решили, что ребятам в плане выбора даты и времени встреч демократия только мешает - сели тут же и решили, когда и как ребята будут встречаться.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhqoB4NBEE3thdFr3GB6pPk6euaEyCCBUbibPOnMmCNCfvDNa1eA1H1RcFsfykZFvE48BSRkQJLBy50z9kB6yEwFy-PkyveCvLBdGJsn92Lsvsd-rjVHM-kp0t0rtCBno1Cina8KvdsoE/s1600/DSC_3561.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhqoB4NBEE3thdFr3GB6pPk6euaEyCCBUbibPOnMmCNCfvDNa1eA1H1RcFsfykZFvE48BSRkQJLBy50z9kB6yEwFy-PkyveCvLBdGJsn92Lsvsd-rjVHM-kp0t0rtCBno1Cina8KvdsoE/s640/DSC_3561.JPG" width="640" /></a></div>
<br />
Так же разбились на пары. Получилось очень даже складно - 4 пары (новенький + бывалый).<br />
<br />
Я заметил, что ребята, которые уже "бывалые" более смелые, чем новенькие, больше проявляют лидерские задатки, хотя пару месяцев назад были "новенькими" и боялись слова сказать. Это очень радует, ведь следующий этап - собеседование, а потом хардкор тренинг на котором либо пан либо пропал. За софтскилзами ребят будут смотреть очень пристально, так что наша задача научиться не только Java но и прокачаться в soft skills как можно сильнее. Потому ребятам сразу была поствлена задача - через неделю привести код к компилируемому виду и каждой паре знать про назначение каждого класса системы, уметь поднимать его и провести демо. И делать они это будут самостоятельно - нет мы будем конечно же рядом, чтобы не дай Бог никто не утонул.<br />
<br />
И пусть у Ребят все получится. Успехов!</div>
А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-68573540266922838502012-07-15T23:53:00.000-07:002012-07-15T23:53:44.994-07:00Второе демо<div dir="ltr" style="text-align: left;" trbidi="on">
Второе демо прошло успешно. На этот раз органов у покемона стало больше и приложение превратилось из консольного в полноценное web. Даже базу данных прикрутили!
<br />
<br />
Еще, на собрании мы рассмотрели несколько тем, касающихся планирования - <a href="http://planningpoker.com/">http://planningpoker.com/</a><br />
<br />
<br />
<center><object data="http://dl.dropbox.com/u/11842832/Blog/Panoramas/uflvplayer_500x375.swf" height="480" type="application/x-shockwave-flash" width="640"><param name="bgcolor" value="#f5f5f5" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="movie" value="http://dl.dropbox.com/u/11842832/Blog/Panoramas/uflvplayer_500x375.swf" />
<param name="FlashVars" value="way=https://dl.dropbox.com/u/11842832/Blog/java-cook-room/demo2.mp4&swf=http://dl.dropbox.com/u/11842832/Blog/Panoramas/uflvplayer_500x375.swf&w=667&h=566&pic=http://&autoplay=0&tools=2&skin=none&volume=60&q=&comment=" />
</object></center><br />
<br />
и несколько burndown chart, которые мы разбирали как пример <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt_kDxnGF9Qy683JI-wGZ4BiRUKo7Rh8vcGJiFdXPopVdN_Hw6P3bTN2GIBd21I5SfzWE6EpIuVWD_6d7hGbO07Iq341kHwCMyBuSCuFaBLrdsj24gwGs0XM30z26iBvPtmLx6MGN4Zww/s1600/gh-agilegadget.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt_kDxnGF9Qy683JI-wGZ4BiRUKo7Rh8vcGJiFdXPopVdN_Hw6P3bTN2GIBd21I5SfzWE6EpIuVWD_6d7hGbO07Iq341kHwCMyBuSCuFaBLrdsj24gwGs0XM30z26iBvPtmLx6MGN4Zww/s400/gh-agilegadget.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy6d_4dw4d70Aq0rPdk6XDo8WVkP8Ainu5Sd_su1iuzkoqbtRr3M-hf_aqV_l5kEUHzLGg5f9MUVhrXWJXg6ThBYkZH2S5mUqS0tHvfAL7pj7k7Tr4TBme-E08dtPYf28ldE0R_ZG7QdA/s1600/jira-burndown-chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy6d_4dw4d70Aq0rPdk6XDo8WVkP8Ainu5Sd_su1iuzkoqbtRr3M-hf_aqV_l5kEUHzLGg5f9MUVhrXWJXg6ThBYkZH2S5mUqS0tHvfAL7pj7k7Tr4TBme-E08dtPYf28ldE0R_ZG7QdA/s400/jira-burndown-chart.png" width="400" /></a></div>
Второй особенно наглядный :)<br />
<br />
Кушали пиццы, говорили про будущее программиста.<br />
<br />
Кстати, очень хорошее видео рекомендю посмотреть, буквально каждому айтишнику (<a href="http://jeeconf.com/materials/java-developer/"><b>взято с сайта </b><b><span style="font-size: large;">jeeconf</span></b></a>).<br />
<br />
<br />
<center><object height="450" width="800"><param name="video" value="http://static.video.yandex.ru/lite/xpinjection/atdcua28wk.4506/"><param name="allowFullScreen" value="true"><param name="scale" value="noscale"><param name="flashvars" value="is-hq=true"><embed width="800" height="450" src="http://static.video.yandex.ru/lite/xpinjection/atdcua28wk.4506/" type="application/x-shockwave-flash" allowfullscreen="true" scale="noscale" flashvars="is-hq=true"></object></center>
<br />
<br />
Т.к. нас собралось не много, то полноценный planning мы решили перенести на другой раз, а сегодня просто пообщались.
</div>А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-59554744164865021602012-06-23T03:15:00.000-07:002012-07-15T22:55:11.531-07:00Первое демо<div dir="ltr" style="text-align: left;" trbidi="on">
Хоть мы и планировали первое демо через неделю, но недели оказалось мало, потому ребята поработали еще неделю и показали очень хороший результат. <br />
<br />
<br />
<center><object data="http://dl.dropbox.com/u/11842832/Blog/Panoramas/uflvplayer_500x375.swf" height="480" type="application/x-shockwave-flash" width="640"><param name="bgcolor" value="#f5f5f5" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="movie" value="http://dl.dropbox.com/u/11842832/Blog/Panoramas/uflvplayer_500x375.swf" />
<param name="FlashVars" value="way=https://dl.dropbox.com/u/11842832/Blog/java-cook-room/demo1.mp4&swf=http://dl.dropbox.com/u/11842832/Blog/Panoramas/uflvplayer_500x375.swf&w=667&h=566&pic=http://&autoplay=0&tools=2&skin=none&volume=0&q=&comment=" />
</object></center><br />
По правилу вчерашней погоды, решили, что следующая итерация будет так же размером в две недели. <br />
<br />
Т.к. у нас все работают в парах, и мы обещали помиксоваться, то в этот раз так и сделаем. В прошлой итерации каждая пара работала над своим модулем и договаривались об интерфесах между ними. <br />
<br />
Теперь каждая пара работает над своей фичей. Но новые фичи не берем, пока не причешем свой код - на этой встрече было высказано некоторое число замечаний по коду и этот технический долг желательно устранить немедля.
<br />
<br />
Какие фичи "господин" хотел бы увидеть на этот раз? <br />
- Количество органов увеличить: сердце, желудок, легкие - ворпросы влияют на эти органы, и по ним так же выдаются советы<br />
- Консультант будет выдавать корректные советы в зависимости от того, какой орган больше всего страдает. <br />
- Я могу работать с прилождением через web (можно захостить его на google apps)потому что не хочу набирать текст - номер варианты ответа, а хочу кликнуть на страничке в браузере. <br />
- Все ответы хранятся в базе данных, а не захордкоджены в коде. (ребята очень хотели :) )<br />
- История жизни покемона, логгируется и сохранятеся текущее состояние - то есть я могу приходить к программе еще раз и еще раз, и если я веду нездорвый образ жизни, то моему покемону будет все хуже и хуже...<br />
<br />
Мы решили, что заведем бэклог и на следующий раз попробуем пленнинг поккер. А посему книжечка <a href="http://habrahabr.ru/post/47910/">"Скрам: заметки с передовой"</a> must read за время этой итерации.</div>А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-49241865566598360712012-06-20T07:19:00.000-07:002012-07-12T06:26:50.488-07:00Отзывы наших выпускников<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Мне java тренинг понравился. Понравилось то, что была "куча" полезного материала - можно, конечно, этот материал и самому найти, но тут уже найден, разложен по полочкам, а ты сиди и учись просто, а если что-то непонятно всегда моожешь спросить у преподавателей или у кураторов. Понравилось их желание научить, возможно не все получилось что запланировали, но видно было желание научить - это очень хорошо.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Одним из самых запоминающихся событий тренинга был сбор на coding dojo. В ходе которого, мы поделились на команды из 2 человек и соревновались между собой. Дух соперничества очень ускоряет мысли в голове, все идеи как-то структуризируются и ты примерно знаешь как делать задание. И надо его быстро делать :) Вначале мы даже вышли вперед по очкам, но в итоге нас ребята обогнали. Зато остались не последние:) Было интересно и полезно. Спасибо GlobalLogic за это.</div>
<div style="text-align: right;">
<b>Тимур </b><br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Итак, отзыв. В общем и целом курсы очень хороши, причины следующие:</div>
<div style="text-align: justify;">
<br />
1) Если треннинг по Java, то он действительно по этому языку. Я участвовал в Java-тренинге, где прожили на С, С++ и Пайтоне, при чем не используя здравый смысл в выборе заданий.</div>
<div style="text-align: justify;">
<br />
2) Есть программа, есть четкая структура и отобраные материалы. В целом подход "вот задание, а вот тут лежит инфа" для меня самый действенный. Также толковый ментор, и митинги с обсуждением каких-то не книжных аспектов это очень хорошо. Чем глубже, тем меньше или менее толково пишут в книгах/гугле.</div>
<div style="text-align: justify;">
<br />
В целом наличие программы позволило самообучаться в моем темпе, не ожидая всю группу, а также упорядочить уже имеющиеся знания. Также я увидел где в них пробелы и устранил:)</div>
<div style="text-align: justify;">
<br />
Касательно ментора, очень хорошо, что на митингах устраняются возникшие вопросы, а не производится троллинг учасников.</div>
<div style="text-align: justify;">
<br />
Очень понравилось кодинг доджо, соревнование это всегда хорошо, а если против своих же преподавателей-то вдвойне. Хочу еще :)<b> </b></div>
<div style="text-align: right;">
<b>Василий </b><br />
<br />
<div style="text-align: justify;">
Тренинг по Java Core в КПИ мне очень понравился. С самого начала приятно
удивила нормальная организация процесса - в начале тренинга каждый
учасник получил свой аккаунт для доступа к репозиторию, email.<br /><br />Второй
и одной из самый прятных неожиданностей стала сама организация
материала. Полезные ссылки, статьи, список книжек с указанием глав и
СТРАНИЦ, которые можно почитать - я, тогда уже студентка 5-го курса, с
таким столкнулась впервые. ))) Вообщем, все на блюдечке. Осталось только
написать код и ждать код ревью от менторов или своих напарников. Плюс
все непонятные моменты можно уточнить на встречах вживую или в
скайп-группе.<br /><br />В итоге, я осталась очень довольна, что не
поленилась вовремя записаться. Плюс для меня этот тренинг стал
старт-площадкой для JEE тренинга уже в GLOBALLOGIC.<br /><br />Тренинг в
Глобале ориентиован на изучение enterprise-технологий, а хорошую опорную
базу для него может дать именно тренинг по кору в КПИ. На нем я поняла
много важных моментов о паттернах проектирования, рефакторинге кода,
TDD, которые помогли мне делать новые таски намного быстрее.<br /><br />Вообщем, спасибо всем, кто приложил руку к тому, что на ФПМ теперь появились такие полезные курсы. )))
<b></b></div>
<div style="text-align: right;">
<b>Антонина</b></div>
</div>
</div>
</div>А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com1tag:blogger.com,1999:blog-5611859963763354382.post-52746230432204496762012-06-07T07:48:00.000-07:002012-06-07T09:17:23.634-07:00Самая энергососущая часть - планирование<div dir="ltr" style="text-align: left;" trbidi="on">
<span lang="RU">С момента написания прошлого
поста прошло две встречи. На позапрошлой встрече мы брейнстормили идеи, а на
прошлой ребята собрались для того, чтобы окончательно выбрать идею, которую
будут реализовывать в контексте </span>java<span lang="RU"> тренинга. Там же ребята разбились на пары. Мы договорились, что пары будут
миксовать</span><span lang="UK">с</span><span lang="RU">я каждую недельную итерацию - как фичами
так и напарниками. Итак, выбор сделан, а на сегодня пары принесли свои
наработки в направлении идеи. Кто что сделал. Кто как. Но было очень интересно
наблюдать за демками ребят. Судя по всему не только мне :) </span><br />
<span lang="RU"><br /></span><br />
<table><tbody>
<tr><td><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir4UQ64l3Awoyo5Ssy8FZrgwP1NyLD36alC7xQucuvFYtYEOaglKsGw444GTa4Xw6fpYIZGl7POEEGoui6toZHIpqm6c0IDKTet5TVGcsm64giBVKd9P5qCYEXdKHrytBSphohSMG0gyI/s1600/IMG_0134.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir4UQ64l3Awoyo5Ssy8FZrgwP1NyLD36alC7xQucuvFYtYEOaglKsGw444GTa4Xw6fpYIZGl7POEEGoui6toZHIpqm6c0IDKTet5TVGcsm64giBVKd9P5qCYEXdKHrytBSphohSMG0gyI/s320/IMG_0134.JPG" width="320" /></a></div>
</td><td><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsf06EBIVoHrFyGUqikGIK66fTAQW0EqJRTd4E6zyCLgCQXmSKXK6JtEgKUA6vxNv9KBPfTDZtHeAg2eNUQtOpHW7yZTyFsEuDyUrkLsEkeUxsHnKCnOWYxBXQ7a87q_P6fRzYPSuKQl0/s1600/IMG_0135.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsf06EBIVoHrFyGUqikGIK66fTAQW0EqJRTd4E6zyCLgCQXmSKXK6JtEgKUA6vxNv9KBPfTDZtHeAg2eNUQtOpHW7yZTyFsEuDyUrkLsEkeUxsHnKCnOWYxBXQ7a87q_P6fRzYPSuKQl0/s320/IMG_0135.JPG" width="320" /></a></div>
</td></tr>
</tbody></table>
<br />
<span lang="RU">Был и браузер, который подсчитывает,
сколько времени человек просидел за тем или иным сайтом (причем можно указывать
какие сайты вредные, а какие полезные). Было несколько консольных коучей,
которые спрашивали: что ел, смотрел в браузере или чем занимался юзер, с
последующей выдачей рекомендацией этому несчастному юзеру. Был и персональный
консольный календарик-пинарик. Были попытки эмулировать био-процессы в организме
человека, к слову сказать проект этот мы окрестили "проект тамагочи"
и взяли за основу в результирующем проекте. Но чтобы получить его..</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFSQW6kHUaawAIBsvr0IsJhkP9tvGynlAPlgh0EdTud7-5veKQL6mJOlELA9I-LbXgFiotpc4w4wUMW-rSRpkMAeVL0XI3v2Jv4EX0EgKzEX-XI_owMKBpnXP-3AGGPHjIMF6upPUZQTQ/s1600/IMG_0133.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFSQW6kHUaawAIBsvr0IsJhkP9tvGynlAPlgh0EdTud7-5veKQL6mJOlELA9I-LbXgFiotpc4w4wUMW-rSRpkMAeVL0XI3v2Jv4EX0EgKzEX-XI_owMKBpnXP-3AGGPHjIMF6upPUZQTQ/s400/IMG_0133.JPG" width="400" /></a></div>
<br />
<span lang="RU">Холиварили мы много. И так
давайте. И так. В какой-то момент мы решили, что кто-то один должен взять на
себя бразды правления (продактовнерство) и окончательно озвучил, что он хочет
видеть в первой итерации, которой мы выбрали 1 неделю. Я как пользователь хочу
ответить на ряд несложных вопросов (что ел, что пил, занимался ли спортом, как
отдыхал, чем нагружал мозг сегодня) и получить в результате текущие
характеристики моего покемона (покемон - тут, это мой организм): какие органы в
каком состоянии (взяли печень и мозг, для начала) и рекомендации электронного специалиста
по улучшению состояния здоровья, который проанализирует текущее состояние
покемона и мои ответы. Пока никакая информация не запоминается - утром покемон родился,
а вечером умер.</span><br />
<br />
<span lang="RU">Дальше мы будем развивать эту
программулю-игрулю в таком русле. У юзера будет возможность скачивать себе
всевозможные плагины. Например, плагин </span>timemanagement<span lang="RU">, который будет, допустим, учить тебя бережно
относиться ко времени. Плагин достижения целей, в котором ты сможешь расставить
свои цели и добиваться их. Будет плагин здоровой жизни, который мы начнем в
первом релизе. И так далее... Каждый из этих плагинов будет конфигурироваться
персональными настройками игрока, либо выкачан из сети – например, конфиг:
научиться кататься на роликах за 2 месяца. Изюминкой, вокруг которой все будет
крутиться - это покемон, который является живым организомом, который растет и
развивается, перенимая привычки пользователя, его образ жизни, за которым можно
наблюдать. Например, у него может быть сутра плохое настроение или отсутствие
желания работать - он то знает, что всю неделю до этого пользователь спал всего
по 3 часа в сутки и ел фастфуд... А еще ценность в консультанте, который
говорит, как исправить ситуацию - персональный коуч чтоли... Естественно, это
все с интеграцией в соцсети и все такое :)</span><br />
<br />
<span lang="RU">Кроме функциональных требований
были так же и нефункциональные. У ребят страдал </span>java code convections<span lang="RU">, а так как мы стартуем проект не на одну
неделю, то </span>code quality<span lang="RU"> должно стоять во главе угла. Так же это
все дело надо будет покрыть интеграционными тестами - так мы еще с </span>junit<span lang="RU"> познакомимся. Еще все наработки ребят
надо слить воедино в один репозиторий. Для этого мы декомпозировали задачу на объекты,
и каждая пара получила себе по объекту. Как объекты будут коммуницировать между
собой, ребята решат уже во время разработки.</span><br />
<br />
<span lang="RU">Очень много </span>fun<span lang="RU"> вызвал этап, на котором мы работали с
метафорами - каждому объекту мы придумывали яркий образ, чтобы ребята точно
знали, какой объект какой ответственностью обладает. Среди персонажей были
такие. Бабушка библиотекарь, которая уже плохо воспринимает все новое, но зато
всю жизнь прокачивалась в читальном зале выдавая книги - к ней можно обратиться
за информацией, но что либо попросить ее нереально - забудет. Бабушка будет
отвечать за подборку вопросов юзеру и рекомендации консультанта - она их
хранилище.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkhu8EvmK6aN7jEUN7dehuOBPZV4X05yavgjgAgBx9Qap68zrEkebKgnOXtFFAngZpEOxxrYSfXUA3YDkombhGOxEb-BHU95kPoNF0JL0rjGlj9FuAz-reJXgs_voy2g7g2zOvfkiuBHo/s1600/IMG_0136.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkhu8EvmK6aN7jEUN7dehuOBPZV4X05yavgjgAgBx9Qap68zrEkebKgnOXtFFAngZpEOxxrYSfXUA3YDkombhGOxEb-BHU95kPoNF0JL0rjGlj9FuAz-reJXgs_voy2g7g2zOvfkiuBHo/s320/IMG_0136.JPG" width="240" /></a></div>
<br />
<span lang="RU"></span><br />
<span lang="RU">Следующий персонаж - собственно
тамагочи, который будет жить и поддаваться всякими внешними обстоятельствами. У
него есть органы, настроение и все такое.</span><br />
<br />
<span lang="RU"></span><br />
<span lang="RU">Каждый раз когда юзер заходит в
программу и говорит, что сделал сегодня, то эту всю информацию агрегирует злой
коллектор, который потом навешает люлей бедному тамагочи, так что ему станет
несладко (ну если конечно есть что попало и пить что попало). Куда и сколько
коллектор решит на основе вредности, которую приносит тот или иной ответ.
Информация о вредности у бабушки библиотекаря.</span><br />
<br />
<span lang="RU">Есть еще консультант. Который в
самом конце придёт в пиджачке с галстучком акуратненько посмотрит на бедного
покемона и посмотрит, как юзер отвечал на вопросы и возьмет у бабушки
библиотекаря ряд рекомендаций на такой случай и выдаст их. Их юзер и получит.</span> <span lang="RU"></span><br />
<span lang="RU">Возле каждого объекта (или пакета)
должен быть такой яркий образ, чтобы потом не было вопроса "а куда мне
этот метод засунуть?" или "кто кого должен вызывать?" или
"куда поместить новый класс/ответственность?". Посмеялись и ладно.</span><br />
<br />
<span lang="RU">Каждой паре досталось по объекту
(или пакету) но остались три пары, которых не чем было занять. Решили выделить
в команде еще три роли. Кодревьюверы - нытики-занудики, которые будут троллить
код своих коллег. Тимлидеры - двое ребят, которые отвечают за интеграцию кода и
команды и то, чтобы демо прошло успешно. Рндишники - ребята, который в этой
итерации работают над </span>RnD<span lang="RU">
того, что пригодится в будущей итерации.</span> <span lang="UK">Все пары после превой итерации будут миксоваться. </span><span lang="RU"></span><br />
<br />
<span lang="RU">Итерация размером в неделю.
Ребята собираются, как хотят, но один раз все же должны на пару часов собраться
вместе в одной комнате и поработать немного </span>collocated<span lang="RU">. </span><br />
<br />
<span lang="RU">Приемка на демо - интеграционные
тесты симулирующие общение юзера с такой системой, ну и может легкая консольная
обертка.</span><br />
<br />
<span lang="RU">Ну, вот как бы и все... </span><br />
<div class="MsoNormal">
<br /></div>
</div>А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com0tag:blogger.com,1999:blog-5611859963763354382.post-39757882289248276612012-05-31T04:48:00.000-07:002012-05-31T04:48:31.751-07:00Мы брейнстормили идеи для стартапа<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
Вчера состоялась вторая встреча со студентами КПИ, которые захотели поизучать джаву вместе с нами. Мы пару часов брейнстормили тему проекта, который студентам, как команде предстоит "запилить" в ближайшие летние каникулы.<br />
<br />
Проект будет максимально приближен к реальному - заказчики, процесс, итерации, деливери, демо, планирование, ретроспектива. Цель - получить fun и помочь ребятам получить первый опыт командной разработки, научиться джаве и как следствие попасть в большую компанию.<br />
<br />
Первая встреча прошла еще в понедельник, на ней мы не участвовали - ее провели наши коллеги преподаватели из кпи - Андрей Петрашенко и Денис Замятин. Там студенты впервые встретились вместе. Задание перед студентами стояло такое - необходимо было пройти небольшой квест и выполнить практическое задание. Так мы проверили заинтересованность ребят.<br />
<br />
Вчера же мы посвятили все время генерации идей для проекта. Правила простые: никакой критики, озвучиваем все, что приходит в голову и тут же записываем на доску, денег и времени у нас миллион, а потому любая идея может быть озвучена - никаких ограничений. <br />
<br />
Так, как мы еще не очень хорошо доверяли друг другу (все же первое знакомство), то предложение поступило изначально побренстормить на тему создания игр для программистов - в этой области у нас с Сергеем уже имеется опыт, а потому мы начали с рассказа про суть coding dojo и automated testing dojo. Ребятам понравилось. Кстати, были среди студентов и те, кто уже пробовал подобные форматы: dojo, хакатоны, олимпиады. Так что ребята раскрепостились почти сразу - только успевай записывать :) </div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
Писать на доске
текст было не очень удобно - за несколько лет напрочь потерял навыки :),
а потому после того, как первая итерация брейнсторминга была завершена,
мы вытерли все с доски и уже рисовали на ней идеи студентов. <br />
<br />
<table>
<tbody>
<tr> <td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUFjb4d9_OPr0NbhQpPdoYCno7-w7ILH8XYbQdRHLnSmYjhmMgqjOLPEH-Qfft33cBUdVW-AK_PsxL-L3DaaIfgI4Nzeg2IriLbgJnp8_HPqLhtNtTdcf2FD9DOcYEcuVIE0YuM1cNlnA/s1600/DSC00144.JPG" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUFjb4d9_OPr0NbhQpPdoYCno7-w7ILH8XYbQdRHLnSmYjhmMgqjOLPEH-Qfft33cBUdVW-AK_PsxL-L3DaaIfgI4Nzeg2IriLbgJnp8_HPqLhtNtTdcf2FD9DOcYEcuVIE0YuM1cNlnA/s320/DSC00144.JPG" width="320" /></a>
</td> <td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dVIrkyTIdxLZsus9uRmo6WiMJZWDAkeq7q44slCNcPkvcWhFODpiCsTesEy5WIzn_c5legXRVKBrLb4vpdgtVNwIVx_wY7qEtJTuBKD0I3Rs-3yTEz_qVBm1u6d3wmAEiNIADg9pS6s/s1600/DSC00156.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dVIrkyTIdxLZsus9uRmo6WiMJZWDAkeq7q44slCNcPkvcWhFODpiCsTesEy5WIzn_c5legXRVKBrLb4vpdgtVNwIVx_wY7qEtJTuBKD0I3Rs-3yTEz_qVBm1u6d3wmAEiNIADg9pS6s/s320/DSC00156.JPG" width="320" /></a></td> </tr>
</tbody></table>
</div>
Если быстренько, то суть идеи - написать фреймворчик, который бы позволил программистам моделировать что-то с помощью своих программ, учитывая правила и задания игры, и тем самым зарабатывать очки и штрафы. А вот что моделировать и какие правила игры - мы как раз и брейнстормили. <br />
<br />
Вот некоторые из самых интересных идей, которые были озвучены/записаны/зарисованы:<br />
<br />
<div style="color: purple;">
- создать игру, в которой можно будет программировать разные живые организмы, и пусть выживет сильнейший. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- живыми организмами могут быть модели студентов, которых надо запрограммировать так, чтобы они могли пройти все задания, которые им выдаются в виртуальном вузе и сдать все зачеты у преподавателей. Игру можно было бы назвать - "сдай курсовую" или "угоди преподавателю".</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- а еще одно интересное название - "найди еду" :) - может натолкнет на какие-то мысли...</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- создать соцсеть, в которой можно было бы видеть, кто какими навыками обладает, кто чем может помочь среди учащихся в вузе и с помощью внутренней электронной валюты - системы рейтингов оценивать помощь студентов друг другу. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- игра по изучению английских слов (или слов на любых языках), когда задается последовательность и ее надо запомнить, а потом воспроизвести. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- генератор шпаргалок, который берет текст из книги и по заданным ключевым словам делает выжимку самого интересного, а быть может и сам гуглит чтиво в сети.</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- изучение формул и законов в игровой форме</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- идея "снегового кома", когда соревнуются команды и в режиме эстафеты каждому участнику предстоит написать код и передать его дальше на дополнение своему коллеге. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- программа по автоматическому исправлению гуанокода. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- игра, в которой надо будет расшифровать сложный запутанный код и понять в чем его суть. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- программа, которая будет переделывать код лабораторных работ в уникальный код, чтобы преподаватель и глазом не моргнул</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- программа, которая моделирует разные ситуации на дороге и игрокам, изучающим правила дорожного движения надо быстро закодить ту или иную реакцию водителя, машина едет, а играющие кодят. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- система, которая позволит накапливать опыт старшекурсников для младших курсов</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- "ректорский контроль" - но я так и не понял в чем идея :)</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- #$!A703Q#$ - это название игрушки, в которой надо будет дешифровывать что-то, и кто быстрее это сделает, тот и круч</div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- программа, которая будет по заданному вопросу выдавать лучшие песни, если вдруг я захочу сделать вечеринку в стиле chilout то с помощью этой системы я смогу это сделать. Система будет анализировать разные источники в сети и на основе всяких лайков выводить ответ. </div>
<div style="color: purple;">
<br /></div>
<div style="color: purple;">
- система, которая будет генерировать музыку на основе того, что уже сгенерировано человеком. </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrB3eUD3k1u6uxRfFZZvOcbxDnGjBnQ0MSYHYt36aGtIkxkyIkL_pjnBUU9NJPc8iJ6v3_Bd_MgA113bwYzW1P4AKdvSZJ3nF5NDZsP6bq07q0W1QtXxgXYCHQZTrmA-16dF5owmFc1tE/s1600/IMG_0256.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrB3eUD3k1u6uxRfFZZvOcbxDnGjBnQ0MSYHYt36aGtIkxkyIkL_pjnBUU9NJPc8iJ6v3_Bd_MgA113bwYzW1P4AKdvSZJ3nF5NDZsP6bq07q0W1QtXxgXYCHQZTrmA-16dF5owmFc1tE/s320/IMG_0256.JPG" width="240" /></a></div>
<br />
Закончилось все на позитивной формуле, что $ = t☺^2 и чем более веселую тему ребята выберут для проекта, тем больший успех их ждет. Попрощались и разбежались. А в пятницу ребята соберутся еще раз и снова побрейнстормят, но уже сами. А уже в понедельник мы начнем планироваться.<br />
<br />
Стоит так же отметить, что в команде присутствуют более опытные ребята, которые уже не первый месяц учатся с нами - они и будут помогать "новичкам" с изучением джавы. Ребят мы организуем в пары. <br />
<br />
Продолжение обязательно следует...</div>А Пофиг!http://www.blogger.com/profile/17396129752484594405noreply@blogger.com0