[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: pdf, music, text, code, vector, image, archive, flash, video
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.36714 Ответ [Открыть тред]
Файл: 20z_ZW7lnTw.jpg
Jpg, 47.63 KB, 820×325 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
20z_ZW7lnTw.jpg
У нас есть Vim-тред, пусть будет и Emacs.
176 posts are omitted, из них 26 с файлами. Развернуть тред.
>> No.47220 Ответ
>>47216
Нет, это совсем не то.
>> No.47221 Ответ
>>47215
Я думал тут за пол часа набросать тебе решение, но понял что задача нетривиальная ввиду того, что путешествуя по истории регионов (выделений) ты будешь создавать новые выделения. В любом случае, публикую свои наработки:
http://pastebin.com/W321qZwe
>> No.47318 Ответ
Файл: -.png
Png, 3.51 KB, 235×49
edit Find source with google Find source with iqdb
-.png
Файл: -.png
Png, 9.83 KB, 900×92
edit Find source with google Find source with iqdb
-.png

Есть одна проблема. Использую емаксклиент, так вот если им попытаться открыть файл который нельзя читать, то вместо ошибки, происходит пик 1, дальше я жму ^C и терминал ломается до перезапуска, перестает отображаться вводимый текст и перевод каретки, весь вывод отображается в одну строку, можно ли это исправить?
>> No.47468 Ответ
>>47318
У меня выводится сообщение об ошибке в таком случае. Какая версия emacs, открываются ли файлы которые можно читать?
>> No.47469 Ответ
>>47468
Читаемые файлы открываются. Если emacsclient -c, то ошибка выводится, а если emacsclient -t, то ломается терминал.
Версия 24.5.1
>> No.47470 Ответ
>> No.48089 Ответ
Файл: magit-400x400px.png
Png, 10.03 KB, 400×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
magit-400x400px.png
Подайте автору магита, кто сколько может.
https://www.kickstarter.com/projects/1681258897/its-magit-the-magical-git-client
>> No.48855 Ответ
Не осталось ли у кого книги Д.Бушенко по elisp? В гугле нихрена нет...
>> No.48885 Ответ
>> No.48893 Ответ
>>48885
Спасибо.


No.31137 Ответ [Открыть тред]
Файл: 07_009.jpg
Jpg, 62.06 KB, 1024×573 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
07_009.jpg
В рамках треда предлагаю обсуждать веб как он есть, задавать ответы по темам верстки и серверново программирования, да и просто обсуждать всякие рющечки веба и пить чаек с печеньками.

>>u/62144 Собсно кафедра в университете. Полезные ссылочки >>u/91168 >>u/91394

Алсо PHP-тред >>23225 SQL-тред >>29820 Python-тред >>28158

Тред создан во имя поисковой оптимизации.
280 posts are omitted, из них 48 с файлами. Развернуть тред.
>> No.48505 Ответ
>>48504
Это техническая литература, а не художественная, она намного проще.
>> No.48506 Ответ
Файл: 1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
Jpg, 161.77 KB, 850×637 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
>>48505
Я, конечно, попробую, но реквест русскоязычных источников оставлю в силе.
>> No.48526 Ответ
>>48501
А насколько он вообще нужен и распространён?
>> No.48527 Ответ
>>48526
Весьма удобен, когда надо накидать аккуратную вебморду, а ты не понимаешь в этих всех цссах и верстках.
>> No.48528 Ответ
>>48527
А как мне самому прикинуть уровень своих знаний и умений? И заодно узнать как выглядит вёрстка со стороны разработчика.
>> No.48560 Ответ
Насколько я понял, есть два пути: путь ложной простотыphp+sql и путь явной сложностиhtml+css+javascript +php+sql || +python+sql. Ох уж эта веб-разработка, я-то думал, что за год на базовом уровне всё освою.
>> No.48564 Ответ
>>48560
Всегда начинали изучение с простого. Возьми книгу «JavaScript for Kids», потом «Understanding ECMAScript 6» и с них начинай.
>> No.48568 Ответ
>>48564
> «JavaScript for Kids»
Слишком сложно, пробую пока http://jsforcats.com/
>> No.48682 Ответ
Анон, выручай.
Сбацал, значится, на коленке сайт, чтобы текст выводить, поднял на Апаче, да столкнулся с проблемой - жабаскрипт не работает!
Конкретно: через PHP реализована "сборка" веб-страницы (из шаблонов, плюс параметры), с помощью которой я добавил тэг <script> и вызвал функцию из файла. Сам файл лежит в папке scripts, которая в корне.
В консоль выводит следующее:
`Uncaught SyntaxError: Unexpected token <`
Причём эта ошибка перенаправляет почему-то на вообще левый файл.
А вот это:
`Uncaught ReferenceError: getWork is not defined`
говорит о том, что функцию оно почему-то вообще не воспринимает как уже объявленную.
ЧЯДНТ? И как вообще правильно встраивать через пыху жабаскрипт?
>> No.48811 Ответ
Файл: 79-Slowpoke.png
Png, 95.98 KB, 800×647 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
79-Slowpoke.png
>>48682
Просто руками перепиши места, на которые ругается консоль. Мне обычно помогает, если я сразу не вижу ошибку.


No.48457 Ответ [Открыть тред]
Файл: 1-soPiTsrgWsHZO2Z...
Png, 1468.07 KB, 2000×958
edit Find source with google Find source with iqdb
1-soPiTsrgWsHZO2ZHCQA_IA.png
Файл: vdfs.png
Png, 37.74 KB, 1207×826
edit Find source with google Find source with iqdb
vdfs.png
Файл: rustacean-error.png
Png, 37.41 KB, 573×300
edit Find source with google Find source with iqdb
rustacean-error.png

Зачем нужен? Во имя закапывания няшного и крестов. По крайней мере там, где можно избежать легаси и хочется писать как белый человек. Embedded пока с парой костылей вроде xargo, операционки, браузеры, всякий тяжелый код. Язык, где ты можешь отстрелить себе конечности, но ружья выдают только по карточкам. Компилятор в основном занимается твоим унижением.

Что тут есть? Рак вместо маскота. Самая новая концепция: управление временем жизни без сборки мусора. Всякие рюшечки вроде паттернматчинга, вывода типов, наконец-то нормальной реализации строк, гарантии безопасности, элементы функциональщины без потери производительности и всё остальное в таком духе.

Чего нет или ещё нет? Типов высшего порядка, константных генериков, alloca и ещё парочки похожих штук. Но работы ведутся. Ещё нет библиотек на все случаи жизни. За те несколько лет существования не успели. 1.5 вакансии уже есть, но их только 1.5. Использование нестабильной версии всё ещё актуально.

Оффициальный сайт: https://www.rust-lang.org/
Мануал: https://doc.rust-lang.org/book/second-edition/
Пакеты: https://crates.io/
18 posts are omitted, из них 3 с файлами. Развернуть тред.
>> No.48695 Ответ
Файл: King_sombra-s_eyes_at_the_top_of_the_shadow_S3E1.png
Png, 470.40 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
King_sombra-s_eyes_at_the_top_of_the_shadow_S3E1.png
>>48694
> попробуй сначала доучить язык
у меня ограничено время на эту ересь
> Глава "Время жизни" и глава "Изменяемость (mutability)"
займемся
> Форматируй код нормально
это моя извечная проблема, ее решить мне так и не удается, но если не понятно, то есть двумерный список структур, у структуры есть функция, которая анализирует элименты вокруг него и если понадобится передвигает себя в один из этих элиментов. вообщем я думаю ты уже запутаешься на этом моменте, поэтому буду страдать.
> Heresy::lock()
это действительно ересь. надо было Obj::lock()
> Так ещё хуже, чем скриншотами
вот это обидно, я старался, хотя понимаю. лучше свич сделал, но все делалось на коленках и мозги были в отпустке
> И глобальные функции/переменные не используй. СОВСЕМ не используй
кстати на заметку. у меня такие есть и их даже 3...
>> No.48705 Ответ
Файл: Sombra_mouth_wide...
Png, 56.89 KB, 300×169
edit Find source with google Find source with iqdb
Sombra_mouth_wide_open_S3E2.png
Файл: helpneed.png
Png, 9.06 KB, 467×443
edit Find source with google Find source with iqdb
helpneed.png

я конечно туплю, но не знаю что делать. не подключается
>> No.48706 Ответ
Файл: 342-12.02.13-sombra_by_sajira-d5ko3xr.png
Png, 103.50 KB, 322×531 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
342-12.02.13-sombra_by_sajira-d5ko3xr.png
>>48705
проблема решена
>> No.48716 Ответ
Файл: sombra1.jpg
Jpg, 48.90 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sombra1.jpg
ну что, новая проблема. программа запускается, работает, но в определенный момент виснет. без ошибок и всякого такого. мне хотелось бы узнать. почему? как удалось выяснить?

если кто захочет по мучаться, то опишу константы. HEIGHT,WIDTH- высота и ширина соответственно, N= колличество ячеек по ширине и высоте, должно быть равно константе в inf, RANDEA- шанс появления еды, RENDMUда-да, знаю что неправильно, исправлять лень,- шанс мутаций. Vtp- схема отображения 0- пищевая, 1- защитная, 2- энергетическая. с остольным разбобраться можно, благо я даже названя нормальные давал а если не удастся то не судьба

extern crate sdl2;
extern crate rand;
//use sdl2::pixels::PixelFormatEnum;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::pixels::Color;
use sdl2::gfx::primitives::DrawRenderer;
use sdl2::render::Canvas;
use sdl2::video::Window;
use std::f64;
//use std::mem;
ну что, новая проблема. программа запускается, работает, но в определенный момент виснет. без ошибок и всякого такого. мне хотелось бы узнать. почему? как удалось выяснить?

если кто захочет по мучаться, то опишу константы. HEIGHT,WIDTH- высота и ширина соответственно, N= колличество ячеек по ширине и высоте, должно быть равно константе в inf, RANDEA- шанс появления еды, RENDMUда-да, знаю что неправильно, исправлять лень,- шанс мутаций. Vtp- схема отображения 0- пищевая, 1- защитная, 2- энергетическая. с остольным разбобраться можно, благо я даже названя нормальные давал а если не удастся то не судьба

extern crate sdl2;
extern crate rand;
//use sdl2::pixels::PixelFormatEnum;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::pixels::Color;
use sdl2::gfx::primitives::DrawRenderer;
use sdl2::render::Canvas;
use sdl2::video::Window;
use std::f64;
//use std::mem;
//use std::ptr;
use rand::{Rng,thread_rng};
use std::time::Duration;
const Vtp:i16 = 2;
static HEIGHT:u32 = 600;
static WIDTH:u32 = 800;
const N:u32 = 40;
const RANDEA:u32 = 1;
pub fn main() {
let context = sdl2::init().unwrap();
let video = context.video().unwrap();
let mut rng = rand::thread_rng();
let window = video.window("rust-sdl2 demo: Video", WIDTH, HEIGHT)
.position_centered()
.opengl()
.build()
.unwrap();
let mut canvas = window.into_canvas().build().unwrap();
let tc = canvas.texture_creator();
let mut tex = tc.createtexturestatic(tc.defaultpixelformat(), 150,
150).unwrap();
canvas.clear();
canvas.setdrawcolor(Color::RGB(255, 210, 0));
let mut a:[[inf::Obj;N as usize];N as usize] =
unsafe{std::mem::uninitialized()};
for i in a.iter_mut(){
for j in i.iter_mut(){
unsafe{::std::ptr::write(j,inf::Obj::newNu())}
}
}
a[10][10]=inf::Obj::newPl(100,0,0);
let mut eventpump = context.eventpump().unwrap();
let mut run = true;
while run {
for event in eventpump.polliter() {
match event {
Event::Quit {..} | Event::KeyDown { keycode:
Some(Keycode::Escape), .. } => {
run = false;
},
_ => {}
}
}
for i in a.iter_mut(){
for j in i.iter_mut(){
if j.otp() == 2 {
*j= j.mkcour();
} else if (j.otp() == 0) &(rng.gen_range(0,100) < RANDEA) {*j =
inf::Obj::newEa();}
}
}
for i in 0..((N) as usize){
for j in 0..((N) as usize){
let a0 = a[i][j].copy();
if (a[i][j].otp() == 2) & (a0.getcour()){a[i][j]= a0.itr(&mut
a,i,j);}
}
}
fild(&canvas,&a);
canvas.present();
// std::thread::sleep(Duration::from_millis(2000));
}
// let mut eventpump = context.eventpump().unwrap();
// 'running: loop {
// for event in eventpump.polliter() {
// match event {
// Event::Quit {..}
// | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
// break 'running
// },
// _ => {}
// }
// }
// }
}
fn fild(canvas:&Canvas,arr:&[[inf::Obj;N as usize];N as usize]){
let r = (if HEIGHT/(2 + 3(N-1)/2) < (((WIDTH as f64)/(((2N+1) as
f64)(( f64::consts::PI/3.0).sin()))) as u32) {HEIGHT/(2+3(N-1)/2)} else
{((WIDTH as f64)/(((2N+1) as f64)(( f64::consts::PI/3.0).sin()))) as u32}) as
i16;
let a =(( f64::consts::PI/3.0).sin() * (r as f64)) as i16;
let mut x;
let mut c;
let mut y = r;
let mut f = true;
for i in (&arr).iter(){
if f {
x=a;
f=false;
} else {
x=2*a;
f=true;
};
for j in i.iter(){
c=j.col(Vtp);
hex(&canvas,x,y,r,Color::RGB(c.0,c.1,c.2));
x+=2*a;
}
y+=(3*r/2);
}
}
fn hex(c:&Canvas,x:i16,y:i16,r:i16,color:Color){
let a =(( f64::consts::PI/3.0).sin() * (r as f64)) as i16;
&c.filled_polygon(&[x,x+a,x+a,x,x-a,x-a],&[y-r,y-r/2,y+r/2,y+r,y+r/2,y-
r/2],color);
}
mod inf {
extern crate rand;
use rand::{Rng,thread_rng};
const N:usize = 40;
const RENDMU:i32 = 0;
pub struct Obj {
course:bool,
cond:i16,
side:i16,
tp:i16,
hp:i16,
def:i16,
off:i16,
liveiter:i16,
livebreed:i16,
liveancestor:i16,
table:Vec< [(i16,i16);4]>
}
impl Obj{
pub fn newPl(hp:i16,lb:i16,la:i16) -> Obj {
Obj
{course:false,cond:0,side:0,tp:2,hp:hp,def:0,off:0,liveiter:0,livebreed:lb,livea
ncestor:la,table:vec![Obj::vecstr()]}
}
pub fn newEa() -> Obj{
Obj
{course:false,cond:0,side:0,tp:1,hp:10,def:0,off:0,liveiter:0,livebreed:0,livean
cestor:0,table:vec![]}
}
pub fn newNu() -> Obj{
Obj
{course:false,cond:0,side:0,tp:0,hp:0,def:0,off:0,liveiter:0,livebreed:0,liveanc
estor:0,table:vec![]}
}
pub fn lock() -> Obj{
Obj
{course:false,cond:0,side:0,tp:3,hp:0,def:0,off:0,liveiter:0,livebreed:0,liveanc
estor:0,table:vec![]}
}
pub fn col(&self,t:i16) -> (u8,u8,u8){
match t {
0 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {((self.off255/2) as u8,0,((2-self.off)255/2) as
u8)} else {(0,0,0)},
1 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {if self.def == 0 {(244,205,138)} else if self.def
== 1 {(114,130,87)} else {(66,13,74)} } else {(0,0,0)},
2 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {((self.hp*255/100) as u8,0,0)} else {(0,0,0)}
_ => (0,0,0),
}
}
fn vecstr() -> [(i16,i16);4] {
[(0,0),(0,0),(1,0),(1,0)]
}
pub fn otp(&self) -> i16{
self.tp
}
fn war(&self,a:&mut Obj) -> bool{
((self.off == 0) & ((a.tp == 0)|(a.tp == 1))) | ((a.tp == 2) &
(self.off > a.def))
}
pub fn mkcour(&self ) -> Obj {
Obj
{course:true,cond:self.cond,side:self.side,tp:2,hp:self.hp,def:self.def,off:self
.off,liveiter:self.liveiter,livebreed:self.livebreed,liveancestor:self.liveances
tor,table:self.table.clone()}
}
pub fn getcour(&self) -> bool {
self.course
}
pub fn itr(&self,a1:&mut [[Obj;N];N],i:usize,j:usize) -> Obj{
println!("{},{} - {} -{}",i,j,self.hp,self.side);
for i0 in self.table.iter(){
print!("({},{}),({},{}),({},{}),({},{})",
i0[0].0,i0[0].1,i0[1].0,i0[1].1,i0[2].0,i0[2].1,i0[3].0,i0[3].1);
}
println!("");
if self.hp > 100{
self.division(a1,i,j)
} else {
let mut lock = Obj::lock();
let a =match (self.side) {
0 => if j+1 < N {&mut a1[i][j+1]} else {&mut lock},
1 => if i%2 == 0 {
if i+1 < N {&mut a1[i+1][j]} else {&mut lock}
}else{
if (i+1 < N) & (j+1 < N) {&mut a1[i+1][j+1]} else
{&mut lock}
},
2 => if i%2 == 0 {
if (i+1 < N) & (j >0) {&mut a1[i+1][j-1]} else {&mut
lock}
} else {
if i+1
},
3 => if j > 0 {&mut a1[i][j-1]} else {&mut lock},
4 => if i%2 == 0 {
if (i > 0) & (j >0) {&mut a1[i-1][j-1]} else {&mut
lock}
} else {
if i > 0 {&mut a1[i-1][j]} else {&mut lock}
},
5 => if i%2 == 0 {
if i > 0 {&mut a1[i-1][j]} else {&mut lock}
} else {
if (i > 0) & (j+1 < N) {&mut a1[i-1][j+1]} else
{&mut lock}
},
_ => &mut lock,
};
let (l,ncond) = self.table[self.cond as usize][a.tp as usize];
let nhp = self.hp - (1 + (self.table.len() as i16)/5) - (if l ==
3 {0} else {1})*(self.def +1)/(if (l==1) |(l==2){2} else {1});
if nhp <= 0{
Obj::newNu()
} else {
match l {
0 => {
if self.war(a){
*a = Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:(nhp + a.hp -
3*self.off),def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()};
Obj::newNu()
} else {
Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:nhp,def:self.def,off:self.off,li
veiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()}
}
},
1 => Obj {course:false,cond:ncond,side:(if self.side ==
5 {0} else {self.side +1}),tp:2,hp:nhp,def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
2 => Obj {course:false,cond:ncond,side:(if self.side ==
0 {5} else {self.side -1}),tp:2,hp:nhp,def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
3 => Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:nhp,def:self.def,off:self.off,li
veiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
_ => Obj::lock(),
}
}
}
}
fn division(&self,a1:&mut [[Obj;N];N],i:usize,j:usize) -> Obj{
let hp = (self.hp -20)/2;
let inc:[(i16,i16);6] = [(i as i16,(j as i16)+1),if i%2 == 0 {((i as
i16)+1,j as i16)} else{((i as i16)+1,(j as i16)+1)},if i%2 == 0 {((i as i16)+1,
(j as i16)-1)} else {((i as i16)+1,j as i16)},(i as i16,(j as i16)-1),if i%2 ==
0 {((i as i16)-1,(j as i16)-1)}else {((i as i16)-1,j as i16)},if i%2 == 0 {((i
as i16)-1,j as i16)} else {((i as i16)-1,(j as i16)+1)}];
let mut i1=self.side as usize;
if ((inc[i1].0 >=0) & (inc[i1].1>=0) & (inc[i1].0 <(N as i16)) &
(inc[i1].1 < (N as i16))){
if (a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0) {
a1[inc[i1].0 as usize][inc[i1].1 as usize] = self.baby((i1
as i16),hp);
}
} else {
while {
if i1 == 0 {i1 = 5} else {i1-=1};
if (inc[i1].0 >=0) & (inc[i1].1>=0) & (inc[i1].0 < N as
i16 ) & (inc[i1].1 < N as i16){
a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0
} else {i1 == (self.side as usize)}
} {}
if((i1==(self.side as usize)) & (inc[i1].0 >=0) & (inc[i1].1>=0)
& (inc[i1].0
if (a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0) {
a1[inc[i1].0 as usize][inc[i1].1 as usize] =
self.baby((i1 as i16),hp);
}
}
}
self.baby((i1 as i16),hp)
}
fn baby (&self,side:i16,nhp:i16) -> Obj{
let mut rng = rand::thread_rng();
if (rng.gen_range(0,100) < RENDMU){
println!("mutation!");
let mut ndef= self.def;
let mut noff= self.off;
let mut ntable = self.table.clone();
if rng.gen() {
if rng.gen() {
ndef = match ndef {
0 => 1,
1 => if rng.gen() {0} else {2},
2 => 1,
_ => 0,
};
} else {
noff = match noff {
0 => 1,
1 => if rng.gen() {0} else {2},
2 => 1,
_ => 0,
};
}
} else {
let i = rng.gen_range(0,self.table.len());
let j = rng.gen_range(0,4);
if rng.gen() {
ntable[i][j] = (rng.gen_range(0,4),ntable[i][j].1);
} else {
let k = ntable[i][j].1;
let nk = rng.gen_range(0,ntable.len()+1);
ntable[i][j] = (ntable[i][j].0,nk as i16);
if nk == ntable.len(){ntable.push(Obj::vecstr());}
let mut f =true;
for i1 in 0..(ntable.len()){
for j1 in 0..4 {
if ((ntable[i1][j1].1 == k) & (i1 != (k as
usize))) {f=false;}
}
}
if f & (k != 0){
for i1 in 0..(ntable.len() -1){
if (i1 >= (k as usize)){
ntable[i1] = ntable[i1+1];}
for j1 in 0..4{
if ntable[i1][j1].1 > k {
ntable[i1][j1] = (ntable[i1]
[j1].0,ntable[i1][j1].1-1);
}
}
}
ntable.pop();
}
}
}
Obj {course:false,cond:0,side:rng.gen_range(0,
6),tp:self.tp,hp:nhp,def:ndef,off:noff,liveiter:0,livebreed:0,liveancestor:self.
liveiter,table:ntable.clone()}
} else {
Obj {course:self.course,cond:self.cond,side:rng.gen_range(0,
6),tp:self.tp,hp:nhp,def:self.def,off:self.off,liveiter:0,livebreed:self.livebre
ed+1,liveancestor:self.liveiter,table:self.table.clone()}
}
}
pub fn copy(&self) ->Obj {
Obj
{course:self.course,cond:self.cond,side:self.side,tp:self.tp,hp:self.hp,def:self
.def,off:self.off,liveiter:self.liveiter,livebreed:self.livebreed,liveancestor:s
elf.liveancestor,table:self.table.clone()}
}
}
}

>>48694
> Форматируй код нормально
> Так ещё хуже, чем скриншотами
братишка, я тебе покушать принес
Сообщение слишком длинное. Полная версия.
>> No.48717 Ответ
>>48716
> братишка, я тебе покушать принес
А, ну ясно. Значит моя помощь не требуется.
>> No.48719 Ответ
Файл: sombra1.png
Png, 3599.93 KB, 1278×1406 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sombra1.png
>>48717
да не, нужна
>> No.48724 Ответ
>> No.48740 Ответ
Файл: _mlp__king_sombra_by_gloriajoy-daim11i.png
Png, 898.20 KB, 1024×882 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
_mlp__king_sombra_by_gloriajoy-daim11i.png
я так и не получил ответ на свой вопрос, но все же задам новый. как с помошью Arc ну или без него передать переменную в поток событие, что-бы значение изменилось в основнм потоке. причем надо сделать 3 потокасобытия в начинающиеся в одном.

кстати, с того момента моя программа получила еще пару багов: иногода она не запускается, а еще изредка вообще из-за нее виснут иксы
>> No.48742 Ответ
Файл: Sombra_mouth_wide_open_S3E2.png
Png, 56.89 KB, 300×169 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Sombra_mouth_wide_open_S3E2.png
>>48740
https://kgv.gitbooks.io/rust_book_ru/content/src/concurrency.html
вроди как тут. надо не просто объявлять а с мьютексом
>> No.48756 Ответ
Файл: talking_captcha.png
Png, 0.97 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: comp-1.gif
Gif, 128.33 KB, 320×240
edit Find source with google Find source with iqdb
comp-1.gif

Упс. Забыл про последнюю часть: https://habr.com/post/354784/


No.48658 Ответ [Открыть тред]
Файл: 1389194-will-program-for-food.jpg
Jpg, 131.32 KB, 660×440 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1389194-will-program-for-food.jpg
Привет, /s/.
Думаю, много кто знаком с подобной ситуацией.

Закончил вуз по направлению разработки ПО.
С тех пор прошло полтора года (почти 2). Пытался пилить небольшой проект на коленке (не потянул конкуренцию), затем начал как следует изучать стек технологий и, думаю, теперь, вполне себе сойду за твёрдого джуниора.

И тут самое интересное. Начал искать вакансии для junior .net разработчика, а их нет (в выбранном городе).

Быть может, можно как-то иначе найти вакансию джуниора?
Думаю, по рассылать резюме на вакансии для мидлов (с пояснением, что я тяну только на джуна, но стремлюсь за пол года - год дорасти до мидла), но не спугну ли я навсегда часть работодателей?
>> No.48661 Ответ
>>48658
Попробуй в твиттере, телеграмме и фейсбуке поискать. Часть вакансий публикуется в локальных тусовочках.
>> No.48665 Ответ
>>48661
Однако. Хлопотный вариант.
Подожду какое-то время, да попробую. Спасибо.
>> No.48666 Ответ
>>48665
Из тусовок могу посоветовать в твиттере канал backendsecret.
>> No.48677 Ответ
>>48666
Не нашел подходящих вакансий, но спасибо, что поделился.
>> No.48678 Ответ
>>48677
Ты из этого канала можешь людей всяких зафоловить, иногда они репостят вакансии. Фронтендер Козуля регулярно какие-то репостит.
>> No.48701 Ответ
Файл: 1523677383213.jpg
Jpg, 615.76 KB, 850×477 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1523677383213.jpg
>>48658
> Пытался пилить небольшой проект на коленке (не потянул конкуренцию), затем начал как следует изучать стек технологий
Разве не в обратном порядке надо делать?
>> No.48704 Ответ
Файл: 1334515748_231.png
Png, 726.73 KB, 787×522 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1334515748_231.png
>>48701
«Мы все учимся созидая» ©
>> No.48743 Ответ
>>48701
По моему, это немного спорный вопрос.
После корявой практики (при поддержке гугла) теория заходит существенно лучше.
Хоть и, понятно, что практика будет корявой.

В идеале, оно должно как-то хитро переплетаться для достижения максимальной эффективности изучения.
>> No.49188 Ответ
Файл: Felix.jpg
Jpg, 77.56 KB, 700×415 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Felix.jpg
Выбор правильного места работы или как работая программистом не умереть от инфаркта

Эта статья рассчитана не на студентов-новичков, которые только начинают свой карьерный путь и им срочно нужна хоть какая-нибудь работа, а на более-менее опытных разработчиков, которые трезво оценивают себя как неплохих специалистов и хотят получить максимум удовольствия и финансовых благ от своей работы. Эта статья не является руководством к действию только для программистов, здесь описаны проблемы достаточно общего характера.

Лет до 25 я в буквальном смысле слова болтался "как говно в проруби" по разным, не побоюсь этого слова, конторам. Зачастую часто увольнялся после нескольких месяцев и практически не рос в профессиональном плане. Часто работал "за копейки" "у чёрта на куличиках", в весьма сомнительных организациях, где не было перспектив как карьерного, так и профессионального роста. Всё изменилось после моего трудоустройства в компанию Мвидео в 2011 году: я попал в огромную корпорацию №1 в России по продаже бытовой техники. Думаю, не нужно объяснять, чем компания с оборотом в 203 миллиарда отличается от типовой ЗАО "Рога и Копыта". В этой компании я проработал несколько лет и настолько привык к хорошим условиям труда, уважению к сотрудникам и наличию салфеток в туалете, что отныне не испытываю ни малейшего желания работать в более худших условиях.

Я сформировал ряд правил на основе своего опыта работы в различных компаниях, которыми, на мой взгляд, должны руководствоваться соискатели при поиске работы. Если кто-то захочет дополнить данный документ - пожалуйста, я не буду против.

Выбор правильного места работы или как работая программистом не умереть от инфаркта

Эта статья рассчитана не на студентов-новичков, которые только начинают свой карьерный путь и им срочно нужна хоть какая-нибудь работа, а на более-менее опытных разработчиков, которые трезво оценивают себя как неплохих специалистов и хотят получить максимум удовольствия и финансовых благ от своей работы. Эта статья не является руководством к действию только для программистов, здесь описаны проблемы достаточно общего характера.

Лет до 25 я в буквальном смысле слова болтался "как говно в проруби" по разным, не побоюсь этого слова, конторам. Зачастую часто увольнялся после нескольких месяцев и практически не рос в профессиональном плане. Часто работал "за копейки" "у чёрта на куличиках", в весьма сомнительных организациях, где не было перспектив как карьерного, так и профессионального роста. Всё изменилось после моего трудоустройства в компанию Мвидео в 2011 году: я попал в огромную корпорацию №1 в России по продаже бытовой техники. Думаю, не нужно объяснять, чем компания с оборотом в 203 миллиарда отличается от типовой ЗАО "Рога и Копыта". В этой компании я проработал несколько лет и настолько привык к хорошим условиям труда, уважению к сотрудникам и наличию салфеток в туалете, что отныне не испытываю ни малейшего желания работать в более худших условиях.

Я сформировал ряд правил на основе своего опыта работы в различных компаниях, которыми, на мой взгляд, должны руководствоваться соискатели при поиске работы. Если кто-то захочет дополнить данный документ - пожалуйста, я не буду против.

Я надеюсь также (очень), что когда-нибудь программистишки поебошат друг друга в мелкий винегрет - и нам всем станет немного легче.

Избегайте компаний-голодранцев и компаний-эксплуататоров

На сайте orabote.top я обнаружил очень хорошую статью под названием "Основные виды работодателей", её автор выделил три основные типа компаний:

Компании-голодранцы - задерживают и/или не выплачивают з/п. Официально не оформляют. Начальники-самодуры и дилетанты:

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

Компании-эксплуататоры - платят, но мало. Каждый рубль вы отработаете и с вас спросят.

Аналог завода:

Это компании с внятной стратегией, чаще с регламентом, где каждый сотрудник знает, что именно он должен делать в течении рабочего дня, за что получит премию, а за что будет оштрафован. Самыми наглядными примерами таких компаний являются торговые сети, например, "Магнит", "Пятерочка", "Метро", "МакДональдс", "Евросеть", "Эльдорадо" и подобные. Сама тенденция мира к глобализации подталкивает бизнес к такому формату. К сожалению внедрение системы подразумевает сведЕние влияния сотрудника на рабочий процесс к порядку определенных и понятных действий, что автоматически переводит того в разряд несложнозаменимых. Зарплаты в таких компаниях весьма и весьма скромные и за каждый рубль вы отработаете - будьте уверены.

Компании-эффективные (наиболее редко встречающийся вид) - позволяют вам реализоваться как специалисту, при этом вы зарабатываете:

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

Вы должны искать именно компанию третьего типа - эффективную. Если вы устроитесь программистом в компанию-голодранцев или в компанию-эксплуататоров, то будьте уверены - вас хватит максимум на год-полтора. Дальше - перманентный стресс, убитые нервы и депрессия. Автор этих строк работал в одной московской телекоммуникационной компании, которая являлась 100% компанией-эксплуататором: "рулила" отделом разработки женщина 30 лет, которую достаточно открыто гнобило руководство на протяжении 6 лет её работы в компании. Она же, в свою очередь, гнобила разработчиков. Приемы гнобления сотрудника варьировались от публичного упрёка в медлительности/некомпетенции, до приватных претензий в духе "ты получаешь больше всех в отделе, а работаешь не так, как я бы этого хотела". Бессмысленные требования каждый день присылать отчет по выполненным задачам и "наезды" в случае, если левой пятке руководителя что-то не понравилось - были совершенно обыденными вещами. При всём при этом темп разработки был просто сумасшедший, за день разработчики выполняли по 2-5 задач, которые в другой компании, с более мягким и лояльным руководством, делались бы несколько дней. Качество кода при этом хромало, что усиливало энтропию проекта. Работать в таких условиях было невыносимо. Основной контингент сотрудников были люди приезжие/с детьми/с кредитами и т.д., т.е. все те, кто не мог позволить себе оказаться без финансов даже на непродолжительное время увольнения, поэтому всем приходилось терпеть.

Старайтесь устроиться в крупные компании и корпорации

Забудьте раз и навсегда про веб-студии, конторы из 2-3 человек, местечковые интернет-магазины, "стартапы" и прочий "мусор". Рассматривайте предложения только от больших корпораций - лидеров розничного рынка, банков, госучереждений, лидеров в сфере медицинских услуг и т.д.

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

- своевременная з/п без задержек
- индексация и повышение з/п
- 13-я зарплата
- скидки на товары для сотрудников
- налаженный процесс разработки, адекватное руководство
- действительно интересные и глобальные задачи
- какие-никакие, но все же ж корпопротивные мероприятия

Ещё основной плюс больших компаний и корпораций - это не только финансовая стабильность. Это постоянное ощущение течения жизни, минимум застоя.

Перед тем, как пойти на собеседование - читайте отзывы о работодателе в интернете

Банально, но факт - это работает и позволяет узнать многое.

Вакансии компании висят на сайтах по поиску работы неправдоподобно долго

Вариантов несколько:

- Неадекватный отдел персонала или неадекватный технический руководитель, которому "никто не подходит".
- Текучка кадров.
- Загнивающий проект, с которого бегут разработчики.

Делать там нечего. Хорошие вакансии долго простаивать не могут.

Перед собеседованием выясните, будет ли вас собеседовать специалист

Собеседование исключительно с представителем отдела персонала - очень плохой показатель. Скорее всего, HR-ы просто делают вид, что работают. Компания в программисте не нуждается или нуждается, но не так остро.

Если после собеседования с HR-ом, вам говорят, что "технический специалист сейчас с вами не может провести собеседование" - "он занят/на встрече/заболел" - это показатель высшей степени неблагонадежности компании и наплевательского отношения к сотрудникам. Ни одна сопливая девочка из HR не имеет права решать, работать вам в компании или нет - это решение должен принимать ТОЛЬКО технический специалист после собеседования.

Если вам отказывают в собеседовании с техническим специалистом - немедленно уходите. Расценивайте это как наплевательство по отношению к вам и вашему личному времени. Дайте соответствующий отзыв в интернет - это поможет другим соискателям сэкономить их время.

Вам предлагают сделать тестовое задание

Конечно, у вас уйма свободного времени, почему нет. Потратьте 4-8 часов, вам же все равно делать нечего - вы же безработный.

Конечно, когда хозяева "компании" - воры в законе, а руководство - фраера, совершенно естественно, что рядовой сотрудник становится чем-то вроде генерального секретаря параши. Почему нет?..

А так-то достаточно посмотреть код соискателя, чтобы понять его уровень. Например, попросить прислать код какого-нибудь проекта или библиотеки.

Буду краток: бегите оттуда.

У вас спрашивают результат работы выражения $i+++++$i, что быстрее - пре-инкремент или пост-инкремент и другие не "Real-Life задачи".

Собеседующий вас - идиот, которому посчастливилось чудом вылезти в начальники. Теперь он испытывает "синдром вахтера" и идёт на "Хабр" с вопросом что бы такое задать, чтобы вас завалить. Ему не нужен работник - ему нужно потешить Чувство Собственной Важности, поиздеваться над вами.

На самом деле ни одному профессиональному разработчику не придет в голову писать в реальном коде что-то вроде $i+++++$i;. Профессиональный разработчик тем и отличается от новичка, что пишет код так, чтобы его понимал в первую очередь человек, а уж потом - интерпретатор.

Ни один профессиональный разработчик не интересуется - что быстрее работает - пре-инкремент или пост-инкремент. Профессиональный разработчик знает, где и когда использовать тот или иной вариант. Профессиональный разработчик не экономит "на спичках" и не забивает гвозди микроскопом.

Конечно, когда фирма срослась с государством и тут теперь мусара на хозяйстве - травить компьютерных задротов (ну хотя бы на собеседованиях) вполне естественно. Как мы вас в щколке пиздили.

Икарочи, - если у вас спрашивают подобные "задачки", смело бегите от такого тимлида. Ничего хорошего из этого не выйдет.

После трудоустройства

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

Сверхурочная работа

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

На самом же деле вы не должны работать сверхурочно, ничего постыдного нет уйти в положенный срок. Пресекайте на корню подобное отношение к вам и попытке вас эксплуатировать (см. Избегайте ... компаний-эксплуататоров). Если вы видите, что сверхурочная эксплуатация сотрудников - это "нормальное" состояние вашего нового места работы, немедленно увольняйтесь.

Программирование и ваша жизнь

Профдеформация

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

Нельзя делать из программирования культ и смысл жизни

Подобными действиями очень часто грешат новички: уходят в программирование с головой, спускают на обучение годы жизни, уделяют профессии 90% свободного времени. Должна быть разумная черта, грань, за которую вы не должны переступать. Бесконечное оттачивание навыков в IT не сделает из вас миллионера или человека с достатком сильно выше среднего (да-да, забудьте мифы о программистах-миллионерах), вы не станете знаменит или бессмертен. Но есть все шансы потерять лучшие годы жизни. Необходимо развивать в себе иные качества личности, которые пригодятся в реальной жизни, совершенствоваться в других сферах. Например, жизненно важно уметь делать тривиальный бытовой ремонт, разбираться в устройстве автомобиля, уметь владеть инструментом. Полезно ходить в походы, заниматься активно спортом, делать всё то, что не лежит в плоскости IT, что является антиподом мыслительно-сидячей работы.

Рано или поздно придётся уходить

Потратить очень много времени на быстроустаревающие знания с возможностью через достаточно быстрое время уйти на помойку истории - это абсолютно нелогическое использование ресурса своей жизни. Бежать в колесе, как белка, может выдержать человек только на очень раннем этапе своего жизненного пути. Рано или поздно придётся сходить. Всегда помните об этом.

Современное IT подобно ветру - оно очень быстро развивается и гнаться за всеми нововведениями и тенденциями, следить за огромным количеством фреймворков и технологий многие годы не получится. Хотя по правде говоря, это скорее поток кровавого поноса. И хотите вы этого или нет - рано или поздно придется остановиться и искать иной путь заработка, более "стабильный" и менее стрессовый, т.к. к тому времени вы просто морально сгорите как рядовой специалист. Уделять всю свою сознательную жизнь программированию и быстро меняющимся технологиям может только человек, живущий исключительно в мире нулей и единиц, т.е. весьма отрешенный человек без личной жизни и оффлайн-перспектив. Выходом может быть только самоубийство.
Сообщение слишком длинное. Полная версия.


No.48599 Ответ [Открыть тред]
Файл: 15211418425220.png
Png, 54.75 KB, 625×459 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
15211418425220.png
Есть архивчик, там файлы 96-99 годов (даже 92-го). Анон сказал, что использовался язык программирования RPG. Я скачал компилятор Lattice RPG II на DOS, программа сама запускается, но вот как посмотреть код? Как вообще это всё было написано?

https://drop.me/BP2pGV
>> No.48603 Ответ
>>48599
Внутри файла Z.exe всё написано:

Создание, удаление и обработка лицевых счетов
Создание, удаление и обработка групп лицевых счетов
Создание, удаление и обработка сводов групп
Работа с планом расчетов: создание, удаление и работа
Работа со справочником имен, закрытие месяца и т.п.

Разработал А.Корнейчук
Фирма Плюс/МИКРО
ZluKA 3.30 1993

Гугл считает, что они находятся в Караганде: https://www.ctopm.net/blank-cfvg

>>48599
Внутри файла Z.exe всё написано:

Создание, удаление и обработка лицевых счетов
Создание, удаление и обработка групп лицевых счетов
Создание, удаление и обработка сводов групп
Работа с планом расчетов: создание, удаление и работа
Работа со справочником имен, закрытие месяца и т.п.

Разработал А.Корнейчук
Фирма Плюс/МИКРО
ZluKA 3.30 1993

Гугл считает, что они находятся в Караганде: https://www.ctopm.net/blank-cfvg

Но проще написать на любом современном языке обёртку над этими файлами, т.к. TXT/CLG/RPS/RPG — обыкновенные текстовые файлы (нет, они не написаны на RPG).
Сообщение слишком длинное. Полная версия.


No.48481 Ответ [Открыть тред]
Файл: 4-Minimal-Scala-Web-Frameworks-for-Web-Developers.png
Png, 8.42 KB, 635×282 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4-Minimal-Scala-Web-Frameworks-for-Web-Developers.png
Очередной тред про самый лучший язык для JVM.

Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Учебник по Скале на русском: http://twitter.github.io/scala_school/ru/index.html
Второй учебник по Скале на русском: http://twitter.github.io/effectivescala/index-ru.html
Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun
Конфа треда: https://t.me/hcdev

Список годноты: https://github.com/lauris/awesome-scala
Презентации летнего ScalaDays: https://www.parleys.com/channel/53a7d269e4b0543940d9e535/presentations?sort=views&state=public
Два недавних форка компилятора, один от тайплевела и второй от баттхертнутого:
https://github.com/typelevel/scala (https://github.com/typelevel/scala/wiki/Differences)
https://github.com/paulp/policy

Очередной тред про самый лучший язык для JVM.

Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Учебник по Скале на русском: http://twitter.github.io/scala_school/ru/index.html
Второй учебник по Скале на русском: http://twitter.github.io/effectivescala/index-ru.html
Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun
Конфа треда: https://t.me/hcdev

Список годноты: https://github.com/lauris/awesome-scala
Презентации летнего ScalaDays: https://www.parleys.com/channel/53a7d269e4b0543940d9e535/presentations?sort=views&state=public
Два недавних форка компилятора, один от тайплевела и второй от баттхертнутого:
https://github.com/typelevel/scala (https://github.com/typelevel/scala/wiki/Differences)
https://github.com/paulp/policy

Завтра ищешь в интернете книжку Programming in Scala. Похуй если ничего не поймешь. Затем идешь на scala-lang.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию скала кода - от EPFL естественно, чтобы от зубов отскакивало. Когда напишешь свой первый клон Twittera, по пути изучив основы дискретного и лямбда исчисления, скачиваешь и изучаешь любой асинхронный скала вебсервер, рекомендую Play!. Как переделаешь твиттер клон, чтобы выдавал по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop и Spark, сверхбыстрые асинхронные key-value хранилища, NoSQL и прочие мира открытого исходного кода приблуды. Отсос хиккующих питонистов / просто неудачников типа годаунов или рубифанбоев, сосут по жизни, не заставит себя ждать и уже через пол года ты будешь подворачивать штаны, есть маффины, запивая смузи и любая баба будет течь от упоминания твоей зарплаты.
Сообщение слишком длинное. Полная версия.
>> No.48510 Ответ
>>48481
Нам нужен готовый красивый продукт, который хотим развивать. Так просто это не осметить. Нужно встречаться и разговаривать о затраченном времени. Мы вам перезвоним.


No.37645 Ответ [Открыть тред]
Файл: sweet_dreams__alex_by_koriart-d5qvspe.jpg
Jpg, 87.73 KB, 600×780 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sweet_dreams__alex_by_koriart-d5qvspe.jpg
Сабж. Ненавистники идут ненавидеть, все остальные - добро пожаловать. Тут вас ждет помошь и реабилитация от губительного влияния устаревшей программы обмучения поцкалем.

Обойдемся без срача и фанатизма.
110 posts are omitted, из них 16 с файлами. Развернуть тред.
>> No.45088 Ответ
>>44887
Паскаль - это не только борландовское поделие всё-таки.
Если интересно - в лазарь спокойно обрабатывает в OnKeyDown и таб и альт. У меня линь 64 если что.
>> No.46968 Ответ
Файл: pascal-0-01.jpg
Jpg, 218.88 KB, 800×553 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
pascal-0-01.jpg
Сап, доброкодеры. А добропомогите мне по одному вопросу. Какого чёрта SCHOOL PAK выдаёт мне псевдографику вместо нормальных лат. и рус. букв? Вот написал программу, потом поальттабил, вернулся к программе – всё, пиздец. Закрыл, запустил по новой, та же фигня.
HAHAHA DISREGARD THAT, I COOK SOCKS
Уже разобрался с проблемой. Как выяснилось, переключение раскладок руны/чел.яз. осуществляется правым альтом.
...
А теперь уже нет. В общем забудьте и считайте это таким видом бампа.
>> No.47046 Ответ
Файл: test.dec.jpg
Jpg, 869.97 KB, 200×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
test.dec.jpg
>> No.48044 Ответ
Файл: 072-1024x768-32-[SIG6b0d2c18a7a7c1c9d65f7b2afc8289.jpg
Jpg, 118.95 KB, 1024×768 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
072-1024x768-32-[SIG6b0d2c18a7a7c1c9d65f7b2afc8289.jpg
Нет в мире ничего прекраснее, чем познавать новое, учиться, читать и запоминать на всю жизнь мудрые строки!
Поздравляю!
>> No.48178 Ответ
Посоветуйте что-нибудь в духе справочника по паскалю хотя бы на уровне школы
>> No.48218 Ответ
>>48178
Удваиваю.
>> No.48227 Ответ
>>48178
Когда в школе учился мне хватало http://pas1.ru/ с головой. Если тебе именно синтаксис учить, да задачки тренироваться решать.
>> No.48228 Ответ
pas cal
>> No.48229 Ответ
>> No.48450 Ответ


No.47975 Ответ [Открыть тред]
Файл: freelance.jpg
Jpg, 51.56 KB, 600×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
freelance.jpg
В данный момент я студент по околоматематическому-околоайтишному направлению. Все больше я склоняюсь к мысли, что лучший вариант работы для меня - быть кодером. Программирование изучал со школы, попробовал несколько разных языков, параллельно писал небольшие проекты, в общем, мне это все нравится. Но только вот я никогда не работал на должности программиста. Подрабатывал всегда на всяких чернорабочих вакансиях вроде грузчика.
Дело в том, что к своему обучению я отношусь довольно серьезно и не хочу работать во вред ему даже если в будущем оно мне, возможно, и не пригодится. А с таким подходом найти нормальную работу в офисе не просто. Потому я подумал, что на время обучения можно попробовать вкатиться в мифический фриланс, о котором я столько слышал. Мне сейчас достаточно небольшого заработка, потому я мог бы контролировать нагрузку и параллельно учиться. Ну и зарабатывать "мозгами" куда приятнее, чем таскать тяжести.
Собственно вопросы к доброанонам, которые имеют опыт в этой сфере:
-Стоит ли мне пытаться идти во фриланс без какого-либо настоящего опыта работы в офисе?
-Сколько времени лично у тебя, анон, ушло на то, чтобы более-менее наладить свою работу в этой сфере? Я имею ввиду не только наладить рабочий процесс, но и иметь некоторый стабильный, хоть и небольшой, доход.
-Ну, и в целом, как ощущения от всего этого?
Также призываю здесь всех, кто даже не имеет опыта в этой сфере, делиться своим мнением и обсуждать явление фриланса в области программирования!
6 posts are omitted. Развернуть тред.
>> No.48370 Ответ
>>48369
Зачем нужны CMS/фреймворки, если php уже сам по себе комбайн со 100500 готовых библиотек?
>> No.48372 Ответ
>>48370
Ну фреймворки как правило то и делают, что объединяют наиболее стоящие из этих библиотек в какую-то поддерживаемую архитектуру.

CMS же это как конструктор в который каждый разработчик может добавлять свои блоки.
>> No.48389 Ответ
>>47975
Посмотри в сторону научного стека на питоне: numpy/scipy/matplotlib/seaborn/scipy/scikit-learn/theano/pymc3/pandas
Это пока ещё не такая засиженная тема, как формошлёпы, вошедшие в айти.
только апворк, в нашей стране на такое спроса нет.
>> No.48390 Ответ
>>48389
В вашей стране ни на что спроса нет.
Я уже лет десять работаю на заграницу. Предлагали съебать и работать в флориде. Статистика, датамайнинг, все дела. Но я же хикка, как я могу отказаться от созерцания говнища за окном.
Не зли меня.
>> No.48407 Ответ
>>48390
Где находил работу? Как происходит коммуникация с коллегами?
>> No.48417 Ответ
>>48407
Я не он, но рискну предположить, что на апвоке, а коммуникация через слак и скайп. Что ещё надо-то?
>> No.48418 Ответ
>>48417
Так это же Колобок из Колобкач-треда!
Он уже на другой доске написал, что они его сами находили в LinkedIn.
>> No.48446 Ответ
Кодеры, хочу примерно того же, что и ОП. Платиновый вопрос - что учить, с чего начинать? Математику и всякое такое не изучал с третьего класса, знаю немного питон.
>> No.48447 Ответ
>>48446
DiveIntoPython.txt
>> No.48448 Ответ
>>48447
Читал уже. Что дальше посоветуешь?


No.48399 Ответ [Открыть тред]
Файл: 14892296354040.png
Png, 547.97 KB, 511×604 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14892296354040.png
Сегодня снова увидел тему о том, как стать программистом. Снова увидел советы людей, мол веб кодеры самые востребованные, я пообещал написать, что это не так, как буду у пекарни. Тот тему, видимо, потер, но надо пояснить по хардкору, что погромисты — полная фигня.

1) Кто такой погромист? Наемный рабочий. От чего зависит зарплата? От рыночной ситуации на рынке. Это значит, что чем больше программистов, тем ниже их зарплата. Много ли сейчас программеров? Просто дофига. Особенно это касается php программистов, где низкий порог вхождения.

2) Профессионалы везде нужны и всегда востребованы. Это не так. Да, ты видишь вакансии на хэдхантере по 120 и 160к, но ты читал описания к ним? Они хотят, чтобы ты знал все, при том, чтовсе эти технологии в работе вовсе не нужны. Они хотят от тебя 10 фрэймворков, на деле используют один. Хотят от тебя множество баз данных, на деле используют mysql и т.д. Зачем они это делают? Чтобы привлечь людей. Получат они сотни резюме, прособеседуют сотни людей, выберут лучшего, но не дадут ему 160к, т.к. он не все знает, что требуют, потому что это невозможно, да и не нужно, но ему скажут — вы не знаете такой-то фрэймворк то и то, все, Вы нам подходите только за 80. Если ты ищешь работу за 80, тебе будут скидывать оплату до 30. Ок, я хочу 80, откликнусь на 160к, тебе даже не позвонят, потому что твои знания действительно стоят 80, а им надо тех, кто знает на 160к, чтобы уплатить 80, понимаешь? Капитализм.

Сегодня снова увидел тему о том, как стать программистом. Снова увидел советы людей, мол веб кодеры самые востребованные, я пообещал написать, что это не так, как буду у пекарни. Тот тему, видимо, потер, но надо пояснить по хардкору, что погромисты — полная фигня.

1) Кто такой погромист? Наемный рабочий. От чего зависит зарплата? От рыночной ситуации на рынке. Это значит, что чем больше программистов, тем ниже их зарплата. Много ли сейчас программеров? Просто дофига. Особенно это касается php программистов, где низкий порог вхождения.

2) Профессионалы везде нужны и всегда востребованы. Это не так. Да, ты видишь вакансии на хэдхантере по 120 и 160к, но ты читал описания к ним? Они хотят, чтобы ты знал все, при том, чтовсе эти технологии в работе вовсе не нужны. Они хотят от тебя 10 фрэймворков, на деле используют один. Хотят от тебя множество баз данных, на деле используют mysql и т.д. Зачем они это делают? Чтобы привлечь людей. Получат они сотни резюме, прособеседуют сотни людей, выберут лучшего, но не дадут ему 160к, т.к. он не все знает, что требуют, потому что это невозможно, да и не нужно, но ему скажут — вы не знаете такой-то фрэймворк то и то, все, Вы нам подходите только за 80. Если ты ищешь работу за 80, тебе будут скидывать оплату до 30. Ок, я хочу 80, откликнусь на 160к, тебе даже не позвонят, потому что твои знания действительно стоят 80, а им надо тех, кто знает на 160к, чтобы уплатить 80, понимаешь? Капитализм.

