C# C/S 两个程序都是我写的,如何用一个程序调用另一个程序的方法

C# C/S 两个程序都是我写的,如何用一个程序调用另一个程序的方法

c#

2个回答

请使用委托来完成该项工作

wangjinlong_
_王金龙 委托?不懂,我去查查试试
3 年多之前 回复

你的问题好像不太明确,如果你的两个程序可以合并到一起的话,可以把两个程序的项目放到一个解决方案下,然后引用另一个程序的项目就可以调用了。
如果两个程序的源码不可以合并的话,可以通过添加引用的方法来引用另一个程序里的dll方法来调用其中的方法。

wangjinlong_
_王金龙 嗯,我的问题貌似确实不太明确,是我在做一个小的机房收费系统的小项目,现有一个教师端和一个端,功能需求是:希望能用教师端控制学生端结账下机。我查了查,调用API利用窗口句柄,如果学生端和教师端在同一个电脑上能实现前面的功能,但如果异地发布的话,就不行了,现在还在研究。。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#中跨类调用方法的时候变量的值跟着传递

比如有一个类 public class A{ private int i; private B b=new B(); public void sum(){ i++; } } public class B{ private A a; public void c(){ a.sum(); } } 现在有一个类调用A.sum()几次,假设A中i的值变成4了,我想让另外一个B类来调用A的时候,i的值是从4开始的。

请问一下这个C#程序的初始化功能是怎么实现的

