
Aleserche
19.05.2016
18:54:07
и я бы popup переименовал от греха подальше
внутри функции

Andrey
19.05.2016
20:06:29
На гитхабе теперь не показывается стрик ?

Ivan
19.05.2016
20:07:37
И правда не показывает :(

Google

Rafkat
19.05.2016
20:17:23
блииин

Eugene
19.05.2016
20:18:04
у кого там не показывается
о, епт
это грустно, я херачил как проклятый одно время ради стрика

Ivan
19.05.2016
20:18:57

Eugene
19.05.2016
20:19:02
зато теперь можно переключить, показывать ли публичные коммиты или публичные и приватные
Неа, у меня все по-честному было
140 дней чтоли непрерывно
147

Ivan
19.05.2016
20:19:39
ужас. Красавчик

Eugene
19.05.2016
20:22:05
https://github.com/blog/2173-more-contributions-on-your-profile

N
19.05.2016
21:17:16
Вопрос по организации БД. Есть 1 сущность "материал".( Заголовок. описание и прочее ) И вторая что-то типа афиши с расписанием вывода и привязанная к первой сущности. (с теми же полями что в первой + поля рассписания ) Мне для второй сущности отдельную модель заводить или можно их объединить полем parent_entity_id
*объединить в одну.

Google

Eugene
19.05.2016
21:24:44
Наследуй афишу из материала в отдельной таблице
Или в той же, но в неё нужно будет добавить все атрибуты таблицы
https://www.youtube.com/watch?v=8bZh5LMaSmE всем смотреть

Vitaliy
19.05.2016
21:27:54
Хех, тоже прошелся по её выступлениям, надобавлял в watch later
Почему то раньше думал что мэтз это мужчина

Eugene
19.05.2016
21:30:35
Угу, на финкнетике ту же ошибку совершали

N
20.05.2016
06:52:58

Kirill
20.05.2016
11:31:00
Кто-нибудь использовал Koala или вообще Graph API facebook?

Artur
20.05.2016
12:10:38
Для тренировок можно создать 10 приложений отсюда
https://github.com/FreeCodeCamp/wiki/issues/542
5 API и 5 веб-приложений
Скоро на Free Code Camp появятся секции по руби и рельсам

Aleserche
20.05.2016
12:17:41
а на пхп будет?

Ilona
20.05.2016
14:08:37
https://moikrug.ru/vacancies/1000026281?f=social

Rafkat
20.05.2016
14:10:23
40 к для нилерландов это как то так

Aldar
20.05.2016
14:16:09
торговцы тушками?

Aleserche
20.05.2016
14:27:57
Поиграл в голос в маршрутке, теперь как на дурака смотрят

Ivan
20.05.2016
14:28:30
Попробую ещё немножко тебя подставить.

Георгий Бандитолепный
20.05.2016
14:31:02
А вот это как раз не особо смешно...

Ivan
20.05.2016
14:31:21

N
20.05.2016
14:51:10
>Проиграл
>Поорал?
Бордосленг

Ivan
20.05.2016
14:51:28
Ужасный сленг

Google

N
20.05.2016
14:54:29
Печаль, 2 дня лепил в ninjamock прототип админки, решил таки авторизоваться, что бы зашарить, и всё слетело. Да здравтвует ручка-бумага.

Артем
20.05.2016
14:59:34
Хех, я писал систему для скуда, в итоге заблокировались все двери, и менеджер стоял целый час за дверью ?

Aleserche
20.05.2016
15:16:23
Тётка страшная

Kirill
20.05.2016
15:42:47
есть такой счатливый человек или нет?)
*счастливый

Serhii
20.05.2016
15:57:52
поделитесь с сылкой на хорошую статью по "что такое функциональное программирование. для дибилов"? )

Aleserche
20.05.2016
16:04:15
Да зачем так-то? Почитай про лисп. Он относительно н сложный