3) Будешь фрилонсить? Ох, лол. Это выход, если у тебя нет работы и ты живешь в деревне. А таких как раз весь фриланс и есть. Вчера я оставил заявку, оценил работу я в 6 дней и 10к. Стоит ли говорить, что набежали люди, которые предложили 20$? Всего заявок больше 50. Дорого ли я прошу за 6 дней работы? Это 40к в месяц, это дорого для программиста? Нет. Но 20$ и 350$ сильно разная цена, поэтому заказ уйдет кому-то, но не мне. Возможно, в украинской деревне ты сможешь на 20$ в неделю позволить себе купить то, что не можешь вырастить на огороде, людям надо выживать и никто не виноват в этом, просто международное разделение труда, дорогой друг, и не надо мне втирать про главное качество, в 15 раз больше за качество не заплатят никогда.

4) Ок, я тогда буду сам предпринимателем, найму работников на фрилансе, а продам дороже. Ну попробуй, лол. Твои поделки уровня фриланса ненужны никому, нормальных заказов на фрилансе не будет никогда, а заказ от большой конторки ты не сделаешь сам, а скилы фрилансеров не позволят это сделать. Нанять программистов можно в штат, но совладеешь ли ты с ними? Если ты не компетентен, ты не оценишь сроки грамотно, не поймешь, кто халявит, а кто нет. А если ты компетентен, у тебя большой опыт, ты сможешь это сделать, но потянешь ли ты бизнес? Ведь ты знаешь программирование и только. А где ты опыт взял? Делал дома свои поделки? А на что ты жил? На фрилансе? Опыт фриланса — это не опыт программинга, а деградация и полное дно. Потом, зарплаты, аренда, все это дорого. От этого будет дорогая конечная цена. А много физ.лиц уровня фриланса в любом гугле предложат цену лучше, удержишь ли ты клиентов? А компаниям ничего не мешает заказать сайт в регионе, в любом городе за мкадом или кадом, где будет в разы дешевле.