老师给的程序范本,选好班级学期后点击初始化可以出现对应的表格,请教一下这个是如何实现的? ![图片说明](https://img-ask.csdn.net/upload/201912/08/1575810564_572320.png) 点击后是这样的 ![图片说明](https://img-ask.csdn.net/upload/201912/08/1575810587_431601.png) 班级和学年下拉框都只有一个选项,学期有两个选项,已经创建了两个学期的数据库

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

如何用VS2012把一个exe封装成dll并调用?

求助各位大佬,本人小白,刚开始接触编程,用VS2012写了一个小程序,但是现在导师要求我把这个程序封装成一个dll文件,并且要求可以通过网页调用,网页会传送过来四个字符串,我的程序需要根据这四个字符串进行相应的操作。 请问这一点该如何做到。另外我的小程序是UG的外部开发程序,需要在UG安装目录一个特定的文件夹下才能正确运行,不知道这一点会不会有什么影响。 如果可以的话,请各位大佬给我一个详细一点的回答,最好能教我一下其中的原理。 另外这个小程序里面好像不能使用string相关的函数,VS2012总是显示没有指定的类型匹配的重载函数,这个问题也希望能够得到大佬的解答。谢谢! 程序代码如下。 ``` /***************************************************************************** ** ** Tool_Assemble_External.cpp ** ** Description: ** Main file for the application. ** *****************************************************************************/ /* Include files */ #include <stdarg.h> #include <strstream> #include <iostream> using std::ostrstream; using std::endl; using std::ends; using std::cerr; #include <uf.h> #include <uf_ui.h> #include <uf_modl.h> #include <uf_part.h> #include <uf_cfi.h> #include <uf_assem.h> static void ECHO(char *format, ...) { char msg[UF_UI_MAX_STRING_NCHARS+1]; va_list args; va_start(args, format); vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_NCHARS, format, args); va_end(args); printf(msg); UF_print_syslog(msg, FALSE); } #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))) static int report_error( char *file, int line, char *call, int irc) { if (irc) { char err[133]; UF_get_fail_message(irc, err); ECHO("*** ERROR code %d at line %d in %s:\n", irc, line, file); ECHO("+++ %s\n", err); ECHO("%s;\n", call); } return(irc); } /* Main routine */ extern void main( char argc, char *argv[] ) { /* Initialize the API environment */ if( UF_CALL(UF_initialize()) ) { /* Failed to initialize */ return; } /* TODO: Add your application code here */ //新建一个一个prt文件 tag_t PartTAG = NULL_TAG; UF_CALL(UF_PART_new("D:\\Program Files\\Siemens\\NX 10.0\\SECONDARY_DEVELOPMENT\\DateBase\\Temp\\Newpart.prt", UF_PART_METRIC, &PartTAG)); printf("第一步,新建一个prt部件!\n"); //导入刀柄 UF_import_part_modes_t modes; modes.layer_mode = 0; modes.group_mode = 0; modes.view_mode = 0; modes.cam_mode = false; double dest_csys0 [ 6 ] = {1.0, 0.0, 0.0, 0.0, 0.0, 1.0}; //由三个坐标值确定的X方向和Y方向,笛卡尔坐标系,确定两个就能确定第三个坐标方向 double dest_point0 [ 3 ] = {0.0, 0.0, 0.0,}; //导入的原点 double scale0 = 1.0; //缩放比例 tag_t group0 = NULL_TAG; UF_CALL(UF_PART_import("D:\\Program Files\\Siemens\\NX 10.0\\SECONDARY_DEVELOPMENT\\DateBase\\ToolBase\\刀柄库\\BT40-ER32-100.prt", &modes, dest_csys0, dest_point0, scale0, &group0)); printf("第二步,导入刀柄\n"); //导入夹套 UF_import_part_modes_t modes1; modes1.layer_mode = 0; modes1.group_mode = 0; modes1.view_mode = 0; modes1.cam_mode = false; double dest_csys1 [ 6 ] = {1.0, 0.0, 0.0, 0.0, 0.0, 1.0}; //由三个坐标值确定的X方向和Y方向,笛卡尔坐标系,确定两个就能确定第三个坐标方向 double dest_point1 [ 3 ] = {0.0, 0.0, 0.0,}; //导入的原点 double scale1 = 1.0; //缩放比例 tag_t group1 = NULL_TAG; UF_CALL(UF_PART_import("D:\\Program Files\\Siemens\\NX 10.0\\SECONDARY_DEVELOPMENT\\DateBase\\ToolBase\\夹套库\\ER32-10.prt", &modes1, dest_csys1, dest_point1, scale1, &group1)); printf("第三步,导入夹套!"); //导入刀杆 UF_import_part_modes_t modes2; modes2.layer_mode = 0; modes2.group_mode = 0; modes2.view_mode = 0; modes2.cam_mode = false; double dest_csys2 [ 6 ] = {1.0, 0.0, 0.0, 0.0, 0.0, 1.0}; //由三个坐标值确定的X方向和Y方向,笛卡尔坐标系,确定两个就能确定第三个坐标方向 double dest_point2 [ 3 ] = {0.0, -50.0, 0.0,}; //导入的原点 double scale2 = 1.0; //缩放比例 tag_t group2 = NULL_TAG; UF_CALL(UF_PART_import("D:\\Program Files\\Siemens\\NX 10.0\\SECONDARY_DEVELOPMENT\\DateBase\\ToolBase\\刀杆库\\266RKF-D10.prt", &modes2, dest_csys2, dest_point2, scale2, &group2)); printf("第四步,导入刀杆!"); UF_CALL(UF_PART_save_as("D:\\Program Files\\Siemens\\NX 10.0\\SECONDARY_DEVELOPMENT\\DateBase\\Temp\\ToolNum.stp")); UF_CALL(UF_PART_close(PartTAG, 0, 1)); printf("保存文件!"); /* Terminate the API environment */ UF_CALL(UF_terminate()); } /***************************************************************************** ** Utilities *****************************************************************************/ ```

如何实现像QQ远程协助这样在程序内嵌的功能

这是一个c/s的程序,我要在程序里面加上一个远程协助的功能,首先考虑的问题是如何让两个客户端能互相远程协助,打洞不成功的情况下,就要从服务器转发,有没有现成可用的库,我搜索过vnc和freerdp,但是不知道怎么用,希望有类似开发经验的前辈能分享一下心得 我的服务器是放在linux下,用的是C++写的 客户端的运行环境是windows,用c#写的

刚刚初学C# 这几个问题有人能帮我解决一下吗 我想看看代码什么样子的

1.设半径r=1.5,圆柱高h=3,编写程序求园周长,圆面积,圆球表面积,圆球体积,圆柱体积.输出计算结果.圆周长:l=2*pi*r.圆面积:s=pi*r*r 球面积:s=4*pi*r*r 2.输入一个正整数,将该数的各位左右反转输出,即输入123,输出321。(使用while循环实现) 3.(如何在一行输出15个数并换行) 4.从键盘输入10个整型数据,输出10个数,并输出其平均值和最大值。 5.编写一个函数,求两数中的最小值,在主函数中输入这两个数,调用函数求出最小值,再求最小值的平方并输出 6.定义一个学生结构体,成员属性包含,姓名,性别和班级,使用结构体数组初始化3名学生,通过for循环输出学生全部信息.

【python-C相互调用】python里的dict如何作为参数传入.so中的c语言函数

【python-C相互调用】关于python通过.so调用C函数来读取python里某个key的值并进行处理,一直无法将dict传到C中,求助 1. 首先是C中的包装函数定义 ``` static PyObject * Extest_reverse(PyObject *self, PyObject *args,PyObject *keyds) { //PyObject* keyds = PyDict_Keys(args); static char* kwlist[] = {"name",NULL}; char *name; //将dict中的name里的值读到char* name中 PyObject* retval; if(PyArg_ParseTupleAndKeywords(args,keyds,"isi",kwlist,&name)) { retval = (PyObject *)Py_BuildValue("i",1); printf("%s",name); free(name); return retval; //成功读取返回1 } else retval = (PyObject *)Py_BuildValue("i",0); return retval; //未读取返回0 } static PyMethodDef ExtestMethods[] = { {"reverse",(PyCFunction)Extest_reverse,METH_VARARGS | METH_KEYWORDS,"reverse"}, }; void initwmf() { Py_InitModule("wmf",ExtestMethods); } ``` 2. python里的调用 .so已生成,将python 中定义的dict作为参数输入 ``` import wmf test = {'name':'wmf'} result = wmf.reverse(test) print(result) ``` 返回结果一直是0,未读到对应key值的value,进一步查验返现,test这个dict就没有传进去,传入参数是NULL。求助定义的问题,还是调用的问题?如何解决

c#异步通讯五子棋 双方倒计时怎么写

我用c#异步通讯做了个五子棋的winform,服务器端和客户端分开的。想利用timer实现双方倒计时要怎么写? client端代码 ``` using System; using System.Drawing; using System.Windows.Forms; using System.IO; namespace GameClient { public partial class FormPlaying : Form { private int tableIndex; private int side; private DotColor[,] grid = new DotColor[15, 15]; //保存颜色,用于消点时进行判断 private Bitmap blackBitmap; private Bitmap whiteBitmap; //命令是否来自服务器 private bool isReceiveCommand = false; private Service service; delegate void LabelDelegate(Label label, string str); delegate void ButtonDelegate(Button button, bool flag); delegate void RadioButtonDelegate(RadioButton radioButton, bool flag); delegate void SetDotDelegate(int i, int j, int dotColor); LabelDelegate labelDelegate; ButtonDelegate buttonDelegate; RadioButtonDelegate radioButtonDelegate; public FormPlaying(int TableIndex, int Side, BinaryWriter bw) { InitializeComponent(); this.tableIndex = TableIndex; this.side = Side; labelDelegate = new LabelDelegate(SetLabel); buttonDelegate = new ButtonDelegate(SetButton); radioButtonDelegate = new RadioButtonDelegate(SetRadioButton); blackBitmap = new Bitmap(Properties.Resources.black); whiteBitmap = new Bitmap(Properties.Resources.white); service = new Service(listBox1, bw); } /// <summary>载入窗体时发生的事件</summary> private void FormPlaying_Load(object sender, EventArgs e) { //默认游戏级别为3级 radioButton3.Checked = true; for (int i = 0; i <= grid.GetUpperBound(0); i++) { for (int j = 0; j <= grid.GetUpperBound(1); j++) { grid[i, j] = DotColor.None; } } labelSide0.Text = ""; labelSide1.Text = ""; labelGrade0.Text = ""; labelGrade1.Text = ""; } /// <summary>设置标签显示信息</summary> /// <param name="Label">要设置的Label</param> /// <param name="string">要设置的信息</param> public void SetLabel(Label label, string str) { if (label.InvokeRequired) { this.Invoke(labelDelegate, label, str); } else { label.Text = str; } } /// <summary>设置button是否可用</summary> /// <param name="Button">要设置的Button</param> /// <param name="flag">是否可用</param> private void SetButton(Button button, bool flag) { if (button.InvokeRequired) { this.Invoke(buttonDelegate, button, flag); } else { button.Enabled = flag; } } /// <summary>设置radioButton选择状态</summary> /// <param name="radioButton">要设置的RadioButton</param> /// <param name="flag">是否选中</param> private void SetRadioButton(RadioButton radioButton, bool flag) { if (radioButton.InvokeRequired) { this.Invoke(radioButtonDelegate, radioButton, flag); } else { radioButton.Checked = flag; } } /// <summary>设置棋子状态</summary> /// <param name="i">第几行</param> /// <param name="j">第几列</param> /// <param name="dotColor">棋子颜色</param> //public void SetDot(int i, int j, DotColor dotColor) //{ // service.AddItemToListBox(string.Format("{0},{1},{2}", i, j, dotColor)); // grid[i, j] = dotColor; // pictureBox1.Invalidate(); //} /// <summary>重新开始新游戏</summary> /// <param name="str">警告信息</param> public void Restart(string str) { MessageBox.Show(str, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); ResetGrid(); SetButton(buttonStart, true); } /// <summary>重置棋盘</summary> private void ResetGrid() { SetLabel(labelGrade0, ""); SetLabel(labelGrade1, ""); for (int i = 0; i <= grid.GetUpperBound(0); i++) { for (int j = 0; j <= grid.GetUpperBound(1); j++) { grid[i, j] = DotColor.None; } } pictureBox1.Invalidate(); } /// <summary>取消棋子</summary> /// <param name="x">x坐标</param> /// <param name="y">y坐标</param> public void UnsetDot(int x, int y,DotColor dotColor) { //service.AddItemToListBox(string.Format("{0},{1},{2}", i, j, dotColor)); //grid[x / 20 - 1, y / 20 - 1] = dotColor; grid[x,y] = dotColor; pictureBox1.Invalidate(); } /// <summary>绘制图像</summary> private void pictureBox1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; for (int i = 0; i <= grid.GetUpperBound(0); i++) { for (int j = 0; j <= grid.GetUpperBound(1); j++) { if (grid[i, j] != DotColor.None) { if (grid[i, j] == DotColor.Black) { g.DrawImage(blackBitmap, (i + 1) * 20, (j + 1) * 20); } else { g.DrawImage(whiteBitmap, (i + 1) * 20, (j + 1) * 20); } } } } } /// <summary>设置游戏难度级别</summary> /// <param name="ss">难度级别</param> public void SetLevel(string ss) { isReceiveCommand = true; switch (ss) { case "1": SetRadioButton(radioButton1, true); break; case "2": SetRadioButton(radioButton2, true); break; case "3": SetRadioButton(radioButton3, true); break; case "4": SetRadioButton(radioButton4, true); break; case "5": SetRadioButton(radioButton5, true); break; } isReceiveCommand = false; } /// <summary>当游戏难度级别发生变化时触发的事件</summary> private void radioButton_CheckedChanged(object sender, EventArgs e) { //isReceiveCommand为true表明是接收服务器设置的难度级别触发的此事件 //就不需要再向服务器发送 if (isReceiveCommand == false) { RadioButton radiobutton = (RadioButton)sender; if (radiobutton.Checked == true) { //设置难度级别 //格式:Time,桌号,难度级别 service.SendToServer(string.Format("Level,{0},{1}",tableIndex, radiobutton.Name[radiobutton.Name.Length - 1])); } } } /// <summary>向服务器发送消息</summary> private void buttonSend_Click(object sender, EventArgs e) { //字符串格式:Talk,桌号,对话内容 service.SendToServer(string.Format("Talk,{0},{1}", tableIndex, textBox1.Text)); } /// <summary>对话内容改变时触发的事件</summary> private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { //字符串格式:Talk,桌号,对话内容 service.SendToServer(string.Format("Talk,{0},{1}", tableIndex, textBox1.Text)); } } /// <summary>点击帮助按钮时触发的事件</summary> private void buttonHelp_Click(object sender, EventArgs e) { string str = "\n本游戏每两人为一组。游戏玩法:\n\n" + "(1)对局双方各执一色棋子。\n\n"+ "(2)空棋盘开局。\n\n" + "(3)黑先、白后,交替下子,每次只能下一子。\n\n" + "(4)只要黑白方中任意一方的棋子有五子连在一起(即五子连珠),可以为横连、纵连、斜连,则该方获胜。\n"; MessageBox.Show(str, "帮助信息"); } /// <summary>点击开始按钮时触发的事件</summary> private void buttonStart_Click(object sender, EventArgs e) { service.SendToServer(string.Format("Start,{0},{1}", tableIndex, side)); this.buttonStart.Enabled = false; } /// <summary>点击退出按钮时触发的事件</summary> private void buttonExit_Click(object sender, EventArgs e) { this.Close(); } /// <summary>关闭窗体时触发的事件</summary> private void FormPlaying_FormClosing(object sender, FormClosingEventArgs e) { //格式:GetUp,桌号,座位号 service.SendToServer(string.Format("GetUp,{0},{1}", tableIndex, side)); } /// <summary>FormRoom中的线程调用此方法关闭此窗体</summary> public void StopFormPlaying() { Application.Exit(); } /// <summary>在pictureBox1中按下鼠标触发的事件</summary> private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { int x = e.X / 20; int y = e.Y / 20; int color=-1; if (!(x < 1 || x > 15 || y < 1 || y > 15)) { if (grid[x - 1, y - 1] == DotColor.None) { // int color = (int)grid[x - 1, y - 1]; if (side == 0) { color = 0; } if (side == 1) { color = 1; } //发送格式:UnsetDot,桌号,座位号,行,列,颜色 service.SendToServer(string.Format( "UnsetDot,{0},{1},{2},{3},{4}", tableIndex, side, x - 1, y - 1, color)); } } } /// <summary> /// 设置玩家信息,格式:座位号,labelSide显示的信息,listbox显示的信息 /// </summary> /// <param name="sideString">指定玩家</param> /// <param name="labelSideString">labelSide显示的信息</param> /// <param name="listBoxString">listbox显示的信息</param> public void SetTableSideText(string sideString, string labelSideString, string listBoxString) { string s = "白方"; if (sideString == "0") { s = "黑方:"; } //判断自己是黑方还是白方 if (sideString == side.ToString()) { SetLabel(labelSide1, s + labelSideString); } else { SetLabel(labelSide0, s + labelSideString); } service.AddItemToListBox(listBoxString); } /// <summary> /// 设置成绩信息,格式:grade0为黑方成绩,grade1为白方成绩 /// </summary> /// <param name="str0">黑方成绩信息</param> /// <param name="str1">白方成绩信息</param> public void SetGradeText(string str0, string str1) { if (side == (int)DotColor.Black) { SetLabel(labelGrade1, str0); SetLabel(labelGrade0, str1); } else { SetLabel(labelGrade0, str0); SetLabel(labelGrade1, str1); } } /// <summary>显示谈话信息</summary> /// <param name="talkMan">谈话者</param> /// <param name="str">要显示的信息</param> public void ShowTalk(string talkMan, string str) { service.AddItemToListBox(string.Format("{0}说:{1}", talkMan, str)); } /// <summary> /// 显示消息 /// </summary> /// <param name="str">要显示的消息</param> public void ShowMessage(string str) { service.AddItemToListBox(str); } } } ``` service方法代码 ``` //------Service.cs----------// using System.Windows.Forms; using System.IO; using System.Net; using System.Net.Sockets; using System; using System.Threading; namespace GameClient { class Service { ListBox listbox; //StreamWriter sw; BinaryWriter bw; bool isExit = false; public Service(ListBox listbox, BinaryWriter bw) { this.listbox = listbox; this.bw = bw; } private struct SendToServerStates { public SendToServerDelegate d; public IAsyncResult result; } /// <summary>异步向服务器端发送数据</summary> public void AsyncSendToServer(string message) { SendToServerDelegate d = new SendToServerDelegate(SendToServer); IAsyncResult result = d.BeginInvoke(message, null, null); while (result.IsCompleted == false) { if (isExit) { return; } Thread.Sleep(50); } SendToServerStates states = new SendToServerStates(); states.d = d; states.result = result; Thread t = new Thread(FinishAsyncSendToServer); t.IsBackground = true; t.Start(states); } /// <summary>处理接收的服务器端数据</summary> private void FinishAsyncSendToServer(object obj) { SendToServerStates states = (SendToServerStates)obj; states.d.EndInvoke(states.result); } delegate void SendToServerDelegate(string message); /// <summary>向服务器发送数据</summary> public void SendToServer(string str) { try { bw.Write(str); bw.Flush(); } catch { AddItemToListBox("发送数据失败"); } } delegate void ListBoxDelegate(string str); /// <summary>在listbox中追加信息<</summary> /// <param name="str">要追加的信息</param> public void AddItemToListBox(string str) { if (listbox.InvokeRequired) { ListBoxDelegate d = AddItemToListBox; listbox.Invoke(d, str); } else { listbox.Items.Add(str); listbox.SelectedIndex = listbox.Items.Count - 1; listbox.ClearSelected(); } } } } ```

关于windows窗体应用程序

![图片说明](https://img-ask.csdn.net/upload/201708/18/1503062217_368639.png) ![图片说明](https://img-ask.csdn.net/upload/201708/18/1503062233_173461.png) A,B,C是三个窗体 我用A调用B,B调用C。 A,B,C都可以通过右上角的叉退出程序 Application::Exit();。 但是, B点叉后,会弹出两次确认退出对话框(如图所示),C点叉后会出现三次。 我认为原因在于A调用B后,A隐藏窗口,B调用C后,B隐藏窗口。 在C窗口点叉后,隐藏的A,B也会执行退出程序,弹出对话框。 怎么解决

c++6.0控制台程序,使用mcisendstring函数播放mp3文件,没有声音

执行play()函数中,代码: char a[100]=""; char c='1'; while(c!='9') { if(p0==NULL) { printf("找不到可以播放的歌曲\n"); return; } printf("开始播放歌曲\n"); strcpy(a,""); strcat(a,"open "); strcat(a,p0->path); strcat(a," alias media"); printf("%s %s\n",p0->path,p0->name); //p0 从d:\\mp3.txt文件中读出MP3文件的路径path和名称name,为当前指针,指向结构体(由文件的路径path、名称name两项构成) mciSendString(a,NULL,0,NULL); strcpy(a,"play media"); printf("\n"); printf("*******&&&&&& 正在播放:%s &&&&&&&*******\n",p0->name); printf("\n"); mciSendString(a,NULL,0,NULL); Sleep(5 * 60 * 1000); play_menu();//循环嵌套终止,上一首,下一首 getchar(); scanf("%c",&c); 我的MP3.txt路径为d:\\mp3.txt 内容为path:d:\\01.mp3 name:baba path:d:\\02.mp3 name:mama path:d:\\03.mp3 name:gege 如果要播放path:d:\\02.mp3 name:mama 那么我的这个音乐文件放在什么路径,名称是什么?

highchart实时刷新数据,x轴不显示所需时间

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default1.aspx.cs" Inherits="HighchartsDemo._Default1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>汽油吸附脱硫装置2#S-ZORB</title> <!-- 注意文件名应该和你下载的文件名保持一致 --> <script type="text/javascript"src="HighCharts/jquery-1.8.3.min.js"></script> <script type="text/javascript"src="HighCharts/highcharts.js"></script> <script type="text/javascript"src="HighCharts/TimeConvertor.js"></script> </head> <body> <script type="text/javascript"> //<![CDATA[ $(function (datetimeCom, growth) { // Highcharts.Chart Begin Highcharts.setOptions({ global: { useUTC: false //当X轴类型为datetime日期时间型的,需要设置时区 } }); //声明报表对象 var chart = new Highcharts.Chart({ chart: { //将报表对象渲染到层上 renderTo: 'container', //图表放置的容器,DIV defaultSeriesType: 'spline', //图表类型为曲线图,可取值有:line、spline、area、areaspline、bar、column等 events: { load: loadTime } }, //chart end title: { text: '汽油吸附脱硫装置2#S-ZORB曲线' }, yAxis: { title: { text: '2#S-ZORB实时值' } }, xAxis: { title: { text: '时间' }, type: 'datetime', //坐标间隔 labels: { step: 10, // formatter: function () { // return Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.value); // } } }, //鼠标放在某个点上时的提示信息 //dateFormat,numberFormat是highCharts的工具类 tooltip: { formatter: function () { return '<b>' + this.series.name + '</b><br/>' + Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.xtime) + '<br/>' + this.x + '<br/>' + Highcharts.numberFormat(this.y, 2); } }, //设定报表对象的初始数据 series: [{ name: '2#S-ZORB实时值', data: [] }] }); //获取初始化数据 getInitialData(); //Highcharts.Chart end //获取初始化30分钟数据 function getInitialData() { $.ajax({ type: "Post", //后台获取数据的函数,注意当对该页面重命名时, //必须手动更改该选项 url: "Default1.aspx/getInitialDataByAjax", contentType: "application/json;charset=utf-8", dataType: "json", //成功获取数据 success: function (result) { data = jQuery.parseJSON(result.d); //JSON再次转换为Table 形式; var datetimeCom = '['; var growth = '['; for (var i = 0; i < data.length; i++) { datetimeCom += "\'" + ConertJsonTimeAndFormat(data[i]["x"], 'yyyy/MM/dd hh:mm:ss') + "\',"; growth += data[i]["y"] + ","; } if (datetimeCom != '[') { datetimeCom = datetimeCom.substr(0, datetimeCom.length - 1) + "]"; growth = growth.substr(0, growth.length - 1) + "]"; } chart.xAxis[0].setCategories(eval(datetimeCom)); chart.series[0].setData(eval(growth)); //显示错误 }, error: function (err) { alert(err + "初始化程序出现错误,请尝试刷新!"); } }); } // 每分钟获取后台数据 function getActualData() { var x = (new Date()).getTime(); // 当前时间 $.ajax({ type: "Post", //后台获取数据的函数,注意当对该页面重命名时, //必须手动更改该选项 url: "Default1.aspx/getDataTableByAjax", contentType: "application/json;charset=utf-8", dataType: "json", //成功获取数据 success: function (result) { data = jQuery.parseJSON(result.d); //JSON再次转换为Table 形式; var series = chart.series[0]; series.addPoint([data[0]["x"], data[0]["y"]], false, true); // alert(data[0]["x"]); // var datetimeCom = '['; // for (var i = 0; i < data.length; i++) { // datetimeCom += "\'" + data[i]["x"] + "\',"; // } // if (datetimeCom != '[') { // datetimeCom = datetimeCom.substr(0, datetimeCom.length - 1) + "]"; // } // chart.xAxis[0].setCategories(eval(datetimeCom)); chart.redraw(); }, //显示错误 error: function (err) { alert(err + "调用后台程序出现错误,请尝试刷新!"); } }); } function loadTime() { window.setInterval(getActualData, 2000); } // $(document).ready(function () { // //每隔1分钟自动调用方法,实现图表的实时更新 60000 // window.setInterval(getActualData, 2000); // }); }); //]]> // 后台Date前台转换json格式 function JsonDateFormat(cellval) { var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1; var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); return date.getFullYear() + "-" + month + "-" + currentDate; } </script> <div id="container" style="width: 800px; height: 600px; margin: 0 auto"></div> </body> </html> 后台传入数据格式为DataTable。 在线等啊,请高手指教!!!

为什么scanf("%d,%d",&a,&b);要输入,才能正常输入值?

``` #include <stdio.h> int main() { int a,b,c; scanf("%d,%d",&a,&b); printf("a=%d\nb=%d\nc=%c",a,b,8); return 0; } ``` 其他输入都是使b获得一个固定的值

je的大虾们 这个项目该怎么做

<p>上星期 PM安排我,同事一共3个人做一个本公司的一个系统CallCenten(呼叫中心) 然后给了一堆资料,说是要用SSH来做,等我们看到资料 我纳闷了,</p> <p>第一:系统是一个C#的winFrom系统  c/s结构</p> <p>第二:在文档上说存在的缺陷是页面,然后操作不便,并不存在逻辑问题(这让c#维护开人员修改不就行了吗)</p> <p>第三:PM写文档的 , 什么都不明白,一下就催我们搭框架 开始编码  ,偶滴神 这可行性是为多少。。</p> <p> </p> <p>大家怎么看呀 !!!!!</p> <p> </p><br /><strong>问题补充</strong><br /><div class="quote_title">xqstation 写道</div><div class="quote_div">同意楼上观点,为何用C#做得如此丑陋?<br />我记得我那时候用C#做程序的时候就用里面一些东西做出来都很漂亮。</div><br /> - -! 不管漂亮不漂亮  这做的下去吗 PM傻脑的只管接上面领导的 也不提出质疑<br /><strong>问题补充</strong><br /><div class="quote_title">laiseeme 写道</div><div class="quote_div">有源代码没  不行和老大沟通吧  沟通不明白就辞职吧... <br /> <br />ps:我是不是太冲动了...</div><br />没得源码 给的文档里面  进去看了下只认识.h的文件  。也不知道怎么去安装 N多Setup.exe文件 ,安装上去都有问题。PM 一个星期不叼我了 - -! <br /><strong>问题补充</strong><br /><div class="quote_title">xqstation 写道</div> <div class="quote_div">这个如果其功能只是用来涉及查询修改之类的数据库操作那可以做的,只是不要说还去自动调用电话机打电话就行。 <br /><br />不过你得先把逻辑搞清楚。 <br />如果对界面要求高的话,可能你需要用到一些JS框架才能达到CS界面标准。</div> <p> </p> <p> 下面是文档中存在的缺陷</p> <p> </p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">登录外呼需要两次,一次为登录到保存系统,一次为登录到录音系统,登录步骤繁琐;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统每保存一个问题均需要进入到下一级菜单,不能在一级菜单中同时显示及保存多个问题结果,导致人员保存问题的次数增多则保存错误(或逻辑错误)的机率增大;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统界面颜色单调、沉闷,没有实现重要信息凸显功能;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统模板固化,导致难以实现逻辑关系限定保存结果之情况;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统不会根据逻辑判断人员保存错误后弹出提示对话框,提示外呼具体错误步骤;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统无法实现单个工号的预约数据继续保存在该工号名下,以便预约时间到达后继续分配给该工号外呼;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统对导入数据量有要求,如数据库导入数据量超过</span><span lang="EN-US" style="">3</span><span style="">万或同时外呼人员达到</span><span lang="EN-US" style="">50</span><span style="">人以上时,易出现保存缓慢之情况;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统无法实现多个字段显示并具有复制、粘贴功能,如显示多个字段信息需要在一个界面,只能看而不可以粘贴复制,导致在运营调查采集类项目时人员需要打字,降低外呼效率;</span><span lang="EN-US" style=""></span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span lang="EN-US" style="color: black; line-height: 150%; font-family: Wingdings;"><span style="">l<span style="">         </span></span></span><span style="">外呼系统无跑马灯功能,无法实现管理人员与外呼人员的及时沟通。</span></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"></span></span></p> <p class="MsoNormal" align="left" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; line-height: 150%; text-align: left;"><span style="font-size: x-small;"><span style="color: #0000ff;"><span style="">PS:肯定的打电话  对这领域知识 一片空白 ...</span></span></span></p> <p> </p><br /><strong>问题补充</strong><br /><div class="quote_title">laiseeme 写道</div><div class="quote_div">你们公司几个人?比我这个还无政府状态</div> <br /> <br />老公司 新部门  这个项目组9个人 <br />PS:是不是很夸张 - -!

本地测试没有问题,上传虚拟服务器之后验证码出错,求解答困扰已久

1.测试程序在本地IIS开启网站之后,没有问题 2.在上传至虚拟服务器之后,在登录页面登录之后,输入错误的密码之后显示提示用户名密码错误(此判断正确),但是在输入正确的用户名密码之后却出现验证码错误!XXXnull的判断。费解 ![图片说明](https://img-ask.csdn.net/upload/201606/29/1467129852_806460.png) 3.在前台登录页面用验证码是没有问题的。两个页面调用一个验证页面,一个页面有问题一个没有问题,但是在本地服务器测试上都没有问题 <%@ WebHandler Language="C#" Class="validateCode" %> using System; using System.Web; using System.IO; using System.Drawing; using System.Drawing.Imaging; public class validateCode : IHttpHandler, System.Web.SessionState.IRequiresSessionState { static char[] character = { '0','1','2', '3', '4', '5', '6', '8', '9'/*, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' */}; public void ProcessRequest (HttpContext context) { //ValidateCode gif = new ValidateCode();//初始化验证码生成类 // string valid = "";//定义随机数 // MemoryStream ms = gif.Create(out valid);//获取包括验证码图片的内存流 // context.Session ["gif"] =valid;//验证码存储在Session中,供验证。 // context.Response.ClearContent();//清空输出流 // context.Response.ContentType = "image/png";//输出流的格式 // context.Response.BinaryWrite(ms.ToArray());//输出 // context.Response.End(); string chkCode = string.Empty; //颜色列表,用于验证码、噪线、噪点 Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.DarkBlue }; //字体列表,用于验证码 //string[] font = { "Times New Roman", "Book Antiqua", "Impact" }; Font font = new Font("Arial", 18); //验证码的字符集,去掉了一些容易混淆的字符 //char[] character = { '2', '3', '4', '5', '6', '8', '9'/*, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' */}; Random rnd = new Random(); //生成验证码字符串 for (int i = 0; i < 4; i++) { chkCode += character[rnd.Next(character.Length)]; } //保存验证码的 context.Session.Add("ValidateCode", chkCode.ToLower()); Bitmap bmp = new Bitmap(120, 30); Graphics g = Graphics.FromImage(bmp); g.Clear(Color.White); //画噪线 for (int i = 0; i < 4; i++) { int x1 = rnd.Next(150); int y1 = rnd.Next(30); int x2 = rnd.Next(150); int y2 = rnd.Next(30); Color clr = color[rnd.Next(color.Length)]; g.DrawLine(new Pen(clr), x1, y1, x2, y2); } //画验证码字符串 for (int i = 0; i < chkCode.Length; i++) { //string fnt = font[rnd.Next(font.Length)]; Color clr = color[rnd.Next(color.Length)]; g.DrawString(chkCode[i].ToString(), font, new SolidBrush(clr), (float)i * 20 + 20, (float)6); } //画噪点 for (int i = 0; i < 100; i++) { int x = rnd.Next(bmp.Width); int y = rnd.Next(bmp.Height); Color clr = color[rnd.Next(color.Length)]; bmp.SetPixel(x, y, clr); } //清除该页输出缓存,设置该页无缓存 context.Response.Buffer = true; context.Response.ExpiresAbsolute = System.DateTime.Now.AddMilliseconds(0); context.Response.Expires = 0; context.Response.CacheControl = "no-cache"; context.Response.AppendHeader("Pragma", "No-Cache"); //将验证码图片写入内存流,并将其以"image/Png" 格式输出 MemoryStream ms = new MemoryStream(); try { bmp.Save(ms, ImageFormat.Png); context.Response.ClearContent(); context.Response.ContentType = "image/Png"; context.Response.BinaryWrite(ms.ToArray()); } finally { //显式释放资源 bmp.Dispose(); g.Dispose(); } } public bool IsReusable {//不重用 get { return false; } } }

Release版本和Debug版本运行速度差异过大

为什么Release版本和Debug版本运行速度差异很大? 我用VS2013做了一个压缩程序,压缩8.5GB数据,Release版本运行时间190s,Debug版本居然运行时间达到950s。为什么? 如果移植到EFI上,这两个版本会有多大差异?

学Python后到底能干什么?网友:我太难了

感觉全世界营销文都在推Python,但是找不到工作的话,又有哪个机构会站出来给我推荐工作? 笔者冷静分析多方数据,想跟大家说:关于超越老牌霸主Java,过去几年间Python一直都被寄予厚望。但是事实是虽然上升趋势,但是国内环境下,一时间是无法马上就超越Java的,也可以换句话说:超越Java只是时间问题罢。 太嚣张了会Python的人!找工作拿高薪这么简单? https://edu....

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

为什么程序猿都不愿意去外包?

分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

用python打开电脑摄像头,并把图像传回qq邮箱【Pyinstaller打包】

前言: 如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。 注: 这个程序仅限在朋友之间开玩笑,别去搞什么违法的事情哦。 代码 发送邮件 使用python内置的email模块即可完成。导入相应的代码封装为一个send函数,顺便导入需要导入的包 注: 下面的代码有三处要修改的地方,两处写的qq邮箱地址,还有一处写的qq邮箱授权码,不知道qq邮箱授权码的可以去百度一...

C++(继承):19---虚基类与虚继承(virtual)

一、菱形继承 在介绍虚继承之前介绍一下菱形继承 概念:A作为基类,B和C都继承与A。最后一个类D又继承于B和C,这样形式的继承称为菱形继承 菱形继承的缺点: 数据冗余:在D中会保存两份A的内容 访问不明确(二义性):因为D不知道是以B为中介去访问A还是以C为中介去访问A,因此在访问某些成员的时候会发生二义性 缺点的解决: 数据冗余:通过下面“虚继承”技术来解决(见下) 访问...

计算机网络——浅析网络层

一、前言 注意,关于ipv4和ipv6,ipv4是ip协议第4版本,也表示这个版本的ip一共4个字节,同样地,ipv6是ip协议第6版本,也表示这个版本的ip一共6个字节。 关于网络层使用路由器实现互联:在计算机网络的分层结构中,不同层有不同的中继设备: 计算机网络层 中继设备/中继系统 物理层 中继器、集线器Hub 数据链路层 网桥或交换机(交换机是多端口网桥,两者本质上是一个东西) 网络层 路...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

女朋友过生日,我花了20分钟给她写了一个代理服务器

女朋友说:“看你最近挺辛苦的,我送你一个礼物吧。你看看想要什么,我来准备。” 我想了半天,从书到鞋子到电子产品最后到生活用品,感觉自己什么都不缺,然后和她说:“你省省钱吧,我什么都不需要。” 她坚持要送:“不行,你一定要说一个礼物,我想送你东西了。” 于是,我认真了起来,拿起手机,上淘宝逛了几分钟,但还是没能想出来缺点什么,最后实在没办法了:“这样吧,如果你实在想送东西,那你就写一个代理服务器吧”...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

立即提问
相关内容推荐