demich
20.05.2016
16:19:24
слушайте, люди
а можете код засрать на js?
вот этот
<script>
function c_nam(name, ntab)
{
return "cell_" + ntab + "_" + name;
}
function c_getnumrows(name, ntab)
{
var x=document.getElementsByName(c_nam(name, ntab));
return x.length;
}
function c_getval(name, ntab, num)
{
var x=document.getElementsByName(c_nam(name, ntab));
return x[num].textContent;
}
function c_setval(name, ntab, num, val)
{
var x=document.getElementsByName(c_nam(name, ntab));
return x[num].textContent=val;
}
function c_inc(name, ntab, num)
{
var n=parseInt(c_getval(name, ntab, num));
if( n<pritab[num-1][name][1] ) c_setval(name, ntab, num, n+pritab[num-1][name][2] );
}
function c_dec(name, ntab, num)
{
var n=parseInt(c_getval(name, ntab, num));
if( n>pritab[num-1][name][0] ) c_setval(name, ntab, num, n-pritab[num-1][name][2] );
}
function c_up( num, ntab )
{
c_inc(nres, ntab, num);
}
function c_down( num, ntab )
{
c_dec(nres, ntab, num);
}
const
nres = 2,
pri = 1,
csum = 4;
function c_cal( fuu, num, ntab )
{
try {
fuu(num, ntab);
var n=0;
n=parseInt(c_getval(nres, ntab, num))*parseInt(c_getval(pri, ntab, num));
c_setval(csum, ntab, num, n );
var itog=0, nr=c_getnumrows(csum, ntab);
for(i=1; i<nr-1; i++ )
{
itog+=parseInt(c_getval(csum,ntab, i));
}
c_setval(csum,ntab, nr-1, itog );
c_allsum(ntabs);
}
catch (e)
{
alert("Ошибка калькулятора. Сделайте, пожалуйста, заказ по телефону (342) 238-86-01... и можете обругать нас :)");
alert( e );
}
}
function addcalc_row ( tag, tha, ntab )
{
tr = document.createElement("tr");
for( var i=0; i<tha.length; i++ )
{
th = document.createElement(tag);
th.innerHTML = tha[i];
th.setAttribute("name", c_nam(i, ntab));
tr.appendChild(th);
}
return tr;
}
pritab = [
[ "Стоимость CPU, руб за 1 ядро в месяц", 500, [1,8,1] ],
[ "Стоимость ОЗУ, руб за 1 ГБ в месяц", 200, [1,16,1] ],
[ "Стоимость дисковой памяти (SATA-диски, RAID10), руб за 1 ГБ в месяц", 5, [20,500,10] ],
[ "Стоимость дисковой памяти повышенной производительности (SAS-диски, RAID10), руб за 1 ГБ в месяц", 15, [0,200,10] ]
];
function addcalc(ntab){
var itog = 0, sum = 0;
if( ntab < 5 )
{
caltab = document.createElement("table");
caltab.appendChild(addcalc_row( "th",
Array("Наименование", "Цена", "Число единиц ресурса", "", "Стоимость, руб в месяц"), ntab));
for( var i = 0; i < 4; i++ )
{
sum = pritab[i][1]*pritab[i][2][0];
itog += sum;
ii = i + 1;
caltab.appendChild(addcalc_row( "td",
Array(pritab[i][0], pritab[i][1], pritab[i][2][0], '<div class="c_up"><a href="#" OnClick="c_cal(c_up,' + ii + ',' + ntab +');return false;"><img src="/i/a_up.png"></a></div><div class="c_down"><a href="#" OnClick="c_cal(c_down,' + ii + ',' + ntab +');return false;"><img src="/i/a_down.png"></a></div>', sum), ntab));
}
caltab.appendChild(addcalc_row( "td",
Array("Итого", "", "", "", itog), ntab))
document.getElementById('calculators').appendChild(caltab);
}
c_allsum(ntab+1);
if( ntab>0 ) document.getElementById("deltab").style.display = "inline";
}
function delcalc(ntab){
if( ntab > 0 )
{
var list=document.getElementById("calculators");
list.removeChild(list.childNodes[ntab]);
if( ntab == 1 ) document.getElementById("deltab").style.display = "none";
c_allsum(ntab);
}
}
ntabs=0;
function c_allsum(nt)
{
// alert(ntabs);
var allsum=0, nr=c_getnumrows(csum, 0);
for( i=0; i<nt; i++ )
{
allsum+=parseInt(c_getval(csum, i, nr-1));
}
document.getElementById("allsum").innerHTML=allsum;
}
addcalc(0); ntabs++;
c_allsum(1);
</script>