ТЫ можешь быть программистом только для того, чтобы работать на работе, пока твоя контора не разорится, потому что все причины, описанные выше, влияют на бизнес твоего хозяина.

Ты можешь мигрировать, но это сложно, да и денег тебе не дадут там, как местному, а уровень жизни будет высоким, ты продолжишь ощущать себя нищим, еще и в другой стране.

Ты откроешь бизнес у себя в городе? Это вполне может сработать, если заказы ты будешь брать с городов покрупнее, сможешь ли ты конкурировать с ними? Ведь местных заказов нет.

И помни, что основная часть заказов всегда за откаты, взятки, знакомства.

Ты можешь привлечь инвестиции, но это сорт оф роспил. Венчурные фонды есть, но инвестируют ли они в тебя? почему? ЗА идею? ЛООООЛ! Они инвестируют не свои деньги, а государственные или инвесторов. Дальше продолжать про откатные моменты?

ТЫ можешь сам сделать в гараже фэйсбук. Но вероятность этого крайне мала, т.к. времена доткомов прошли, уже есть все, революцию ты не сделаешь.

Заработать грузчиком, маляром, водителем можно те же деньги, что программистом, только чтобы таскать грузы, не нужно знать фрэймворки. Подумай, стоит ли идти программером, открывать студию, делать проекты сейчас, когда рынок перенасыщен, очень перенасыщен. Есть ли у тебя связи? Можешь ли ты давать взятки и откаты? Уверен ли ты, что тебя возьмут за 120, а не за 30к? А инфляция никуда не денется. Быть программистом не круто, дорогой друг.

Устроиться в крупную международную контору? Спрос желающих туда попасть тоже велик, поэтому пройдешь ты по обычным ценам. Да, там карьерный рост, корпоративный дух и прочий тимбилдинг, а толку то, если это не ты капитализируешься на IPO? Да и банальные премии и надбавки отсутствуют, зарплату индексируют редко, появляется корпоративный крысизм, стукачества, повышения также идут по знакомству, какой бы ты расхороший не был.

Работаешь как бешенный? молодец. Работаешь еще сильнее? Умничка, зачем работадателю повышать тебе зарплату? Ведь это увеличит его расходы, а следовательно уменьшит его зарплату. Уйдешь? На твое место очередь. Тебе надо быть реально крутым, чтобы тебя как-то воспринимали, иначе ты так и проработаешь за свою з\п, малую з\п и очень долго. Работу ты можешь делать хоть за тимлида, но за ту же з\п.

Энжой ё капитализм.
Эта сфера просто дно, я считаю.

Быть не веб макакингой, а узкоспециализированным кодером? Ну ок, будь, ищи работу годами, ведь в этих узких сферах уже твое место занято, но может кого-то и уволят, а может кто-то и умрет, наверное, на работе.

Безысходность. Я думаю о смене профессии.
Сообщение слишком длинное. Полная версия.
>> No.48400 Ответ
>>48399
Сейчас бы на должность джуниора пускай за маленькую зарплату, но по трудовой и чтобы помогали-поясняли...
>> No.48401 Ответ
>>48400
> чтобы помогали-поясняли...
Лол, нахрен ты такой нужен? Серьезно. Отвлекать других программистов от их работы, чтобы они тратили время на человека, который, скорее всего, через год-два решит в другую конторку с ЗП побольше свалить. Не охренел ли ты часом? Иди вышку получай, книжки читай. Нет, вышка нинужна, знания мне добрый дядя в свитере, у которого, определенно нет дел поважнее, чем объяснять мне, что такое синглтон, как и где его применять, как поставить плагин и прочей херней заниматься.
Я не ОП, но всегда проигрываю с таких. Джун нужен, чтобы спихивать на него рутину, которая не требует мозгов и он с ней быстро справлялся, пока нормальные программисты дела делают. А необходимый опыт и другие умения в нерабочее время пусть получает.
>> No.48406 Ответ
>>48401
Нахуй такие конторки которые отказываются платить зарплаты по рынку. Чем больше людей будут сваливать при первой возможности тем лучше для индустрии.
>> No.48409 Ответ
>>48406
Так при чем тут зарплата и отвлекание программистов от работы, ради обучения джунов? Джунам платят как джунам, все вполне норм.
>> No.48425 Ответ
Файл: Building_Software...
Jpg, 76.05 KB, 437×663
edit Find source with google Find source with iqdb
Building_Software_for_Simulation-0.jpg
Файл: Building_Software...
Png, 35.69 KB, 547×829
edit Find source with google Find source with iqdb
Building_Software_for_Simulation-1.png
Файл: Building_Software...
Png, 34.65 KB, 546×829
edit Find source with google Find source with iqdb
Building_Software_for_Simulation-2.png
Файл: Building_Software...
Png, 37.97 KB, 547×830
edit Find source with google Find source with iqdb
Building_Software_for_Simulation-3.png
Файл: Building_Software...
Png, 36.69 KB, 545×827
edit Find source with google Find source with iqdb
Building_Software_for_Simulation-4.png