N
20.05.2016
16:26:34
слушайте, люди
а можете код засрать на js?
вот этот
<script>
function c_nam(name, ntab)
{
return "cell_" + ntab + "_" + name;
}
function c_getnumrows(name, ntab)
{
var x=document.getElementsByName(c_nam(name, ntab));
return x.length;
}
function c_getval(name, ntab, num)
{
var x=document.getElementsByName(c_nam(name, ntab));
return x[num].textContent;
}
function c_setval(name, ntab, num, val)
{
var x=document.getElementsByName(c_nam(name, ntab));
return x[num].textContent=val;
}
function c_inc(name, ntab, num)
{
var n=parseInt(c_getval(name, ntab, num));
if( n<pritab[num-1][name][1] ) c_setval(name, ntab, num, n+pritab[num-1][name][2] );
}
function c_dec(name, ntab, num)
{
var n=parseInt(c_getval(name, ntab, num));
if( n>pritab[num-1][name][0] ) c_setval(name, ntab, num, n-pritab[num-1][name][2] );
}
function c_up( num, ntab )
{
c_inc(nres, ntab, num);
}
function c_down( num, ntab )
{
c_dec(nres, ntab, num);
}
const
nres = 2,
pri = 1,
csum = 4;
function c_cal( fuu, num, ntab )
{
try {
fuu(num, ntab);
var n=0;
n=parseInt(c_getval(nres, ntab, num))*parseInt(c_getval(pri, ntab, num));
c_setval(csum, ntab, num, n );
var itog=0, nr=c_getnumrows(csum, ntab);
for(i=1; i<nr-1; i++ )
{
itog+=parseInt(c_getval(csum,ntab, i));
}
c_setval(csum,ntab, nr-1, itog );
c_allsum(ntabs);
}
catch (e)
{
alert("Ошибка калькулятора. Сделайте, пожалуйста, заказ по телефону (342) 238-86-01... и можете обругать нас :)");
alert( e );
}
}
function addcalc_row ( tag, tha, ntab )
{
tr = document.createElement("tr");
for( var i=0; i<tha.length; i++ )
{
th = document.createElement(tag);
th.innerHTML = tha[i];
th.setAttribute("name", c_nam(i, ntab));
tr.appendChild(th);
}
return tr;
}
pritab = [
[ "Стоимость CPU, руб за 1 ядро в месяц", 500, [1,8,1] ],
[ "Стоимость ОЗУ, руб за 1 ГБ в месяц", 200, [1,16,1] ],
[ "Стоимость дисковой памяти (SATA-диски, RAID10), руб за 1 ГБ в месяц", 5, [20,500,10] ],
[ "Стоимость дисковой памяти повышенной производительности (SAS-диски, RAID10), руб за 1 ГБ в месяц", 15, [0,200,10] ]
];
function addcalc(ntab){
var itog = 0, sum = 0;
if( ntab < 5 )
{
caltab = document.createElement("table");
caltab.appendChild(addcalc_row( "th",
Array("Наименование", "Цена", "Число единиц ресурса", "", "Стоимость, руб в месяц"), ntab));
for( var i = 0; i < 4; i++ )
{
sum = pritab[i][1]*pritab[i][2][0];
itog += sum;
ii = i + 1;
caltab.appendChild(addcalc_row( "td",
Array(pritab[i][0], pritab[i][1], pritab[i][2][0], '<div class="c_up"><a href="#" OnClick="c_cal(c_up,' + ii + ',' + ntab +');return false;"><img src="/i/a_up.png"></a></div><div class="c_down"><a href="#" OnClick="c_cal(c_down,' + ii + ',' + ntab +');return false;"><img src="/i/a_down.png"></a></div>', sum), ntab));
}
caltab.appendChild(addcalc_row( "td",
Array("Итого", "", "", "", itog), ntab))
document.getElementById('calculators').appendChild(caltab);
}
c_allsum(ntab+1);
if( ntab>0 ) document.getElementById("deltab").style.display = "inline";
}
function delcalc(ntab){
if( ntab > 0 )
{
var list=document.getElementById("calculators");
list.removeChild(list.childNodes[ntab]);
if( ntab == 1 ) document.getElementById("deltab").style.display = "none";
c_allsum(ntab);
}
}
ntabs=0;
function c_allsum(nt)
{
// alert(ntabs);
var allsum=0, nr=c_getnumrows(csum, 0);
for( i=0; i<nt; i++ )
{
allsum+=parseInt(c_getval(csum, i, nr-1));
}
document.getElementById("allsum").innerHTML=allsum;
}
addcalc(0); ntabs++;
c_allsum(1);
</script>
http://pastebin.com/ для начала.