>>48399
> Быть не веб макакингой, а узкоспециализированным кодером? Ну ок, будь, ищи работу годами, ведь в этих узких сферах уже твое место занято, но может кого-то и уволят, а может кто-то и умрет, наверное, на работе.
Итак, товарисчи, ИТ-системы делятся на нужные и ненужные. Нужные — все давно написаны, это Windows, Office, VisualStudio, КОБОЛ, 1С, БЕЙСИК, ну и добавьте там по своему вкусу. Всё, что нужное недописано — будет сделано силами белых программистов, которые уже есть и которых уже больше не надо в европах и америках, и шансов попасть в их когорту меньше, чем рашкинскому программистишке понять зачем хорошо одеваться и чистить зубы. Умные вещи типа программирования задвижки нефтесоски или ядерной боеголовки допишут белые элитные люди, их надо на весь мир тыщу человек и они уже есть. А остальным остаётся утилизация, сидение по 12 часов в день с изображением видимости работы, лузерство, нищета, метро в час пик, доширак, велосипед, зеркалка и интересные проекты. Во как, товарищи.

Посмотрим же внимательнее, WTO ONI TAM PISHUT:
>> No.48426 Ответ
>>48399
Толсто, зелено.
Хотя может зависит и от сферы, и от языка.
>> No.48427 Ответ
>>48400
Ищи и найдешь.
Проще всего, с таким подходом, попасть в какой-нибудь завод, на какую-нибудь военку.
1) Люди там работают по долго и немного опыта у них есть (устаревший, но все-же), в теории будет у кого подучиться.
2) Люди туда идут редко -> попасть туда будет проще чем в "супермегастартап", а зп по началу будет одинаково никакая, а дальше - зависит от начальства и тебя самого.
Вообще всё зависит от того в какой коллектив попадешь.
>> No.48428 Ответ
Таки да. Подогреваемый ажиотаж вокруг айти служит средством для понижения зарплат и ЧСВ погромистов. Кто успел заскочить на первые галеры лет 10-15 назад, те молодцы, а учиться этому с нуля в 2к18м и рассчитывать на успешную карьерку это обрекать себя на конкуренцию с миллиардами индусов и выпускниц курсов Карли Клосс.
И в общем-то правильно, быдлокодинг не такое уж невероятно сложное занятие. В будущем это наверняка будет стандартным требованием к соискателю любой более-менее интеллектуальной работы, как умение пользоваться комплюхтером или знать грамоту до того.
>> No.48435 Ответ
>>48401
> Иди вышку получай
Уже получил, но всё равно ничего не умею.
> объяснять мне, что такое синглтон, как и где его применять, как поставить плагин и прочей херней заниматься
Да я и сам найду, лишь бы не ругались "ЧЕГО ТАК ДОЛГО, Я ЭТО СДЕЛАЮ ЗА 5 МИНУТ, А ТЫ МУЧАЕШЬСЯ 5 ЧАСОВ!"
>> No.48438 Ответ
>>48435
> Уже получил, но всё равно ничего не умею.
Привыкай к этому чувству. Когда начнешь думать, что всё умеешь - всё пропало.

> лишь бы не ругались
Если вменяемые, то будут понимать твои силы и навыки. Давать что-то мега сложное не будут, да и мега срочное - тоже.


No.29820 Ответ [Открыть тред]
Файл: SQL.PNG
Png, 15.62 KB, 393×305 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
SQL.PNG
Что-то не нашёл треда, посвящённого SQL в общем, посему запилю новый.
Oracle, MySql, MSSql, PostreSql, Sqlite и прочие реляционные СУБД are welcome.
305 posts are omitted, из них 43 с файлами. Развернуть тред.
>> No.45458 Ответ
>>45456
Спасибо. Подумаю над этим.
>> No.45459 Ответ
Файл: VFjAIehz55k.jpg
Jpg, 66.08 KB, 800×761 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
VFjAIehz55k.jpg
А можно ли в PostgreSQL сделать так, чтобы индекс таблицы заполнялся по умолчанию?
В духе: 1, 2, 3, 4...
Ничего не могу нагуглить.
>> No.45460 Ответ
>>45459
Sequence, google it.
>> No.45465 Ответ
>>45460
Спасибо.
Добра тебе.
>> No.45466 Ответ
>>45458
Почти всегда используют отдельную таблицы для значений.
>> No.45486 Ответ
Так что там на счет гуидов вместо Ид в мс скл? Какие подводные камни?
>> No.45487 Ответ
>> No.45489 Ответ
>>45486
Но зачем?
>> No.45509 Ответ
>>45489
Удобно синхронизировать базы всяких филиалов, например. Чтобы не делать композитные ключи в духе (филиал, айдишка).
>> No.48392 Ответ
Файл: 30e717c649a0f1d2fa7c6ebfa0f21ecc.jpg
Jpg, 220.54 KB, 838×1607 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
30e717c649a0f1d2fa7c6ebfa0f21ecc.jpg
Я понимаю, что тред скорее мертв чем жив. Но таки спрошу.

Смотрите, в базе есть таблица с историей изменений какой-то таблицы, вида: ID, itemID, PropName, PropValue, DateOfChange.

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

Предположим, что в первой таблице(той что с сущностью) есть записи о каких-то товарах(пусть будут комплектующие для ПК вида:ID, Name, Price) и мы добавили еще таблицу, в которой фиксируется факт покупки в виде(SaleID, ItemID, SaleDate, Quantity)

Так вот задача: сделать хранимую процедуру, позволяющую вычислить прибыль от проданных товаров определенного типа на промежутке времени, не внося изменения в структуру таблицы. Т.е. входные данные(ItemID int, startPerod date, endPeriod date)

Я думаю, что вполне понятно объяснил. Вот.


[0] [1] [2] [3] [4] [5] ... [51] [52] [53]
Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]