Vladimir
20.05.2016
23:59:24
сорян не туда

Serhii
21.05.2016
00:13:57
а есть в руби такая штука как паттерн матчинг?

Serhii
21.05.2016
00:14:01
А вот пример на Java-подобном языке с поддержкой Pattern matching-а
int fib(0) {
return 1;
}
int fib(1) {
return 1;
}
int fib(int n) {
return fib(n - 2) + fib(n - 1);
}

Vitaliy
21.05.2016
03:39:14
нет, к сожалению нет
даже по кол-ву аргументов

Aleserche
21.05.2016
04:49:58
как же это называется
перегрузка методов
или это другое
ребят, почему Process::Status со статусом 0 можно сравнить с 0, типа $? == 0, а если не ноль, то нельзя?
исходники рыть видимо нужно

Google

Aleserche
21.05.2016
05:28:33
https://github.com/ruby/ruby/blob/aa107497cd379b713eba8cecdb9a882bb1e0dd89/process.c
628-641 вроде оно
Ага, понятно. Когда ноль в статусе, to_i вернет 0. Если будет 2 то в моем случае вернет уже не 2, а 512

Serhii
21.05.2016
09:44:23

Admin
ERROR: S client not available

Vitaliy
21.05.2016
09:51:29
руби не понимает, что
def foo(bar)
...
end
и
def foo(bar, baz)
...
end
это разные методы
если их написать в одном модуле или классе. он будет выдавать ошибку, что используется неверное кол-во параметров при переобъявлении метода
он не поймет, что мы хотим объявить два разных метода, реагирующих каждый на свое кол-во аргументов

Serhii
21.05.2016
10:14:59
прикольно. а в каких языках понимается такое?

Eugene
21.05.2016
10:16:47
не могу представить ситуацию, в которой мне понадобится два метода с одинаковым именем и разным количеством передаваемых аргументов
в самом худшем случае я сделаю аргументы опциональными

Serhii
21.05.2016
10:18:30
то что я читал - эта фигня используется для упрощения конструкции программы, что бы убрать из тела функции всякие кейс-ифы
я ж правильно понимаю что руби относится к ленивым языкам? типа что метод пока к нему не обратятся вообще никак не трогается
и насколько я понял всю эту паттернматчингность и разно-аргументность компилятор потом уже сам собирает в одну кучу по своим инструкциям

Vitaly
21.05.2016
10:34:06
Кем-нибудь юзает docker? Как у вас deploy происходит?

Aldar
21.05.2016
11:14:30
В С++ есть перегрузка функций и методов

Serhii
21.05.2016
11:33:46
о, спсб за научное название этой хрени, почитаю :)

Aleserche
21.05.2016
11:46:54
Тут в руби очень гибкая система с параметрами, перегрузка не особо нужна

Aldar
21.05.2016
11:49:56
Сопоставление с образцом(pattern matching) есть в haskell, elixir, rust

Aleserche
21.05.2016
11:51:34
Где-то читал, что лучше избегать этого. Если они нужны, значит архитектура троит

Google

Serhii
21.05.2016
12:38:25
эта штука вроде позволяет разбить вычисления на разные потоки и таким образом повысить производительность

Aleserche
21.05.2016
12:38:53
Какая?
Перегрузка? Она полезна для яп со строгой типизацией
Чтобы приведения избежать

Serhii
21.05.2016
12:40:37
да, перегрузка. пытаюсь статью по фп переварить https://habrahabr.ru/post/142351/

Aleserche
21.05.2016
12:42:18
Это полезное занятие

Sam
21.05.2016
14:35:08
на хекслете годные курсы по ФП есть, брал как то подписку на месяц. Мозг выносит знатно

Ivan
21.05.2016
14:36:04
А лямбды с аргументами можно вызывать без call?

Sam
21.05.2016
14:36:10
Но там было "Функциональное программирование на ПХП", у них же есть бесплатный курс по SICP, к сведению

Ivan
21.05.2016
14:36:21
типа name.(arg)

Aleserche
21.05.2016
14:40:53
биткойн сейчас стоит 29 537р.
у меня года 4 назад было штук 40 биткойнов

Aldar
21.05.2016
14:43:31
Кстати как у биткоина решается проблема с потерей валюты навсегда7

Rafkat
21.05.2016
14:43:51

Aleserche
21.05.2016
14:43:52